diff options
author | Kostya Kortchinsky <kostyak@google.com> | 2018-03-22 15:04:31 +0000 |
---|---|---|
committer | Kostya Kortchinsky <kostyak@google.com> | 2018-03-22 15:04:31 +0000 |
commit | f8d3fb24f9a40efa40128a74ce919b9a2e88f13f (patch) | |
tree | e52ba361365e949d72ad07ebda8507a9fc0ff958 /lib/scudo/CMakeLists.txt | |
parent | 351f235ea4d0bfa17b65dd3a0ac14bbd8a98b90b (diff) | |
download | compiler-rt-f8d3fb24f9a40efa40128a74ce919b9a2e88f13f.tar.gz |
[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
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@328204 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/scudo/CMakeLists.txt')
-rw-r--r-- | lib/scudo/CMakeLists.txt | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/scudo/CMakeLists.txt b/lib/scudo/CMakeLists.txt index 0aba0cad1..97a26fa42 100644 --- a/lib/scudo/CMakeLists.txt +++ b/lib/scudo/CMakeLists.txt @@ -51,6 +51,7 @@ if(COMPILER_RT_HAS_SCUDO) SOURCES ${SCUDO_SOURCES} OBJECT_LIBS RTSanitizerCommonNoTermination RTSanitizerCommonLibc + RTSanitizerCommonCoverage RTInterception RTUbsan CFLAGS ${SCUDO_CFLAGS} @@ -70,6 +71,7 @@ if(COMPILER_RT_HAS_SCUDO) SOURCES ${SCUDO_SOURCES} ${SCUDO_CXX_SOURCES} OBJECT_LIBS RTSanitizerCommonNoTermination RTSanitizerCommonLibc + RTSanitizerCommonCoverage RTInterception RTUbsan RTUbsan_cxx |