[llvm-dev] [Orc] JIT session error: Symbols not found: { fmodf } (original) (raw)

Machiel van Hooren via llvm-dev llvm-dev at lists.llvm.org
Thu Dec 20 07:17:56 PST 2018


First of all, I am a newbie when it comes to LLVM so apologies if I am missing something obvious. I am using Orc/LLVM as a backend for my JIT expression parser/evaluator and I'm running into this error:

JIT session error: Symbols not found: { fmodf }

When using the frem instruction in IR like for example:

%remainder = frem float %aFloat, 1.000000e+01

Am I supposed to provide this symbol somehow or is this actually not supposed to happen?

I have tried calling llvm::sys::DynamicLibrary::LoadLibraryPermanently(nullptr) to load the symbols in my host process but it still won't find it even if I define a custom 'extern "C" fmodf' function. I've tried it on both x86_64-pc-windows-msvc and x86_64-unknown-linux-gnu (GCC) though I mostly work with msvc. I also would rather not allow my expressions to have access to all the symbols in my host process anyway so I am okay with providing these 'manually' somehow. So if I have to provide these manually, what is the best way of doing this? And where can I find a list of all these symbols that LLVM expects to be available?

Thanks,

Machiel van Hooren

P.S. If anyone is interested, the source for this project can be found on github: https://github.com/mvhooren/JitCat/tree/llvm_backend -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181220/b1446a95/attachment.html>



More information about the llvm-dev mailing list