From 044eeda22cf60b3751c81f5afd82cc662c91bad6 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Thu, 30 Jul 2015 20:49:35 +0000 Subject: [PATCH] Enable dfsan for aarch64 This patch enable DFSan memory transformation for aarch64 (39-bit VMA). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243684 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Transforms/Instrumentation/DataFlowSanitizer.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp b/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp index 2de6e1afaba..8344e087a95 100644 --- a/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp +++ b/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp @@ -420,6 +420,8 @@ bool DataFlowSanitizer::doInitialization(Module &M) { bool IsX86_64 = TargetTriple.getArch() == llvm::Triple::x86_64; bool IsMIPS64 = TargetTriple.getArch() == llvm::Triple::mips64 || TargetTriple.getArch() == llvm::Triple::mips64el; + bool IsAArch64 = TargetTriple.getArch() == llvm::Triple::aarch64 || + TargetTriple.getArch() == llvm::Triple::aarch64_be; const DataLayout &DL = M.getDataLayout(); @@ -434,6 +436,8 @@ bool DataFlowSanitizer::doInitialization(Module &M) { ShadowPtrMask = ConstantInt::getSigned(IntptrTy, ~0x700000000000LL); else if (IsMIPS64) ShadowPtrMask = ConstantInt::getSigned(IntptrTy, ~0xF000000000LL); + else if (IsAArch64) + ShadowPtrMask = ConstantInt::getSigned(IntptrTy, ~0x7800000000LL); else report_fatal_error("unsupported triple"); -- 2.34.1