Procházet zdrojové kódy

Enable memtag sanitizer in all AArch64 toolchains

That sanitizer does not have runtime library or other dependencies.

Differential Revision: https://reviews.llvm.org/D65642

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@368697 91177308-0d34-0410-b5e6-96231b3b80d8
Momchil Velikov před 6 roky
rodič
revize
36584d3c82
2 změnil soubory, kde provedl 3 přidání a 2 odebrání
  1. 3 0
      lib/Driver/ToolChain.cpp
  2. 0 2
      lib/Driver/ToolChains/Linux.cpp

+ 3 - 0
lib/Driver/ToolChain.cpp

@@ -923,6 +923,9 @@ SanitizerMask ToolChain::getSupportedSanitizers() const {
   if (getTriple().getArch() == llvm::Triple::x86_64 ||
   if (getTriple().getArch() == llvm::Triple::x86_64 ||
       getTriple().getArch() == llvm::Triple::aarch64)
       getTriple().getArch() == llvm::Triple::aarch64)
     Res |= SanitizerKind::ShadowCallStack;
     Res |= SanitizerKind::ShadowCallStack;
+  if (getTriple().getArch() == llvm::Triple::aarch64 ||
+      getTriple().getArch() == llvm::Triple::aarch64_be)
+    Res |= SanitizerKind::MemTag;
   return Res;
   return Res;
 }
 }
 
 

+ 0 - 2
lib/Driver/ToolChains/Linux.cpp

@@ -1029,8 +1029,6 @@ SanitizerMask Linux::getSupportedSanitizers() const {
     Res |= SanitizerKind::HWAddress;
     Res |= SanitizerKind::HWAddress;
     Res |= SanitizerKind::KernelHWAddress;
     Res |= SanitizerKind::KernelHWAddress;
   }
   }
-  if (IsAArch64)
-    Res |= SanitizerKind::MemTag;
   return Res;
   return Res;
 }
 }