[llvm-dev] LLJIT: __{math}_finite symbols not resolved ?

Lang Hames via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 5 10:52:54 PDT 2020


Hi Jean-Michaël,

How are you trying to provide those symbols to the JIT? Are you using a
DynamicLibrarySearchGenerator to reflect process symbols (or this specific
library's symbols) into the JIT?

I haven't looked at ELF symbol indirection before -- I'll need to read up
on that before I can provide a sensible answer. It's quite likely that
RuntimeDyld doesn't support it yet though. Depending on what is required we
can either try to implement it there, or aim to fix it in the newer JITLink
linker -- a few people are working on an initial implementation of that at
the moment.

-- Lang.

On Mon, Oct 5, 2020 at 12:52 AM Jean-Michaël Celerier via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hello,
> when building code with -Ofast -ffinite-math-only -ffast-math, clang
> generates calls to "finite" variants of math functions.
>
> This has been the source of a fair amount of issues in a "normal", non-JIT
> pipeline, which seem to have been fixed over time - a simple fix being
> recompiling the target app against the new glibc.
> - https://bugs.llvm.org/show_bug.cgi?id=44842
> - https://github.com/cms-sw/cmssw/issues/24935
> - https://github.com/google/filament/issues/2146
>
> But when going through LLJIT (tested with LLVM-10 & LLVM-11, on ArchLinux,
> glibc-2.32) I still get
>
>      Symbols not found: [ __log_finite, __exp2_finite ]
>
> when trying to materialize my code.
>
> What could be done for that ? "Recompiling" doesn't seem to fix anything
> in this case so it looks like LLJIT lacks the mechanism to understand the
> ELF symbol indirection.
>
> Thanks,
> Jean-Michaël
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20201005/95c055fb/attachment.html>


More information about the llvm-dev mailing list