Driver: Make -fsanitize=shadow-call-stack compatible with -fsanitize-minimal-runtime.
authorPeter Collingbourne <peter@pcc.me.uk>
Fri, 9 Nov 2018 17:54:49 +0000 (17:54 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Fri, 9 Nov 2018 17:54:49 +0000 (17:54 +0000)
Differential Revision: https://reviews.llvm.org/D54330

llvm-svn: 346526

clang/lib/Driver/SanitizerArgs.cpp
clang/test/Driver/fsanitize.c

index 030005446418bceee1050bddb7245874bcb7b1c0..135adb519bd45fb0468fb78cf1c5fa8c10a96b9e 100644 (file)
@@ -47,7 +47,7 @@ enum : SanitizerMask {
   TrappingDefault = CFI,
   CFIClasses =
       CFIVCall | CFINVCall | CFIMFCall | CFIDerivedCast | CFIUnrelatedCast,
-  CompatibleWithMinimalRuntime = TrappingSupported | Scudo,
+  CompatibleWithMinimalRuntime = TrappingSupported | Scudo | ShadowCallStack,
 };
 
 enum CoverageFeature {
index dd282d2b08f07d3c02dc78d8492ee76bf9ef6474..aeb0130e8cb782c63be9005a3856b6c20310109e 100644 (file)
 // CHECK-CFI-NOICALL-MINIMAL: "-fsanitize-trap=cfi-derived-cast,cfi-mfcall,cfi-unrelated-cast,cfi-nvcall,cfi-vcall"
 // CHECK-CFI-NOICALL-MINIMAL: "-fsanitize-minimal-runtime"
 
+// RUN: %clang -target x86_64-linux-gnu -fsanitize=shadow-call-stack -fsanitize-minimal-runtime %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCS-MINIMAL
+// CHECK-SCS-MINIMAL: "-fsanitize=shadow-call-stack"
+// CHECK-SCS-MINIMAL: "-fsanitize-minimal-runtime"
+
 // RUN: %clang -target aarch64-linux-gnu -fsanitize=scudo %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO
 // RUN: %clang -target arm-linux-androideabi -fsanitize=scudo %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO
 // RUN: %clang -target x86_64-linux-gnu -fsanitize=scudo %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SCUDO