hanchenye-llvm-project/compiler-rt/lib/msan
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
..
tests [Fuzzer] Avoid the unnecessary rebuild of the custom libc++ 2018-03-07 18:14:09 +00:00
.clang-format
CMakeLists.txt [sanitizer] Split coverage into separate RT in sanitizer_common 2018-03-22 15:04:31 +00:00
msan.cc [MSan] Print current stack on CHECK violation 2018-02-26 18:27:24 +00:00
msan.h [MSan] Print current stack on CHECK violation 2018-02-26 18:27:24 +00:00
msan.syms.extra
msan_allocator.cc [Sanitizers] Make common allocator agnostic to failure handling modes. 2018-01-17 23:20:36 +00:00
msan_allocator.h Revert r304285, r304297. 2017-06-05 21:20:55 +00:00
msan_blacklist.txt
msan_chained_origin_depot.cc
msan_chained_origin_depot.h
msan_flags.h
msan_flags.inc
msan_interceptors.cc [sanitizer] Move strxfrm interceptors into sanitizer_common 2018-03-07 00:14:30 +00:00
msan_interface_internal.h
msan_linux.cc (NFC) Rename GetMax{,User}VirtualAddress. 2017-11-07 23:51:22 +00:00
msan_new_delete.cc [MSan,TSan] Add aligned new/delete interceptors. 2017-12-22 17:02:17 +00:00
msan_origin.h
msan_poisoning.cc
msan_poisoning.h
msan_report.cc [msan] Replace CommonSanitizerReportMutex with ScopedErrorReportLock 2017-11-09 22:48:45 +00:00
msan_thread.cc
msan_thread.h