external/sawbuck.git
4 hours agoCreate RecursiveLock. master
chrisha@chromium.org [Thu, 24 Jul 2014 21:32:56 +0000 (21:32 +0000)]
Create RecursiveLock.

This creates a new lock reentrant lock primitive. Base specifically avoids having such a primitive. However, the Windows heap uses such a locking primitive and we need to emulate this with out own heap implementations in SyzyASAN.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/117170043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2193 15e8cca8-e42c-11de-a347-f34a4f72eb7d

28 hours agoUse the new block structure and remove the old one.
sebmarchand@chromium.org [Wed, 23 Jul 2014 21:18:48 +0000 (21:18 +0000)]
Use the new block structure and remove the old one.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/111360044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2192 15e8cca8-e42c-11de-a347-f34a4f72eb7d

30 hours agoCreate BlockHeapInterface.
chrisha@chromium.org [Wed, 23 Jul 2014 19:28:20 +0000 (19:28 +0000)]
Create BlockHeapInterface.

This creates an extension to HeapInterface that makes it aware of the fact that it is allocating blocks. Certain heaps (like the zebra heap) will need to be able to modify redzone sizes, thus must have a sufficiently expressive API.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/115200044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2191 15e8cca8-e42c-11de-a347-f34a4f72eb7d

31 hours agoFix a compile issue in block_unittest.cc
sebmarchand@chromium.org [Wed, 23 Jul 2014 17:55:02 +0000 (17:55 +0000)]
Fix a compile issue in block_unittest.cc

R=chrisha@chromium.org

BUG=

Review URL: https://codereview.appspot.com/116190043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2190 15e8cca8-e42c-11de-a347-f34a4f72eb7d

31 hours agoAdds support for the nested blocks to BlockInitialize.
sebmarchand@chromium.org [Wed, 23 Jul 2014 17:40:42 +0000 (17:40 +0000)]
Adds support for the nested blocks to BlockInitialize.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/113420043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2189 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 days agoRemove bogus missing input file from asan.gyp.
chrisha@chromium.org [Tue, 22 Jul 2014 18:42:40 +0000 (18:42 +0000)]
Remove bogus missing input file from asan.gyp.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/119060043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2188 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 days agoFix how we retrieve the trailer of a block in BlockInfoFromMemoryImpl.
sebmarchand@chromium.org [Mon, 21 Jul 2014 15:41:01 +0000 (15:41 +0000)]
Fix how we retrieve the trailer of a block in BlockInfoFromMemoryImpl.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/115950043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2187 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 days agoUse the new quarantine in HeapProxy.
sebmarchand@chromium.org [Mon, 21 Jul 2014 15:37:25 +0000 (15:37 +0000)]
Use the new quarantine in HeapProxy.

This is a temporary change that will later be replaced by a whole new heap implementation. In the meantime it allows to test the new quarantine API and to lift out some logic from HeapProxy.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/110500043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2186 15e8cca8-e42c-11de-a347-f34a4f72eb7d

10 days agoDeclare QuarantineInterface and ShardedQuarantine.
chrisha@chromium.org [Mon, 14 Jul 2014 16:32:31 +0000 (16:32 +0000)]
Declare QuarantineInterface and ShardedQuarantine.

This lifts the quarantine implementation from HeapProxy and generalizes it. A future CL will replace the HeapProxy quarantine with it.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/105550044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2185 15e8cca8-e42c-11de-a347-f34a4f72eb7d

10 days agoBump version number to produce new binaries.
sebmarchand@chromium.org [Mon, 14 Jul 2014 15:56:05 +0000 (15:56 +0000)]
Bump version number to produce new binaries.

TBR=chrisha@chromium.org

BUG=

Review URL: https://codereview.appspot.com/113090043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2184 15e8cca8-e42c-11de-a347-f34a4f72eb7d

10 days agoFix the interceptor of wcsstr.
sebmarchand@chromium.org [Mon, 14 Jul 2014 15:49:15 +0000 (15:49 +0000)]
Fix the interceptor of wcsstr.

TBR=chrisha@chromium.org
BUG=393515

Review URL: https://codereview.appspot.com/113080043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2183 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 weeks agoFix an invalid comparison in the interceptor of HeapSetInformation.
sebmarchand@chromium.org [Wed, 9 Jul 2014 15:06:24 +0000 (15:06 +0000)]
Fix an invalid comparison in the interceptor of HeapSetInformation.

Those 2 lines were supposed to prevent us from setting the HeapEnableTerminationOnCorruption flag, but a missing '=' in the comparison made this interceptor ineffective:
  if (info_class = ::HeapEnableTerminationOnCorruption)
      return true;

The fix is to add the missing '=' to those line and to test this correctly.

R=siggi@chromium.org

BUG=

Review URL: https://codereview.appspot.com/106540043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2182 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 weeks agoMemzero the corrupt info buffer before reporting it.
sebmarchand@chromium.org [Tue, 8 Jul 2014 17:30:38 +0000 (17:30 +0000)]
Memzero the corrupt info buffer before reporting it.

One of the side effect of this is that it sets the TIDs of the corrupt blocks to 0 before reporting them.

BUG=
R=siggi@chromium.org

Review URL: https://codereview.appspot.com/110410043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2181 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 weeks agoBump version number to produce new binaries.
sebmarchand@chromium.org [Mon, 7 Jul 2014 23:05:55 +0000 (23:05 +0000)]
Bump version number to produce new binaries.

TBR=chrisha@chromium.org

BUG=

Review URL: https://codereview.appspot.com/112730044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2180 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 weeks agoAdds a new flag to disable Breakpad error reporting in SyzyASan.
sebmarchand@chromium.org [Mon, 7 Jul 2014 22:45:59 +0000 (22:45 +0000)]
Adds a new flag to disable Breakpad error reporting in SyzyASan.

TBR=chrisha@chromium.org, siggi@chromium.org
BUG=

Review URL: https://codereview.appspot.com/101710049

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2179 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 weeks agoAdd statistics and variable allocation lengths to page allocator.
chrisha@chromium.org [Fri, 4 Jul 2014 20:39:48 +0000 (20:39 +0000)]
Add statistics and variable allocation lengths to page allocator.

These are required by StackCaptureCache's use of a page allocator.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/105570043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2178 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 weeks agoCreate PageAllocator.
chrisha@chromium.org [Thu, 3 Jul 2014 13:32:10 +0000 (13:32 +0000)]
Create PageAllocator.

This generalizes the StackCachePage allocator mechanism, making it centrally available by other classes. This will be used in an upcoming quarantine refactor.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/107480044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2177 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 weeks agoBump version number to produce new binaries.
sebmarchand@chromium.org [Wed, 2 Jul 2014 19:13:07 +0000 (19:13 +0000)]
Bump version number to produce new binaries.

TBR=chrisha@chromium.org

BUG=

Review URL: https://codereview.appspot.com/106390044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2176 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 weeks agoRevert Issue 104480045: Update ChromeRunner to be able to access an URL via the debug API
sebmarchand@chromium.org [Wed, 2 Jul 2014 18:16:58 +0000 (18:16 +0000)]
Revert Issue 104480045: Update ChromeRunner to be able to access an URL via the debug API

R=chrisha@chromium.org
TBR=chrisha@chromium.org

BUG=

Review URL: https://codereview.appspot.com/110810043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2175 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 weeks agoUpdate ChromeRunner to be able to access an URL via the debug API.
sebmarchand@chromium.org [Wed, 2 Jul 2014 17:33:23 +0000 (17:33 +0000)]
Update ChromeRunner to be able to access an URL via the debug API.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/104480045

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2174 15e8cca8-e42c-11de-a347-f34a4f72eb7d

4 weeks agoDeclare HeapInterface.
chrisha@chromium.org [Thu, 26 Jun 2014 17:45:22 +0000 (17:45 +0000)]
Declare HeapInterface.

This will be the interface that heap implementations satisfy. They will in turn by managed by the heap manager, which itself will be wrapped in a WindowsHeapAdapter to present a Windows-heap like API for interception.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/102660044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2173 15e8cca8-e42c-11de-a347-f34a4f72eb7d

4 weeks agoAdds websocket-client to third_party.
sebmarchand@chromium.org [Fri, 20 Jun 2014 20:39:35 +0000 (20:39 +0000)]
Adds websocket-client to third_party.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/101370049

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2172 15e8cca8-e42c-11de-a347-f34a4f72eb7d

4 weeks agoImplements the interceptor of wcsstr.
sebmarchand@chromium.org [Fri, 20 Jun 2014 19:44:34 +0000 (19:44 +0000)]
Implements the interceptor of wcsstr.

This also fix the hash of the interceptor of wcschr, as it was working in the unittest but not on Chrome. (I presume that in the unittests we were intercepting a trampoline which isn't present in Chrome...)

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/105990043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2171 15e8cca8-e42c-11de-a347-f34a4f72eb7d

4 weeks agoAdd explicit Shadow/Block support for nested blocks.
chrisha@chromium.org [Fri, 20 Jun 2014 18:48:20 +0000 (18:48 +0000)]
Add explicit Shadow/Block support for nested blocks.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/107210044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2170 15e8cca8-e42c-11de-a347-f34a4f72eb7d

5 weeks agoAdd pointer alignment functions.
chrisha@chromium.org [Thu, 19 Jun 2014 20:26:54 +0000 (20:26 +0000)]
Add pointer alignment functions.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/107220043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2169 15e8cca8-e42c-11de-a347-f34a4f72eb7d

5 weeks agoAdd new Shadow memory markers to allow full block introspection.
chrisha@chromium.org [Tue, 17 Jun 2014 20:49:34 +0000 (20:49 +0000)]
Add new Shadow memory markers to allow full block introspection.

These new markers allow for a block in the new format to be fully introspected by only referring to shadow memory. New markers are introduced which mark the beginning and end of a block. The block begin symbol also encodes the length of the body modulo kShadowRatio, allowing for the exact size of the body and trailer padding to be distinguished from the shadow memory.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/101330047

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2168 15e8cca8-e42c-11de-a347-f34a4f72eb7d

5 weeks agos/corrupted/corrupt/ everywhere to be more consistent.
sebmarchand@chromium.org [Mon, 16 Jun 2014 17:01:58 +0000 (17:01 +0000)]
s/corrupted/corrupt/ everywhere to be more consistent.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/106080043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2167 15e8cca8-e42c-11de-a347-f34a4f72eb7d

5 weeks agoMinor cleanup/refactor of Shadow and some constants.
chrisha@chromium.org [Fri, 13 Jun 2014 20:28:19 +0000 (20:28 +0000)]
Minor cleanup/refactor of Shadow and some constants.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/107980044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2166 15e8cca8-e42c-11de-a347-f34a4f72eb7d

5 weeks agoGet rid of the VS2010 specific code.
sebmarchand@chromium.org [Fri, 13 Jun 2014 14:09:50 +0000 (14:09 +0000)]
Get rid of the VS2010 specific code.

Chrome stable is now at M35, which has been compiled with VS2013. We can finally get rid of this code, Yay !

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/103340044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2165 15e8cca8-e42c-11de-a347-f34a4f72eb7d

6 weeks agoAdd missing unittest for BlockInfoFromMemory.
chrisha@chromium.org [Thu, 12 Jun 2014 20:49:31 +0000 (20:49 +0000)]
Add missing unittest for BlockInfoFromMemory.

This also adds access violation error handling to the function, similar to BlockGetHeaderFromBody.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/103390044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2164 15e8cca8-e42c-11de-a347-f34a4f72eb7d

6 weeks agoLift BlockHeader/BlockTrailer/etc from HeapProxy to its own file.
chrisha@chromium.org [Thu, 12 Jun 2014 15:52:50 +0000 (15:52 +0000)]
Lift BlockHeader/BlockTrailer/etc from HeapProxy to its own file.

Notice that most of the functionality of DirectAllocation is being moved here (allocation layout, changing protections). DirectAllocation will be rewritten to call these functions internally.

BUG=
R=sebmarchand@chromium.org, siggi@chromium.org

Review URL: https://codereview.appspot.com/103750048

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2163 15e8cca8-e42c-11de-a347-f34a4f72eb7d

6 weeks agoIntercept the kernel32!Interlocked* functions
sebmarchand@chromium.org [Tue, 10 Jun 2014 21:37:36 +0000 (21:37 +0000)]
Intercept the kernel32!Interlocked* functions

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/102720046

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2162 15e8cca8-e42c-11de-a347-f34a4f72eb7d

8 weeks agoPut the signature of the function that we'll intercept in a local file
sebmarchand@chromium.org [Tue, 27 May 2014 21:12:52 +0000 (21:12 +0000)]
Put the signature of the function that we'll intercept in a local file

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/101730047

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2161 15e8cca8-e42c-11de-a347-f34a4f72eb7d

8 weeks agoCreate DirectAllocationHeap.
chrisha@chromium.org [Tue, 27 May 2014 21:00:25 +0000 (21:00 +0000)]
Create DirectAllocationHeap.

This is a small container class for managing a collection of DirectAllocations.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/100830043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2160 15e8cca8-e42c-11de-a347-f34a4f72eb7d

8 weeks agoCreate a DirectAllocation class.
chrisha@chromium.org [Mon, 26 May 2014 20:37:31 +0000 (20:37 +0000)]
Create a DirectAllocation class.

This encapsulates the following logic:

- Given minimum left and right redzone sizes, plus an alignment, calculates an allocation layout that consumes an integral number of OS pages.
- Hides the complexity of reserving vs committing memory, and changing page protections.
- Provides a friendly API for querying the allocation layout, and the various portions of it.

A further CL will plumb this in HeapProxy, where it will be used for all significantly large allocations rather than the default allocator. This will allow us to use OS protected guard pages to catch invalid accesses even in uninstrumented code.

BUG=
R=sebmarchand@chromium.org, siggi@chromium.org

Review URL: https://codereview.appspot.com/92570043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2159 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoUpdate the ASan symbolizer script to print the information about the corrupt blocks.
sebmarchand@chromium.org [Thu, 22 May 2014 17:50:27 +0000 (17:50 +0000)]
Update the ASan symbolizer script to print the information about the corrupt blocks.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/99440045

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2158 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoFix ArReader to handle libraries with empty/deleted files.
chrisha@chromium.org [Wed, 21 May 2014 12:30:55 +0000 (12:30 +0000)]
Fix ArReader to handle libraries with empty/deleted files.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/91610043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2157 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoAdd handling for various new symbol types.
chrisha@chromium.org [Wed, 21 May 2014 12:05:44 +0000 (12:05 +0000)]
Add handling for various new symbol types.

These are encountered in CRT/WDK libraries. With this it is now possible to instrument the entire VS2010 and VS2013 CRTs, as well as WDK8.0 and WDK8.1.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/93540045

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2156 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoSave the number of corrupt ranges that has been reported in the error info struct.
sebmarchand@chromium.org [Fri, 16 May 2014 20:18:33 +0000 (20:18 +0000)]
Save the number of corrupt ranges that has been reported in the error info struct.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/92400045

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2155 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoChecking in revision b08fb7261096 release binaries.
chrisha@chromium.org [Wed, 14 May 2014 18:51:32 +0000 (18:51 +0000)]
Checking in revision b08fb7261096 release binaries.

R=sebmarchand@chromium.org
TBR=sebmarchand@chromium.org
BUG=

Review URL: https://codereview.appspot.com/94480044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2154 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoBump version number to produce new binaries.
sebmarchand@chromium.org [Tue, 13 May 2014 20:21:11 +0000 (20:21 +0000)]
Bump version number to produce new binaries.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/92320044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2153 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoFix interceptor generation for COFF ASAN instrumenter.
chrisha@chromium.org [Tue, 13 May 2014 20:07:47 +0000 (20:07 +0000)]
Fix interceptor generation for COFF ASAN instrumenter.

- Modifies the generated interceptor to have a NULL decorated name, allowing the COFF instrumenter to skip them.
- Moves the generated output to SHARED_INTERMEDIATE_DIR.
- Adds a more clear error message when trying to instrument an object file that defines functions that we are trying to redirect to. This fails naturally later in the process with a cryptic message, but this CL adds a more meaningful immediate message.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/93350043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2152 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoDon't use HeapWalk to walk the blocks of a corrupt heap.
sebmarchand@chromium.org [Tue, 13 May 2014 18:37:39 +0000 (18:37 +0000)]
Don't use HeapWalk to walk the blocks of a corrupt heap.

Instead we now walk all the shadow memory. This is heavyweight as we now touch 256MB of memory when a crash happen, on my machine this takes 3-4secs.

R=chrisha@chromium.org

BUG=

Review URL: https://codereview.appspot.com/94410044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2151 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoAdd support for empty string table to CoffAddImportsTransform.
chrisha@chromium.org [Tue, 13 May 2014 12:50:14 +0000 (12:50 +0000)]
Add support for empty string table to CoffAddImportsTransform.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/95250046

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2150 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoRemove checke-in binaries from the repository.
chrisha@chromium.org [Mon, 12 May 2014 19:30:33 +0000 (19:30 +0000)]
Remove checke-in binaries from the repository.

Going forward Chrome will be using get_syzygy_binaries.py, thus we no longer need to pollute our repository with checked in binaries.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/100390048

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2149 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoAdd a script for installing Syzygy binaries directly from the archives.
chrisha@chromium.org [Fri, 9 May 2014 18:42:53 +0000 (18:42 +0000)]
Add a script for installing Syzygy binaries directly from the archives.

This will be the mechanism for distributing Syzygy binaries to Chrome going forward, as moving to a pure git repo will incur a much longer checkout for Chrome developers. This script will be invoked via a gclient hook, with a pinned revision.

BUG=
R=sebmarchand@chromium.org, siggi@chromium.org

Review URL: https://codereview.appspot.com/94270045

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2148 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoChecking in revision 2787f6c35373 release binaries.
chrisha@chromium.org [Thu, 8 May 2014 12:50:08 +0000 (12:50 +0000)]
Checking in revision 2787f6c35373 release binaries.

BUG=
TBR=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/97190043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2147 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoBump version number to produce new binaries.
chrisha@chromium.org [Thu, 8 May 2014 01:24:18 +0000 (01:24 +0000)]
Bump version number to produce new binaries.

R=sebmarchand@chromium.org
BUG=

Review URL: https://codereview.appspot.com/94120044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2146 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoUse the system interceptor generator script in SyzyASan.
sebmarchand@chromium.org [Wed, 7 May 2014 21:30:27 +0000 (21:30 +0000)]
Use the system interceptor generator script in SyzyASan.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/93120043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2145 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoFix the coverage build for recent changes to integration_tests.exe.
chrisha@chromium.org [Wed, 7 May 2014 20:32:48 +0000 (20:32 +0000)]
Fix the coverage build for recent changes to integration_tests.exe.

This was due to colliding use of the SYZYGY_RPC_INSTANCE_ID environment variable.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/95140044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2144 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoMake HeapChecker run by default.
chrisha@chromium.org [Tue, 6 May 2014 21:19:54 +0000 (21:19 +0000)]
Make HeapChecker run by default.

This replaces the "check_heap_on_failure" flag with a "no_check_heap_on_failure" flag.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/95040045

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2143 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoIntegrate AsanHeapChecker into unfiltered exceptions.
chrisha@chromium.org [Tue, 6 May 2014 20:45:41 +0000 (20:45 +0000)]
Integrate AsanHeapChecker into unfiltered exceptions.

This is the final piece in the checksummed heap implementation, allowing non-ASAN exceptions to be annotated with information about a corrupt heap.

BUG=
R=sebmarchand@chromium.org, siggi@chromium.org

Review URL: https://codereview.appspot.com/91040045

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2142 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoInitial prototype of the system call interceptors generator.
sebmarchand@chromium.org [Mon, 5 May 2014 16:05:39 +0000 (16:05 +0000)]
Initial prototype of the system call interceptors generator.

The goal of this script is to use SAL annotation of Windows' header files (http://msdn.microsoft.com/en-us/library/hh916382.aspx) to automatically generate some ASan-interceptors.

asan_system_interceptor_list.txt is just a sample file that shouldn't be needed in the end (this script can be use with the headers directly). I'll remove it before landing this CL.

Here's how this script should be used:
python asan_system_interceptor_parser.py input_header.h --output-file=$(OutName) --overwrite --filter=filter.csv --def-file=$(DefFile)

3 files will be produced:
1) $(OutName)_impl.h.gen : This will contain the implementation of the new interceptors.
2) $(OutName)_instrumentation_filter.h.gen : This will contain a list of AsanInterceptor (https://code.google.com/p/syzygy/source/browse/syzygy/instrument/transforms/asan_intercepts.h#53) entries, e.g:
    { "foo", "NOT_SET", NULL, "foo.dll", true },
    { "bar", "NOT_SET", NULL, "bar.dll", true },
3) $(OutName).def.gen : This will contain a copy of the input DEF file followed by the list of the new interceptors.

(1) will be included in syzyasan_rtl.lib, (2) will be used by syzyasan_rtl.dll and (3) will be used by the ASan instrumentation.

R=chrisha@chromium.org, rogerm@chromium.org
BUG=

Review URL: https://codereview.appspot.com/54570047

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2141 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoAdd a new simple page load test wrapper.
chrisha@chromium.org [Wed, 30 Apr 2014 20:08:12 +0000 (20:08 +0000)]
Add a new simple page load test wrapper.

This will be used by the waterfall randomized chrome tests when reliability_tests is not available.

BUG=
R=etienneb@chromium.org, rogerm@chromium.org

Review URL: https://codereview.appspot.com/97850045

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2139 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoPrevent agents from using SSE/SSE2/AVX instructions.
chrisha@chromium.org [Tue, 29 Apr 2014 21:19:47 +0000 (21:19 +0000)]
Prevent agents from using SSE/SSE2/AVX instructions.

As of VS2013 the CRT makes use of SSE2 by default, and code is generated with SSE2 instructions. This was causing our instrumentation to stomp on SSE2 registers, interrupting SSE2-enabled functions in Chrome, and causing it to crash. This CL restricts the agents from making use of SSE2 instructions allowing SSE2-enabled code to be safely instrumented.

BUG=
R=etienneb@chromium.org, rogerm@chromium.org, siggi@chromium.org

Review URL: https://codereview.appspot.com/97820043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2138 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoMore ar_lib improvements.
chrisha@chromium.org [Mon, 28 Apr 2014 14:54:10 +0000 (14:54 +0000)]
More ar_lib improvements.

- Add explicit recognition of anonymous COFF files to core::GuessFileType.
- Allow ArReader/ArWriter to handle duplicate file names in an archive.
- Add knowledge of import definition files to ArWriter.

BUG=
R=etienneb@chromium.org

Review URL: https://codereview.appspot.com/97760043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2137 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoModify CoffFile and CoffDecomposer to handle COFF files with no string tables.
chrisha@chromium.org [Sat, 26 Apr 2014 17:40:06 +0000 (17:40 +0000)]
Modify CoffFile and CoffDecomposer to handle COFF files with no string tables.

These occasionally occur for extremely small object files.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/88020044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2136 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoImplements HeapChecker.
sebmarchand@chromium.org [Fri, 25 Apr 2014 18:57:50 +0000 (18:57 +0000)]
Implements HeapChecker.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/78430043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2135 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoChecking in revision 2b86d9afef8d3d069ed668517770843c13180157 release binaries.
chrisha@chromium.org [Fri, 25 Apr 2014 16:48:54 +0000 (16:48 +0000)]
Checking in revision 2b86d9afef8d3d069ed668517770843c13180157 release binaries.

BUG=crbug.com/367059
TBR=siggi@chromium.org, sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/99760044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2134 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoFix broken Chrome installation copying script.
chrisha@chromium.org [Fri, 25 Apr 2014 15:05:31 +0000 (15:05 +0000)]
Fix broken Chrome installation copying script.

This is currently causing failures on the various builders due to a sub-directory with a name that conflicts with a top-level directory.

BUG=
R=sebmarchand@chromium.org, siggi@chromium.org

Review URL: https://codereview.appspot.com/93790044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2130 15e8cca8-e42c-11de-a347-f34a4f72eb7d

2 months agoAdd ability to recognize import definition object files.
chrisha@chromium.org [Thu, 24 Apr 2014 19:38:09 +0000 (19:38 +0000)]
Add ability to recognize import definition object files.

These are present in import library .lib files. A further CL will make ar_lib aware of them.

BUG=
R=etienneb@chromium.org

Review URL: https://codereview.appspot.com/96750043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2128 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoMove GuessFileType to core_lib.
chrisha@chromium.org [Thu, 24 Apr 2014 15:22:01 +0000 (15:22 +0000)]
Move GuessFileType to core_lib.

This is going to be used by ar_lib for proper handling of export definition object files, and it doesn't make sense for ar_lib to depend on pe_lib.

BUG=
R=etienneb@chromium.org

Review URL: https://codereview.appspot.com/95720044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2127 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoChecking in revision 5429f9aa80c77443755800d021c5eca9637d30ca release binaries.
sebmarchand@chromium.org [Wed, 23 Apr 2014 18:24:07 +0000 (18:24 +0000)]
Checking in revision 5429f9aa80c77443755800d021c5eca9637d30ca release binaries.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/90700043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2126 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoFurther COFF bugfixes.
chrisha@chromium.org [Wed, 23 Apr 2014 18:07:36 +0000 (18:07 +0000)]
Further COFF bugfixes.

This allows handling COFF files with section symbols, and CodeView2 symbols.

BUG=
R=etienneb@chromium.org, sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/90620044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2125 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoBump version number to produce new official binaries.
sebmarchand@chromium.org [Wed, 23 Apr 2014 15:44:45 +0000 (15:44 +0000)]
Bump version number to produce new official binaries.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/90230044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2124 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoSmall fixes to the ASan callback used in the RTL unittests.
sebmarchand@chromium.org [Wed, 23 Apr 2014 15:13:10 +0000 (15:13 +0000)]
Small fixes to the ASan callback used in the RTL unittests.

We currently don't analyse the error_info struct for the cases where we don't want to compare the context. We should do it to make sure that the error is properly structured.

R=chrisha@chromium.org

BUG=

Review URL: https://codereview.appspot.com/90450043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2123 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoModify GuessFileType to recognize resource files.
chrisha@chromium.org [Wed, 23 Apr 2014 13:07:39 +0000 (13:07 +0000)]
Modify GuessFileType to recognize resource files.

These are sometimes found in archives with .obj extensions, and trying to treat them as a COFF object file leads to trouble when instrumenting.

BUG=
R=etienneb@chromium.org

Review URL: https://codereview.appspot.com/90460043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2122 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoImplement the ASan interceptor of wcschr.
sebmarchand@chromium.org [Wed, 16 Apr 2014 20:27:45 +0000 (20:27 +0000)]
Implement the ASan interceptor of wcschr.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/85470045

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2120 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoUse integration_tests_dll.dll in the ASan transform tests.
sebmarchand@chromium.org [Tue, 15 Apr 2014 21:25:23 +0000 (21:25 +0000)]
Use integration_tests_dll.dll in the ASan transform tests.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/88270043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2119 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoPrevent from corrupting a block in the integration tests.
sebmarchand@chromium.org [Tue, 15 Apr 2014 15:47:33 +0000 (15:47 +0000)]
Prevent from corrupting a block in the integration tests.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/86050044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2118 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoSeveral bug fixes for ar_lib.
chrisha@chromium.org [Tue, 15 Apr 2014 15:08:12 +0000 (15:08 +0000)]
Several bug fixes for ar_lib.

- Make ArReader support archives containing no filename table.
- MAke ArWriter support weak external symbols. The CRT contains many of these, and we weren't generating symbol records for them.

BUG=
R=etienneb@chromium.org, sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/87610043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2117 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoSmall fix to ArWriter to handle anonymous object files.
chrisha@chromium.org [Fri, 11 Apr 2014 21:17:31 +0000 (21:17 +0000)]
Small fix to ArWriter to handle anonymous object files.

It turns out that the filtering was too aggressive; anonymous object files are still normal object files, it's just the contents of their code blocks are in intermediate format and not x86 code. We can still safely extract symbol information from them. This CL also adds progress logging for ArTransform.

BUG=
R=etienneb@chromium.org, sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/86960044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2116 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoCreate ArchiveInstrumenter adapter.
chrisha@chromium.org [Fri, 11 Apr 2014 19:00:16 +0000 (19:00 +0000)]
Create ArchiveInstrumenter adapter.

This creates a meta-instrumenter that wraps an existing instrumenter and adds library file support to it, assuming the underlying instrumenter already supports COFF files. This allows the ASAN instrumentation method to instrument .lib files.

BUG=
R=etienneb@chromium.org, sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/87010043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2115 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoCreate ArTransform.
chrisha@chromium.org [Fri, 11 Apr 2014 14:12:18 +0000 (14:12 +0000)]
Create ArTransform.

ArTransform is a utility class for iterating over all of the files in an archive, applying some transform, and then putting the transformed files back into an archive. This will be used in instrument.exe.

BUG=
R=etienneb@chromium.org

Review URL: https://codereview.appspot.com/85630047

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2114 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoAdds the AsanCorruptBlockRange structure (and remove the AsanCorruptedSlab one)
sebmarchand@chromium.org [Thu, 10 Apr 2014 14:28:11 +0000 (14:28 +0000)]
Adds the AsanCorruptBlockRange structure (and remove the AsanCorruptedSlab one)

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/85430047

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2113 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoFix a logging bug in SyzyASan.
sebmarchand@chromium.org [Wed, 9 Apr 2014 21:12:45 +0000 (21:12 +0000)]
Fix a logging bug in SyzyASan.

R=chrisha@chromium.org

BUG=

Review URL: https://codereview.appspot.com/86230043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2112 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoCreate ArWriter class for writing archive (.lib) files.
chrisha@chromium.org [Wed, 9 Apr 2014 17:47:40 +0000 (17:47 +0000)]
Create ArWriter class for writing archive (.lib) files.

A further CL will add .lib support to instrument.exe.

BUG=
R=etienneb@chromium.org, sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/86060043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2111 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoIntroduce ar_lib and ArReader.
chrisha@chromium.org [Tue, 8 Apr 2014 15:11:04 +0000 (15:11 +0000)]
Introduce ar_lib and ArReader.

This introduces code for reading .lib formatted archive files from disk. Further CLs will introduce a writer, and finally add native .lib support to the toolchain.

BUG=
R=etienneb@chromium.org, sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/85130043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2110 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoAdd a new method to check if a StackTrace belong to a Cache page.
sebmarchand@chromium.org [Fri, 4 Apr 2014 18:12:11 +0000 (18:12 +0000)]
Add a new method to check if a StackTrace belong to a Cache page.

This method would be use to try to report the stack traces of the corrupted blocks.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/83880046

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2109 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoDefine the structure that'll be used to report the corrupted blocks.
sebmarchand@chromium.org [Wed, 2 Apr 2014 21:11:02 +0000 (21:11 +0000)]
Define the structure that'll be used to report the corrupted blocks.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/83270047

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2108 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoFix a bug in AsanCrashHandlerTest.SetOnExceptionCallback
sebmarchand@chromium.org [Wed, 2 Apr 2014 16:39:52 +0000 (16:39 +0000)]
Fix a bug in AsanCrashHandlerTest.SetOnExceptionCallback

The callback isn't cleared between the tests, this was preventing from running the tests in a loop.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/83490044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2107 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoAdd necessary plumbing for checking the heap to HeapProxy/Runtime.
sebmarchand@chromium.org [Tue, 1 Apr 2014 20:37:29 +0000 (20:37 +0000)]
Add necessary plumbing for checking the heap to HeapProxy/Runtime.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/82810044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2106 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoFix decomposition of cold code.
etienneb@chromium.org [Tue, 1 Apr 2014 14:48:30 +0000 (14:48 +0000)]
Fix decomposition of cold code.

R=chrisha@chromium.org

BUG=

Review URL: https://codereview.appspot.com/82700043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2105 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoChecking in revision b8c5c6685179efdf7a470b89c24986b05107751d release binaries.
sebmarchand@chromium.org [Mon, 31 Mar 2014 21:43:25 +0000 (21:43 +0000)]
Checking in revision b8c5c6685179efdf7a470b89c24986b05107751d release binaries.

TBR=chrisha@chromium.org

BUG=

Review URL: https://codereview.appspot.com/82770044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2104 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoFix a bug in HeapTest.AsanPointerToBlockHeaderViaShadow
sebmarchand@chromium.org [Mon, 31 Mar 2014 21:18:21 +0000 (21:18 +0000)]
Fix a bug in HeapTest.AsanPointerToBlockHeaderViaShadow

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/82870043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2103 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoUpdate release_binaries.py to handle Git hashes.
chrisha@chromium.org [Mon, 31 Mar 2014 20:55:28 +0000 (20:55 +0000)]
Update release_binaries.py to handle Git hashes.

BUG=
R=rogerm@chromium.org, sebmarchand@chromium.org, siggi@chromium.org

Review URL: https://codereview.appspot.com/82830043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2102 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoCreate ShadowWalker.
sebmarchand@chromium.org [Mon, 31 Mar 2014 20:05:09 +0000 (20:05 +0000)]
Create ShadowWalker.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/82790043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2101 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoMiscellaneous bug-fixes to CRT interceptors.
sebmarchand@chromium.org [Mon, 31 Mar 2014 19:53:10 +0000 (19:53 +0000)]
Miscellaneous bug-fixes to CRT interceptors.

R=chrisha@chromium.org

BUG=

Review URL: https://codereview.appspot.com/82670046

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2100 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoBugfixes to allow COFF+ASAN instrumentation to succeed on the VS2013 CRT.
chrisha@chromium.org [Mon, 31 Mar 2014 18:14:16 +0000 (18:14 +0000)]
Bugfixes to allow COFF+ASAN instrumentation to succeed on the VS2013 CRT.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/82750044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2099 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoAdd SwapImport unittests to unittests.gypi.
chrisha@chromium.org [Fri, 28 Mar 2014 20:30:42 +0000 (20:30 +0000)]
Add SwapImport unittests to unittests.gypi.

BUG=
R=etienneb@chromium.org

Review URL: https://codereview.appspot.com/81970043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2098 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoBump version number to produce new official binaries.
sebmarchand@chromium.org [Thu, 27 Mar 2014 21:28:43 +0000 (21:28 +0000)]
Bump version number to produce new official binaries.

TBR=chrisha@chromium.org

BUG=

Review URL: https://codereview.appspot.com/80930045

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2097 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoMake agent_logger XP compatible.
sebmarchand@chromium.org [Thu, 27 Mar 2014 20:56:50 +0000 (20:56 +0000)]
Make agent_logger XP compatible.

BUG=https://code.google.com/p/sawbuck/issues/detail?id=90
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/81280044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2096 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoAdd support for runtime subsampling of SyzyASAN allocation guards.
chrisha@chromium.org [Wed, 26 Mar 2014 23:10:12 +0000 (23:10 +0000)]
Add support for runtime subsampling of SyzyASAN allocation guards.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/79790043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2095 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoCast the return value of HeapFree to a boolean before checking it.
sebmarchand@chromium.org [Wed, 26 Mar 2014 18:42:03 +0000 (18:42 +0000)]
Cast the return value of HeapFree to a boolean before checking it.

BUG=https://code.google.com/p/sawbuck/issues/detail?id=89
R=chrisha@chromium.org, siggi@chromium.org

Review URL: https://codereview.appspot.com/80470045

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2094 15e8cca8-e42c-11de-a347-f34a4f72eb7d

3 months agoRemove more deprecated graph attributes.
etienneb@chromium.org [Tue, 25 Mar 2014 20:34:14 +0000 (20:34 +0000)]
Remove more deprecated graph attributes.

R=chrisha@chromium.org

BUG=

Review URL: https://codereview.appspot.com/76440044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2093 15e8cca8-e42c-11de-a347-f34a4f72eb7d

4 months agoRemove unused block graph attributes.
etienneb@chromium.org [Mon, 24 Mar 2014 19:20:39 +0000 (19:20 +0000)]
Remove unused block graph attributes.

This is a pending TODO in decomposer.
The old decomposer is already removed.

R=chrisha@chromium.org, chrisha

BUG=

Review URL: https://codereview.appspot.com/79530043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2092 15e8cca8-e42c-11de-a347-f34a4f72eb7d

4 months agoAdd unhandled exception filtering to syzyasan_rtl.
chrisha@chromium.org [Fri, 21 Mar 2014 15:34:38 +0000 (15:34 +0000)]
Add unhandled exception filtering to syzyasan_rtl.

This allows the runtime library to monitor and catch exceptions that happen from outside its code. A further CL will plumb this into the RTL implementation.

BUG=
R=sebmarchand@chromium.org, siggi@chromium.org

Review URL: https://codereview.appspot.com/78280044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2091 15e8cca8-e42c-11de-a347-f34a4f72eb7d

4 months agoAdd a new shadow value for the block header.
sebmarchand@chromium.org [Wed, 19 Mar 2014 23:08:18 +0000 (23:08 +0000)]
Add a new shadow value for the block header.

BUG=
R=chrisha@chromium.org

Review URL: https://codereview.appspot.com/77830044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2090 15e8cca8-e42c-11de-a347-f34a4f72eb7d

4 months agoAdd callbacks to ctmalloc for Asan integration.
chrisha@chromium.org [Wed, 19 Mar 2014 14:17:20 +0000 (14:17 +0000)]
Add callbacks to ctmalloc for Asan integration.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/77390044

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2089 15e8cca8-e42c-11de-a347-f34a4f72eb7d

4 months agoAdd ctmalloc to third_party.
chrisha@chromium.org [Tue, 18 Mar 2014 15:27:01 +0000 (15:27 +0000)]
Add ctmalloc to third_party.

This brings version 0.0.2 of ctmalloc into third_party. A later CL will add necessary integration plumbing for future use as the ASAN allocator.

BUG=
R=sebmarchand@chromium.org

Review URL: https://codereview.appspot.com/77440043

git-svn-id: http://sawbuck.googlecode.com/svn/trunk@2088 15e8cca8-e42c-11de-a347-f34a4f72eb7d