llvm-project/compiler-rt/lib/tsan/rtl
Dmitry Vyukov 1d9b5e6ece tsan: fix handling of condition variable destruction
POSIX states that "It shall be safe to destroy an initialized condition
variable upon which no threads are currently blocked", and later clarifies
"A condition variable can be destroyed immediately after all the threads
that are blocked on it are awakened) (in examples section). Tsan reported
such destruction as a data race.
Fixes https://llvm.org/bugs/show_bug.cgi?id=23616
Reviewed in http://reviews.llvm.org/D10693

llvm-svn: 241082
2015-06-30 17:23:29 +00:00
..
Makefile.old [TSan] Attempt to fix old Makefile build. 2015-04-28 01:27:17 +00:00
tsan.syms.extra Export __ubsan_* symbols from MSan and TSan runtimes. 2015-04-28 01:20:34 +00:00
tsan_clock.cc Replace DCHECK with DCHECK_LE where appropriate. 2015-01-03 04:29:05 +00:00
tsan_clock.h tsan: address comments in r214912 2014-09-02 09:34:34 +00:00
tsan_defs.h Allow UBSan+MSan and UBSan+TSan combinations (Clang part). 2015-04-28 00:56:48 +00:00
tsan_dense_alloc.h tsan: add a useful debug check 2014-07-28 13:54:18 +00:00
tsan_fd.cc tsan: fix handling of dup2 2015-06-25 20:32:04 +00:00
tsan_fd.h tsan: fix handling of dup2 2015-06-25 20:32:04 +00:00
tsan_flags.cc Allow UBSan+MSan and UBSan+TSan combinations (Clang part). 2015-04-28 00:56:48 +00:00
tsan_flags.h [Sanitizer] Change the runtime flag representation. 2015-01-07 00:38:00 +00:00
tsan_flags.inc [Sanitizer] Refactor SuppressionContext class. 2015-02-20 17:41:59 +00:00
tsan_ignoreset.cc tsan: better diagnostics if thread finishes with ignores enabled 2013-11-27 11:30:28 +00:00
tsan_ignoreset.h tsan: better diagnostics if thread finishes with ignores enabled 2013-11-27 11:30:28 +00:00
tsan_interceptors.cc tsan: fix handling of condition variable destruction 2015-06-30 17:23:29 +00:00
tsan_interceptors.h [TSan] Move new/delete interceptors into a separate source file. NFC. 2015-04-27 19:33:55 +00:00
tsan_interface.cc tsan: add memory access functions that accept pc 2015-05-05 08:09:46 +00:00
tsan_interface.h tsan: add memory access functions that accept pc 2015-05-05 08:09:46 +00:00
tsan_interface_ann.cc [TSan] Use StackTrace from sanitizer_common where applicable 2014-11-03 22:23:44 +00:00
tsan_interface_ann.h Define SANITIZER_INTERFACE_ATTRIBUTE on Windows and fix all the places where SANITIZER_INTERFACE_ATTRIBUTE or SANITIZER_ATTRIBUTE_WEAK are used 2013-08-13 11:42:45 +00:00
tsan_interface_atomic.cc [TSan][MIPS] Adding support for MIPS64 2015-02-20 06:42:41 +00:00
tsan_interface_inl.h tsan: add memory access functions that accept pc 2015-05-05 08:09:46 +00:00
tsan_interface_java.cc tsan: add acquire/release functions to java interface 2014-12-22 09:44:56 +00:00
tsan_interface_java.h tsan: add acquire/release functions to java interface 2014-12-22 09:44:56 +00:00
tsan_md5.cc Fix -Wcast-qual warnings in sanitizers 2014-11-13 22:40:59 +00:00
tsan_mman.cc tsan: fix unbounded memory consumption for large mallocs 2015-06-24 11:51:41 +00:00
tsan_mman.h [Sanitizer] Introduce Allocator::may_return_null bool flag. 2014-12-12 20:07:35 +00:00
tsan_mutex.cc Remove TSAN_DEBUG in favor of SANITIZER_DEBUG. 2015-01-03 04:29:12 +00:00
tsan_mutex.h Remove TSAN_DEBUG in favor of SANITIZER_DEBUG. 2015-01-03 04:29:12 +00:00
tsan_mutexset.cc tsan: add mutexsets to reports 2012-12-06 12:16:15 +00:00
tsan_mutexset.h [tsan] remove TSAN_GO in favor of SANITIZER_GO 2014-12-09 01:31:14 +00:00
tsan_new_delete.cc [TSan] Move new/delete interceptors into a separate source file. NFC. 2015-04-27 19:33:55 +00:00
tsan_platform.h [TSan][MIPS] Adding support for MIPS64 2015-02-20 06:42:41 +00:00
tsan_platform_linux.cc tsan: mark meta shadow as NOHUGEPAGE 2015-06-18 16:57:37 +00:00
tsan_platform_mac.cc tsan: handle async signals while blocked in pthread_cond_wait 2015-04-08 07:48:52 +00:00
tsan_platform_windows.cc [asan] move GetRSS from tsan to sanitizer_common 2014-12-09 01:22:59 +00:00
tsan_report.cc [sanitizer_common] Added VS-style output for source locations 2015-06-04 01:20:06 +00:00
tsan_report.h Simplify Symbolizer::SymbolizePC() interface. 2014-12-02 19:48:40 +00:00
tsan_rtl.cc [ASan] Make binary name reader cross-platform. 2015-06-04 07:29:43 +00:00
tsan_rtl.h Add descriptive names to sanitizer entries in /proc/self/maps. Helps debugging. 2015-05-29 22:31:28 +00:00
tsan_rtl_amd64.S [Tsan] Add FreeBSD support to longjmp-related definitions 2014-10-21 13:38:05 +00:00
tsan_rtl_mutex.cc Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:44:24 +00:00
tsan_rtl_report.cc tsan: always subtract one from program counters 2015-02-14 16:06:22 +00:00
tsan_rtl_thread.cc [Tsan] Do not sanitize memcpy() during thread initialization on FreeBSD 2015-03-16 14:42:21 +00:00
tsan_stack_trace.cc [TSan] Use StackTrace from sanitizer_common where applicable 2014-11-03 22:23:44 +00:00
tsan_stack_trace.h [TSan] Use StackTrace from sanitizer_common where applicable 2014-11-03 22:23:44 +00:00
tsan_stat.cc [TSan] Provide default values for compile definitions. 2015-02-17 23:23:10 +00:00
tsan_stat.h tsan: optimize memory access functions 2014-05-30 13:36:29 +00:00
tsan_suppressions.cc tsan: implement suppressions for top frame only 2015-06-29 14:38:31 +00:00
tsan_suppressions.h tsan: implement suppressions for top frame only 2015-06-29 14:38:31 +00:00
tsan_symbolize.cc tsan: merge function definition and declaration 2015-06-25 11:45:45 +00:00
tsan_symbolize.h tsan: don't print external PCs in reports 2015-06-24 13:04:12 +00:00
tsan_sync.cc tsan: don't write to meta shadow unnecessarily 2015-03-27 12:22:44 +00:00
tsan_sync.h tsan: fix crash during __tsan_java_move 2015-03-12 11:24:16 +00:00
tsan_trace.h tsan: fix build 2015-02-14 16:14:10 +00:00
tsan_update_shadow_word_inl.h tsan: fix a bug memory access handling 2015-04-28 18:08:42 +00:00
tsan_vector.h tsan: refactor storage of meta information for heap blocks and sync objects 2014-05-29 13:50:54 +00:00