llvm-project/compiler-rt/lib/sanitizer_common
Kostya Kortchinsky 9336ab6996 [sanitizer] Split stacktrace/symbolizer: Windows unwind
Summary:
The purpose of this set of changes is to separate stackframe/symbolizer support into their own RT within sanitizer_common.
Sanitizers with no use for those could then be built without the extraneous dependencies pulled in by the default visibility interface functions.
I am aiming to do small changes for specific platforms.

In this one, we split the unwind functions from sanitizer_win.cc into their own sanitizer_unwind_win.cc.

Reviewers: alekseyshl, rnk

Reviewed By: alekseyshl, rnk

Subscribers: delcypher, #sanitizers, kubamracek, mgorny, llvm-commits

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

llvm-svn: 329204
2018-04-04 15:23:30 +00:00
..
scripts [Sanitizers] Export aligned new/delete from runtimes. 2017-12-23 00:30:51 +00:00
symbolizer Build LLVMDemangle from build_symbolizer.sh 2018-03-08 04:34:22 +00:00
tests Revert "[compiler-rt] Change std::sort to llvm::sort in response to r327219" 2018-03-20 01:17:18 +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 [sanitizer] Split stacktrace/symbolizer: Windows unwind 2018-04-04 15:23:30 +00:00
sancov_begin.S [Sanitizers, CMake] Basic sanitizer Solaris support (PR 33274) 2017-12-22 18:04:20 +00:00
sancov_end.S [Sanitizers, CMake] Basic sanitizer Solaris support (PR 33274) 2017-12-22 18:04:20 +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 [ASan] Report proper ASan error on allocator failures instead of CHECK(0)-ing 2018-03-28 18:22:40 +00:00
sanitizer_allocator.h [ASan] Report proper ASan error on allocator failures instead of CHECK(0)-ing 2018-03-28 18:22:40 +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_checks.cc [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc 2017-10-11 21:20:04 +00:00
sanitizer_allocator_checks.h [sanitizer] Move the errno/ENOMEM allocator checks logic to separate .cc 2017-10-11 21:20:04 +00:00
sanitizer_allocator_combined.h [Sanitizers] Make common allocator agnostic to failure handling modes. 2018-01-17 23:20:36 +00:00
sanitizer_allocator_interface.h [Sanitizers] New sanitizer API to purge allocator quarantine. 2017-10-23 17:12:07 +00:00
sanitizer_allocator_internal.h [Sanitizers] Increase allocated chunk limit for LargeMmapAllocator 2018-02-24 01:00:27 +00:00
sanitizer_allocator_local_cache.h [sanitizer] Size class map & local cache improvements 2018-02-12 16:59:17 +00:00
sanitizer_allocator_primary32.h [sanitizer] Align & pad the allocator structures to the cacheline size v2 2018-03-12 17:18:26 +00:00
sanitizer_allocator_primary64.h [sanitizer] Align & pad the allocator structures to the cacheline size v2 2018-03-12 17:18:26 +00:00
sanitizer_allocator_secondary.h [Sanitizers] Increase allocated chunk limit for LargeMmapAllocator 2018-02-24 01:00:27 +00:00
sanitizer_allocator_size_class_map.h [sanitizer] Size class map & local cache improvements 2018-02-12 16:59:17 +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 [sanitizer] Refactor how assembly files are handled 2017-11-29 19:27:25 +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 Reland "[mips][compiler-rt] Provide 64bit atomic add and sub" 2017-12-22 20:31:07 +00:00
sanitizer_atomic_clang_mips.h Reland "[mips][compiler-rt] Provide 64bit atomic add and sub" 2017-12-22 20:31:07 +00:00
sanitizer_atomic_clang_other.h Reland "[mips][compiler-rt] Provide 64bit atomic add and sub" 2017-12-22 20:31:07 +00:00
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 Update other SizeEnums to be of type uptr as well 2017-12-06 23:02:02 +00:00
sanitizer_bvgraph.h Update other SizeEnums to be of type uptr as well 2017-12-06 23:02:02 +00:00
sanitizer_common.cc [scudo] Make getNumberOfCPUs Fuchsia compliant v2 2017-11-21 21:14:00 +00:00
sanitizer_common.h [sanitizer] Remove empty Symbolizer PrepareForSandboxing 2018-04-03 18:07:22 +00:00
sanitizer_common_interceptors.inc Mmap interceptor providing mprotect support 2018-03-24 07:45:24 +00:00
sanitizer_common_interceptors_format.inc [asan] print the 'unexpected format specifier in printf interceptor' warning just once (came up in https://github.com/google/oss-fuzz/pull/562). Not touching a similar scanf warning -- for some reason it does not fire for me. 2017-05-03 18:38:34 +00:00
sanitizer_common_interceptors_ioctl.inc Teach sanitizer about NetBSD specific ioctl(2) calls 2018-02-15 03:36:16 +00:00
sanitizer_common_interface.inc [Sanitizers] New sanitizer API to purge allocator quarantine. 2017-10-23 17:12:07 +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] Remove empty Symbolizer PrepareForSandboxing 2018-04-03 18:07:22 +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_fuchsia.cc Reland "Fix syntax error introduced in r322991" 2018-01-20 03:37:47 +00:00
sanitizer_coverage_interface.inc [sanitizer_common] Update sanitizers w.r.t. the new comparisons instrumentation API 2017-08-10 14:22:57 +00:00
sanitizer_coverage_libcdep_new.cc [SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer 2017-08-30 22:49:31 +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
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_errno.cc [Sanitizers] Consolidate internal errno definitions. 2017-07-06 00:50:57 +00:00
sanitizer_errno.h OpenBSD UBsan support enabling SANITIZER_OPENBSD widely 2018-03-03 12:12:03 +00:00
sanitizer_errno_codes.h [Sanitizers] Consolidate internal errno definitions. 2017-07-06 00:50:57 +00:00
sanitizer_file.cc [sanitizer_common] Disable filesystem-related code for Fuchsia 2017-08-01 21:28:39 +00:00
sanitizer_file.h [sanitizer_common] Move filesystem-related code out of sanitizer_common.cc 2017-07-22 01:46:40 +00:00
sanitizer_flag_parser.cc
sanitizer_flag_parser.h [sanitizer] Do not over-dup string flags 2017-08-21 21:25:38 +00:00
sanitizer_flags.cc [ASan] Report illegal instruction exceptions in ASan 2016-08-03 18:13:14 +00:00
sanitizer_flags.h [sanitizer] Remove unnecessary attribute hidden. 2017-11-10 22:52:44 +00:00
sanitizer_flags.inc Mmap interceptor new option, Write Exec runtime detector 2018-03-21 21:25:07 +00:00
sanitizer_freebsd.h
sanitizer_fuchsia.cc [sanitizer] Remove empty Symbolizer PrepareForSandboxing 2018-04-03 18:07:22 +00:00
sanitizer_fuchsia.h [sanitizer_common] Don't provide sanitizer_procmaps API functions where not defined 2017-09-25 20:48:51 +00:00
sanitizer_getauxval.h [sanitizer] Allow Fuchsia to use getauxval 2018-01-19 22:33:30 +00:00
sanitizer_interceptors_ioctl_netbsd.inc Skip two more ioctl interceptors for NetBSD 2018-02-26 13:00:40 +00:00
sanitizer_interface_internal.h [sanitizer_common] Update sanitizers w.r.t. the new comparisons instrumentation API 2017-08-10 14:22:57 +00:00
sanitizer_internal_defs.h Fix NetBSD 32-bit build 2018-03-03 18:38:20 +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 OpenBSD UBsan support enabling SANITIZER_OPENBSD widely 2018-03-03 12:12:03 +00:00
sanitizer_libignore.h [tsan] Separate the constants in libignore and bump the maximum for instrumented libraries 2018-01-04 02:28:51 +00:00
sanitizer_linux.cc [sanitizer] Fix PPC bot 2018-03-23 00:15:10 +00:00
sanitizer_linux.h OpenBSD UBsan support final missing bits 2018-03-16 22:29:29 +00:00
sanitizer_linux_libcdep.cc OpenBSD UBsan support missing bits 2018-03-19 23:12:14 +00:00
sanitizer_linux_mips64.S [ESan][MIPS] Adds support for MIPS64 2016-10-06 09:58:11 +00:00
sanitizer_linux_s390.cc [sanitizer] [SystemZ] Update CVE-2016-2143 check for Ubuntu 16.04 2017-05-24 15:06:33 +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 [sanitizer] Fix Darwin build 2018-03-24 08:13:18 +00:00
sanitizer_mac.h [compiler-rt] Fix const and volatile qualifier warnings 2017-11-10 21:19:20 +00:00
sanitizer_mac_libcdep.cc (NFC) Rename GetMax{,User}VirtualAddress. 2017-11-07 23:51:22 +00:00
sanitizer_malloc_mac.inc [sanitizer] Fix Darwin build 2018-03-24 08:13:18 +00:00
sanitizer_mutex.h [Sanitizers] Basic sanitizer Solaris support (PR 33274) 2017-12-14 20:14:29 +00:00
sanitizer_openbsd.cc OpenBSD UBsan support / common 2018-03-03 12:04:40 +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 [sanitizer] Align & pad the allocator structures to the cacheline size v2 2018-03-12 17:18:26 +00:00
sanitizer_platform_interceptors.h FreeBSD sanitizer common, intercept couple of more functions 2018-03-23 21:44:59 +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_netbsd.cc Remove obsolete ptrace(2) operations from NetBSD 2018-03-03 16:21:13 +00:00
sanitizer_platform_limits_netbsd.h Remove obsolete ptrace(2) operations from NetBSD 2018-03-03 16:21:13 +00:00
sanitizer_platform_limits_openbsd.cc OpenBSD UBsan support / common 2018-03-03 12:04:40 +00:00
sanitizer_platform_limits_openbsd.h OpenBSD sanitizer common, define RLIMIT_AS constant 2018-03-06 08:24:16 +00:00
sanitizer_platform_limits_posix.cc [asan] Fix build with Android NDK < 14. 2018-01-04 19:47:55 +00:00
sanitizer_platform_limits_posix.h Adding Msan support to FreeBSD 2018-03-03 11:43:11 +00:00
sanitizer_platform_limits_solaris.cc [Sanitizers] Basic sanitizer Solaris support (PR 33274) 2017-12-14 20:14:29 +00:00
sanitizer_platform_limits_solaris.h Correct the setitimer interceptor on NetBSD 2018-01-12 20:45:56 +00:00
sanitizer_posix.cc Mmap interceptor providing mprotect support 2018-03-24 07:45:24 +00:00
sanitizer_posix.h OpenBSD UBsan support enabling SANITIZER_OPENBSD widely 2018-03-03 12:12:03 +00:00
sanitizer_posix_libcdep.cc [sanitizer] Remove empty Symbolizer PrepareForSandboxing 2018-04-03 18:07:22 +00:00
sanitizer_printf.cc [sanitizer] Move CommonSanitizerReportMutex from _print.cc to _common.cc 2017-09-22 18:31:37 +00:00
sanitizer_procmaps.h OpenBSD UBsan support procmaps 2018-03-15 22:40:47 +00:00
sanitizer_procmaps_bsd.cc OpenBSD UBsan support final missing bits 2018-03-16 22:29:29 +00:00
sanitizer_procmaps_common.cc OpenBSD UBsan support procmaps 2018-03-15 22:40:47 +00:00
sanitizer_procmaps_freebsd.cc Removed platform-specific ifdefs from sanitizer_procmaps.h 2017-09-22 17:48:24 +00:00
sanitizer_procmaps_linux.cc [LSan] Fix one source of stale segments in the process memory mapping. 2017-11-28 22:15:27 +00:00
sanitizer_procmaps_mac.cc [compiler-rt] Fix const and volatile qualifier warnings 2017-11-10 21:19:20 +00:00
sanitizer_procmaps_solaris.cc [Sanitizers] Basic sanitizer Solaris support (PR 33274) 2017-12-14 20:14:29 +00:00
sanitizer_quarantine.h [Sanitizers] New sanitizer API to purge allocator quarantine. 2017-10-23 17:12:07 +00:00
sanitizer_report_decorator.h [compiler-rt] Move dump_instruction_bytes and dump_registers into sanitizer_common 2017-09-13 06:24:59 +00:00
sanitizer_signal_interceptors.inc Handle symbol renaming of sigaction for NetBSD 2017-11-28 10:54:58 +00:00
sanitizer_solaris.cc [Sanitizers] Basic sanitizer Solaris support (PR 33274) 2017-12-14 20:14:29 +00:00
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 Revert "[PowerPC] Fix sanitizer frame unwind on 32-bit ABIs" 2017-03-17 01:15:39 +00:00
sanitizer_stacktrace.h OpenBSD UBsan support enabling SANITIZER_OPENBSD widely 2018-03-03 12:12:03 +00:00
sanitizer_stacktrace_libcdep.cc Do not crash with missing symbolication when running in DEDUP mode 2017-07-10 20:06:06 +00:00
sanitizer_stacktrace_printer.cc Add DemangleFunctionName for backtracing on NetBSD 2017-11-20 18:06:26 +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 Update suspended threads info to be compatible with darwin 2017-04-17 20:29:38 +00:00
sanitizer_stoptheworld_linux_libcdep.cc [tsan] Use __sanitizer_siginfo from sanitizer_common 2017-11-10 04:27:47 +00:00
sanitizer_stoptheworld_mac.cc [sanitizer] Remove use of task_for_pid from sanitizer_stoptheworld_mac.cc 2017-08-07 18:07:20 +00:00
sanitizer_suppressions.cc [sanitizer_common] Disable filesystem-related code for Fuchsia 2017-08-01 21:28:39 +00:00
sanitizer_suppressions.h [UBSan] Implement runtime suppressions (PR25066). 2015-12-18 19:56:42 +00:00
sanitizer_symbolizer.cc Invalidate symbolizer module list from dlopen/dlclose interceptors 2017-09-26 16:12:56 +00:00
sanitizer_symbolizer.h [sanitizer] Remove empty Symbolizer PrepareForSandboxing 2018-04-03 18:07:22 +00:00
sanitizer_symbolizer_fuchsia.cc [Fuchsia] Magenta -> Zircon 2017-09-13 01:18:15 +00:00
sanitizer_symbolizer_internal.h Revert r324847, there's bot failures. 2018-02-11 20:44:04 +00:00
sanitizer_symbolizer_libbacktrace.cc [sanitizer] Fix sanitizer_common compile errors on gcc trunk 2017-11-07 20:10:17 +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 [sanitizer] Remove empty Symbolizer PrepareForSandboxing 2018-04-03 18:07:22 +00:00
sanitizer_symbolizer_mac.cc Revert r324847, there's bot failures. 2018-02-11 20:44:04 +00:00
sanitizer_symbolizer_mac.h
sanitizer_symbolizer_posix_libcdep.cc [sanitizer] Remove empty Symbolizer PrepareForSandboxing 2018-04-03 18:07:22 +00:00
sanitizer_symbolizer_win.cc [sanitizer] Remove empty Symbolizer PrepareForSandboxing 2018-04-03 18:07:22 +00:00
sanitizer_syscall_generic.inc OpenBSD UBsan support enabling SANITIZER_OPENBSD widely 2018-03-03 12:12:03 +00:00
sanitizer_syscall_linux_aarch64.inc Try to unbreak Linux sanitizers 2017-10-25 17:56:36 +00:00
sanitizer_syscall_linux_arm.inc [sanitizer] Asm implementation of syscall() for arm32. 2017-11-08 00:15:12 +00:00
sanitizer_syscall_linux_x86_64.inc Try to unbreak Linux sanitizers 2017-10-25 17:56:36 +00:00
sanitizer_syscalls_netbsd.inc Remove more references to ptrace_pt_{g,s}et_sigmask 2018-03-03 18:41:38 +00:00
sanitizer_termination.cc [sanitizer] Move termination functions in their own file 2016-05-27 21:57:17 +00:00
sanitizer_thread_registry.cc Prevent Thread Exited/Joined events race 2017-11-26 20:20:42 +00:00
sanitizer_thread_registry.h Prevent Thread Exited/Joined events race 2017-11-26 20:20:42 +00:00
sanitizer_tls_get_addr.cc Msan, fixing DTLS_on_tls_get_addr signature empty implementation 2018-02-21 04:16:45 +00:00
sanitizer_tls_get_addr.h [lsan] Avoid segfaults during threads destruction under high load 2017-04-06 07:42:27 +00:00
sanitizer_unwind_linux_libcdep.cc [Sanitizers] Basic sanitizer Solaris support (PR 33274) 2017-12-14 20:14:29 +00:00
sanitizer_unwind_win.cc [sanitizer] Split stacktrace/symbolizer: Windows unwind 2018-04-04 15:23:30 +00:00
sanitizer_vector.h Move __tsan::Vector to __sanitizer 2017-12-04 12:30:09 +00:00
sanitizer_win.cc [sanitizer] Split stacktrace/symbolizer: Windows unwind 2018-04-04 15:23:30 +00:00
sanitizer_win.h [sanitizer_common] Don't provide sanitizer_procmaps API functions where not defined 2017-09-25 20:48: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 [compiler-rt][asan] Fix incorrect macro preventing ICF with MSVC 2017-02-21 20:04:47 +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] Fix sanitizer_common compile errors on gcc trunk 2017-11-07 20:10:17 +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