llvm-project/compiler-rt/test/tsan/Darwin
Kuba Mracek aa78ad5fea [tsan] Provide API for libraries for race detection on custom objects
This patch allows a non-instrumented library to call into TSan runtime, and tell us about "readonly" and "modifying" accesses to an arbitrary "object" and provide the caller and tag (type of object).  This allows TSan to detect violations of API threading contracts where "read-only" methods can be called simulatenously from multiple threads, while modifying methods must be exclusive.

Differential Revision: https://reviews.llvm.org/D28836

llvm-svn: 293885
2017-02-02 13:17:05 +00:00
..
dispatch_main.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
dispatch_once_deadlock.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
dlopen.cc [sanitizer] On OS X, verify that interceptors work and abort if not, take 2 2016-03-17 08:37:25 +00:00
external.cc [tsan] Provide API for libraries for race detection on custom objects 2017-02-02 13:17:05 +00:00
gcd-after.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-apply-race.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-apply.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-async-norace.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-async-race.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-barrier-race.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-barrier.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-blocks.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-data.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-fd.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-groups-destructor.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-groups-leave.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-groups-norace.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-groups-stress.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-io-barrier-race.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-io-barrier.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-io-cleanup.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-io-race.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-io.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-once.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-semaphore-norace.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-serial-queue-norace.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-source-cancel.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-source-cancel2.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-source-event.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-source-event2.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-source-registration.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-source-registration2.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-source-serial.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-suspend.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-sync-norace.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-sync-race.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
gcd-target-queue-norace.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
ignore-noninstrumented.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
ignored-interceptors.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
libcxx-call-once.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
libcxx-future.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
libcxx-shared-ptr-recursive.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
libcxx-shared-ptr-stress.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
libcxx-shared-ptr.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
lit.local.cfg [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
main_tid.mm [tsan] Fix os_id of main thread 2017-01-26 19:20:30 +00:00
malloc-stack-logging.cc Follow-up for r264261, adding a comment explaining what the testcase does. 2016-03-24 13:20:38 +00:00
malloc_size.mm [tsan] Change some OS X tests to include system headers (xpc.h, mman.h) more explicitly. 2016-05-25 16:04:24 +00:00
norace-objcxx-run-time.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
objc-double-property.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
objc-race.mm [tsan] Fix Darwin tests (missing FileCheck's) 2016-04-07 11:31:02 +00:00
objc-simple.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
osatomics-add.mm test: Use %clangxx in objc++ test files 2016-07-09 21:14:36 +00:00
osatomics-bitops.mm [tsan] Fix the behavior of OSAtomicTestAndClear 2016-08-02 14:30:52 +00:00
osatomics-list.mm test: Use %clangxx in objc++ test files 2016-07-09 21:14:36 +00:00
osspinlock-norace.cc [tsan] Add interceptors for Darwin-specific locking APIs 2015-12-03 15:10:52 +00:00
realloc-zero.cc [tsan] Change nullptr to NULL in realloc-zero.cc test. Some environments don't have nullptr. 2016-11-07 22:26:13 +00:00
symbolizer-atos.cc [compiler-rt] Remove SANITIZER_AARCH64_VMA usage 2015-11-30 19:43:03 +00:00
symbolizer-dladdr.cc [compiler-rt] Remove SANITIZER_AARCH64_VMA usage 2015-11-30 19:43:03 +00:00
workerthreads.mm [tsan] Properly describe GCD worker threads in reports 2017-02-02 12:54:21 +00:00
xpc-race.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00
xpc.mm [tsan] Enable ignore_noninstrumented_modules=1 on Darwin by default 2017-01-24 21:37:50 +00:00