Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | [sanitizer] make the deadlock detector print 2*N stack traces on ↵ | Kostya Serebryany | 2014-03-17 | 1 | -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 build | Kostya Serebryany | 2014-03-17 | 1 | -0/+2 | |
| | | | | llvm-svn: 204037 | |||||
* | [sanitizer] fix build warnings; add an output test for the deadlock detecor | Kostya Serebryany | 2014-03-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 204035 | |||||
* | [sanitizer] print more stack traces when reporting a deadlock (even more to ↵ | Kostya Serebryany | 2014-03-17 | 1 | -0/+9 | |
| | | | | | | come) llvm-svn: 204034 | |||||
* | tsan: yet another attempt to fix pthread_cond interceptors | Dmitry Vyukov | 2014-03-17 | 1 | -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 Serebryany | 2014-03-13 | 1 | -2/+4 | |
| | | | | | | onLockBefore and onLockAfter hooks llvm-svn: 203796 | |||||
* | [TSan] Hide message about re-execing under verbosity flag | Alexey Samsonov | 2014-03-13 | 1 | -4/+4 | |
| | | | | llvm-svn: 203793 | |||||
* | [CMake] Make append_if semantics similar to those used in LLVM | Alexey Samsonov | 2014-03-13 | 1 | -3/+3 | |
| | | | | llvm-svn: 203773 | |||||
* | tsan: add interceptors for fopen64, freopen64, tmpfile, tmpfile64 | Dmitry Vyukov | 2014-03-12 | 1 | -0/+55 | |
| | | | | llvm-svn: 203647 | |||||
* | Remove sanitizer_linux_libcdep.cc from TSan-Go build | Alexey Samsonov | 2014-03-07 | 1 | -1/+0 | |
| | | | | llvm-svn: 203238 | |||||
* | tsan: update Go windows build script | Dmitry Vyukov | 2014-03-06 | 1 | -1/+1 | |
| | | | | llvm-svn: 203121 | |||||
* | [sanitizer] Simplify interceptors with user callbacks. | Evgeniy Stepanov | 2014-03-06 | 1 | -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 Go | Dmitry Vyukov | 2014-03-06 | 2 | -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 flags | Dmitry Vyukov | 2014-03-06 | 1 | -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 reports | Dmitry Vyukov | 2014-03-06 | 1 | -1/+1 | |
| | | | | llvm-svn: 203109 | |||||
* | tsan: fix deadlock detector build for SANITIZER_DEADLOCK_DETECTOR_VERSION=2 | Dmitry Vyukov | 2014-03-05 | 1 | -4/+0 | |
| | | | | llvm-svn: 202977 | |||||
* | tsan: implement new version of standalong deadlock detector | Dmitry Vyukov | 2014-03-05 | 6 | -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/memrchr | Alexey Samsonov | 2014-03-05 | 1 | -16/+0 | |
| | | | | llvm-svn: 202972 | |||||
* | tsan: add interceptors for pthread_spinlock_t and ptread_rwlock_t for ↵ | Dmitry Vyukov | 2014-03-05 | 1 | -7/+102 | |
| | | | | | | deadlock detector llvm-svn: 202947 | |||||
* | tsan: add dynamic library target for standalone deadlock detector | Dmitry Vyukov | 2014-03-04 | 4 | -4/+31 | |
| | | | | | | it's LD_PRELOAD-able llvm-svn: 202843 | |||||
* | tsan: add concurrent hashmap for standalone deadlock detector | Dmitry Vyukov | 2014-03-04 | 2 | -54/+30 | |
| | | | | llvm-svn: 202826 | |||||
* | tsan: move all pthread_cond interceptors into sanitizer_common | Dmitry Vyukov | 2014-03-04 | 1 | -20/+0 | |
| | | | | llvm-svn: 202813 | |||||
* | tsan: replace deadlock detector custom build script with cmake file | Dmitry Vyukov | 2014-03-03 | 2 | -45/+37 | |
| | | | | llvm-svn: 202708 | |||||
* | tsan: remove autogenerated file | Dmitry Vyukov | 2014-03-03 | 1 | -5877/+0 | |
| | | | | llvm-svn: 202704 | |||||
* | tsan: add standalone deadlock detector | Dmitry Vyukov | 2014-02-28 | 5 | -0/+6168 | |
| | | | | llvm-svn: 202505 | |||||
* | tsan: refactor deadlock detector | Dmitry Vyukov | 2014-02-28 | 8 | -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 Serebryany | 2014-02-27 | 1 | -2/+0 | |
| | | | | | | with Unlock (it is essentially a thread-local operation) llvm-svn: 202401 | |||||
* | tsan: intercept vfork | Dmitry Vyukov | 2014-02-27 | 1 | -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 detector | Dmitry Vyukov | 2014-02-27 | 3 | -3/+4 | |
| | | | | | | we must go deeper! llvm-svn: 202365 | |||||
* | Reapply r201910. MSVC gets __func__ defined explicitly, even though it | Joerg Sonnenberger | 2014-02-26 | 2 | -2/+2 | |
| | | | | | | can't build anything here. llvm-svn: 202297 | |||||
* | [sanitizer] minimal support for recursive locks indeadlock detector | Kostya Serebryany | 2014-02-25 | 1 | -6/+6 | |
| | | | | llvm-svn: 202153 | |||||
* | [sanitizer] support pthread_rwlock_rd* in deadlock detector | Kostya Serebryany | 2014-02-25 | 2 | -33/+37 | |
| | | | | llvm-svn: 202132 | |||||
* | [sanitizer] partially support pthread_rwlock_* (no rd* form yet) | Kostya Serebryany | 2014-02-25 | 2 | -9/+14 | |
| | | | | llvm-svn: 202128 | |||||
* | [sanitizer] add support for try_lock in deadlock detector | Kostya Serebryany | 2014-02-25 | 3 | -6/+10 | |
| | | | | llvm-svn: 202120 | |||||
* | [sanitizer] fix epoch handling in deadlock detector (before the fix, we ↵ | Kostya Serebryany | 2014-02-25 | 1 | -4/+5 | |
| | | | | | | could have had edges from locks in the previous epoch to locks in the current epoch) llvm-svn: 202118 | |||||
* | tsan: fix SIGRTMAX handling | Dmitry Vyukov | 2014-02-24 | 1 | -1/+5 | |
| | | | | llvm-svn: 202022 | |||||
* | AdjustStackSizeLinux() is used in Lsan, Tsan and Msan non-Linux-specific ↵ | Kostya Serebryany | 2014-02-24 | 1 | -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 warning | Dmitry Vyukov | 2014-02-24 | 1 | -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 Kleckner | 2014-02-22 | 2 | -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 Sonnenberger | 2014-02-21 | 2 | -2/+2 | |
| | | | | llvm-svn: 201910 | |||||
* | [tsan] add coarse-grained lock around the DeadlockDetector. We can do better ↵ | Kostya Serebryany | 2014-02-21 | 6 | -16/+28 | |
| | | | | | | than that, but that's a start. llvm-svn: 201861 | |||||
* | [CMake] break dependency between unit tests and runtimes in standalone build | Alexey Samsonov | 2014-02-20 | 2 | -2/+42 | |
| | | | | llvm-svn: 201778 | |||||
* | [tsan] when printing a mutex, also print its address. Properly print the ↵ | Kostya Serebryany | 2014-02-19 | 4 | -9/+30 | |
| | | | | | | deadlock report. llvm-svn: 201675 | |||||
* | [CMake] Introduce COMPILER_RT_INCLUDE_TESTS option | Alexey Samsonov | 2014-02-19 | 1 | -1/+1 | |
| | | | | llvm-svn: 201666 | |||||
* | [sanitizer] when reporting a deadlock also report the lock cycle | Kostya Serebryany | 2014-02-18 | 1 | -10/+24 | |
| | | | | llvm-svn: 201576 | |||||
* | [sanitizer] make sure the deadlock detector survives the change of epochs; ↵ | Kostya Serebryany | 2014-02-18 | 1 | -6/+5 | |
| | | | | | | add a test and a comment llvm-svn: 201572 | |||||
* | [tsan] in deadlock detector do not register locks on their creation and ↵ | Kostya Serebryany | 2014-02-18 | 1 | -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 Samsonov | 2014-02-18 | 1 | -0/+2 | |
| | | | | | | 'compiler-rt' target encompassing them all. llvm-svn: 201556 | |||||
* | [CMake] Check for -fPIE and -ffreestanding flags for consistency | Alexey Samsonov | 2014-02-18 | 1 | -3/+2 | |
| | | | | llvm-svn: 201549 | |||||
* | [CMake] Simplify setting compile flag disabling RTTI | Alexey Samsonov | 2014-02-18 | 1 | -2/+2 | |
| | | | | llvm-svn: 201547 |