diff options
author | Lang Hames <lhames@gmail.com> | 2018-10-13 21:53:40 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2018-10-13 21:53:40 +0000 |
commit | 7899ccbcca9dd69ad21231a047c1e6130528937e (patch) | |
tree | 1ce81ba02e47fa111fbf63bf46e910dd3bd63666 /llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp | |
parent | 2ac03ec2c4cb1d995a1ce70a5b15fa4f6ac8f9d1 (diff) | |
download | bcm5719-llvm-7899ccbcca9dd69ad21231a047c1e6130528937e.tar.gz bcm5719-llvm-7899ccbcca9dd69ad21231a047c1e6130528937e.zip |
[ORC] During lookup, do not match against hidden symbols in other JITDylibs.
This adds two arguments to the main ExecutionSession::lookup method:
MatchNonExportedInJD, and MatchNonExported. These control whether and where
hidden symbols should be matched when searching a list of JITDylibs.
A similar effect could have been achieved by filtering search results, but
this would have involved materializing symbol definitions (since materialization
is triggered on lookup) only to throw the results away, among other issues.
llvm-svn: 344467
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp b/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp index 47cb273ee12..6a180106240 100644 --- a/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp +++ b/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp @@ -128,7 +128,10 @@ Error CtorDtorRunner2::run() { } } - if (auto CtorDtorMap = lookup({&JD}, std::move(Names))) { + auto &ES = JD.getExecutionSession(); + if (auto CtorDtorMap = + ES.lookup({&JD}, std::move(Names), NoDependenciesToRegister, true, + nullptr, true)) { for (auto &KV : CtorDtorsByPriority) { for (auto &Name : KV.second) { assert(CtorDtorMap->count(Name) && "No entry for Name"); |