llvm-project/compiler-rt/lib/ubsan
Kostya Kortchinsky 988fab3f66 [sanitizer] Split coverage into separate RT in sanitizer_common
Summary:
`sanitizer_common`'s coverage support is fairly well separated, and libcdep by
default. Several sanitizers don't make use of coverage, and as far as I can
tell do no benefit from the extra dependencies pulled in by the coverage public
interface functions.

The following sanitizers call `InitializeCoverage` explicitely: MSan, ASan,
LSan, HWAsan, UBSan. On top of this, any sanitizer bundling RTUBSan should
add the coverage RT as well: ASan, Scudo, UBSan, CFI (diag), TSan, MSan, HWAsan.

So in the end the following have no need: DFSan, ESan, CFI, SafeStack (nolibc
anyway), XRay, and the upcoming Scudo minimal runtime.

I tested this with all the sanitizers check-* with gcc & clang, and in
standalone on Linux & Android, and there was no issue. I couldn't test this on
Mac, Fuchsia, BSDs, & Windows for lack of an environment, so adding a bunch of
people for additional scrunity. I couldn't test HWAsan either.

Reviewers: eugenis, vitalybuka, alekseyshl, flowerhack, kubamracek, dberris, rnk, krytarowski

Reviewed By: vitalybuka, alekseyshl, flowerhack, dberris

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

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

llvm-svn: 328204
2018-03-22 15:04:31 +00:00
..
CMakeLists.txt [sanitizer] Split coverage into separate RT in sanitizer_common 2018-03-22 15:04:31 +00:00
ubsan.syms.extra
ubsan_checks.inc [ubsan] Diagnose invalid uses of builtins (compiler-rt) 2017-07-29 00:20:02 +00:00
ubsan_diag.cc [sanitizers] Rename GetStackTraceWithPcBpAndContext 2017-11-09 07:53:06 +00:00
ubsan_diag.h [sanitizers] Rename GetStackTraceWithPcBpAndContext 2017-11-09 07:53:06 +00:00
ubsan_diag_standalone.cc [ubsan] Make ubsan version of __sanitizer_print_stack_trace consistent with other sanitizers 2017-09-11 21:25:22 +00:00
ubsan_flags.cc [ubsan] Add preinit initializer for ubsan 2018-01-23 19:54:02 +00:00
ubsan_flags.h [UBSan] Embed UBSan into ASan runtime (compiler-rt part). 2015-04-01 22:42:36 +00:00
ubsan_flags.inc [UBSan] Add the ability to print more precise error kind in summary line. 2015-08-24 23:18:49 +00:00
ubsan_handlers.cc -fsanitize=vptr warnings on bad static types in dynamic_cast and typeid 2017-12-28 12:45:23 +00:00
ubsan_handlers.h Revert r320977 "No -fsanitize=function warning when calling noexcept function through non-noexcept pointer in C++17" 2017-12-18 13:51:46 +00:00
ubsan_handlers_cxx.cc ubsan: Unbreak ubsan_cxx runtime library on Windows. 2017-09-15 20:24:12 +00:00
ubsan_handlers_cxx.h [cfi] Cross-DSO CFI diagnostic mode (compiler-rt part) 2016-01-25 23:34:38 +00:00
ubsan_init.cc [ubsan] Split ubsan_init_standalone 2017-09-21 00:35:22 +00:00
ubsan_init.h [ubsan] Use the correct tool name in diagnostics 2017-04-14 18:24:35 +00:00
ubsan_init_standalone.cc [ubsan] Support signal specific options in ubsan 2017-09-23 02:47:11 +00:00
ubsan_init_standalone_preinit.cc [ubsan] Add preinit initializer for ubsan 2018-01-23 19:54:02 +00:00
ubsan_interface.inc [ubsan] Fix interface_symbols_windows test 2017-09-18 18:46:19 +00:00
ubsan_platform.h OpenBSD UBsan support / ubsan part 2018-03-02 07:30:22 +00:00
ubsan_signals_standalone.cc [ubsan] Disable signal handling on Android. 2018-01-22 19:26:01 +00:00
ubsan_signals_standalone.h [ubsan] Support signal specific options in ubsan 2017-09-23 02:47:11 +00:00
ubsan_type_hash.cc CFI: Get check-cfi passing on Windows. 2015-07-08 22:10:34 +00:00
ubsan_type_hash.h UBSan: crash less often on corrupted Vtables. 2016-06-02 18:36:12 +00:00
ubsan_type_hash_itanium.cc [ubsan] Fix a faulty memory accessibility check 2017-06-15 18:23:16 +00:00
ubsan_type_hash_win.cc UBSan: Simplify logic for locating the RTTI object. 2015-07-08 23:22:39 +00:00
ubsan_value.cc Fix bad regression from r263077 when building with MSVC. 2016-03-12 01:57:31 +00:00
ubsan_value.h [UBSan] Explicitly list all supported OS/arch pairs supported by UBSan. 2015-03-26 17:26:04 +00:00
ubsan_win_dll_thunk.cc [sanitizer] Intercept weak functions in dll_thunks. 2017-02-02 23:01:34 +00:00
ubsan_win_dynamic_runtime_thunk.cc [sanitizer] Add dynamic_runtime_thunk for different sanitizers. 2017-02-02 23:01:41 +00:00
ubsan_win_weak_interception.cc [sanitizer] Use interception to access to strong definitions in the executable. 2017-02-02 23:02:11 +00:00
weak_symbols.txt Enable weak hooks on darwin 2017-01-09 03:51:42 +00:00