summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/tsan
Commit message (Collapse)AuthorAgeFilesLines
...
* [sanitizer] make the deadlock detector print 2*N stack traces on ↵Kostya Serebryany2014-03-171-8/+8
| | | | | | lock-order-inversion with N locks (i.e. print stack traces for both lock acquisitions in every edge in the graph). More improvements to follow llvm-svn: 204042
* [tsan] fox the GO buildKostya Serebryany2014-03-171-0/+2
| | | | llvm-svn: 204037
* [sanitizer] fix build warnings; add an output test for the deadlock detecorKostya Serebryany2014-03-171-1/+1
| | | | llvm-svn: 204035
* [sanitizer] print more stack traces when reporting a deadlock (even more to ↵Kostya Serebryany2014-03-171-0/+9
| | | | | | come) llvm-svn: 204034
* tsan: yet another attempt to fix pthread_cond interceptorsDmitry Vyukov2014-03-171-0/+4
| | | | | | | | | | | Make behavior introduced in r202820 conditional (under legacy_pthread_cond flag). The new issue that we've hit with the satellite pthread_cond_t struct is that pthread_condattr_getpshared does not work (satellite data is not shared between processes). The idea is that most processes do not use pthread 2.2.5. The rare ones that use (2.2.5 is dated by 2002) must specify legacy_pthread_cond=1 on their own risk. llvm-svn: 204032
* [sanitizer] in bitvector-based deadlock detector split onLock into ↵Kostya Serebryany2014-03-131-2/+4
| | | | | | onLockBefore and onLockAfter hooks llvm-svn: 203796
* [TSan] Hide message about re-execing under verbosity flagAlexey Samsonov2014-03-131-4/+4
| | | | llvm-svn: 203793
* [CMake] Make append_if semantics similar to those used in LLVMAlexey Samsonov2014-03-131-3/+3
| | | | llvm-svn: 203773
* tsan: add interceptors for fopen64, freopen64, tmpfile, tmpfile64Dmitry Vyukov2014-03-121-0/+55
| | | | llvm-svn: 203647
* Remove sanitizer_linux_libcdep.cc from TSan-Go buildAlexey Samsonov2014-03-071-1/+0
| | | | llvm-svn: 203238
* tsan: update Go windows build script Dmitry Vyukov2014-03-061-1/+1
| | | | llvm-svn: 203121
* [sanitizer] Simplify interceptors with user callbacks.Evgeniy Stepanov2014-03-061-3/+0
| | | | | | | Get rid of the context argument in UNPOISON_PARAM and INITIALIZE_RANGE. Get rid of all the thread-local contexts in interceptors. llvm-svn: 203119
* tsan: update interface for GoDmitry Vyukov2014-03-062-5/+8
| | | | | | | this is required to fix: https://code.google.com/p/go/issues/detail?id=7460 llvm-svn: 203116
* tsan: add -ftls-model=initial-exec to deadlock detector flagsDmitry Vyukov2014-03-061-0/+1
| | | | | | one way or another it must present in the process from the beginning llvm-svn: 203111
* tsan: better error message wording in deadlock reportsDmitry Vyukov2014-03-061-1/+1
| | | | llvm-svn: 203109
* tsan: fix deadlock detector build for SANITIZER_DEADLOCK_DETECTOR_VERSION=2Dmitry Vyukov2014-03-051-4/+0
| | | | llvm-svn: 202977
* tsan: implement new version of standalong deadlock detectorDmitry Vyukov2014-03-056-86/+257
| | | | | | | intercept pthread_cond (it is required to properly track state of mutexes) detect cycles in mutex graph llvm-svn: 202975
* Add common interceptors for memchr/memrchrAlexey Samsonov2014-03-051-16/+0
| | | | llvm-svn: 202972
* tsan: add interceptors for pthread_spinlock_t and ptread_rwlock_t for ↵Dmitry Vyukov2014-03-051-7/+102
| | | | | | deadlock detector llvm-svn: 202947
* tsan: add dynamic library target for standalone deadlock detectorDmitry Vyukov2014-03-044-4/+31
| | | | | | it's LD_PRELOAD-able llvm-svn: 202843
* tsan: add concurrent hashmap for standalone deadlock detectorDmitry Vyukov2014-03-042-54/+30
| | | | llvm-svn: 202826
* tsan: move all pthread_cond interceptors into sanitizer_commonDmitry Vyukov2014-03-041-20/+0
| | | | llvm-svn: 202813
* tsan: replace deadlock detector custom build script with cmake fileDmitry Vyukov2014-03-032-45/+37
| | | | llvm-svn: 202708
* tsan: remove autogenerated file Dmitry Vyukov2014-03-031-5877/+0
| | | | llvm-svn: 202704
* tsan: add standalone deadlock detectorDmitry Vyukov2014-02-285-0/+6168
| | | | llvm-svn: 202505
* tsan: refactor deadlock detectorDmitry Vyukov2014-02-288-93/+98
| | | | | | | | Introduce DDetector interface between the tool and the DD itself. It will help to experiment with other DD implementation, as well as reuse DD in other tools. llvm-svn: 202485
* [sanitizer] do not acquire a global mutex in deadlock detector when dealing ↵Kostya Serebryany2014-02-271-2/+0
| | | | | | with Unlock (it is essentially a thread-local operation) llvm-svn: 202401
* tsan: intercept vforkDmitry Vyukov2014-02-271-0/+18
| | | | | | | this fixes obscure false positives see the comments and the test for details llvm-svn: 202400
* tsan: fix internal deadlock detector for external deadlock detectorDmitry Vyukov2014-02-273-3/+4
| | | | | | we must go deeper! llvm-svn: 202365
* Reapply r201910. MSVC gets __func__ defined explicitly, even though itJoerg Sonnenberger2014-02-262-2/+2
| | | | | | can't build anything here. llvm-svn: 202297
* [sanitizer] minimal support for recursive locks indeadlock detectorKostya Serebryany2014-02-251-6/+6
| | | | llvm-svn: 202153
* [sanitizer] support pthread_rwlock_rd* in deadlock detectorKostya Serebryany2014-02-252-33/+37
| | | | llvm-svn: 202132
* [sanitizer] partially support pthread_rwlock_* (no rd* form yet)Kostya Serebryany2014-02-252-9/+14
| | | | llvm-svn: 202128
* [sanitizer] add support for try_lock in deadlock detectorKostya Serebryany2014-02-253-6/+10
| | | | llvm-svn: 202120
* [sanitizer] fix epoch handling in deadlock detector (before the fix, we ↵Kostya Serebryany2014-02-251-4/+5
| | | | | | could have had edges from locks in the previous epoch to locks in the current epoch) llvm-svn: 202118
* tsan: fix SIGRTMAX handlingDmitry Vyukov2014-02-241-1/+5
| | | | llvm-svn: 202022
* AdjustStackSizeLinux() is used in Lsan, Tsan and Msan non-Linux-specific ↵Kostya Serebryany2014-02-241-1/+1
| | | | | | | | | code so it seems it should have more generic name and moved to a common scope. Renamed to AdjustStackSize. Patch by Viktor Kutuzov. llvm-svn: 202011
* tsan: fix compiler warningDmitry Vyukov2014-02-241-1/+1
| | | | | | error: address of array 'tctx->name' will always evaluate to 'true' llvm-svn: 202008
* Revert "Replace __FUNCTION__ with __func__, the latter being standard ↵Reid Kleckner2014-02-222-2/+2
| | | | | | | | | | | | C99/C++11." This reverts commit r201910. While __func__ may be standard in C++11, it was only recently added to MSVC in 2013 CTP, and LLVM supports MSVC 2012. __FUNCTION__ may not be standard, but it's *very* portable. llvm-svn: 201916
* Replace __FUNCTION__ with __func__, the latter being standard C99/C++11.Joerg Sonnenberger2014-02-212-2/+2
| | | | llvm-svn: 201910
* [tsan] add coarse-grained lock around the DeadlockDetector. We can do better ↵Kostya Serebryany2014-02-216-16/+28
| | | | | | than that, but that's a start. llvm-svn: 201861
* [CMake] break dependency between unit tests and runtimes in standalone buildAlexey Samsonov2014-02-202-2/+42
| | | | llvm-svn: 201778
* [tsan] when printing a mutex, also print its address. Properly print the ↵Kostya Serebryany2014-02-194-9/+30
| | | | | | deadlock report. llvm-svn: 201675
* [CMake] Introduce COMPILER_RT_INCLUDE_TESTS optionAlexey Samsonov2014-02-191-1/+1
| | | | llvm-svn: 201666
* [sanitizer] when reporting a deadlock also report the lock cycleKostya Serebryany2014-02-181-10/+24
| | | | llvm-svn: 201576
* [sanitizer] make sure the deadlock detector survives the change of epochs; ↵Kostya Serebryany2014-02-181-6/+5
| | | | | | add a test and a comment llvm-svn: 201572
* [tsan] in deadlock detector do not register locks on their creation and ↵Kostya Serebryany2014-02-181-7/+4
| | | | | | unregister them on destruction; added a relevant test llvm-svn: 201568
* [CMake] Add top-level target for each compiler-rt library, and add ↵Alexey Samsonov2014-02-181-0/+2
| | | | | | 'compiler-rt' target encompassing them all. llvm-svn: 201556
* [CMake] Check for -fPIE and -ffreestanding flags for consistencyAlexey Samsonov2014-02-181-3/+2
| | | | llvm-svn: 201549
* [CMake] Simplify setting compile flag disabling RTTIAlexey Samsonov2014-02-181-2/+2
| | | | llvm-svn: 201547
OpenPOWER on IntegriCloud