summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2018-10-13 21:53:40 +0000
committerLang Hames <lhames@gmail.com>2018-10-13 21:53:40 +0000
commit7899ccbcca9dd69ad21231a047c1e6130528937e (patch)
tree1ce81ba02e47fa111fbf63bf46e910dd3bd63666 /llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp
parent2ac03ec2c4cb1d995a1ce70a5b15fa4f6ac8f9d1 (diff)
downloadbcm5719-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.cpp5
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");
OpenPOWER on IntegriCloud