[llvm-dev] LLVM 10 ORC2 issue with symbol resolution

Dibyendu Majumdar via llvm-dev llvm-dev at lists.llvm.org
Mon Apr 13 10:05:57 PDT 2020


Hi,

I updated my project to LLVM 10.0 today and I am getting JIT symbol
resolution errors.
I could not find any example or updated tutorial or documentation that
describes the new api - as all documentation seems out of date.

I paste below some code snippets that show what I am doing:

/* global syms is a array mapping names to function addresses */

ES->createJITDylib("<main>");
MainJD = ES->getJITDylibByName("<main>");
MainJD->addGenerator(
    cantFail(llvm::orc::DynamicLibrarySearchGenerator::GetForCurrentProcess(
        DL->getGlobalPrefix())));
auto &JD = *MainJD;
llvm::orc::MangleAndInterner mangle(*ES, *this->DL);
llvm::orc::SymbolMap Symbols;
for (int i = 0; global_syms[i].name != nullptr; i++) {
  Symbols.insert({mangle(global_syms[i].name),

llvm::JITEvaluatedSymbol(llvm::pointerToJITTargetAddress(global_syms[i].address),

llvm::JITSymbolFlags(llvm::JITSymbolFlags::FlagNames::Absolute))});
}
llvm::cantFail(JD.define(llvm::orc::absoluteSymbols(Symbols)), "Failed
to install extern symbols");

FYI - my previous post on similar issue.
Basically I haven't been able to get ORC v2 working - tried in 8, 9 and now 10.

http://llvm.1065342.n5.nabble.com/llvm-dev-ORC-v2-question-tp130489p130601.html

Thanks and Regards
Dibyendu


More information about the llvm-dev mailing list