summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/tsan
Commit message (Collapse)AuthorAgeFilesLines
...
* [nolibc] Move all platforms to internal_getpid.Peter Collingbourne2013-05-177-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 Collingbourne2013-05-171-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" outputDmitry Vyukov2013-05-171-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 interfaceDmitry Vyukov2013-05-177-10/+151
| | | | | | this is required to handle Object.Wait() llvm-svn: 182088
* Add sanitizer syscall hooks to the tool's export lists.Evgeniy Stepanov2013-05-141-1/+5
| | | | llvm-svn: 181790
* [nolibc] Change internal syscall API to remove reliance on libc's errno.Peter Collingbourne2013-05-083-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 Matveev2013-05-076-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 testDmitry Vyukov2013-04-301-5/+3
| | | | llvm-svn: 180787
* tsan: fix deadlock detector table (OK to lock sync var mutex during reporting)Dmitry Vyukov2013-04-302-2/+41
| | | | llvm-svn: 180782
* tsan: reverse stack trace for failed CHECK's, this is how we print traces in ↵Dmitry Vyukov2013-04-301-0/+5
| | | | | | other places llvm-svn: 180781
* tsan: add interface functions for unaligned access, e.g. ↵Dmitry Vyukov2013-04-307-2/+303
| | | | | | __sanitizer_unaligned_load16 llvm-svn: 180780
* tsan: add a test that used to crash, fixed by r180180.Dmitry Vyukov2013-04-251-0/+24
| | | | llvm-svn: 180251
* tsan: fix stack traces for malloc and freeDmitry Vyukov2013-04-242-0/+29
| | | | llvm-svn: 180184
* tsan: run tests sequentially otherwise cmake says:Dmitry Vyukov2013-04-241-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 Vyukov2013-04-241-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 Vyukov2013-04-243-4/+9
| | | | llvm-svn: 180180
* tsan: support heap starting at 0x04c0 (used in some custom deplyments)Dmitry Vyukov2013-04-231-2/+2
| | | | llvm-svn: 180116
* tsan: update Go memory mapping, Go now uses 0x00c0 heap baseDmitry Vyukov2013-04-231-6/+6
| | | | llvm-svn: 180113
* [sanitizer] Intercept inet_pton and inet_ntop.Evgeniy Stepanov2013-04-232-0/+4
| | | | llvm-svn: 180107
* [sanitizer] Intercept getgrnam{_r}, getgrgid{_r}.Evgeniy Stepanov2013-04-232-0/+8
| | | | llvm-svn: 180091
* [TSan] Allocate fd table in user heap instead of using internal allocator. ↵Alexey Samsonov2013-04-191-2/+3
| | | | | | We need this to catch races on fds. llvm-svn: 179841
* [sanitizer] Add syscall handlers to ASan and TSan runtimes.Evgeniy Stepanov2013-04-121-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 Samsonov2013-04-121-2/+0
| | | | | | implies them now llvm-svn: 179365
* Explicitly list all sanitizer headers in CMake build rules. Make sure ↵Alexey Samsonov2013-04-111-3/+2
| | | | | | sanitizer lit_tests depend on fresh headers. llvm-svn: 179293
* [sanitizer] Interceptors for wait*.Evgeniy Stepanov2013-04-092-0/+10
| | | | llvm-svn: 179096
* [msan] Intercept glob() with tests.Evgeniy Stepanov2013-04-092-0/+4
| | | | llvm-svn: 179091
* [Sanitizer] fix TSan tests: remove global ctor from sanitizer_common, run ↵Alexey Samsonov2013-04-092-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 lintKostya Serebryany2013-04-091-2/+2
| | | | llvm-svn: 179088
* Revert r179012: "[msan] Intercept glob()."Chandler Carruth2013-04-082-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 Potapenko2013-04-083-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 Stepanov2013-04-082-0/+4
| | | | llvm-svn: 179012
* [tsan] Fix build.Evgeniy Stepanov2013-04-082-0/+2
| | | | llvm-svn: 179008
* [Sanitizer] Use a common mutex to prevent mixing reports from different ↵Alexey Samsonov2013-04-052-0/+5
| | | | | | sanitizers. This fixes PR15516 llvm-svn: 178853
* [TSan] Make path to FileCheck configurableAlexey Samsonov2013-04-041-1/+2
| | | | llvm-svn: 178760
* [TSan] Add the WTFAnnotateBenignRaceSized implementation and a test forAlexander Potapenko2013-04-022-0/+43
| | | | | | WTFAnnotateBenignRaceSized and AnnotateBenignRaceSized. llvm-svn: 178534
* [sanitizer] More interceptors.Evgeniy Stepanov2013-04-012-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 Serebryany2013-03-291-4/+4
| | | | | | ALWAYS_INLINE, use ALWAYS_INLINE USED for critical functions. llvm-svn: 178341
* [TSan] Build TSan runtime with -fPIE.Alexander Potapenko2013-03-291-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 buildTimur Iskhodzhanov2013-03-281-7/+7
| | | | llvm-svn: 178298
* Remove all 'static' before ALWAYS_INLINETimur Iskhodzhanov2013-03-281-1/+1
| | | | llvm-svn: 178290
* Make all the ALWAYS_INLINE users Windows-friendly; also, avoid ALWAYS_INLINE ↵Timur Iskhodzhanov2013-03-282-9/+9
| | | | | | INLINE combinations llvm-svn: 178266
* tsan: print statistics about benign race annotationsDmitry Vyukov2013-03-285-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 modeKostya Serebryany2013-03-281-8/+36
| | | | llvm-svn: 178231
* [tsan] don't use -fno-builtin for tests; add a test for a false negative bug ↵Kostya Serebryany2013-03-283-2/+28
| | | | | | (inlined memcpy is not instrumented) llvm-svn: 178228
* tsan: print matched suppressions if print_suppressions=1 flag is providedDmitry Vyukov2013-03-278-11/+55
| | | | llvm-svn: 178159
* [TSan] Fixup for r178128: verify that TSan indeed doesn't report raceAlexey Samsonov2013-03-271-0/+2
| | | | llvm-svn: 178129
* [TSan] Run test output through FileCheckAlexey Samsonov2013-03-271-1/+3
| | | | llvm-svn: 178128
* [tsan] make memcpy_race.cc test immune to memcpy inliningKostya Serebryany2013-03-261-2/+4
| | | | llvm-svn: 178011
* asan/tsan: move strcasecmp() interceptor to sanitizer_commonDmitry Vyukov2013-03-262-0/+4
| | | | llvm-svn: 178010
* [libsanitizer] Unmapping the old cache partially invalidates the memory ↵Alexander Potapenko2013-03-261-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
OpenPOWER on IntegriCloud