diff options
Diffstat (limited to 'llvm/lib/Target/TargetMachine.cpp')
-rw-r--r-- | llvm/lib/Target/TargetMachine.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Target/TargetMachine.cpp b/llvm/lib/Target/TargetMachine.cpp index f214a47..d9c8945 100644 --- a/llvm/lib/Target/TargetMachine.cpp +++ b/llvm/lib/Target/TargetMachine.cpp @@ -163,10 +163,11 @@ bool TargetMachine::shouldAssumeDSOLocal(const Module &M, // If the symbol is defined, it cannot be preempted. if (!GV->isDeclarationForLinker()) return true; - // FIXME asan does not call setDSOLocal appropriately. Fix asan and delete - // the hack. + // FIXME Sanitizers do not call setDSOLocal appropriately. Fix sanitizers + // and delete the hack. if (RM == Reloc::Static && !GV->isThreadLocal() && - M.getFunction("asan.module_ctor")) + (M.getFunction("asan.module_ctor") || + M.getFunction("memprof.module_ctor"))) return true; } else if (TT.isOSBinFormatELF()) { // If dso_local allows AsmPrinter::getSymbolPreferLocal to use a local |