summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/asan
Commit message (Collapse)AuthorAgeFilesLines
...
* tsan: move verbosity flag to CommonFlagsDmitry Vyukov2013-10-158-27/+24
| | | | llvm-svn: 192701
* Fix a typo.Evgeniy Stepanov2013-10-151-1/+1
| | | | llvm-svn: 192685
* [ASan] Make test from r192581 Linux-only, as wild memory contents is less ↵Alexey Samsonov2013-10-151-0/+0
| | | | | | predictable on Mac llvm-svn: 192677
* [lsan] Support ASan's stack-use-after-return mode in LSan.Sergey Matveev2013-10-143-4/+31
| | | | | | Treat the fake stack as live memory. llvm-svn: 192593
* [asan] Improve thread lifetime tracking on POSIX systems.Sergey Matveev2013-10-146-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 overflowsAlexey Samsonov2013-10-145-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 Samsonov2013-10-121-2/+2
| | | | llvm-svn: 192533
* Refactor the usage of strip_path_prefix option and make it more consistent ↵Alexey Samsonov2013-10-042-6/+3
| | | | | | across sanitizers llvm-svn: 191943
* asan/msan: fix "unused function 'OnExit'" warningDmitry Vyukov2013-10-031-1/+1
| | | | llvm-svn: 191904
* asan/msan/tsan: move _exit interceptor to common interceptorsDmitry Vyukov2013-10-031-0/+6
| | | | llvm-svn: 191903
* [asan] introduce run-time flag uar_stack_size_log to control the size of ↵Kostya Serebryany2013-09-277-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 Potapenko2013-09-241-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 Serebryany2013-09-236-13/+13
| | | | | | comes with asan by default) llvm-svn: 191204
* [ASan/Win] Slightly optimize the DLL thunkTimur Iskhodzhanov2013-09-231-11/+11
| | | | llvm-svn: 191190
* [ASan] Fix a compile-time warningTimur Iskhodzhanov2013-09-232-2/+2
| | | | llvm-svn: 191189
* [ASan] Add DLL thunks for the new stack UAR interfaceTimur Iskhodzhanov2013-09-232-1/+60
| | | | llvm-svn: 191188
* [ASan] Fix the interface test on Darwin.Alexander Potapenko2013-09-231-0/+2
| | | | llvm-svn: 191187
* [asan] disable the detect_stack_use_after_return run-time flag by default ↵Kostya Serebryany2013-09-233-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 Potapenko2013-09-201-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 Potapenko2013-09-201-1/+3
| | | | llvm-svn: 191083
* [ASan] Enforce the memmove semantics for both memcpy() and memmove() ↵Alexander Potapenko2013-09-202-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 Serebryany2013-09-202-1/+1
| | | | llvm-svn: 191080
* [ASan] Fix init-order-dlopen.cc test to not depend on the ↵Alexander Potapenko2013-09-192-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-returnKostya Serebryany2013-09-192-4/+7
| | | | llvm-svn: 191004
* [asan] add a run-time option detect_stack_use_after_return, add verbosity ↵Kostya Serebryany2013-09-187-5/+26
| | | | | | output for fake stack llvm-svn: 190932
* [ASan] Don't add SANITIZER_INTERFACE_ATTRIBUTE for internal ASan functionsAlexey Samsonov2013-09-173-9/+0
| | | | llvm-svn: 190860
* [ASan] Enable fake stack test on Mac and Android, as no-instrumentation ↵Alexey Samsonov2013-09-171-6/+1
| | | | | | tests are now fixed llvm-svn: 190856
* [ASan] Link tests with -pie if ASan runtime uses zero-base shadowAlexey Samsonov2013-09-171-0/+3
| | | | llvm-svn: 190853
* [asan] further speedup use-after-return: simplify deallocation of fake ↵Kostya Serebryany2013-09-173-21/+15
| | | | | | frames. ~ 20% speedup. llvm-svn: 190852
* [ASan] Don't link with pthread on AndroidAlexey Samsonov2013-09-161-1/+4
| | | | llvm-svn: 190794
* [ASan] Split ASan unit tests into two different binaries:Alexey Samsonov2013-09-165-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 Samsonov2013-09-163-14/+19
| | | | | | into named variables llvm-svn: 190787
* [asan] Android does not have TLSKostya Serebryany2013-09-131-2/+2
| | | | llvm-svn: 190669
* [ASan] Temporary disable UAR unit test on Android due to ↵Alexey Samsonov2013-09-131-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 Serebryany2013-09-133-9/+7
| | | | | | performance) llvm-svn: 190666
* [asan] more performance to FakeStack: a) don't used atomic exchange, instead ↵Kostya Serebryany2013-09-132-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 Serebryany2013-09-134-11/+28
| | | | | | async-signal safe. llvm-svn: 190663
* [asan] undo the previous commit since TLS hack breaks with signals... :(Kostya Serebryany2013-09-131-1/+1
| | | | llvm-svn: 190662
* [asan] use TLS on Linux to get the FakeStack. Saves 15% performanceKostya Serebryany2013-09-131-6/+19
| | | | llvm-svn: 190661
* [asan] inline PoisonShadow in FakeStack to get ~10% speedupKostya Serebryany2013-09-131-2/+20
| | | | llvm-svn: 190660
* [asan] a bit of performance improvement in fake stack, generalized one test, ↵Kostya Serebryany2013-09-124-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 Serebryany2013-09-124-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 Potapenko2013-09-121-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 Serebryany2013-09-121-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 Serebryany2013-09-121-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 Serebryany2013-09-122-2/+6
| | | | | | exists (should fix 32-bit builds) llvm-svn: 190593
* [asan] hopefully make the FakeStack async-signal safe, enable the related testKostya Serebryany2013-09-126-11/+61
| | | | llvm-svn: 190592
* [asan] Fix deadlock in stack unwinder on android/x86.Evgeniy Stepanov2013-09-122-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 Serebryany2013-09-121-3/+2
| | | | llvm-svn: 190589
* [asan] fully re-implement the FakeStack (use-after-return) to make it faster ↵Kostya Serebryany2013-09-126-230/+339
| | | | | | and async-signal-safe. The implementation is not yet complete (see FIXMEs) but the existing tests pass. llvm-svn: 190588
OpenPOWER on IntegriCloud