Age | Commit message (Collapse) | Author |
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@202120 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
could have had edges from locks in the previous epoch to locks in the current epoch)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@202118 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
than that, but that's a start.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201861 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
deadlock report.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201675 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201576 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
add a test and a comment
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201572 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
unregister them on destruction; added a relevant test
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201568 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201505 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
works yet except for a single tiny test). Also rename tsan's DeadlockDetector to InternalDeadlockDetector
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201407 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
This is intended to address the following problem.
Episodically we see CHECK-failures when recursive interceptors call back into user code. Effectively we are not "in_rtl" at this point, but it's very complicated and fragile to properly maintain in_rtl property. Instead get rid of it. It was used mostly for sanity CHECKs, which basically never uncover real problems.
Instead introduce ignore_interceptors flag, which is used in very few narrow places to disable recursive interceptors (e.g. during runtime initialization).
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@197979 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@194823 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Replace duplicate code snippet with function.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@192357 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
The annotations are AnnotateIgnoreSyncBegin/End,
may be useful to ignore some infrastructure synchronization
that introduces lots of false negatives.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@192355 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@191151 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
this is required to handle Object.Wait()
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182088 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@177154 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
(report_atomic_races=0),
still report races between atomic accesses and free().
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@174175 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@174163 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@172393 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
With this change reports say what mutexes the threads hold around the racy memory accesses.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@169493 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
helps to reduce tls size (it's weird to have multi-MB tls)
will help with dynamically adjustable trace size
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@168783 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@167530 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@167294 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
symbolize the reports)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@165317 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
reports)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@163400 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@163060 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@163016 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@163006 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162995 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162169 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
programs use that on a regular basis)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162024 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162022 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162021 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@162019 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
than combines two clocks
fix clock setup for finalizer goroutine (Go runtime)
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@160918 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
tool-specific wrappers TsanPrintf (its output is controlled by TSan flags) and AsanPrintf (which copies its results to the ASan-private buffer). Supported formats: %[z]{d,u,x}, %s, %p. Re-write all format strings in TSan according to this format (this should have no effect on 64-bit platforms).
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@158065 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
implementation.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@158058 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@157928 91177308-0d34-0410-b5e6-96231b3b80d8
|
|
Algorithm description: http://code.google.com/p/thread-sanitizer/wiki/ThreadSanitizerAlgorithm
Status:
The tool is known to work on large real-life applications, but still has quite a few rough edges.
Nothing is guaranteed yet.
The tool works on x86_64 Linux.
Support for 64-bit MacOS 10.7+ is planned for late 2012.
Support for 32-bit OSes is doable, but problematic and not yet planed.
Further commits coming:
- tests
- makefiles
- documentation
- clang driver patch
The code was previously developed at http://code.google.com/p/data-race-test/source/browse/trunk/v2/
by Dmitry Vyukov and Kostya Serebryany with contributions from
Timur Iskhodzhanov, Alexander Potapenko, Alexey Samsonov and Evgeniy Stepanov.
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@156542 91177308-0d34-0410-b5e6-96231b3b80d8
|