summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h
diff options
context:
space:
mode:
authorAndres Freund <andres@anarazel.de>2018-05-24 17:03:06 +0000
committerAndres Freund <andres@anarazel.de>2018-05-24 17:03:06 +0000
commitac15cabd89f08a842f40b7a377d6d5838149fdb1 (patch)
treeb363fc9f56f73839ac906385d49110bb49490629 /llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h
parent512ccd7e6fbfbfb774ecd42902a4634b5e750f35 (diff)
downloadbcm5719-llvm-ac15cabd89f08a842f40b7a377d6d5838149fdb1.tar.gz
bcm5719-llvm-ac15cabd89f08a842f40b7a377d6d5838149fdb1.zip
[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
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h2
1 files changed, 1 insertions, 1 deletions
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,
OpenPOWER on IntegriCloud