Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | tsan: move verbosity flag to CommonFlags | Dmitry Vyukov | 2013-10-15 | 8 | -27/+24 | |
| | | | | llvm-svn: 192701 | |||||
* | Fix a typo. | Evgeniy Stepanov | 2013-10-15 | 1 | -1/+1 | |
| | | | | llvm-svn: 192685 | |||||
* | [ASan] Make test from r192581 Linux-only, as wild memory contents is less ↵ | Alexey Samsonov | 2013-10-15 | 1 | -0/+0 | |
| | | | | | | predictable on Mac llvm-svn: 192677 | |||||
* | [lsan] Support ASan's stack-use-after-return mode in LSan. | Sergey Matveev | 2013-10-14 | 3 | -4/+31 | |
| | | | | | | Treat the fake stack as live memory. llvm-svn: 192593 | |||||
* | [asan] Improve thread lifetime tracking on POSIX systems. | Sergey Matveev | 2013-10-14 | 6 | -3/+25 | |
| | | | | | | | | Call AsanThread::Destroy() from a late-running TSD destructor. Previously we called it before any user-registered TSD destructors, which caused false positives in LeakSanitizer. llvm-svn: 192585 | |||||
* | [ASan] Don't die with internal ASan error on large buffer overflows | Alexey Samsonov | 2013-10-14 | 5 | -10/+40 | |
| | | | | | | | | | | | | | | | | | | | | Summary: Out-of-bound access may touch not-yet allocated or already freed and recycled from quarantine chunks. We should treat this situation as a "free-range memory access" and avoid printing any data about that irrelevant chunk (which may be inconsistent). This should fix https://code.google.com/p/address-sanitizer/issues/detail?id=183 Reviewers: kcc Reviewed By: kcc CC: timurrrr, llvm-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1893 llvm-svn: 192581 | |||||
* | [Sanitizer] Turn GetStackTrace() into StackTrace::Unwind() | Alexey Samsonov | 2013-10-12 | 1 | -2/+2 | |
| | | | | llvm-svn: 192533 | |||||
* | Refactor the usage of strip_path_prefix option and make it more consistent ↵ | Alexey Samsonov | 2013-10-04 | 2 | -6/+3 | |
| | | | | | | across sanitizers llvm-svn: 191943 | |||||
* | asan/msan: fix "unused function 'OnExit'" warning | Dmitry Vyukov | 2013-10-03 | 1 | -1/+1 | |
| | | | | llvm-svn: 191904 | |||||
* | asan/msan/tsan: move _exit interceptor to common interceptors | Dmitry Vyukov | 2013-10-03 | 1 | -0/+6 | |
| | | | | llvm-svn: 191903 | |||||
* | [asan] introduce run-time flag uar_stack_size_log to control the size of ↵ | Kostya Serebryany | 2013-09-27 | 7 | -29/+44 | |
| | | | | | | FakeStack; don't crash when the fake stack is exhausted, move some code to .cc file llvm-svn: 191510 | |||||
* | [ASan] Fix GCD tests by spinning forever in the main thread. | Alexander Potapenko | 2013-09-24 | 1 | -18/+21 | |
| | | | | | | Since the error is always reported by one of the GCD workers, this will help avoid premature program termination with exit code 0. llvm-svn: 191294 | |||||
* | [asan] remove -fsanitize=use-after-return from the tests (this flag now ↵ | Kostya Serebryany | 2013-09-23 | 6 | -13/+13 | |
| | | | | | | comes with asan by default) llvm-svn: 191204 | |||||
* | [ASan/Win] Slightly optimize the DLL thunk | Timur Iskhodzhanov | 2013-09-23 | 1 | -11/+11 | |
| | | | | llvm-svn: 191190 | |||||
* | [ASan] Fix a compile-time warning | Timur Iskhodzhanov | 2013-09-23 | 2 | -2/+2 | |
| | | | | llvm-svn: 191189 | |||||
* | [ASan] Add DLL thunks for the new stack UAR interface | Timur Iskhodzhanov | 2013-09-23 | 2 | -1/+60 | |
| | | | | llvm-svn: 191188 | |||||
* | [ASan] Fix the interface test on Darwin. | Alexander Potapenko | 2013-09-23 | 1 | -0/+2 | |
| | | | | llvm-svn: 191187 | |||||
* | [asan] disable the detect_stack_use_after_return run-time flag by default ↵ | Kostya Serebryany | 2013-09-23 | 3 | -1/+3 | |
| | | | | | | and enable it explicitly in tests. This is done in preparation to enabling the -fsanitize=use-after-return compile-time flag by default when -fsanitize=address is present. llvm-svn: 191184 | |||||
* | [ASan] Remove a complex multiline comment that baffles lint. | Alexander Potapenko | 2013-09-20 | 1 | -3/+0 | |
| | | | | | | That comment is repeated in another function below. llvm-svn: 191085 | |||||
* | [ASan] Fix compilation of asan_str_test.cc on non-Darwin. | Alexander Potapenko | 2013-09-20 | 1 | -1/+3 | |
| | | | | llvm-svn: 191083 | |||||
* | [ASan] Enforce the memmove semantics for both memcpy() and memmove() ↵ | Alexander Potapenko | 2013-09-20 | 2 | -16/+32 | |
| | | | | | | | | | | | | | interceptors on Darwin. Due to bugs in the interposition of resolver functions on 10.7 and 10.8 both memcpy() and memmove() were previously intercepted by INTERCEPTOR(memcpy), which led to false positives and crashes (see http://llvm.org/bugs/show_bug.cgi?id=16362) We choose to use a memmove-like function in both cases. This effectively disables the overlap checks in memcpy(), but the overlaps aren't possible in practice, because memcpy() and memmove() are the same function on Darwin. Once the interposition is fixed in 10.9, we'll need to revisit this issue, see https://code.google.com/p/address-sanitizer/issues/detail?id=226 llvm-svn: 191081 | |||||
* | [asan] nuke yet another async-signal-safety bug in UAR (oh, my) | Kostya Serebryany | 2013-09-20 | 2 | -1/+1 | |
| | | | | llvm-svn: 191080 | |||||
* | [ASan] Fix init-order-dlopen.cc test to not depend on the ↵ | Alexander Potapenko | 2013-09-19 | 2 | -2/+7 | |
| | | | | | | -Wl,-undefined,dynamic_lookup being passed to the linker. llvm-svn: 191012 | |||||
* | [asan] fix one more async-signal-safety issue with use-after-return | Kostya Serebryany | 2013-09-19 | 2 | -4/+7 | |
| | | | | llvm-svn: 191004 | |||||
* | [asan] add a run-time option detect_stack_use_after_return, add verbosity ↵ | Kostya Serebryany | 2013-09-18 | 7 | -5/+26 | |
| | | | | | | output for fake stack llvm-svn: 190932 | |||||
* | [ASan] Don't add SANITIZER_INTERFACE_ATTRIBUTE for internal ASan functions | Alexey Samsonov | 2013-09-17 | 3 | -9/+0 | |
| | | | | llvm-svn: 190860 | |||||
* | [ASan] Enable fake stack test on Mac and Android, as no-instrumentation ↵ | Alexey Samsonov | 2013-09-17 | 1 | -6/+1 | |
| | | | | | | tests are now fixed llvm-svn: 190856 | |||||
* | [ASan] Link tests with -pie if ASan runtime uses zero-base shadow | Alexey Samsonov | 2013-09-17 | 1 | -0/+3 | |
| | | | | llvm-svn: 190853 | |||||
* | [asan] further speedup use-after-return: simplify deallocation of fake ↵ | Kostya Serebryany | 2013-09-17 | 3 | -21/+15 | |
| | | | | | | frames. ~ 20% speedup. llvm-svn: 190852 | |||||
* | [ASan] Don't link with pthread on Android | Alexey Samsonov | 2013-09-16 | 1 | -1/+4 | |
| | | | | llvm-svn: 190794 | |||||
* | [ASan] Split ASan unit tests into two different binaries: | Alexey Samsonov | 2013-09-16 | 5 | -531/+634 | |
| | | | | | | | (1) instrumented, i.e. compiled and linked with -fsanitize=address (2) not instrumented, compiled w/o -fsanitize=address and linked with ASan runtime statically. llvm-svn: 190788 | |||||
* | [ASan] Check that getSymbolizer() is defined. Turn magic mapping constants ↵ | Alexey Samsonov | 2013-09-16 | 3 | -14/+19 | |
| | | | | | | into named variables llvm-svn: 190787 | |||||
* | [asan] Android does not have TLS | Kostya Serebryany | 2013-09-13 | 1 | -2/+2 | |
| | | | | llvm-svn: 190669 | |||||
* | [ASan] Temporary disable UAR unit test on Android due to ↵ | Alexey Samsonov | 2013-09-13 | 1 | -5/+5 | |
| | | | | | | https://code.google.com/p/address-sanitizer/issues/detail?id=222 llvm-svn: 190667 | |||||
* | [asan] don't record the class_id in FakeFrame (scratching the last bits of ↵ | Kostya Serebryany | 2013-09-13 | 3 | -9/+7 | |
| | | | | | | performance) llvm-svn: 190666 | |||||
* | [asan] more performance to FakeStack: a) don't used atomic exchange, instead ↵ | Kostya Serebryany | 2013-09-13 | 2 | -14/+15 | |
| | | | | | | rely on regular load and store and other signal-safe logic; b) remove allocated_from_size_class_mask_ which is not helping much anyway; Another 10% speedup llvm-svn: 190664 | |||||
* | [asan] second attempt to use TLS with fake stack. This time it looks (more) ↵ | Kostya Serebryany | 2013-09-13 | 4 | -11/+28 | |
| | | | | | | async-signal safe. llvm-svn: 190663 | |||||
* | [asan] undo the previous commit since TLS hack breaks with signals... :( | Kostya Serebryany | 2013-09-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 190662 | |||||
* | [asan] use TLS on Linux to get the FakeStack. Saves 15% performance | Kostya Serebryany | 2013-09-13 | 1 | -6/+19 | |
| | | | | llvm-svn: 190661 | |||||
* | [asan] inline PoisonShadow in FakeStack to get ~10% speedup | Kostya Serebryany | 2013-09-13 | 1 | -2/+20 | |
| | | | | llvm-svn: 190660 | |||||
* | [asan] a bit of performance improvement in fake stack, generalized one test, ↵ | Kostya Serebryany | 2013-09-12 | 4 | -34/+46 | |
| | | | | | | fixed android build of another test llvm-svn: 190606 | |||||
* | [asan] add a test for use-after-return and exceptions and fix it. Not 100% ↵ | Kostya Serebryany | 2013-09-12 | 4 | -1/+68 | |
| | | | | | | sure this is a complete fix, will keep looking for harder cases. llvm-svn: 190603 | |||||
* | [ASan] Do not build asan_fake_stack_test.cc on OSX until ↵ | Alexander Potapenko | 2013-09-12 | 1 | -0/+10 | |
| | | | | | | https://code.google.com/p/address-sanitizer/issues/detail?id=222 is fixed. llvm-svn: 190597 | |||||
* | [asan] limit the size of the fake stack with a reasonable constant. This ↵ | Kostya Serebryany | 2013-09-12 | 1 | -2/+6 | |
| | | | | | | fixes a failure when the main thread's stack is considered unlimited (very large). llvm-svn: 190596 | |||||
* | [asan] (part 2) don't lazy-init fake_stack if we only need to check that ↵ | Kostya Serebryany | 2013-09-12 | 1 | -1/+1 | |
| | | | | | | fake_stack exists (should fix 32-bit builds) llvm-svn: 190594 | |||||
* | [asan] don't lazy-init fake_stack if we only need to check that fake_stack ↵ | Kostya Serebryany | 2013-09-12 | 2 | -2/+6 | |
| | | | | | | exists (should fix 32-bit builds) llvm-svn: 190593 | |||||
* | [asan] hopefully make the FakeStack async-signal safe, enable the related test | Kostya Serebryany | 2013-09-12 | 6 | -11/+61 | |
| | | | | llvm-svn: 190592 | |||||
* | [asan] Fix deadlock in stack unwinder on android/x86. | Evgeniy Stepanov | 2013-09-12 | 2 | -14/+33 | |
| | | | | | | | Fixes PR17116. Patch by 林作健 (manjian2006 at gmail.com). llvm-svn: 190590 | |||||
* | [asan] use xchg instead of CAS in FakeStack::Allocate (5% faster for this case) | Kostya Serebryany | 2013-09-12 | 1 | -3/+2 | |
| | | | | llvm-svn: 190589 | |||||
* | [asan] fully re-implement the FakeStack (use-after-return) to make it faster ↵ | Kostya Serebryany | 2013-09-12 | 6 | -230/+339 | |
| | | | | | | and async-signal-safe. The implementation is not yet complete (see FIXMEs) but the existing tests pass. llvm-svn: 190588 |