[PATCH] D44701: [sanitizer] Split coverage into separate RT in sanitizer_common

Kostya Kortchinsky via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 20 14:17:30 PDT 2018


cryptoad created this revision.
cryptoad added reviewers: eugenis, vitalybuka, alekseyshl, flowerhack, kubamracek, dberris, rnk, krytarowski.
Herald added subscribers: Sanitizers, delcypher, mgorny.

`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.


Repository:
  rCRT Compiler Runtime

https://reviews.llvm.org/D44701

Files:
  lib/asan/CMakeLists.txt
  lib/asan/tests/CMakeLists.txt
  lib/cfi/CMakeLists.txt
  lib/lsan/CMakeLists.txt
  lib/msan/CMakeLists.txt
  lib/sanitizer_common/CMakeLists.txt
  lib/scudo/CMakeLists.txt
  lib/tsan/CMakeLists.txt
  lib/ubsan/CMakeLists.txt

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44701.139194.patch
Type: text/x-patch
Size: 7873 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180320/485c6054/attachment.bin>


More information about the llvm-commits mailing list