llvm-project/compiler-rt/lib/lsan
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
..
.clang-format Tell clang-format that (most) sanitizers are written using Google style guide. 2015-11-19 22:11:10 +00:00
CMakeLists.txt [sanitizer] Split coverage into separate RT in sanitizer_common 2018-03-22 15:04:31 +00:00
lsan.cc [lsan] Respect log_path option in standalone LSan 2018-01-22 09:30:27 +00:00
lsan.h [LSan] Export __lsan_init 2017-11-15 23:42:48 +00:00
lsan_allocator.cc [Sanitizers] Add more standard compliant posix_memalign implementation for LSan. 2018-03-12 21:59:06 +00:00
lsan_allocator.h [Sanitizers] Add more standard compliant posix_memalign implementation for LSan. 2018-03-12 21:59:06 +00:00
lsan_common.cc [lsan] Remove semicolon after do {} while (0) 2017-11-13 20:59:26 +00:00
lsan_common.h Fix some typos in a comment. 2017-11-15 21:19:20 +00:00
lsan_common_linux.cc [LSan] Detect dynamic loader by its base address. 2017-11-06 21:27:06 +00:00
lsan_common_mac.cc [Sanitizers, LSan, Darwin] Allow for lack of VM_MEMORY_OS_ALLOC_ONCE 2018-01-13 14:43:49 +00:00
lsan_flags.inc Implement tls scanning for darwin LSan 2017-05-25 17:41:13 +00:00
lsan_interceptors.cc [Sanitizers] Add more standard compliant posix_memalign implementation for LSan. 2018-03-12 21:59:06 +00:00
lsan_linux.cc Implement standalone lsan interceptors for OS X 2017-04-11 20:05:02 +00:00
lsan_mac.cc Add lsan interceptors for libdispatch functions on darwin 2017-06-19 19:21:31 +00:00
lsan_malloc_mac.cc [Sanitizers] Add more standard compliant posix_memalign implementation for LSan. 2018-03-12 21:59:06 +00:00
lsan_preinit.cc
lsan_thread.cc Add lsan interceptors for libdispatch functions on darwin 2017-06-19 19:21:31 +00:00
lsan_thread.h Add lsan interceptors for libdispatch functions on darwin 2017-06-19 19:21:31 +00:00
weak_symbols.txt [lsan] Add __lsan_default_options 2017-09-22 23:49:49 +00:00