diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2015-09-10 19:18:05 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2015-09-10 19:18:05 +0000 |
commit | 24ec4924c0bb6c2c25fa2cc62b2145bab56ec7ee (patch) | |
tree | 5146eee7fc3a662af102e549643986190de9afff /clang/lib/Driver/ToolChain.cpp | |
parent | 9071e4a6fa566e46d22c055c9aad557b72292e48 (diff) | |
download | llvm-24ec4924c0bb6c2c25fa2cc62b2145bab56ec7ee.zip llvm-24ec4924c0bb6c2c25fa2cc62b2145bab56ec7ee.tar.gz llvm-24ec4924c0bb6c2c25fa2cc62b2145bab56ec7ee.tar.bz2 |
Driver: Support cfi-icall on all OSs when targeting x86/x86_64.
llvm-svn: 247324
Diffstat (limited to 'clang/lib/Driver/ToolChain.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChain.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/clang/lib/Driver/ToolChain.cpp b/clang/lib/Driver/ToolChain.cpp index e93487d..b3b3959 100644 --- a/clang/lib/Driver/ToolChain.cpp +++ b/clang/lib/Driver/ToolChain.cpp @@ -493,8 +493,12 @@ bool ToolChain::AddFastMathRuntimeIfAvailable(const ArgList &Args, SanitizerMask ToolChain::getSupportedSanitizers() const { // Return sanitizers which don't require runtime support and are not - // platform or architecture-dependent. + // platform dependent. using namespace SanitizerKind; - return (Undefined & ~Vptr & ~Function) | (CFI & ~CFIICall) | CFICastStrict | - UnsignedIntegerOverflow | LocalBounds; + SanitizerMask Res = (Undefined & ~Vptr & ~Function) | (CFI & ~CFIICall) | + CFICastStrict | UnsignedIntegerOverflow | LocalBounds; + if (getTriple().getArch() == llvm::Triple::x86 || + getTriple().getArch() == llvm::Triple::x86_64) + Res |= CFIICall; + return Res; } |