summaryrefslogtreecommitdiffstats
path: root/compiler-rt
Commit message (Collapse)AuthorAgeFilesLines
* Support building tsan_test_util_linux.cc on FreeBSDViktor Kutuzov2014-09-061-3/+8
| | | | | | Differential Revision: http://reviews.llvm.org/D5210 llvm-svn: 217309
* Do not assume RLIM_INFINITY is always (rlim_t)-1in sanitizers codeViktor Kutuzov2014-09-061-3/+3
| | | | | | Differential Revision: http://reviews.llvm.org/D5212 llvm-svn: 217308
* Intercept sigfillset() and sigemptyset() for sanitizers needs on FreeBSDViktor Kutuzov2014-09-061-1/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D5206 llvm-svn: 217307
* Enable sanitizers' libignore on FreeBSDViktor Kutuzov2014-09-061-2/+2
| | | | | | Differential Revision: http://reviews.llvm.org/D5205 llvm-svn: 217306
* Use "-gline-tables-only" instead of "-g" in sanitizer test suites.Alexey Samsonov2014-09-057-11/+12
| | | | | | | We are interested in verifying that -gline-tables-only provides enough debug information for verbose error reports and symbolized stack traces. llvm-svn: 217284
* [ASan] disable zero_page_pc.cc on Android.Alexander Potapenko2014-09-051-0/+3
| | | | | | Bug: https://code.google.com/p/address-sanitizer/issues/detail?id=336 llvm-svn: 217228
* [asan] relax the assertion around array cookie load; still need to extract a ↵Kostya Serebryany2014-09-051-4/+8
| | | | | | reproducer where this assertion fails... llvm-svn: 217215
* [ASan] Remove the call to GetPageSizeCached from fast path of FastPoisonShadowAlexey Samsonov2014-09-041-3/+3
| | | | llvm-svn: 217194
* [asan] trying to de-flake new_array_cookie_uaf_test.ccKostya Serebryany2014-09-041-6/+16
| | | | llvm-svn: 217177
* profile: Avoid name collisions between instrumentation and runtimeJustin Bogner2014-09-047-35/+54
| | | | | | | | | | | | The naming scheme we're using for counters in profile data shares a prefix with some fixed names we use for the runtime, notably __llvm_profile_data_begin and _end. Embarrassingly, this means a function called begin() can't be instrumented. This modifies the runtime names so as not to collide with the instrumentation. llvm-svn: 217166
* [ASan] Remove the check for a double-SEGV from zero_page_pc.ccAlexander Potapenko2014-09-041-1/+0
| | | | | | Looks like the second crash doesn't happen on Mac. llvm-svn: 217165
* Intercept _exit() for sanitizers' needs on FreeBSDViktor Kutuzov2014-09-041-1/+7
| | | | | | Differential Revision: http://reviews.llvm.org/D5171 llvm-svn: 217156
* Fix building sanitizer_linux_libcdep.cc on FreeBSDViktor Kutuzov2014-09-041-1/+1
| | | | | | Differential Revision: http://reviews.llvm.org/D5166 llvm-svn: 217148
* [msan] Fix fork test on centos-6.5.Evgeniy Stepanov2014-09-041-5/+3
| | | | | | Missing <atomic> header. llvm-svn: 217142
* [msan] Make origin tracking fork-safe.Evgeniy Stepanov2014-09-047-0/+183
| | | | | | | | | Chained origins make plain memory stores async-signal-unsafe. We already disable it inside signal handlers. This change grabs all origin-related locks before fork() and releases them after fork() to avoid a deadlock in the child process. llvm-svn: 217140
* [ASan] allow deadly signals to be received in signal handlersAlexander Potapenko2014-09-042-1/+14
| | | | | | | (previously ASan would just crash upon the second SEGV) Other tools do not use this code yet. llvm-svn: 217137
* Fixup test case after r217079Alexey Samsonov2014-09-031-2/+2
| | | | llvm-svn: 217111
* [asan] remove debug printKostya Serebryany2014-09-031-1/+0
| | | | llvm-svn: 217101
* Fix fast stack unwind on ARM to support code generated with GCC.Alexey Samsonov2014-09-032-5/+68
| | | | | | | | http://reviews.llvm.org/D4692 Patch by Maxim Ostapenko! llvm-svn: 217079
* tsan: handle early signalsDmitry Vyukov2014-09-034-5/+3
| | | | | | | The second part of the fix of https://code.google.com/p/thread-sanitizer/issues/detail?id=71 llvm-svn: 217031
* [msan] Fix origin_history_per_stack_limit=0 behavior.Evgeniy Stepanov2014-09-032-4/+40
| | | | | | It disables the per-stack limit. llvm-svn: 217030
* tsan: more precise handling of atexit callbacksDmitry Vyukov2014-09-022-30/+86
| | | | | | Fixes issue https://code.google.com/p/thread-sanitizer/issues/detail?id=74 llvm-svn: 216906
* tsan: disable getpwent interceptorsDmitry Vyukov2014-09-022-2/+17
| | | | | | | | | | | There interceptors do not seem to be strictly necessary for tsan. But we see cases where the interceptors consume 70% of execution time. Memory blocks passed to fgetgrent_r are "written to" by tsan several times. First, there is some recursion (getgrnam_r calls fgetgrent_r), and each function "writes to" the buffer. Then, the same memory is "written to" twice, first as buf and then as pwbufp (both of them refer to the same addresses). llvm-svn: 216904
* tsan: restructure signal handling to allow recursive handlingDmitry Vyukov2014-09-024-24/+163
| | | | | | | Fixes issue https://code.google.com/p/thread-sanitizer/issues/detail?id=71 llvm-svn: 216903
* tsan: address comments in r214912Dmitry Vyukov2014-09-025-43/+39
| | | | | | See http://reviews.llvm.org/D4794 llvm-svn: 216900
* [libsanitizer] Fix the Android build.Alexander Potapenko2014-09-011-0/+4
| | | | llvm-svn: 216885
* [asan] Update asan_device_setup to support Android L Preview.Evgeniy Stepanov2014-09-011-23/+42
| | | | llvm-svn: 216884
* [libsanitizer] Make sanitizer_unwind_posix.cc a libcdep source file.Alexander Potapenko2014-09-012-3/+5
| | | | | | | Guard the source with #if SANITIZER_POSIX to fix compilation on Windows. use it only in llvm-svn: 216882
* tsan: fix false positive related to signal handlersDmitry Vyukov2014-09-012-0/+60
| | | | | | | Users expect synchronization between sigaction and arrival of the signal. See the test for details. llvm-svn: 216878
* [ASan] Small refactoring - split the slow unwinding logic into ↵Alexander Potapenko2014-09-013-126/+152
| | | | | | | | | sanitizer_unwind_posix.cc This allows the slow unwinder to be used on OSX (it's disabled for now, see https://code.google.com/p/address-sanitizer/issues/detail?id=137 for details) llvm-svn: 216877
* tsan: unbreak windows buildDmitry Vyukov2014-09-011-0/+4
| | | | | | | | | | | | | | Currently it fails with: # Testing race detector. race_windows_amd64.syso:gotsan.cc:(.text+0x4d89): undefined reference to `__imp_SymGetModuleBase64' race_windows_amd64.syso:gotsan.cc:(.text+0x4d90): undefined reference to `__imp_SymFunctionTableAccess64' race_windows_amd64.syso:gotsan.cc:(.text+0x4dd8): undefined reference to `__imp_StackWalk64' x86_64-w64-mingw32/bin/ld.exe: race_windows_amd64.syso : bad reloc address 0x10 in section `.data' collect2.exe: error: ld returned 1 exit status llvm-svn: 216875
* [asan] enable poison_array_cookie backKostya Serebryany2014-08-293-4/+4
| | | | llvm-svn: 216705
* [asan] introduce __asan_load_cxx_array_cookie: check that the array cookie ↵Kostya Serebryany2014-08-283-1/+48
| | | | | | address is properly poisoned and return the cookie value. If not, return 0 to avoid infinite loop of DTORs (in case of use-after-free). Calls to this function will be inserted by clang (separate change) llvm-svn: 216692
* [asan] disable poison_array_cookie while I am investigating a false positive ↵Kostya Serebryany2014-08-282-3/+3
| | | | | | on chromium (I suspect that LLVM looses nosanitizer metadata; no test yet) llvm-svn: 216684
* [ASan/Win] Add a test case for r216663 [-Zl vs LIBCMT vs asan_win_uar_thunk]Timur Iskhodzhanov2014-08-281-0/+12
| | | | llvm-svn: 216665
* [ASan/Win] Add the -Zl flag to avoid /DEFAULTLIB:libcmt directive in the ↵Timur Iskhodzhanov2014-08-281-1/+1
| | | | | | | | asan_win_uar_thunk object file This directive results in 'symbol already defined' when linking DLLs that use -MD llvm-svn: 216663
* [ubsan] Follow-up for r216657: fixed the line numbers in the test.Alexander Potapenko2014-08-281-2/+2
| | | | llvm-svn: 216661
* [UBSan] Temporarily disable checks for stack traces in UBSan reports on DarwinAlexander Potapenko2014-08-284-7/+17
| | | | | | | to make the tests green. Slow stack unwinding is disabled in libsanitizer on Darwin now. llvm-svn: 216657
* [ASan] Whitespace fix. No functionality change.Alexander Potapenko2014-08-271-1/+1
| | | | llvm-svn: 216544
* [asan] Add asprintf negative test.Evgeniy Stepanov2014-08-271-0/+20
| | | | llvm-svn: 216542
* [ASan/Win] Enable building the MD runtime by defaultTimur Iskhodzhanov2014-08-271-0/+5
| | | | llvm-svn: 216534
* [asan] Restore asan-rt name on linux back to pre-r216380.Evgeniy Stepanov2014-08-271-1/+7
| | | | | | | | | | There is no reason to have different library names for shared and static cases on linux. It also breaks Android where we install the shared asan-rt library into the system and should keep the old name. This change reverts most of r216380 limiting it to win32 targets only. llvm-svn: 216533
* [asan] add a test for poison_array_cookie=1Kostya Serebryany2014-08-261-0/+19
| | | | llvm-svn: 216494
* [lsan] Implement the public allocator interface in standalone LSan.Sergey Matveev2014-08-263-5/+43
| | | | llvm-svn: 216459
* [lsan] Implement __sanitizer_print_stack_trace() in standalone LSan.Sergey Matveev2014-08-264-25/+35
| | | | llvm-svn: 216454
* [ASan/Win] Disable warning C4391: incorrect return type for intrinsic functionTimur Iskhodzhanov2014-08-262-0/+2
| | | | | | This warning makes it a bit hard to define strlen and wcslen interceptors in an elegant yet portable way llvm-svn: 216450
* [ASan/Win] Rename asan_dll_thunk.cc to asan_win_dll_thunk.ccTimur Iskhodzhanov2014-08-263-4/+4
| | | | llvm-svn: 216448
* [ASan/Win] Add an extra thunk.lib to handle stack-use-after-return optionTimur Iskhodzhanov2014-08-262-0/+36
| | | | | | | With this patch, "check-asan" passes all the tests with both MT and MD ASan RTL if you set COMPILER_RT_BUILD_SHARED_ASAN to ON (PR20214) llvm-svn: 216447
* [sanitizer] move mlock interceptor from asan/tsan/msan to common; no ↵Kostya Serebryany2014-08-257-108/+57
| | | | | | functionality change intended llvm-svn: 216407
* [ASan/Win] Add /DEBUG to the MD RTL link flagsTimur Iskhodzhanov2014-08-251-0/+1
| | | | llvm-svn: 216387
OpenPOWER on IntegriCloud