Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | [nolibc] Move all platforms to internal_getpid. | Peter Collingbourne | 2013-05-17 | 7 | -13/+15 | |
| | | | | | | | | | | Before, we had an unused internal_getpid function for Linux, and a platform-independent GetPid function. To make the naming conventions consistent for syscall-like functions, the GetPid syscall wrapper in sanitizer_posix.cc is moved to sanitizer_mac.cc, and GetPid is renamed to internal_getpid, bringing the Linux variant into use. llvm-svn: 182132 | |||||
* | [nolibc] Begin moving sanitizer_common's libc-dependent code to a separate ↵ | Peter Collingbourne | 2013-05-17 | 1 | -0/+1 | |
| | | | | | | | | | | | | | | | | library Introduce a new object library, RTSanitizerCommonLibc, which will contain the subset of sanitizer_common with libc dependencies. RTSanitizerCommon contains the remainder of sanitizer_common, and is intended to have no libc dependencies. Begin moving code to RTSanitizerCommonLibc, starting with sanitizer_common.cc, whose libc-dependent portion is moved to sanitizer_common_libcdep.cc, the first member of the new library. This split affects the CMake build only. The makefile build continues to produce the full sanitizer_common library. llvm-svn: 182118 | |||||
* | tsan: remove "printing report from signal handler. Can crash or hang" output | Dmitry Vyukov | 2013-05-17 | 1 | -4/+0 | |
| | | | | | | | it was added to debug mysterious hangs, but it does not seem to happen anymore now it only clutter up output llvm-svn: 182089 | |||||
* | tsan: introduce recursive mutex lock/unlock java interface | Dmitry Vyukov | 2013-05-17 | 7 | -10/+151 | |
| | | | | | | this is required to handle Object.Wait() llvm-svn: 182088 | |||||
* | Add sanitizer syscall hooks to the tool's export lists. | Evgeniy Stepanov | 2013-05-14 | 1 | -1/+5 | |
| | | | | llvm-svn: 181790 | |||||
* | [nolibc] Change internal syscall API to remove reliance on libc's errno. | Peter Collingbourne | 2013-05-08 | 3 | -9/+13 | |
| | | | | | | | | | | | | | This change moves to a model where the error value of a system call is potentially contained in the return value itself rather than being implicit in errno. The helper function internal_iserror can be used to extract the error value from a return value. On platforms other than Linux/x86_64 this still uses errno, but other platforms are free to port their error handling to this new model. Differential Revision: http://llvm-reviews.chandlerc.com/D756 llvm-svn: 181436 | |||||
* | [sanitizer] Move GetThreadStackAndTls from TSan to sanitizer_common. | Sergey Matveev | 2013-05-07 | 6 | -114/+0 | |
| | | | | | | | | Move this function to sanitizer_common because LSan uses it too. Also, fix a bug where the TLS range reported for main thread was off by the size of the thread descriptor from libc (TSan doesn't care much, but for LSan it's critical). llvm-svn: 181322 | |||||
* | tsan: comment out debug output in test | Dmitry Vyukov | 2013-04-30 | 1 | -5/+3 | |
| | | | | llvm-svn: 180787 | |||||
* | tsan: fix deadlock detector table (OK to lock sync var mutex during reporting) | Dmitry Vyukov | 2013-04-30 | 2 | -2/+41 | |
| | | | | llvm-svn: 180782 | |||||
* | tsan: reverse stack trace for failed CHECK's, this is how we print traces in ↵ | Dmitry Vyukov | 2013-04-30 | 1 | -0/+5 | |
| | | | | | | other places llvm-svn: 180781 | |||||
* | tsan: add interface functions for unaligned access, e.g. ↵ | Dmitry Vyukov | 2013-04-30 | 7 | -2/+303 | |
| | | | | | | __sanitizer_unaligned_load16 llvm-svn: 180780 | |||||
* | tsan: add a test that used to crash, fixed by r180180. | Dmitry Vyukov | 2013-04-25 | 1 | -0/+24 | |
| | | | | llvm-svn: 180251 | |||||
* | tsan: fix stack traces for malloc and free | Dmitry Vyukov | 2013-04-24 | 2 | -0/+29 | |
| | | | | llvm-svn: 180184 | |||||
* | tsan: run tests sequentially otherwise cmake says: | Dmitry Vyukov | 2013-04-24 | 1 | -2/+3 | |
| | | | | | | make[3]: make[3]: /bin/sh: ../../../../../bin/clang: Text file busy llvm-svn: 180183 | |||||
* | tsan: disable getpwuid_r() and glob64() interceptors under tsan, because ↵ | Dmitry Vyukov | 2013-04-24 | 1 | -1/+8 | |
| | | | | | | they cause interceptor recursion if user intercepts fopen() llvm-svn: 180182 | |||||
* | tsan: fix crash when data race happens on out-of-bounds accesses. | Dmitry Vyukov | 2013-04-24 | 3 | -4/+9 | |
| | | | | llvm-svn: 180180 | |||||
* | tsan: support heap starting at 0x04c0 (used in some custom deplyments) | Dmitry Vyukov | 2013-04-23 | 1 | -2/+2 | |
| | | | | llvm-svn: 180116 | |||||
* | tsan: update Go memory mapping, Go now uses 0x00c0 heap base | Dmitry Vyukov | 2013-04-23 | 1 | -6/+6 | |
| | | | | llvm-svn: 180113 | |||||
* | [sanitizer] Intercept inet_pton and inet_ntop. | Evgeniy Stepanov | 2013-04-23 | 2 | -0/+4 | |
| | | | | llvm-svn: 180107 | |||||
* | [sanitizer] Intercept getgrnam{_r}, getgrgid{_r}. | Evgeniy Stepanov | 2013-04-23 | 2 | -0/+8 | |
| | | | | llvm-svn: 180091 | |||||
* | [TSan] Allocate fd table in user heap instead of using internal allocator. ↵ | Alexey Samsonov | 2013-04-19 | 1 | -2/+3 | |
| | | | | | | We need this to catch races on fds. llvm-svn: 179841 | |||||
* | [sanitizer] Add syscall handlers to ASan and TSan runtimes. | Evgeniy Stepanov | 2013-04-12 | 1 | -0/+7 | |
| | | | | | | ASan checks addressability of syscall arguments. TSan does nothing for now. llvm-svn: 179380 | |||||
* | [TSan] remove -fPIE -pie from TSan lit tests to check that -fsanitize=thread ↵ | Alexey Samsonov | 2013-04-12 | 1 | -2/+0 | |
| | | | | | | implies them now llvm-svn: 179365 | |||||
* | Explicitly list all sanitizer headers in CMake build rules. Make sure ↵ | Alexey Samsonov | 2013-04-11 | 1 | -3/+2 | |
| | | | | | | sanitizer lit_tests depend on fresh headers. llvm-svn: 179293 | |||||
* | [sanitizer] Interceptors for wait*. | Evgeniy Stepanov | 2013-04-09 | 2 | -0/+10 | |
| | | | | llvm-svn: 179096 | |||||
* | [msan] Intercept glob() with tests. | Evgeniy Stepanov | 2013-04-09 | 2 | -0/+4 | |
| | | | | llvm-svn: 179091 | |||||
* | [Sanitizer] fix TSan tests: remove global ctor from sanitizer_common, run ↵ | Alexey Samsonov | 2013-04-09 | 2 | -2/+7 | |
| | | | | | | load_shared_lib test only in lit llvm-svn: 179090 | |||||
* | [asan] relax Linux/zero-base-shadow.cc to make it pass on newer Ubuntu; fix lint | Kostya Serebryany | 2013-04-09 | 1 | -2/+2 | |
| | | | | llvm-svn: 179088 | |||||
* | Revert r179012: "[msan] Intercept glob()." | Chandler Carruth | 2013-04-08 | 2 | -4/+0 | |
| | | | | | | | This was committed without tests and contains obvious bugs. That's not acceptable. It broke address sanitizer for most programs using glob(3). llvm-svn: 179054 | |||||
* | [libsymbolized] If we can't find an address in the list of shared libraries, ↵ | Alexander Potapenko | 2013-04-08 | 3 | -0/+70 | |
| | | | | | | | | | | | try to reload it. Add a regression test for the case where such behavior helps TSan: 1. race is reported in the main module 2. new shared library is loaded 3. race is reported in the shared library llvm-svn: 179032 | |||||
* | [msan] Intercept glob(). | Evgeniy Stepanov | 2013-04-08 | 2 | -0/+4 | |
| | | | | llvm-svn: 179012 | |||||
* | [tsan] Fix build. | Evgeniy Stepanov | 2013-04-08 | 2 | -0/+2 | |
| | | | | llvm-svn: 179008 | |||||
* | [Sanitizer] Use a common mutex to prevent mixing reports from different ↵ | Alexey Samsonov | 2013-04-05 | 2 | -0/+5 | |
| | | | | | | sanitizers. This fixes PR15516 llvm-svn: 178853 | |||||
* | [TSan] Make path to FileCheck configurable | Alexey Samsonov | 2013-04-04 | 1 | -1/+2 | |
| | | | | llvm-svn: 178760 | |||||
* | [TSan] Add the WTFAnnotateBenignRaceSized implementation and a test for | Alexander Potapenko | 2013-04-02 | 2 | -0/+43 | |
| | | | | | | WTFAnnotateBenignRaceSized and AnnotateBenignRaceSized. llvm-svn: 178534 | |||||
* | [sanitizer] More interceptors. | Evgeniy Stepanov | 2013-04-01 | 2 | -0/+18 | |
| | | | | | | | getpwnam, getpwuid, getpwnam_r, getpwuid_r, clock_getres, clock_gettime, clock_settime, getitimer, setitimer, sigaction (MSan). llvm-svn: 178465 | |||||
* | [tsan] restore performance critical inlining in tsan: remove static from ↵ | Kostya Serebryany | 2013-03-29 | 1 | -4/+4 | |
| | | | | | | ALWAYS_INLINE, use ALWAYS_INLINE USED for critical functions. llvm-svn: 178341 | |||||
* | [TSan] Build TSan runtime with -fPIE. | Alexander Potapenko | 2013-03-29 | 1 | -0/+3 | |
| | | | | | | This removes all register spills from the performance-critical __tsan_{read,write}{1,2,4,8} functions when the host compiler is GCC. llvm-svn: 178340 | |||||
* | Band-aid fix for the TSan RTL build | Timur Iskhodzhanov | 2013-03-28 | 1 | -7/+7 | |
| | | | | llvm-svn: 178298 | |||||
* | Remove all 'static' before ALWAYS_INLINE | Timur Iskhodzhanov | 2013-03-28 | 1 | -1/+1 | |
| | | | | llvm-svn: 178290 | |||||
* | Make all the ALWAYS_INLINE users Windows-friendly; also, avoid ALWAYS_INLINE ↵ | Timur Iskhodzhanov | 2013-03-28 | 2 | -9/+9 | |
| | | | | | | INLINE combinations llvm-svn: 178266 | |||||
* | tsan: print statistics about benign race annotations | Dmitry Vyukov | 2013-03-28 | 5 | -10/+78 | |
| | | | | | | | (total count, unique, matched) if requested with print_benign=1 flag. llvm-svn: 178245 | |||||
* | [tsan] a test checking that memset/memcpy/memmove are not inlined in tsan mode | Kostya Serebryany | 2013-03-28 | 1 | -8/+36 | |
| | | | | llvm-svn: 178231 | |||||
* | [tsan] don't use -fno-builtin for tests; add a test for a false negative bug ↵ | Kostya Serebryany | 2013-03-28 | 3 | -2/+28 | |
| | | | | | | (inlined memcpy is not instrumented) llvm-svn: 178228 | |||||
* | tsan: print matched suppressions if print_suppressions=1 flag is provided | Dmitry Vyukov | 2013-03-27 | 8 | -11/+55 | |
| | | | | llvm-svn: 178159 | |||||
* | [TSan] Fixup for r178128: verify that TSan indeed doesn't report race | Alexey Samsonov | 2013-03-27 | 1 | -0/+2 | |
| | | | | llvm-svn: 178129 | |||||
* | [TSan] Run test output through FileCheck | Alexey Samsonov | 2013-03-27 | 1 | -1/+3 | |
| | | | | llvm-svn: 178128 | |||||
* | [tsan] make memcpy_race.cc test immune to memcpy inlining | Kostya Serebryany | 2013-03-26 | 1 | -2/+4 | |
| | | | | llvm-svn: 178011 | |||||
* | asan/tsan: move strcasecmp() interceptor to sanitizer_common | Dmitry Vyukov | 2013-03-26 | 2 | -0/+4 | |
| | | | | llvm-svn: 178010 | |||||
* | [libsanitizer] Unmapping the old cache partially invalidates the memory ↵ | Alexander Potapenko | 2013-03-26 | 1 | -3/+3 | |
| | | | | | | | | | | layout, so add a flag to skip cache update for cases when that's unacceptable (e.g. lsan). Patch by Sergey Matveev (earthdok@google.com) llvm-svn: 178000 |