From ac15cabd89f08a842f40b7a377d6d5838149fdb1 Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Thu, 24 May 2018 17:03:06 +0000 Subject: [ORC] Perform name mangling in findSymbolIn(), as done in findSymbol(). The lack of name mangling caused a unittest failure after r333147 (in TestEagerIRCompilation), as OSX prefixes symbol names with '_'. The lack of name mangling therefore leads to a NULL pointer being returned and then called, hence the failure. While it may look like it, this isn't an actual behavioral change, as findSymbolIn() previously was not exposed externally, and essentially dead code. Which explains why nobody noticed the issue previously. Reviewers: lhames Reviewed By: lhames Subscribers: chandlerc, llvm-commits Differential Revision: https://reviews.llvm.org/D47308 llvm-svn: 333206 --- llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h') diff --git a/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h b/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h index 5af5e6a3a49..96b553f6fdd 100644 --- a/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h +++ b/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h @@ -380,7 +380,7 @@ public: JITSymbol findSymbolIn(orc::VModuleKey K, const std::string &Name, bool ExportedSymbolsOnly) { - return KeyLayers[K]->findSymbolIn(K, Name, ExportedSymbolsOnly); + return KeyLayers[K]->findSymbolIn(K, mangle(Name), ExportedSymbolsOnly); } LLVMOrcErrorCode findSymbolAddress(JITTargetAddress &RetAddr, -- cgit v1.2.3