aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/ToolChain.cpp
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2022-11-17 22:45:29 +0000
committerFangrui Song <i@maskray.me>2022-11-17 22:45:30 +0000
commitfc91c705937d7ba3b92da38f3a883dde720c41f2 (patch)
tree6ba2f4a461fd181645ecb6a8c2ddfbd3cb7ab704 /clang/lib/Driver/ToolChain.cpp
parentc9320bc87121af2a198f174c8d58f75295efbbd7 (diff)
downloadllvm-fc91c705937d7ba3b92da38f3a883dde720c41f2.zip
llvm-fc91c705937d7ba3b92da38f3a883dde720c41f2.tar.gz
llvm-fc91c705937d7ba3b92da38f3a883dde720c41f2.tar.bz2
Revert D135411 "Add generic KCFI operand bundle lowering"
This reverts commit eb2a57ebc7aaad551af30462097a9e06c96db925. llvm/include/llvm/Transforms/Instrumentation/KCFI.h including llvm/CodeGen is a layering violation. We should use an approach where Instrumementation/ doesn't need to include CodeGen/. Sorry for not spotting this in the review.
Diffstat (limited to 'clang/lib/Driver/ToolChain.cpp')
-rw-r--r--clang/lib/Driver/ToolChain.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp
index 1cb9506..695741f 100644
--- a/clang/lib/Driver/ToolChain.cpp
+++ b/clang/lib/Driver/ToolChain.cpp
@@ -1089,7 +1089,7 @@ SanitizerMask ToolChain::getSupportedSanitizers() const {
~SanitizerKind::Function) |
(SanitizerKind::CFI & ~SanitizerKind::CFIICall) |
SanitizerKind::CFICastStrict | SanitizerKind::FloatDivideByZero |
- SanitizerKind::KCFI | SanitizerKind::UnsignedIntegerOverflow |
+ SanitizerKind::UnsignedIntegerOverflow |
SanitizerKind::UnsignedShiftBase | SanitizerKind::ImplicitConversion |
SanitizerKind::Nullability | SanitizerKind::LocalBounds;
if (getTriple().getArch() == llvm::Triple::x86 ||
@@ -1098,6 +1098,9 @@ SanitizerMask ToolChain::getSupportedSanitizers() const {
getTriple().isAArch64() || getTriple().isRISCV())
Res |= SanitizerKind::CFIICall;
if (getTriple().getArch() == llvm::Triple::x86_64 ||
+ getTriple().isAArch64(64))
+ Res |= SanitizerKind::KCFI;
+ if (getTriple().getArch() == llvm::Triple::x86_64 ||
getTriple().isAArch64(64) || getTriple().isRISCV())
Res |= SanitizerKind::ShadowCallStack;
if (getTriple().isAArch64(64))