Author: Craig Topper Date: 2020-07-08T10:36:48-07:00 New Revision: 01d5cc5386affeda878e7e21b57c2a7e050d7b0a
URL: https://github.com/llvm/llvm-project/commit/01d5cc5386affeda878e7e21b57c2a7e050d7b0a DIFF: https://github.com/llvm/llvm-project/commit/01d5cc5386affeda878e7e21b57c2a7e050d7b0a.diff LOG: hwasan: Don't pass the tagged-globals target-feature to non-aarch64 backends. The other backends don't know what this feature is and print a message to stderr. I recently tried to rework some target feature stuff in X86 and this unknown feature tripped an assert I added. Differential Revision: https://reviews.llvm.org/D83369 Added: Modified: clang/lib/Driver/SanitizerArgs.cpp clang/test/Driver/fsanitize.c Removed: ################################################################################ diff --git a/clang/lib/Driver/SanitizerArgs.cpp b/clang/lib/Driver/SanitizerArgs.cpp index 9d307e8097cb..0b81152d57f6 100644 --- a/clang/lib/Driver/SanitizerArgs.cpp +++ b/clang/lib/Driver/SanitizerArgs.cpp @@ -1068,7 +1068,7 @@ void SanitizerArgs::addArgs(const ToolChain &TC, const llvm::opt::ArgList &Args, CmdArgs.push_back(Args.MakeArgString("hwasan-abi=" + HwasanAbi)); } - if (Sanitizers.has(SanitizerKind::HWAddress)) { + if (Sanitizers.has(SanitizerKind::HWAddress) && TC.getTriple().isAArch64()) { CmdArgs.push_back("-target-feature"); CmdArgs.push_back("+tagged-globals"); } diff --git a/clang/test/Driver/fsanitize.c b/clang/test/Driver/fsanitize.c index 9ff2bdf58d6c..7340bfb35e40 100644 --- a/clang/test/Driver/fsanitize.c +++ b/clang/test/Driver/fsanitize.c @@ -868,9 +868,7 @@ // RUN: %clang -target x86_64-linux-gnu -fsanitize=hwaddress -fsanitize-hwaddress-abi=platform %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-HWASAN-PLATFORM-ABI // RUN: %clang -target x86_64-linux-gnu -fsanitize=hwaddress -fsanitize-hwaddress-abi=foo %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-HWASAN-FOO-ABI // CHECK-HWASAN-INTERCEPTOR-ABI: "-default-function-attr" "hwasan-abi=interceptor" -// CHECK-HWASAN-INTERCEPTOR-ABI: "-target-feature" "+tagged-globals" // CHECK-HWASAN-PLATFORM-ABI: "-default-function-attr" "hwasan-abi=platform" -// CHECK-HWASAN-PLATFORM-ABI: "-target-feature" "+tagged-globals" // CHECK-HWASAN-FOO-ABI: error: invalid value 'foo' in '-fsanitize-hwaddress-abi=foo' // RUN: %clang -target x86_64-linux-gnu -fsanitize=address,pointer-compare,pointer-subtract %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-POINTER-ALL _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits