external/sawbuck.git
2 days agoImplement the ASan interceptor of wcschr. master
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 days 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

4 days 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

4 days 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

7 days 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

8 days 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

8 days 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

9 days 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

9 days 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

10 days 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

11 days 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

2 weeks 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

2 weeks 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

2 weeks 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

2 weeks 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

2 weeks 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

2 weeks 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

2 weeks 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

2 weeks 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

2 weeks 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

2 weeks 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

2 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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

3 weeks 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 weeks 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 weeks 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 weeks 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 weeks 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

4 weeks agoAdds a new method to get the beginning of a block via the Shadow.
sebmarchand@chromium.org [Tue, 18 Mar 2014 14:54:08 +0000 (14:54 +0000)]
Adds a new method to get the beginning of a block via the Shadow.

R=chrisha@chromium.org

BUG=

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

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

4 weeks agoFix the test_dll object file name for the Ninja build.
etienneb@chromium.org [Mon, 17 Mar 2014 20:04:02 +0000 (20:04 +0000)]
Fix the test_dll object file name for the Ninja build.

R=chrisha@chromium.org

BUG=

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

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

4 weeks agoIgnore call-site labels that land beyond the end of a block.
chrisha@chromium.org [Mon, 17 Mar 2014 19:07:53 +0000 (19:07 +0000)]
Ignore call-site labels that land beyond the end of a block.

BUG=
R=etienneb@chromium.org

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

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

4 weeks agoFix decomposer unittests broken with the Ninja build.
etienneb@chromium.org [Mon, 17 Mar 2014 15:22:26 +0000 (15:22 +0000)]
Fix decomposer unittests broken with the Ninja build.

R=chrisha@chromium.org

BUG=

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

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

5 weeks agoFix the naming of export_dll.lib to work with Ninja.
etienneb@chromium.org [Fri, 14 Mar 2014 21:14:48 +0000 (21:14 +0000)]
Fix the naming of export_dll.lib to work with Ninja.

The name of the 'lib' can be renamed with msvs.
I didn't find an easy way to do the same with ninja.
Thus, I use the ninja naming convention for the output
lib file.

R=chrisha@chromium.org, sebmarchand@chromium.org

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

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

5 weeks agoMove build_output_dir detection to GYP files.
etienneb@chromium.org [Fri, 14 Mar 2014 20:59:48 +0000 (20:59 +0000)]
Move build_output_dir detection to GYP files.

R=chrisha@chromium.org

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

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

5 weeks agoClean up system interceptor unittests so as not to corrupt heap blocks.
chrisha@chromium.org [Fri, 14 Mar 2014 14:10:47 +0000 (14:10 +0000)]
Clean up system interceptor unittests so as not to corrupt heap blocks.

With this change in place the only corrupt block errors encountered are due to the unittests that specifically cause them to occur.

BUG=
R=sebmarchand@chromium.org

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

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

5 weeks agoClean up SyzyASan CRT interceptors unittests.
chrisha@chromium.org [Thu, 13 Mar 2014 22:14:33 +0000 (22:14 +0000)]
Clean up SyzyASan CRT interceptors unittests.

This modifies the tests so that the intercepted functions don't actually execute the original functions when the input has been detected as bad. Presently, the tests go out of their way to undo the work done by bad calls so as to maintain valid block checksums. This refactor makes the code significantly more readable and easier to maintain.

BUG=
R=sebmarchand@chromium.org

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

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

5 weeks agoAdd missing GYP dependeny for test_dll x64.
etienneb@chromium.org [Thu, 13 Mar 2014 21:24:11 +0000 (21:24 +0000)]
Add missing GYP dependeny for test_dll x64.

Good news everyone, this seems to fix the parallel build.

R=chrisha@chromium.org

BUG=

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

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

5 weeks agoUse the same time functions in HeapTest.GetTimeSinceFree and HeapProxy::GetTimeSinceFree
sebmarchand@chromium.org [Thu, 13 Mar 2014 20:55:24 +0000 (20:55 +0000)]
Use the same time functions in HeapTest.GetTimeSinceFree and HeapProxy::GetTimeSinceFree

R=chrisha@chromium.org
BUG=

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

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

5 weeks agoFix invalid path escaping in GYP files.
etienneb@chromium.org [Thu, 13 Mar 2014 20:32:31 +0000 (20:32 +0000)]
Fix invalid path escaping in GYP files.

This seems to fix the remaining issues to build with Ninja.
Unfortunately, the unittests built with Ninja fail because some path
need to be updated.

R=chrisha@chromium.org, sebmarchand@chromium.org

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

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

5 weeks agoUpdate Sawbuck to VS2010 and latest DEPS.
siggi@chromium.org [Thu, 13 Mar 2014 18:12:36 +0000 (18:12 +0000)]
Update Sawbuck to VS2010 and latest DEPS.

Duplicate current DEPS to a sawbuck-specific copy for later trimming.
Fix use of various Chrome base headers.
Re-plumb message dispatching across Chrome base MessageLoop and
WTL CMessageLoop.
Fix test runner script by borrowing new implementation from Syzygy.

R=robertshield@chromium.org

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

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

5 weeks agoRoll deps for GYP to include Ninja build fixes.
etienneb@chromium.org [Thu, 13 Mar 2014 15:09:58 +0000 (15:09 +0000)]
Roll deps for GYP to include Ninja build fixes.

R=chrisha@chromium.org

BUG=

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

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

5 weeks agoRemove an invalid dependancy which break Ninja build.
etienneb@chromium.org [Thu, 13 Mar 2014 14:34:52 +0000 (14:34 +0000)]
Remove an invalid dependancy which break Ninja build.

R=chrisha@chromium.org, chrisha, siggi

I was not able to find any target that produces or uses the
virtualenv.exe. Siggi could you just confirm I'm not missing something.

Ninja is unable to find the target and the build fails.

BUG=

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

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

5 weeks agoDisable the optimizations in HeapTest.GetTimeSinceFree.
sebmarchand@chromium.org [Wed, 12 Mar 2014 17:48:54 +0000 (17:48 +0000)]
Disable the optimizations in HeapTest.GetTimeSinceFree.

BUG=
R=chrisha@chromium.org

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

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

5 weeks agoFix run_all_test script to avoid git-cl variable clashes.
etienneb@chromium.org [Wed, 12 Mar 2014 17:08:36 +0000 (17:08 +0000)]
Fix run_all_test script to avoid git-cl variable clashes.

A recent update to git-cl seems to use the same variable
SCRIPT, etc...

After running run_all_tests, the git-cl script won't work until you unset
the variables or close your shell.

Unsetting the variable is enough, but it's safer to use a new name in
case the script crashes.

R=chrisha@chromium.org, chrisha

BUG=

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

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

5 weeks agoFix GYP rules for MASM to allow Ninja build.
etienneb@chromium.org [Wed, 12 Mar 2014 14:53:18 +0000 (14:53 +0000)]
Fix GYP rules for MASM to allow Ninja build.

By looking at https://codereview.chromium.org/11738002
file: nss.gyp
they use 'process_outputs_as_sources': 1

I looked at the generated ninja file, the option adds the asm.obj file to the link command-line. Which solve the missing symbols when compiling with ninja:

[35/35] LINK_EMBED core_unittests.exe
FAILED: D:\src\syzygy\src\third_party\python_26\python.exe gyp-win-tool link-with-manifests environment.x86 True core_unittests.exe "D:\src\
syzygy\src\third_party\python_26\python.exe gyp-win-tool link-wrapper environment.x86 False link.exe /nologo /OUT:core_unittests.exe @core_u
nittests.exe.rsp" 1 mt.exe rc.exe "obj\syzygy\core\core_unittests.core_unittests.exe.intermediate.manifest" obj\syzygy\core\core_unittests.c
ore_unittests.exe.generated.manifest
core_unittests.disassembler_unittest.obj : error LNK2019: unresolved external symbol _assembly_func referenced in function "private: virtual
 void __thiscall core::DisassemblerTest_DisassembleFull_Test::TestBody(void)" (?TestBody@DisassemblerTest_DisassembleFull_Test@core@@EAEXXZ)

It seems to work with MSVS in both cases.

So, if somebody knows a reason to keep this to '0', please speak now or stay quiet forever.

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

BUG=

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

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

5 weeks agoFix some issues with Ninja build.
etienneb@chromium.org [Wed, 12 Mar 2014 14:40:28 +0000 (14:40 +0000)]
Fix some issues with Ninja build.

R=chrisha@chromium.org, chrisha

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

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

5 weeks agoFix a typo introduced in r2067.
chrisha@chromium.org [Tue, 11 Mar 2014 17:10:13 +0000 (17:10 +0000)]
Fix a typo introduced in r2067.

TBR=sebmarchand@chromium.org
BUG=

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

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

5 weeks agoAdd authors file.
chrisha@chromium.org [Tue, 11 Mar 2014 15:21:19 +0000 (15:21 +0000)]
Add authors file.

This is needed in order for 'git svn' to play well with the code.google.com git clone. Developers need to point to their local git svn configuration at the file via the command:

git config svn.authorsfile syzygy/authors.txt

Without this in place when running 'git cl dcommit' the local GIT-SVN revision mapping list will diverge from that generated by the upstream server.

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

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

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

5 weeks agoModify the build system to use our own lastchange.py.
chrisha@chromium.org [Tue, 11 Mar 2014 14:37:43 +0000 (14:37 +0000)]
Modify the build system to use our own lastchange.py.

This is required to help us transition to a git only build. The behaviour of Chrome's lastchange.py will always return the SVN revision of the last known git commit with a git-svn-id field. Since our imported history includes such an ID for every commit that is mirrored from SVN, it will always return a value. Thus, once we start landing git only commits it will start returning the wrong value.

BUG=
R=sebmarchand@chromium.org

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

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

5 weeks agoTear out old decomposer.
chrisha@chromium.org [Mon, 10 Mar 2014 20:40:07 +0000 (20:40 +0000)]
Tear out old decomposer.

This completes the transition to the new decomposer, which has been the default
for the last 2 quarters.

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

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

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

5 weeks agoFix unittests so that they don't fail while under the VS2013 debugger.
chrisha@chromium.org [Mon, 10 Mar 2014 18:55:10 +0000 (18:55 +0000)]
Fix unittests so that they don't fail while under the VS2013 debugger.

This is due to the debugger keeping open handles to any PDB files that are loaded while the debugger is active. This patch makes the tests leaky, but only while under a debugger.

BUG=
R=sebmarchand@chromium.org

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

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

5 weeks agoPlumb runtime ASAN parameters through instrumentation to the runtime library.
chrisha@chromium.org [Mon, 10 Mar 2014 17:20:25 +0000 (17:20 +0000)]
Plumb runtime ASAN parameters through instrumentation to the runtime library.

This is achieved via the following mechanism:

- Adds command-line support to instrument.exe to accept ASAN parameters.
- Augments AsanTransform to optionally embed parameters into an instrumented image.
- Makes the ASAN runtime look for optional parameters in instrumented images.

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

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

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

5 weeks agoFix broken waterfall.
chrisha@chromium.org [Mon, 10 Mar 2014 14:44:49 +0000 (14:44 +0000)]
Fix broken waterfall.

This fixes a small bug in the unittest for the ASAN nested heap API.

BUG=
R=sebmarchand@chromium.org

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

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

6 weeks agoCentralize parsing and representation of all ASan runtime parameters.
chrisha@chromium.org [Thu, 6 Mar 2014 19:34:11 +0000 (19:34 +0000)]
Centralize parsing and representation of all ASan runtime parameters.

This is the first step in making runtime parameters instrumentation time configurable. A further CL will augment the instrumenter to output parameters to the instrumented image, and yet another will add the ability to the RTL to parse this parameter block.

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

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

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

6 weeks agoChecking in version 2060 release binaries.
sebmarchand@chromium.org [Thu, 6 Mar 2014 14:19:25 +0000 (14:19 +0000)]
Checking in version 2060 release binaries.

BUG=
R=chrisha@chromium.org

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

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

6 weeks agoUpgrade version number to trigger a new build.
sebmarchand@chromium.org [Wed, 5 Mar 2014 22:29:11 +0000 (22:29 +0000)]
Upgrade version number to trigger a new build.

R=chrisha@chromium.org

BUG=

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

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

6 weeks agoAdd instrumentation subsampling support to ASan instrumenter.
chrisha@chromium.org [Wed, 5 Mar 2014 20:24:24 +0000 (20:24 +0000)]
Add instrumentation subsampling support to ASan instrumenter.

This allows a randomly subsampled fraction of read/writes to be instrumented rather than simply instrumenting all of them. Setting this to zero means that no instructions are instrumented, but that functions will still be intercepted. Combined with the newly enabled quarantine checksumming this acts as an extremely low cost use-after-free detector.

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

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

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

6 weeks agoChecking in version 2057 release binaries.
chrisha@chromium.org [Wed, 5 Mar 2014 02:23:15 +0000 (02:23 +0000)]
Checking in version 2057 release binaries.

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

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

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

6 weeks agoBump version number to produce new official binaries.
chrisha@chromium.org [Wed, 5 Mar 2014 00:06:56 +0000 (00:06 +0000)]
Bump version number to produce new official binaries.

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

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

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

6 weeks agoSmall fix for VS2013.
chrisha@chromium.org [Tue, 4 Mar 2014 22:24:36 +0000 (22:24 +0000)]
Small fix for VS2013.

R=sebmarchand@chromium.org

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

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

6 weeks agoAdd checksum validation when blocks exit the quarantine.
chrisha@chromium.org [Tue, 4 Mar 2014 20:06:04 +0000 (20:06 +0000)]
Add checksum validation when blocks exit the quarantine.

With this in place our detection of use after frees by uninstrumented code is significantly strengthened.

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

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

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

6 weeks agoAdd a callback mechanism to allow HeapProxy to report errors that originate from...
chrisha@chromium.org [Mon, 3 Mar 2014 21:53:27 +0000 (21:53 +0000)]
Add a callback mechanism to allow HeapProxy to report errors that originate from within it.

HeapProxy was previously only capable of generating 2 error types at one distinct location, with the address of the error being implicit. This allows HeapProxy to report arbitrary errors to its parent AsanRuntime. This functionality will be necessary to support checksum validation of blocks expiring from the quarantine, as the error is associated with a block that has nothing to do with the original block being freed.

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

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

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

7 weeks agoChecking in version 2050 release binaries.
chrisha@chromium.org [Fri, 28 Feb 2014 23:33:09 +0000 (23:33 +0000)]
Checking in version 2050 release binaries.

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

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

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

7 weeks agoBump version number to produce new binaries.
chrisha@chromium.org [Fri, 28 Feb 2014 20:20:56 +0000 (20:20 +0000)]
Bump version number to produce new binaries.

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

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

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

7 weeks agoModify ASAN quarantine behaviour to ignore large blocks and evict randomly.
chrisha@chromium.org [Fri, 28 Feb 2014 20:16:44 +0000 (20:16 +0000)]
Modify ASAN quarantine behaviour to ignore large blocks and evict randomly.

These changes prevent the quarantine from being uselessly flushed by trying to push an overly large block to it. Additionally, this randomizes the eviction policy so that blocks may live arbitrarily long in the quarantine. The non-deterministic nature should increase the odds of use correctly diagnosing certain pathological bugs that are presently 'aliased' such that the accused stack traces have no relationship to the actual offender.

BUG=
R=etienneb@chromium.org

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

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

7 weeks agoAdd COFF support to AsanTransform.
chrisha@chromium.org [Thu, 27 Feb 2014 18:50:06 +0000 (18:50 +0000)]
Add COFF support to AsanTransform.

Most of this CL is related to changes in the underlying unittest fixture helper to make it suitable for both COFF and PE testing. The meat of the CL is in asan_transform*.

BUG=
R=etienneb@chromium.org

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

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

7 weeks agoChecking in version 2044 release binaries.
sebmarchand@chromium.org [Wed, 26 Feb 2014 19:54:58 +0000 (19:54 +0000)]
Checking in version 2044 release binaries.

R=chrisha@chromium.org

BUG=

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

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

7 weeks agoBump version number for new binaries.
sebmarchand@chromium.org [Wed, 26 Feb 2014 18:14:48 +0000 (18:14 +0000)]
Bump version number for new binaries.

BUG=

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

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

7 weeks agoAdd a unittest ensuring that round-trip COFF basic-block decomposition and block...
chrisha@chromium.org [Wed, 26 Feb 2014 16:32:39 +0000 (16:32 +0000)]
Add a unittest ensuring that round-trip COFF basic-block decomposition and block building works.

BUG=
R=etienneb@chromium.org

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

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

7 weeks agoPlumb BasicEndBlock into BasicBlockDecomposer.
chrisha@chromium.org [Tue, 25 Feb 2014 15:12:48 +0000 (15:12 +0000)]
Plumb BasicEndBlock into BasicBlockDecomposer.

This exposes BasicEndBlock to our entire pipeline, and required minor fixes to various tools that deal with basic-blocks.

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

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

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

8 weeks agoImprove ASan's symbolizer to support content_shell etc...
sebmarchand@chromium.org [Thu, 20 Feb 2014 15:56:11 +0000 (15:56 +0000)]
Improve ASan's symbolizer to support content_shell etc...

The problem was that this script was specific to chrome.dll, now that we have a split build and that clusterfuzz also use content_shell.exe we need can't simply do a "reload /fi chrome.dll" to force the symbols of chrome.dll to be loaded as chrome.dll might not be in the modules list.

Now I scan the loaded modules and the pdbs present in the |pdb_path| passed as an argument to the script and I load the appropriate symbols.

R=chrisha@chromium.org

BUG=

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

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

8 weeks agoFix a false assumption in HeapTest.CalculateBlockChecksum
sebmarchand@chromium.org [Wed, 19 Feb 2014 21:12:36 +0000 (21:12 +0000)]
Fix a false assumption in HeapTest.CalculateBlockChecksum

R=chrisha@chromium.org
BUG=

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

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

8 weeks agoAdd support for BasicEndBlocks in BlockBuilder.
chrisha@chromium.org [Wed, 19 Feb 2014 19:26:52 +0000 (19:26 +0000)]
Add support for BasicEndBlocks in BlockBuilder.

BUG=
R=etienneb@chromium.org

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

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

8 weeks agoCreate BasicEndBlock.
chrisha@chromium.org [Tue, 18 Feb 2014 21:08:33 +0000 (21:08 +0000)]
Create BasicEndBlock.

This will be plumbed into BasicBlockSubGraph, BasicBlockDecomposer and BlockBuilder to allow references and labels beyond the end of a block.

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

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

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

2 months agoUpdate the SyzyASan symbolizer script.
sebmarchand@chromium.org [Thu, 13 Feb 2014 20:02:15 +0000 (20:02 +0000)]
Update the SyzyASan symbolizer script.

I've moved the logging code out of the ProcessMinidump function so I can use it in my other scripts.

This'll ease the unittesting of this script.

BUG=
R=chrisha@chromium.org

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

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

2 months agoExtend coff_utils and COFF-related transforms to handle multiply defined symbols.
chrisha@chromium.org [Thu, 13 Feb 2014 15:51:30 +0000 (15:51 +0000)]
Extend coff_utils and COFF-related transforms to handle multiply defined symbols.

Turns out this happens quite reguarly in COFF files, so we can't ignore it.

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

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

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

2 months agoSmall fix to CoffRenameSymbolsTransform.
chrisha@chromium.org [Wed, 12 Feb 2014 14:45:08 +0000 (14:45 +0000)]
Small fix to CoffRenameSymbolsTransform.

This also fixes a missing build dependency.

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

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

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

2 months agoSmall bugfix to coff_utils.
chrisha@chromium.org [Tue, 11 Feb 2014 23:02:37 +0000 (23:02 +0000)]
Small bugfix to coff_utils.

This fixes the current problem on the waterfall.

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

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

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

2 months agoMove COFF-specific utilities from pe_utils to coff_utils, and create a few new ones.
chrisha@chromium.org [Tue, 11 Feb 2014 21:49:38 +0000 (21:49 +0000)]
Move COFF-specific utilities from pe_utils to coff_utils, and create a few new ones.

This CL also refactors existing COFF transforms to use the new functionality. They will additionally be used by the COFF version of ASAN instrumentation.

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

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

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

2 months agoDump of an unreachable blocks into a cachegrind file.
etienneb@chromium.org [Tue, 11 Feb 2014 21:10:32 +0000 (21:10 +0000)]
Dump of an unreachable blocks into a cachegrind file.

R=chrisha@chromium.org

BUG=

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

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

2 months agoAllow CoffRenameSymbolsTransform to be configured to ignore missing symbols.
chrisha@chromium.org [Mon, 10 Feb 2014 21:18:32 +0000 (21:18 +0000)]
Allow CoffRenameSymbolsTransform to be configured to ignore missing symbols.

This simplifies integration with the ASAN instrumentation.

BUG=
R=sebmarchand@chromium.org

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

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

2 months agoImprove the reporting for the corrupted blocks.
sebmarchand@chromium.org [Mon, 10 Feb 2014 18:56:07 +0000 (18:56 +0000)]
Improve the reporting for the corrupted blocks.

I've also added some code allowing to free a corrupted block. This is mostly useful for the unittests to avoid to leak a block when we don't crash on failure.

BUG=
R=chrisha@chromium.org

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

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

2 months agoAdd --nologo flag to Syzygy tool command line parsing to allow for fully silent execu...
robertshield@chromium.org [Mon, 10 Feb 2014 15:03:17 +0000 (15:03 +0000)]
Add --nologo flag to Syzygy tool command line parsing to allow for fully silent execution.

BUG=88
R=chrisha@chromium.org

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

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

2 months agoAdd empty .gitmodules file.
chrisha@chromium.org [Fri, 7 Feb 2014 16:09:33 +0000 (16:09 +0000)]
Add empty .gitmodules file.

This is necessary for 'git cl push' to work properly in the pure git workflow.

BUG=

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

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

2 months agoFix broken ETW dependency.
chrisha@chromium.org [Thu, 6 Feb 2014 22:06:03 +0000 (22:06 +0000)]
Fix broken ETW dependency.

We have 2 GYP files that create 'etw' targets, and these were conflicting at build time.

BUG=
R=sebmarchand@chromium.org

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

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

2 months agoAdds a version of test_dll compiled with VS2010.
sebmarchand@chromium.org [Thu, 6 Feb 2014 19:51:00 +0000 (19:51 +0000)]
Adds a version of test_dll compiled with VS2010.

This will help to ensure VS2010 backward compatibility.

BUG=
R=chrisha@chromium.org

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

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

2 months agoUse the checksum of the blocks to detect corrupted blocks.
sebmarchand@chromium.org [Wed, 5 Feb 2014 23:48:33 +0000 (23:48 +0000)]
Use the checksum of the blocks to detect corrupted blocks.

This also fix a bunch of unittests where we weren't restoring the original content of the memory after testing an [over|under]flow.

I'll implement the unittests and I'll improve the reporting routine in my next CL (it's not trivial and this CL is long enough I think).

BUG=
R=chrisha@chromium.org

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

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

2 months agoBring in Sawbuck's Python ETW code as a third_party dependency.
chrisha@chromium.org [Wed, 5 Feb 2014 21:55:58 +0000 (21:55 +0000)]
Bring in Sawbuck's Python ETW code as a third_party dependency.

This severs the last explicit references from Syzygy into the Sawbuck code.

BUG=
R=sebmarchand@chromium.org

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

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

2 months agoAdd dumping of MSToolEnv to pdb_dumper.
etienneb@chromium.org [Tue, 4 Feb 2014 21:12:48 +0000 (21:12 +0000)]
Add dumping of MSToolEnv to pdb_dumper.

R=chrisha@chromium.org, sebmarchand@chromium.org

BUG=

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

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

2 months agoCreate DEPS.syzygy.
chrisha@chromium.org [Mon, 3 Feb 2014 20:59:35 +0000 (20:59 +0000)]
Create DEPS.syzygy.

With this CL in place the Syzygy project now has a DEPS configuration that is independent of Sawbuck and Sawdust.

BUG=
R=sebmarchand@chromium.org

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

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

2 months agoChecking in version 2017 release binaries.
chrisha@chromium.org [Mon, 3 Feb 2014 19:37:07 +0000 (19:37 +0000)]
Checking in version 2017 release binaries.

BUG=

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

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

2 months agoAdds an unreachable code elimintation in the Optimizer.
etienneb@chromium.org [Mon, 3 Feb 2014 18:20:16 +0000 (18:20 +0000)]
Adds an unreachable code elimintation in the Optimizer.

R=chrisha@chromium.org

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

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

2 months agoAdd a checksum to ASan's blocks.
sebmarchand@chromium.org [Fri, 31 Jan 2014 22:19:11 +0000 (22:19 +0000)]
Add a checksum to ASan's blocks.

BUG=
R=chrisha@chromium.org

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

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

2 months agoRemove useless dependency on Sawbuck's log_lib.
chrisha@chromium.org [Fri, 31 Jan 2014 21:40:46 +0000 (21:40 +0000)]
Remove useless dependency on Sawbuck's log_lib.

BUG=
R=sebmarchand@chromium.org

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

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

2 months agoBump version number for new binaries.
chrisha@chromium.org [Fri, 31 Jan 2014 20:00:07 +0000 (20:00 +0000)]
Bump version number for new binaries.

BUG=

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

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