llvm-project/compiler-rt/lib/sanitizer_common
Francis Ricci 2f1f1616ae Remove strict tid checks from the mac implementation of BlockingMutex
Summary:
This patch unifies the behavior of BlockingMutex on linux and mac,
resolving problems that can arise when BlockingMutex is used in
code shared by the two platforms but has different behavior depending
on the platform.

No longer requires that the calling thread own the mutex for
CheckLocked calls to pass.

Reviewers: dvyukov, kubamracek

Subscribers: llvm-commits

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

llvm-svn: 294614
2017-02-09 19:29:11 +00:00
..
scripts sancov.py: [Py3] Use bytes.decode() explicitly. 2017-02-07 14:13:18 +00:00
symbolizer [compiler-rt] Fix incorrect use of snprintf 2017-02-02 20:10:07 +00:00
tests [asan] replace std::random_shuffle with std::shuffle in tests since std::random_shuffle is being deprecated in C++17; NFC 2017-02-07 23:13:10 +00:00
.clang-format Tell clang-format that (most) sanitizers are written using Google style guide. 2015-11-19 22:11:10 +00:00
.clang-tidy [sanitizers] specifying style for global constant 2016-11-17 21:57:43 +00:00
CMakeLists.txt build: repair cross-compilation with clang 2017-02-08 20:43:39 +00:00
sancov_flags.cc General definition for weak functions 2017-01-29 05:44:59 +00:00
sancov_flags.h [sancov] Move __sancov_default_options declaration outside the namespace __sancov 2017-02-01 01:36:19 +00:00
sancov_flags.inc Revert "[sancov] moving sancov rt to sancov/ directory" 2017-01-12 01:37:35 +00:00
sanitizer_addrhashmap.h adding operator* to help working with primitive values 2016-11-16 19:35:37 +00:00
sanitizer_allocator.cc Return memory to OS right after free (not in the async thread). 2016-11-29 00:22:50 +00:00
sanitizer_allocator.h Don't use internal symbolizer if we are in process of reporting Out-of-Memory. 2016-09-29 23:00:54 +00:00
sanitizer_allocator_bytemap.h [sanitizers] split sanitizer_allocator.h into a number of smaller .h files; NFC 2016-07-20 22:06:41 +00:00
sanitizer_allocator_combined.h Corrected D27428: Do not use the alignment-rounded-up size with secondary 2016-12-13 19:31:54 +00:00
sanitizer_allocator_interface.h [sanitizer] Add list of symbols exported in sanitizers' interface. 2017-01-31 20:23:21 +00:00
sanitizer_allocator_internal.h [compiler-rt] Do not introduce __sanitizer namespace globally 2016-09-15 21:02:18 +00:00
sanitizer_allocator_local_cache.h [sanitizer] remove kBatchClassID that is not used any more; NFC 2016-08-31 00:37:33 +00:00
sanitizer_allocator_primary32.h Return memory to OS right after free (not in the async thread). 2016-11-29 00:22:50 +00:00
sanitizer_allocator_primary64.h Improved ASAN allocator and quarantine stats. 2017-01-05 22:17:53 +00:00
sanitizer_allocator_secondary.h [lsan] fix a rare lsan false positive: ensure that we don't re-sort the chunks_ array while iterating over it. A test is hard to create, but I've added a consistency check that fires w/o the fix on existing tests. The bug analysis and the initial patch were provided by Pierre Bourdon 2016-11-10 17:27:28 +00:00
sanitizer_allocator_size_class_map.h [sanitizer] extend SizeClassMap to take more template parameters, add VeryCompactSizeClassMap for testing purposes 2016-08-31 17:52:55 +00:00
sanitizer_allocator_stats.h [sanitizers] split sanitizer_allocator.h into a number of smaller .h files; NFC 2016-07-20 22:06:41 +00:00
sanitizer_asm.h [tsan] Port tsan_rtl_amd64.S to OS X to add support for setjmp/longjmp 2015-11-28 12:44:23 +00:00
sanitizer_atomic.h Return memory to OS right after free (not in the async thread). 2016-11-29 00:22:50 +00:00
sanitizer_atomic_clang.h
sanitizer_atomic_clang_other.h
sanitizer_atomic_clang_x86.h
sanitizer_atomic_msvc.h [asan Win64] Implement atomic_compare_exchange_strong for 8 bit 2016-07-06 16:33:57 +00:00
sanitizer_bitvector.h Revert "Apply modernize-use-default to compiler-rt." 2015-10-30 18:52:31 +00:00
sanitizer_bvgraph.h
sanitizer_common.cc [sanitizer] Define as weak, functions that are declared as weak. 2017-01-31 20:23:14 +00:00
sanitizer_common.h [sanitizer] Move DescribeSignalOrException to sanitizer_common. 2017-02-02 23:01:59 +00:00
sanitizer_common_interceptors.inc [sanitizer] Support SANITIZER_INTERCEPTOR_HOOKS on Darwin 2017-02-01 03:31:09 +00:00
sanitizer_common_interceptors_format.inc [asan] Fix handling of %m in printf interceptor. 2016-12-27 22:14:03 +00:00
sanitizer_common_interceptors_ioctl.inc sanitizer_common: Fix warning 2016-08-16 18:28:55 +00:00
sanitizer_common_interface.inc [sanitizer] Add weak hooks for Windows. 2017-02-08 06:31:56 +00:00
sanitizer_common_interface_posix.inc [sanitizer] Add list of symbols exported in sanitizers' interface. 2017-01-31 20:23:21 +00:00
sanitizer_common_libcdep.cc [sanitizer] Define as weak, functions that are declared as weak. 2017-01-31 20:23:14 +00:00
sanitizer_common_nolibc.cc tsan: fix build after 287632 2016-11-22 11:09:35 +00:00
sanitizer_common_syscalls.inc [sanitizer] Add syscall handlers for sigaction and rt_sigaction. 2016-06-24 23:09:44 +00:00
sanitizer_coverage_interface.inc [sanitizer] Add list of symbols exported in sanitizers' interface. 2017-01-31 20:23:21 +00:00
sanitizer_coverage_libcdep.cc General definition for weak functions 2017-01-29 05:44:59 +00:00
sanitizer_coverage_libcdep_new.cc General definition for weak functions 2017-01-29 05:44:59 +00:00
sanitizer_coverage_mapping_libcdep.cc [Sanitizer] Introduce ListOfModules object and use it to replace GetListOfModules(). 2016-02-22 18:52:51 +00:00
sanitizer_coverage_win_dll_thunk.cc [sanitizer] Intercept weak functions in dll_thunks. 2017-02-02 23:01:34 +00:00
sanitizer_coverage_win_dynamic_runtime_thunk.cc [sanitizer] Add dynamic_runtime_thunk for different sanitizers. 2017-02-02 23:01:41 +00:00
sanitizer_coverage_win_sections.cc [sancov] Define delimiters for sanitizer coverage's binary section on Windows. 2017-02-02 23:02:15 +00:00
sanitizer_coverage_win_weak_interception.cc [sanitizer] Use interception to access to strong definitions in the executable. 2017-02-02 23:02:11 +00:00
sanitizer_dbghelp.h [asan/win] Delay load dbghelp.dll to delay ucrtbase.dll initialization 2016-11-14 17:37:50 +00:00
sanitizer_deadlock_detector.h tsan: fix deadlock reporting 2014-12-18 14:05:34 +00:00
sanitizer_deadlock_detector1.cc [tsan] Don't abort when a deadlock detector finds a mutex cycle longer than 10 2016-05-21 08:31:13 +00:00
sanitizer_deadlock_detector2.cc
sanitizer_deadlock_detector_interface.h [tsan] Don't abort when a deadlock detector finds a mutex cycle longer than 10 2016-05-21 08:31:13 +00:00
sanitizer_flag_parser.cc [sanitizer] Implement include_if_exists with process name substitution. 2015-07-21 23:03:13 +00:00
sanitizer_flag_parser.h [sanitizer] Implement include_if_exists with process name substitution. 2015-07-21 23:03:13 +00:00
sanitizer_flags.cc [ASan] Report illegal instruction exceptions in ASan 2016-08-03 18:13:14 +00:00
sanitizer_flags.h [sancov] common flags initialization. 2016-03-18 19:28:07 +00:00
sanitizer_flags.inc [lsan] Renable LSan for x86 Linux 2017-01-31 07:15:37 +00:00
sanitizer_freebsd.h
sanitizer_interface_internal.h [sancov] Add new sanitizer coverage functions to the internal interface. 2017-01-31 18:37:18 +00:00
sanitizer_internal_defs.h [windows] Properly use dllimport / dllexport. 2017-01-29 06:11:32 +00:00
sanitizer_lfstack.h [sanitizer] Fix Clang-tidy modernize-use-nullptr warnings in lib/sanitizer_common headers, unify closing inclusion guards. Patch by Eugene Zelenko 2015-09-29 18:23:36 +00:00
sanitizer_libc.cc [compiler-rt] Add internal wcslen to avoid crashing on windows 64-bits 2016-07-14 22:13:41 +00:00
sanitizer_libc.h Fix clang-cl warning and crash in sanitizers 2016-07-21 18:31:01 +00:00
sanitizer_libignore.cc [tsan] Implement a 'ignore_noninstrumented_modules' flag to better suppress false positive races 2017-01-11 00:54:26 +00:00
sanitizer_libignore.h [tsan] Implement a 'ignore_noninstrumented_modules' flag to better suppress false positive races 2017-01-11 00:54:26 +00:00
sanitizer_linux.cc [lsan] Renable LSan for x86 Linux 2017-01-31 07:15:37 +00:00
sanitizer_linux.h [lsan] Renable LSan for x86 Linux 2017-01-31 07:15:37 +00:00
sanitizer_linux_libcdep.cc [compiler-rt] Don't change g_tls_size after initialization. 2017-01-31 01:53:36 +00:00
sanitizer_linux_mips64.S [ESan][MIPS] Adds support for MIPS64 2016-10-06 09:58:11 +00:00
sanitizer_linux_s390.cc [sanitizers] [SystemZ] Mark kernel 3.12.58+ as safe from CVE-2016-2143. 2016-04-29 14:59:19 +00:00
sanitizer_linux_x86_64.S [sanitizer][esan] Add internal_sigaction_syscall 2016-06-14 15:15:38 +00:00
sanitizer_list.h Whenever reasonable, merge ASAN quarantine batches to save memory. 2017-01-19 22:15:54 +00:00
sanitizer_mac.cc Remove strict tid checks from the mac implementation of BlockingMutex 2017-02-09 19:29:11 +00:00
sanitizer_mac.h [compiler-rt] Do not introduce __sanitizer namespace globally 2016-09-15 21:02:18 +00:00
sanitizer_malloc_mac.inc [sanitizer] Make sure libmalloc doesn't remove the sanitizer zone from malloc_zones[0] 2016-12-11 08:45:36 +00:00
sanitizer_mutex.h Remove strict tid checks from the mac implementation of BlockingMutex 2017-02-09 19:29:11 +00:00
sanitizer_persistent_allocator.cc
sanitizer_persistent_allocator.h [sanitizer] Fix Clang-tidy modernize-use-nullptr warnings in lib/sanitizer_common headers, unify closing inclusion guards. Patch by Eugene Zelenko 2015-09-29 18:23:36 +00:00
sanitizer_placement_new.h
sanitizer_platform.h tsan: always define SANITIZER_GO 2016-10-28 20:14:18 +00:00
sanitizer_platform_interceptors.h [sanitizer] Add weak hooks for Windows. 2017-02-08 06:31:56 +00:00
sanitizer_platform_limits_linux.cc [sanitizer] Add a bunch of ifdefs for sparc targets to avoid build failures. 2016-12-02 08:07:35 +00:00
sanitizer_platform_limits_posix.cc Fix build breakage on FreeBSD after rL289878/rL289881 2016-12-20 07:58:49 +00:00
sanitizer_platform_limits_posix.h [sanitizer] Fix sigaction definition on 32-bit sparc 2017-01-10 12:41:18 +00:00
sanitizer_posix.cc [sanitizer] Move DescribeSignalOrException to sanitizer_common. 2017-02-02 23:01:59 +00:00
sanitizer_posix.h [esan|wset] Ensure SIGSEGV is not blocked 2016-07-06 21:04:48 +00:00
sanitizer_posix_libcdep.cc Release memory to OS only when the requested range covers the entire page 2016-11-30 20:41:59 +00:00
sanitizer_printf.cc General definition for weak functions 2017-01-29 05:44:59 +00:00
sanitizer_procmaps.h [sanitizer] Track which modules are instrumented in LoadedModule objects 2017-01-06 19:34:54 +00:00
sanitizer_procmaps_common.cc [Sanitizer] Introduce ListOfModules object and use it to replace GetListOfModules(). 2016-02-22 18:52:51 +00:00
sanitizer_procmaps_freebsd.cc [sanitizer] Track architecture and UUID of modules in LoadedModule 2016-12-02 21:27:14 +00:00
sanitizer_procmaps_linux.cc [sanitizer] Track architecture and UUID of modules in LoadedModule 2016-12-02 21:27:14 +00:00
sanitizer_procmaps_mac.cc [sanitizer] Track which modules are instrumented in LoadedModule objects 2017-01-06 19:34:54 +00:00
sanitizer_quarantine.h Whenever reasonable, merge ASAN quarantine batches to save memory. 2017-01-19 22:15:54 +00:00
sanitizer_report_decorator.h
sanitizer_stackdepot.cc rename InternalBinarySearch to InternalLowerBound 2016-11-18 20:48:52 +00:00
sanitizer_stackdepot.h [sanitizer] Fix Clang-tidy modernize-use-nullptr warnings in lib/sanitizer_common headers, unify closing inclusion guards. Patch by Eugene Zelenko 2015-09-29 18:23:36 +00:00
sanitizer_stackdepotbase.h [sanitizer] Fix Clang-tidy modernize-use-nullptr warnings in lib/sanitizer_common headers, unify closing inclusion guards. Patch by Eugene Zelenko 2015-09-29 18:23:36 +00:00
sanitizer_stacktrace.cc [asan] Fix comparison in BufferedStackTrace::LocatePcInTrace 2017-01-05 21:04:47 +00:00
sanitizer_stacktrace.h [LSAN] Fix test swapcontext.cc on MIPS 2016-05-18 06:09:26 +00:00
sanitizer_stacktrace_libcdep.cc [sanitizers] __sanitizer_get_module_and_offset_for_pc interface function 2016-12-05 21:45:14 +00:00
sanitizer_stacktrace_printer.cc [sanitizer] Use architecture/slice information when symbolizing fat Mach-O files on Darwin 2017-01-06 21:45:05 +00:00
sanitizer_stacktrace_printer.h [sanitizer] Use architecture/slice information when symbolizing fat Mach-O files on Darwin 2017-01-06 21:45:05 +00:00
sanitizer_stoptheworld.h asan: fix comment formatting 2015-03-06 08:43:44 +00:00
sanitizer_stoptheworld_linux_libcdep.cc [lsan] Renable LSan for x86 Linux 2017-01-31 07:15:37 +00:00
sanitizer_suppressions.cc [TSan] Try harder to avoid compiler-generated memset calls. 2015-12-09 18:48:10 +00:00
sanitizer_suppressions.h [UBSan] Implement runtime suppressions (PR25066). 2015-12-18 19:56:42 +00:00
sanitizer_symbolizer.cc [sanitizer] Use architecture/slice information when symbolizing fat Mach-O files on Darwin 2017-01-06 21:45:05 +00:00
sanitizer_symbolizer.h [sanitizer] Use architecture/slice information when symbolizing fat Mach-O files on Darwin 2017-01-06 21:45:05 +00:00
sanitizer_symbolizer_internal.h [sanitizer] Use architecture/slice information when symbolizing fat Mach-O files on Darwin 2017-01-06 21:45:05 +00:00
sanitizer_symbolizer_libbacktrace.cc Symbolizer refactoring: Turn FillAddressAndModuleInfo into FillModuleInfo 2015-03-03 09:18:44 +00:00
sanitizer_symbolizer_libbacktrace.h Provide missing Internal{Alloc, Free} declarations for libbacktrace symbolizer. 2015-10-07 23:13:28 +00:00
sanitizer_symbolizer_libcdep.cc [compiler-rt] Fix incorrect use of snprintf 2017-02-02 20:10:07 +00:00
sanitizer_symbolizer_mac.cc [compiler-rt] Remove the system includes from __sanitizer namespace 2016-09-15 21:02:22 +00:00
sanitizer_symbolizer_mac.h Adding the implementation of atos and dladdr symbolizers for OS X. 2015-03-12 10:53:18 +00:00
sanitizer_symbolizer_posix_libcdep.cc [compiler-rt] Fix incorrect use of snprintf 2017-02-02 20:10:07 +00:00
sanitizer_symbolizer_win.cc [asan/win] Delay load dbghelp.dll to delay ucrtbase.dll initialization 2016-11-14 17:37:50 +00:00
sanitizer_syscall_generic.inc Unix/BSD system calls are prefixed with SYS_ on FreeBSD and Mac 2015-02-22 22:01:09 +00:00
sanitizer_syscall_linux_aarch64.inc [compiler-rt] [sanitizers] Add aarch64 syscall optimization support 2015-08-21 14:50:36 +00:00
sanitizer_syscall_linux_x86_64.inc
sanitizer_termination.cc [sanitizer] Move termination functions in their own file 2016-05-27 21:57:17 +00:00
sanitizer_thread_registry.cc [tsan] Properly describe GCD worker threads in reports 2017-02-02 12:54:21 +00:00
sanitizer_thread_registry.h [tsan] Properly describe GCD worker threads in reports 2017-02-02 12:54:21 +00:00
sanitizer_tls_get_addr.cc [Compiler-rt][MIPS] Correct Dynamic Thread Vector offset for MIPS 2016-03-01 05:56:33 +00:00
sanitizer_tls_get_addr.h [sanitizer] Recognize static TLS in __tls_get_addr interceptor. 2015-05-16 00:34:15 +00:00
sanitizer_unwind_linux_libcdep.cc Adding a comment to explain r273886 ("Stop unwinding the stack when a close-to-zero PC is found"). NFC. 2016-06-28 12:53:20 +00:00
sanitizer_win.cc [sanitizer] Move DescribeSignalOrException to sanitizer_common. 2017-02-02 23:01:59 +00:00
sanitizer_win.h [sanitizer] Move exception code to sanitizer_common. 2017-02-02 23:01:51 +00:00
sanitizer_win_defs.h [sanitizer] if WINAPI is already defined, do not redefine it 2017-02-08 18:34:05 +00:00
sanitizer_win_dll_thunk.cc [sanitizer] Intercept weak functions in dll_thunks. 2017-02-02 23:01:34 +00:00
sanitizer_win_dll_thunk.h [sanitizer] Intercept weak functions in dll_thunks. 2017-02-02 23:01:34 +00:00
sanitizer_win_dynamic_runtime_thunk.cc [sanitizer] Add dynamic_runtime_thunk for different sanitizers. 2017-02-02 23:01:41 +00:00
sanitizer_win_weak_interception.cc [sanitizer] Add weak hooks for Windows. 2017-02-08 06:31:56 +00:00
sanitizer_win_weak_interception.h [sanitizer] Use interception to access to strong definitions in the executable. 2017-02-02 23:02:11 +00:00
weak_symbols.txt [sanitizer] Define as weak, functions that are declared as weak. 2017-01-31 20:23:14 +00:00