llvm-project/compiler-rt/lib/sanitizer_common
Dan Liew 861b69faee [Darwin] Fix symbolization for recent simulator runtimes.
Summary:
Due to sandbox restrictions in the recent versions of the simulator runtime the
atos program is no longer able to access the task port of a parent process
without additional help.

This patch fixes this by registering a task port for the parent process
before spawning atos and also tells atos to look for this by setting
a special environment variable.

This patch is based on an Apple internal fix (rdar://problem/43693565) that
unfortunately contained a bug (rdar://problem/58789439) because it used
setenv() to set the special environment variable. This is not safe because in
certain circumstances this can trigger a call to realloc() which can fail
during symbolization leading to deadlock. A test case is included that captures
this problem.

The approach used to set the necessary environment variable is as
follows:

1. Calling `putenv()` early during process init (but late enough that
malloc/realloc works) to set a dummy value for the environment variable.

2. Just before `atos` is spawned the storage for the environment
variable is modified to contain the correct PID.

A flaw with this approach is that if the application messes with the
atos environment variable (i.e. unsets it or changes it) between the
time its set and the time we need it then symbolization will fail. We
will ignore this issue for now but a `DCHECK()` is included in the patch
that documents this assumption but doesn't check it at runtime to avoid
calling `getenv()`.

The issue reported in rdar://problem/58789439 manifested as a deadlock
during symbolization in the following situation:

1. Before TSan detects an issue something outside of the runtime calls
setenv() that sets a new environment variable that wasn't previously
set. This triggers a call to malloc() to allocate a new environment
array. This uses TSan's normal user-facing allocator. LibC stores this
pointer for future use later.

2. TSan detects an issue and tries to launch the symbolizer. When we are in the
symbolizer we switch to a different (internal allocator) and then we call
setenv() to set a new environment variable. When this happen setenv() sees
that it needs to make the environment array larger and calls realloc() on the
existing enviroment array because it remembers that it previously allocated
memory for it. Calling realloc() fails here because it is being called on a
pointer its never seen before.

The included test case closely reproduces the originally reported
problem but it doesn't replicate the `((kBlockMagic)) ==
((((u64*)addr)[0])` assertion failure exactly. This is due to the way
TSan's normal allocator allocates the environment array the first time
it is allocated. In the test program addr[0] accesses an inaccessible
page and raises SIGBUS. If TSan's SIGBUS signal handler is active, the
signal is caught and symbolication is attempted again which results in
deadlock.

In the originally reported problem the pointer is successfully derefenced but
then the assert fails due to the provided pointer not coming from the active
allocator. When the assert fails TSan tries to symbolicate the stacktrace while
already being in the middle of symbolication which results in deadlock.

rdar://problem/58789439

Reviewers: kubamracek, yln

Subscribers: jfb, #sanitizers, llvm-commits

Tags: #sanitizers

Differential Revision: https://reviews.llvm.org/D78179
2020-04-17 15:08:14 -07:00
..
scripts [sanitizers] Redirect stdout and stderr to TASK_LOG 2019-12-12 13:11:16 -08:00
symbolizer [sanitizer_common] Update global_symbols.txt. 2020-04-06 09:58:04 -07:00
tests Add a `Symbolizer::GetEnvP()` method that allows symbolizer implementations to customise the environment of the symbolizer binary. 2020-03-24 15:41:46 -07:00
.clang-format [sanitizer] Remove unneeded blank lines 2018-05-09 00:44:26 +00:00
.clang-tidy
CMakeLists.txt [lsan] Support LeakSanitizer runtime on Fuchsia 2020-01-28 11:34:53 -08:00
sancov_flags.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sancov_flags.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sancov_flags.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_addrhashmap.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_allocator.cpp compiler-rt: allow golang race detector to run on musl-c 2020-03-25 17:05:45 +01:00
sanitizer_allocator.h Revert r369472 and r369441 2019-08-21 05:06:21 +00:00
sanitizer_allocator_bytemap.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_allocator_checks.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_allocator_checks.h Remove NOLINTs from compiler-rt 2019-09-11 23:19:48 +00:00
sanitizer_allocator_combined.h Revert r369472 and r369441 2019-08-21 05:06:21 +00:00
sanitizer_allocator_interface.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_allocator_internal.h [sanitizer][NFC] Set LargeMmapAllocator type from PrimaryAllocator 2019-05-01 19:41:54 +00:00
sanitizer_allocator_local_cache.h [sanitizer][NFC] Remove unneeded SizeClassAllocatorLocalCache 2019-05-01 21:23:07 +00:00
sanitizer_allocator_primary32.h Revert r369472 and r369441 2019-08-21 05:06:21 +00:00
sanitizer_allocator_primary64.h Revert r369472 and r369441 2019-08-21 05:06:21 +00:00
sanitizer_allocator_report.cpp Remove NOLINTs from compiler-rt 2019-09-11 23:19:48 +00:00
sanitizer_allocator_report.h [sanitizer] Implement reallocarray. 2019-05-01 17:33:01 +00:00
sanitizer_allocator_secondary.h Make more allocator methods work correctly with in an out-of-process mode. 2019-01-27 22:45:11 +00:00
sanitizer_allocator_size_class_map.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_allocator_stats.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_asm.h Remove NOLINTs from compiler-rt 2019-09-11 23:19:48 +00:00
sanitizer_atomic.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_atomic_clang.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_atomic_clang_mips.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_atomic_clang_other.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_atomic_clang_x86.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_atomic_msvc.h Remove NOLINTs from compiler-rt 2019-09-11 23:19:48 +00:00
sanitizer_bitvector.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_bvgraph.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_common.cpp compiler-rt: allow golang race detector to run on musl-c 2020-03-25 17:05:45 +01:00
sanitizer_common.h Change internal_start_thread arguments to match pthread_create. 2020-01-23 13:15:16 -08:00
sanitizer_common_interceptors.inc [compiler-rt] Fall back to internal_uname() when called early 2020-03-28 03:14:19 +01:00
sanitizer_common_interceptors_format.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_common_interceptors_ioctl.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_common_interceptors_netbsd_compat.inc [compiler-rt] [netbsd] Add support for versioned statvfs interceptors 2019-12-27 18:50:14 +01:00
sanitizer_common_interceptors_vfork_aarch64.inc.S [hwasan, asan] Intercept vfork. 2019-02-27 21:11:50 +00:00
sanitizer_common_interceptors_vfork_arm.inc.S [hwasan, asan] Intercept vfork. 2019-02-27 21:11:50 +00:00
sanitizer_common_interceptors_vfork_i386.inc.S [sanitizer] Fix vfork interceptor on i386 w/ dynamic runtime. 2019-02-28 19:21:25 +00:00
sanitizer_common_interceptors_vfork_x86_64.inc.S [sanitizer] Fix compilation errors in r355030. 2019-02-27 22:23:51 +00:00
sanitizer_common_interface.inc [sanitizer_common] Add __sanitizer_on_print to interface list. 2019-10-02 21:21:18 +00:00
sanitizer_common_interface_posix.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_common_libcdep.cpp Change internal_start_thread arguments to match pthread_create. 2020-01-23 13:15:16 -08:00
sanitizer_common_nolibc.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_common_syscalls.inc [compiler-rt] implement sigaltstack interception 2020-02-03 16:28:47 -08:00
sanitizer_coverage_fuchsia.cpp [sanitizer_coverage][Fuchsia] Set ZX_PROP_VMO_CONTENT_SIZE 2020-03-19 19:12:06 -07:00
sanitizer_coverage_interface.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_coverage_libcdep_new.cpp Remove NOLINTs from compiler-rt 2019-09-11 23:19:48 +00:00
sanitizer_coverage_win_dll_thunk.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_coverage_win_dynamic_runtime_thunk.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_coverage_win_sections.cpp Remove NOLINTs from compiler-rt 2019-09-11 23:19:48 +00:00
sanitizer_coverage_win_weak_interception.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_dbghelp.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_deadlock_detector.h [sanitizer_common] Remove some old commented-out printf statements, and fixed up the order of includes. 2019-04-24 23:03:32 +00:00
sanitizer_deadlock_detector1.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_deadlock_detector2.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_deadlock_detector_interface.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_errno.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_errno.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_errno_codes.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_file.cpp Remove NOLINTs from compiler-rt 2019-09-11 23:19:48 +00:00
sanitizer_file.h Add a `Symbolizer::GetEnvP()` method that allows symbolizer implementations to customise the environment of the symbolizer binary. 2020-03-24 15:41:46 -07:00
sanitizer_flag_parser.cpp [SanitizerCommon] Print the current value of options when printing out help. 2019-11-14 14:04:34 -08:00
sanitizer_flag_parser.h [SanitizerCommon] Print the current value of options when printing out help. 2019-11-14 14:04:34 -08:00
sanitizer_flags.cpp [SanitizerCommon] Print the current value of options when printing out help. 2019-11-14 14:04:34 -08:00
sanitizer_flags.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_flags.inc [sanitizer_common] Create max_allocation_size_mb flag. 2019-10-30 11:26:05 -07:00
sanitizer_freebsd.h [compiler-rt] clang-format FreeBSD-specific sanitizer sources 2020-02-06 22:48:08 +01:00
sanitizer_fuchsia.cpp [Sanitizers] Get link map on FreeBSD and NetBSD via documented API 2020-02-10 23:43:20 +01:00
sanitizer_fuchsia.h [sanitizer_common] Implement MemoryMappingLayout for Fuchsia 2020-01-24 16:35:43 -08:00
sanitizer_getauxval.h compiler-rt: move all __GLIBC_PREREQ into own header file 2019-10-03 17:46:07 +00:00
sanitizer_glibc_version.h compiler-rt: move all __GLIBC_PREREQ into own header file 2019-10-03 17:46:07 +00:00
sanitizer_hash.h Runtime flags for malloc bisection. 2019-02-15 18:38:14 +00:00
sanitizer_interceptors_ioctl_netbsd.inc [compiler-rt] Fix build on NetBSD 9.99.44 2020-01-31 14:57:20 +01:00
sanitizer_interface_internal.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_internal_defs.h [compiler-rt] Enable SANITIZER_CAN_USE_PREINIT_ARRAY on NetBSD 2019-12-19 03:23:51 +01:00
sanitizer_lfstack.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_libc.cpp [compiler-rt] Remove some cpplint filters 2019-09-12 02:20:36 +00:00
sanitizer_libc.h [Sanitizers] Get link map on FreeBSD and NetBSD via documented API 2020-02-10 23:43:20 +01:00
sanitizer_libignore.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_libignore.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_linux.cpp tsan: disable ASLR in Go test on NetBSD 2020-04-11 09:46:45 +02:00
sanitizer_linux.h [compiler-rt] Use uname syscall in GetKernelAreaSize() 2020-03-26 13:35:09 +01:00
sanitizer_linux_libcdep.cpp tsan: fix Go/ppc build 2020-04-07 16:40:59 +02:00
sanitizer_linux_s390.cpp [compiler-rt] Use uname syscall in GetKernelAreaSize() 2020-03-26 13:35:09 +01:00
sanitizer_list.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_local_address_space_view.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_mac.cpp Add a `Symbolizer::GetEnvP()` method that allows symbolizer implementations to customise the environment of the symbolizer binary. 2020-03-24 15:41:46 -07:00
sanitizer_mac.h [Sanitizers] Add case MACOS_VERSION_CATALINA 2019-06-11 21:54:15 +00:00
sanitizer_mac_libcdep.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_malloc_mac.inc [Sanitizer][Darwin] Add interceptor for malloc_zone_from_ptr 2019-08-09 21:46:32 +00:00
sanitizer_mutex.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_netbsd.cpp [Sanitizers] Get link map on FreeBSD and NetBSD via documented API 2020-02-10 23:43:20 +01:00
sanitizer_openbsd.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_persistent_allocator.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_persistent_allocator.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_placement_new.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_platform.h [Sanitizers] Add support for RISC-V 64-bit 2019-10-23 14:12:52 +01:00
sanitizer_platform_interceptors.h [compiler-rt] Intercept the uname() function 2020-03-23 12:59:38 -07:00
sanitizer_platform_limits_freebsd.cpp [Sanitizers] Get link map on FreeBSD and NetBSD via documented API 2020-02-10 23:43:20 +01:00
sanitizer_platform_limits_freebsd.h [Sanitizers] Get link map on FreeBSD and NetBSD via documented API 2020-02-10 23:43:20 +01:00
sanitizer_platform_limits_linux.cpp [Sanitizers] Add support for RISC-V 64-bit 2019-10-23 14:12:52 +01:00
sanitizer_platform_limits_netbsd.cpp [compiler-rt] Fix build on NetBSD 9.99.52+ 2020-04-05 01:08:17 +02:00
sanitizer_platform_limits_netbsd.h [Sanitizers] Get link map on FreeBSD and NetBSD via documented API 2020-02-10 23:43:20 +01:00
sanitizer_platform_limits_openbsd.cpp [compiler-rt] fix OpenBSD and Solaris build with sigaltstack interception 2020-02-04 15:50:59 -08:00
sanitizer_platform_limits_openbsd.h [compiler-rt] fix OpenBSD and Solaris build with sigaltstack interception 2020-02-04 15:50:59 -08:00
sanitizer_platform_limits_posix.cpp [compiler-rt] implement sigaltstack interception 2020-02-03 16:28:47 -08:00
sanitizer_platform_limits_posix.h [compiler-rt] implement sigaltstack interception 2020-02-03 16:28:47 -08:00
sanitizer_platform_limits_solaris.cpp [compiler-rt] fix OpenBSD and Solaris build with sigaltstack interception 2020-02-04 15:50:59 -08:00
sanitizer_platform_limits_solaris.h [compiler-rt] fix OpenBSD and Solaris build with sigaltstack interception 2020-02-04 15:50:59 -08:00
sanitizer_posix.cpp [sanitizer] Print SIGTRAP for corresponding signal 2019-10-07 22:43:19 +00:00
sanitizer_posix.h Add a `Symbolizer::GetEnvP()` method that allows symbolizer implementations to customise the environment of the symbolizer binary. 2020-03-24 15:41:46 -07:00
sanitizer_posix_libcdep.cpp Add a `Symbolizer::GetEnvP()` method that allows symbolizer implementations to customise the environment of the symbolizer binary. 2020-03-24 15:41:46 -07:00
sanitizer_printf.cpp [sanitizer_common] Remove OnPrint from Go build. 2019-10-09 22:57:07 +00:00
sanitizer_procmaps.h [sanitizer_common] Implement MemoryMappingLayout for Fuchsia 2020-01-24 16:35:43 -08:00
sanitizer_procmaps_bsd.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_procmaps_common.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_procmaps_fuchsia.cpp [sanitizer_common] Implement MemoryMappingLayout for Fuchsia 2020-01-24 16:35:43 -08:00
sanitizer_procmaps_linux.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_procmaps_mac.cpp Fix mac build 2019-09-11 22:19:18 +00:00
sanitizer_procmaps_solaris.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_quarantine.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_report_decorator.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_ring_buffer.h hwasan: Teach the runtime to identify the local variable being accessed in UAR reports. 2019-06-27 23:16:13 +00:00
sanitizer_rtems.cpp [Sanitizers] Get link map on FreeBSD and NetBSD via documented API 2020-02-10 23:43:20 +01:00
sanitizer_rtems.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_signal_interceptors.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_solaris.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_stackdepot.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_stackdepot.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_stackdepotbase.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_stacktrace.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_stacktrace.h SanitizerCommon: fixes for unwinding & backtrace on SPARC 2019-03-12 20:31:53 +00:00
sanitizer_stacktrace_libcdep.cpp Remove NOLINTs from compiler-rt 2019-09-11 23:19:48 +00:00
sanitizer_stacktrace_printer.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_stacktrace_printer.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_stacktrace_sparc.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_stoptheworld.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_stoptheworld_fuchsia.cpp [lsan] Support LeakSanitizer runtime on Fuchsia 2020-01-28 11:34:53 -08:00
sanitizer_stoptheworld_linux_libcdep.cpp [compiler-rt] Remove some cpplint filters 2019-09-12 02:20:36 +00:00
sanitizer_stoptheworld_mac.cpp Change internal_start_thread arguments to match pthread_create. 2020-01-23 13:15:16 -08:00
sanitizer_stoptheworld_netbsd_libcdep.cpp [compiler-rt] Adapt stop-the-world for ptrace changes in NetBSD-9.99.30 2019-12-24 20:33:54 +01:00
sanitizer_suppressions.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_suppressions.h [UBSan][clang][compiler-rt] Applying non-zero offset to nullptr is undefined behaviour 2019-10-10 09:25:02 +00:00
sanitizer_symbolizer.cpp [NFC] Introduce a `LateInitialize()` method to `SymbolizerTool` that is called during the LateInitialize stage of the sanitizer runtimes. 2020-04-16 17:25:58 -07:00
sanitizer_symbolizer.h [NFC] Introduce a `LateInitialize()` method to `SymbolizerTool` that is called during the LateInitialize stage of the sanitizer runtimes. 2020-04-16 17:25:58 -07:00
sanitizer_symbolizer_fuchsia.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_symbolizer_internal.h [NFC] Introduce a `LateInitialize()` method to `SymbolizerTool` that is called during the LateInitialize stage of the sanitizer runtimes. 2020-04-16 17:25:58 -07:00
sanitizer_symbolizer_libbacktrace.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_symbolizer_libbacktrace.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_symbolizer_libcdep.cpp [compiler-rt] Follow up fix for the refactoring in https://reviews.llvm.org/D74137. 2020-02-10 10:28:06 -08:00
sanitizer_symbolizer_mac.cpp [Darwin] Fix symbolization for recent simulator runtimes. 2020-04-17 15:08:14 -07:00
sanitizer_symbolizer_mac.h [Darwin] Fix symbolization for recent simulator runtimes. 2020-04-17 15:08:14 -07:00
sanitizer_symbolizer_markup.cpp [NFC] Introduce a `LateInitialize()` method to `SymbolizerTool` that is called during the LateInitialize stage of the sanitizer runtimes. 2020-04-16 17:25:58 -07:00
sanitizer_symbolizer_posix_libcdep.cpp [NFC] Introduce a `LateInitialize()` method to `SymbolizerTool` that is called during the LateInitialize stage of the sanitizer runtimes. 2020-04-16 17:25:58 -07:00
sanitizer_symbolizer_report.cpp Revert "[ASan] Refine diagnoses messages" 2019-10-16 02:13:16 +00:00
sanitizer_symbolizer_rtems.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_symbolizer_win.cpp [NFC] Introduce a `LateInitialize()` method to `SymbolizerTool` that is called during the LateInitialize stage of the sanitizer runtimes. 2020-04-16 17:25:58 -07:00
sanitizer_syscall_generic.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_syscall_linux_aarch64.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_syscall_linux_arm.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_syscall_linux_x86_64.inc Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_syscalls_netbsd.inc [compiler-rt] Adapt for ptrace(2) changes in NetBSD-9.99.30 2019-12-24 20:34:58 +01:00
sanitizer_termination.cpp Remove NOLINTs from compiler-rt 2019-09-11 23:19:48 +00:00
sanitizer_thread_registry.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_thread_registry.h tsan: add fiber support 2019-02-13 13:21:24 +00:00
sanitizer_tls_get_addr.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_tls_get_addr.h compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_type_traits.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_type_traits.h Implement __sanitizer::conditional<B, T, F> 2019-04-26 18:22:55 +00:00
sanitizer_unwind_linux_libcdep.cpp Move SanitizerInitializeUnwinder outside anonymous namespace. 2019-10-02 22:57:37 +00:00
sanitizer_unwind_win.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_vector.h Update compiler-rt cpplint.py 2019-09-11 21:33:06 +00:00
sanitizer_win.cpp Add a `Symbolizer::GetEnvP()` method that allows symbolizer implementations to customise the environment of the symbolizer binary. 2020-03-24 15:41:46 -07:00
sanitizer_win.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_win_defs.h [tsan, go] fix Go windows build 2019-10-07 23:11:07 +00:00
sanitizer_win_dll_thunk.cpp Remove NOLINTs from compiler-rt 2019-09-11 23:19:48 +00:00
sanitizer_win_dll_thunk.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
sanitizer_win_dynamic_runtime_thunk.cpp compiler-rt: Rename .cc file in lib/sanitizer_common to .cpp 2019-07-31 18:51:27 +00:00
sanitizer_win_weak_interception.cpp [sanitizer_common] Declare __sanitizer_on_print in Windows interception. 2019-10-02 22:00:29 +00:00
sanitizer_win_weak_interception.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
weak_symbols.txt [sanitizer] Define as weak, functions that are declared as weak. 2017-01-31 20:23:14 +00:00