Kostya Serebryany
|
096413ba3b
|
[asan] use TLS on Linux to get the FakeStack. Saves 15% performance
llvm-svn: 190661
|
2013-09-13 06:04:18 +00:00 |
Kostya Serebryany
|
77caab4d7b
|
[asan] inline PoisonShadow in FakeStack to get ~10% speedup
llvm-svn: 190660
|
2013-09-13 05:57:58 +00:00 |
Kostya Serebryany
|
7638aa135e
|
[asan] a bit of performance improvement in fake stack, generalized one test, fixed android build of another test
llvm-svn: 190606
|
2013-09-12 14:41:10 +00:00 |
Kostya Serebryany
|
627ea6391e
|
[asan] add a test for use-after-return and exceptions and fix it. Not 100% sure this is a complete fix, will keep looking for harder cases.
llvm-svn: 190603
|
2013-09-12 13:25:29 +00:00 |
Kostya Serebryany
|
628cda7367
|
[asan] hopefully make the FakeStack async-signal safe, enable the related test
llvm-svn: 190592
|
2013-09-12 08:34:50 +00:00 |
Kostya Serebryany
|
e8f961e847
|
[asan] use xchg instead of CAS in FakeStack::Allocate (5% faster for this case)
llvm-svn: 190589
|
2013-09-12 07:28:42 +00:00 |
Kostya Serebryany
|
729c8dc65b
|
[asan] fully re-implement the FakeStack (use-after-return) to make it faster and async-signal-safe. The implementation is not yet complete (see FIXMEs) but the existing tests pass.
llvm-svn: 190588
|
2013-09-12 07:11:58 +00:00 |
Kostya Serebryany
|
8fc35ca008
|
[asan] refactor the use-after-return API so that the size class is computed at compile time instead of at run-time. compiler-rt part
llvm-svn: 190406
|
2013-09-10 13:16:26 +00:00 |
Kostya Serebryany
|
1f13414d45
|
[asan] make use-after-return handle very deep recursion; fixes 483.xalancbmk in UAR mode
llvm-svn: 189929
|
2013-09-04 10:59:32 +00:00 |
Kostya Serebryany
|
fab9336413
|
[asan]: fix a CHECK failure in use-after-return mode; enable and fix stack-use-after-return.cc; add a test for UAR mode in asan_noinst_test
llvm-svn: 189457
|
2013-08-28 08:59:23 +00:00 |
Evgeniy Stepanov
|
d8a1798b47
|
[asan] Limit fake stack size to a reasonable value when running with unlimited stack.
llvm-svn: 187411
|
2013-07-30 11:50:26 +00:00 |
Kostya Serebryany
|
6a068a715d
|
[asan] initialize fake_stack lazily and increase its maximal size. This makes -fsanitize=address,use-after-return more robust: all SPEC tests pass now. In the default mode thread stacks become a bit smaller.
llvm-svn: 184934
|
2013-06-26 12:16:05 +00:00 |
Timur Iskhodzhanov
|
cc61eefd4b
|
Fix MSVC W3 compiler warnings
llvm-svn: 182857
|
2013-05-29 14:11:44 +00:00 |
Kostya Serebryany
|
1c77de3aeb
|
[asan] improve the UAR reporting (try harder to find the correct frame), try to make the test more stable
llvm-svn: 179292
|
2013-04-11 15:35:40 +00:00 |
Kostya Serebryany
|
5b4267f7e7
|
[sanitizer] found a bug by code inspection: CHECK(a=b) instead of CHECK(a==b). Was puzzled why lint did not catch it. Turns out this check was disabled for asan source. fix all cases and enable the check
llvm-svn: 178872
|
2013-04-05 14:40:25 +00:00 |
Alexey Samsonov
|
a88c60b085
|
[ASan] Speed-up initialization-order checking: create and use fast versions of PoisonShadow functions, store copies of __asan_global descriptors in a vector instead of list of pointers. This gives 3x speedup on both benchmarks and real binaries with lots of globals.
llvm-svn: 178239
|
2013-03-28 15:42:43 +00:00 |
Alexey Samsonov
|
54afba8b62
|
[ASan] Switch ASan to generic ThreadRegistry from sanitizer_common. Delete ASan-specific AsanThreadRegistry.
llvm-svn: 177634
|
2013-03-21 11:23:41 +00:00 |
Alexey Samsonov
|
cf025cb2e6
|
[ASan] Move GetCurrentThread/SetCurrentThread from AsanThreadRegistry class into plain functions: they don't actually use registry
llvm-svn: 177501
|
2013-03-20 09:23:28 +00:00 |
Alexey Samsonov
|
a0c0da8f51
|
[ASan] Split ASan interface header into private and public parts. Add a test that makes sure users can include interface header
llvm-svn: 174058
|
2013-01-31 13:46:14 +00:00 |
Kostya Serebryany
|
13bdbe698e
|
[asan] move FakeStack into a separate file
llvm-svn: 169734
|
2012-12-10 14:19:15 +00:00 |