summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2016-08-09 19:27:17 +0000
committerLang Hames <lhames@gmail.com>2016-08-09 19:27:17 +0000
commitbb9431acdae76f786f7bedceb9fa671b5f12d3c6 (patch)
tree48a173f44d8c510eb29cc754210decdaf3b32be8 /llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
parenta203c41dd9553a645f3b5468814552bb08eb8aff (diff)
downloadbcm5719-llvm-bb9431acdae76f786f7bedceb9fa671b5f12d3c6.tar.gz
bcm5719-llvm-bb9431acdae76f786f7bedceb9fa671b5f12d3c6.zip
Re-apply r278065 (Weak symbol support in RuntimeDyld) with a fix for ELF.
llvm-svn: 278149
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
index 805852b4887..db9c519b826 100644
--- a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
+++ b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
@@ -116,11 +116,13 @@ class OrcMCJITReplacement : public ExecutionEngine {
LinkingResolver(OrcMCJITReplacement &M) : M(M) {}
JITSymbol findSymbol(const std::string &Name) override {
- return M.findMangledSymbol(Name);
+ return M.ClientResolver->findSymbol(Name);
}
JITSymbol findSymbolInLogicalDylib(const std::string &Name) override {
- return M.ClientResolver->findSymbol(Name);
+ if (auto Sym = M.findMangledSymbol(Name))
+ return Sym;
+ return M.ClientResolver->findSymbolInLogicalDylib(Name);
}
private:
OpenPOWER on IntegriCloud