llvm-project/compiler-rt
Dmitry Vyukov 8096a8c86f tsan: add new mutex annotations
There are several problems with the current annotations (AnnotateRWLockCreate and friends):
- they don't fully support deadlock detection (we need a hook _before_ mutex lock)
- they don't support insertion of random artificial delays to perturb execution (again we need a hook _before_ mutex lock)
- they don't support setting extended mutex attributes like read/write reentrancy (only "linker init" was bolted on)
- they don't support setting mutex attributes if a mutex don't have a "constructor" (e.g. static, Java, Go mutexes)
- they don't ignore synchronization inside of lock/unlock operations which leads to slowdown and false negatives
The new annotations solve of the above problems. See tsan_interface.h for the interface specification and comments.

Reviewed in https://reviews.llvm.org/D31093

llvm-svn: 298809
2017-03-26 15:27:04 +00:00
..
cmake [compiler-rt] build compiler-rt runtimes without LTO 2017-03-22 17:25:49 +00:00
docs [sanitizers] Make it possible to XFAIL on the effective target, not just the default. 2016-08-09 11:50:53 +00:00
include tsan: add new mutex annotations 2017-03-26 15:27:04 +00:00
lib tsan: add new mutex annotations 2017-03-26 15:27:04 +00:00
test tsan: add new mutex annotations 2017-03-26 15:27:04 +00:00
unittests [lit] Limit parallelism of sanitizer tests on Darwin [compiler-rt part, take 2] 2017-01-20 00:25:01 +00:00
www Update references to new lists.llvm.org mailing lists. 2015-08-05 03:58:00 +00:00
.arcconfig Upgrade all the .arcconfigs to https. 2016-07-14 13:15:37 +00:00
.gitignore
CMakeLists.txt Fix sanitizer tests with LLVM_TOOL_LLD_BUILD=OFF. 2017-03-25 00:42:25 +00:00
CODE_OWNERS.TXT [sanitizers] remove earthdok@ from owners 2016-05-18 18:52:18 +00:00
CREDITS.TXT
LICENSE.TXT Update copyright year to 2016. 2016-03-30 22:38:50 +00:00
README.txt

README.txt

Compiler-RT
================================

This directory and its subdirectories contain source code for the compiler
support routines.

Compiler-RT is open source software. You may freely distribute it under the
terms of the license agreement found in LICENSE.txt.

================================