llvm-project/compiler-rt/include/sanitizer
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
..
allocator_interface.h [sanitizers] introduce yet another API function: __sanitizer_install_malloc_and_free_hooks 2016-06-16 20:06:06 +00:00
asan_interface.h [Sanitizers] Unify the semantics and usage of "exitcode" runtime flag across all sanitizers. 2015-08-21 20:49:37 +00:00
common_interface_defs.h [asan] add one more argument to __sanitizer_print_memory_profile, remove a redundant weak definition. 2017-03-15 23:27:14 +00:00
coverage_interface.h [sancov] __sanitizer_dump_coverage api 2016-12-12 23:45:38 +00:00
dfsan_interface.h [sanitizer] add a weak hook for strncmp interceptor, both to dfsan and other sanitizers. Hide the declaration and the calls in better macros 2015-07-30 02:32:51 +00:00
esan_interface.h [esan|wset] Fix flaky sampling tests 2016-07-19 05:06:48 +00:00
linux_syscall_hooks.h [sanitizer] Add syscall handlers for sigaction and rt_sigaction. 2016-06-24 23:09:44 +00:00
lsan_interface.h [Sanitizers] Unify the semantics and usage of "exitcode" runtime flag across all sanitizers. 2015-08-21 20:49:37 +00:00
msan_interface.h [msan] Add __msan_copy_shadow interface function. 2015-10-12 23:20:24 +00:00
tsan_interface.h tsan: add new mutex annotations 2017-03-26 15:27:04 +00:00
tsan_interface_atomic.h [TSan] Move declarations of __tsan_atomic functions to a public header 2013-12-11 08:18:50 +00:00