summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/ToolChains/Linux.cpp
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2018-09-07 09:21:09 +0000
committerAlexander Potapenko <glider@google.com>2018-09-07 09:21:09 +0000
commitd49c32ce3f3f87ae7b04c168438a038a632db0c1 (patch)
tree707484c721249c3c31e89adf6288855bef4c1299 /clang/lib/Driver/ToolChains/Linux.cpp
parente5536b972f053d8c30a444e429e2dd39505aa37c (diff)
downloadbcm5719-llvm-d49c32ce3f3f87ae7b04c168438a038a632db0c1.tar.gz
bcm5719-llvm-d49c32ce3f3f87ae7b04c168438a038a632db0c1.zip
[MSan] add KMSAN support to Clang driver
Boilerplate code for using KMSAN instrumentation in Clang. We add a new command line flag, -fsanitize=kernel-memory, with a corresponding SanitizerKind::KernelMemory, which, along with SanitizerKind::Memory, maps to the memory_sanitizer feature. KMSAN is only supported on x86_64 Linux. It's incompatible with other sanitizers, but supports code coverage instrumentation. llvm-svn: 341641
Diffstat (limited to 'clang/lib/Driver/ToolChains/Linux.cpp')
-rw-r--r--clang/lib/Driver/ToolChains/Linux.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp
index d8786817ec1..2a87cb077c8 100644
--- a/clang/lib/Driver/ToolChains/Linux.cpp
+++ b/clang/lib/Driver/ToolChains/Linux.cpp
@@ -939,6 +939,8 @@ SanitizerMask Linux::getSupportedSanitizers() const {
Res |= SanitizerKind::Leak;
if (IsX86_64 || IsMIPS64 || IsAArch64 || IsPowerPC64)
Res |= SanitizerKind::Thread;
+ if (IsX86_64)
+ Res |= SanitizerKind::KernelMemory;
if (IsX86_64 || IsMIPS64)
Res |= SanitizerKind::Efficiency;
if (IsX86 || IsX86_64)
OpenPOWER on IntegriCloud