summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/tsan/rtl
Commit message (Collapse)AuthorAgeFilesLines
...
* tsan: use read lock instead of write in atomic operations when possibleDmitry Vyukov2014-03-241-3/+8
| | | | llvm-svn: 204654
* [sanitizer] print threads in deadlock reportKostya Serebryany2014-03-215-5/+29
| | | | llvm-svn: 204461
* [sanitizer] more human-readable deadlock reportsKostya Serebryany2014-03-212-12/+32
| | | | llvm-svn: 204454
* [libsanitizer] Introduce flag descriptions.Alexander Potapenko2014-03-201-26/+28
| | | | | | | | | Extend ParseFlag to accept the |description| parameter, add dummy values for all existing flags. As the flags are parsed their descriptions are stored in a global linked list. The tool can later call __sanitizer::PrintFlagDescriptions() to dump all the flag names and their descriptions. Add the 'help' flag and make ASan, TSan and MSan print the flags if 'help' is set to 1. llvm-svn: 204339
* tsan: remove unused function declarationsDmitry Vyukov2014-03-201-3/+0
| | | | llvm-svn: 204328
* tsan: deobfuscate global ctx variableDmitry Vyukov2014-03-2012-72/+33
| | | | llvm-svn: 204327
* tsan: use stack depot for goroutine creation stacks (as C++ threads do)Dmitry Vyukov2014-03-204-20/+6
| | | | llvm-svn: 204326
* tsan: remove unused declarationDmitry Vyukov2014-03-201-2/+0
| | | | llvm-svn: 204324
* tsan: add test for second_deadlock_stack flagDmitry Vyukov2014-03-192-2/+2
| | | | llvm-svn: 204240
* tsan: preliminary support for Go deadlock detectorDmitry Vyukov2014-03-193-13/+20
| | | | llvm-svn: 204228
* [sanitizer] deadlock detector: a) initial support for suppressions, b) be ↵Kostya Serebryany2014-03-192-4/+14
| | | | | | more robust in case we failed to extract a stack trace for one of the locks llvm-svn: 204225
* tsan: deadlock detector: add deadlock detector flagsDmitry Vyukov2014-03-183-2/+9
| | | | | | the first flags is to enable printing of the second stack per edge llvm-svn: 204150
* [sanitizer] a bit more informative deadlock detector report (still lots to ↵Kostya Serebryany2014-03-181-8/+16
| | | | | | improve) llvm-svn: 204115
* [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
* [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
* tsan: add interceptors for fopen64, freopen64, tmpfile, tmpfile64Dmitry Vyukov2014-03-121-0/+55
| | | | llvm-svn: 203647
* [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: implement new version of standalong deadlock detectorDmitry Vyukov2014-03-052-31/+79
| | | | | | | 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: move all pthread_cond interceptors into sanitizer_commonDmitry Vyukov2014-03-041-20/+0
| | | | llvm-svn: 202813
* tsan: refactor deadlock detectorDmitry Vyukov2014-02-287-93/+97
| | | | | | | | 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
* [tsan] when printing a mutex, also print its address. Properly print the ↵Kostya Serebryany2014-02-194-9/+30
| | | | | | deadlock report. llvm-svn: 201675
* [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
* [sanitizer] simplify DeadlockDetectorTLSKostya Serebryany2014-02-172-2/+4
| | | | llvm-svn: 201505
* [tsan] rudimentary support for deadlock detector in tsan (nothing really ↵Kostya Serebryany2014-02-146-10/+47
| | | | | | works yet except for a single tiny test). Also rename tsan's DeadlockDetector to InternalDeadlockDetector llvm-svn: 201407
* [sanitizer] Use mmap to zero-fill large shadow regions.Evgeniy Stepanov2014-02-141-1/+1
| | | | | | | | | | This is covered by existing ASan test. This does not change anything for TSan by default (but provides a flag to change the threshold size). Based on a patch by florent.bruneau here:   https://code.google.com/p/address-sanitizer/issues/detail?id=256 llvm-svn: 201400
* [TSan] Kill tsan_symbolize_addr2line_linux.ccAlexey Samsonov2014-02-123-202/+0
| | | | llvm-svn: 201219
* [Sanitizer] Teach external symbolizer to work with addr2line if ↵Alexey Samsonov2014-02-121-0/+2
| | | | | | llvm-symbolizer is unavailable. Allow this mode in TSan. llvm-svn: 201218
* [sanitizer] Use system unwinder in signal handlers on Android.Evgeniy Stepanov2014-02-111-2/+2
| | | | | | | | | | Because of the way Bionic sets up signal stack frames, libc unwinder is unable to step through it, resulting in broken SEGV stack traces. Luckily, libcorkscrew.so on Android implements an unwinder that can start with a signal context, thus sidestepping the issue. llvm-svn: 201151
OpenPOWER on IntegriCloud