From 841796decdcc7818736a7f7ba28fc636a6a497d2 Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Tue, 23 Oct 2018 20:20:22 +0000 Subject: [ORC] Change how non-exported symbols are matched during lookup. In the new scheme the client passes a list of (JITDylib&, bool) pairs, rather than a list of JITDylibs. For each JITDylib the boolean indicates whether or not to match against non-exported symbols (true means that they should be found, false means that they should not). The MatchNonExportedInJD and MatchNonExported parameters on lookup are removed. The new scheme is more flexible, and easier to understand. This patch also updates JITDylib search orders to be lists of (JITDylib&, bool) pairs to match the new lookup scheme. Error handling is also plumbed through the LLJIT class to allow regression tests to fail predictably when a lookup from a lazy call-through fails. llvm-svn: 345077 --- llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp') diff --git a/llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp b/llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp index af4c508d7f1..ba8e2a9c52f 100644 --- a/llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp +++ b/llvm/lib/ExecutionEngine/Orc/LazyReexports.cpp @@ -52,8 +52,8 @@ LazyCallThroughManager::callThroughToSymbol(JITTargetAddress TrampolineAddr) { SymbolName = I->second.second; } - auto LookupResult = ES.lookup({SourceJD}, {SymbolName}, - NoDependenciesToRegister, true, nullptr, true); + auto LookupResult = ES.lookup({{SourceJD, true}}, {SymbolName}, + NoDependenciesToRegister, true); if (!LookupResult) { ES.reportError(LookupResult.takeError()); -- cgit v1.2.3