[llvm-dev] ORC JIT - Incorrect support for COFF files?

Gaier, Bjoern via llvm-dev llvm-dev at lists.llvm.org
Fri Aug 21 04:22:31 PDT 2020


I figured out that this problem is caused because "planschiValue" has a REL32 relocation and the addresses between the code and the variable overflows 32bit.
Is there any workaround for this kind of issue?

From: llvm-dev <llvm-dev-bounces at lists.llvm.org> On Behalf Of Gaier, Bjoern via llvm-dev
Sent: 20 August 2020 12:15
To: LLVM Developers Mailing List <llvm-dev at lists.llvm.org>; Lang Hames <lhames at gmail.com>
Subject: [llvm-dev] ORC JIT - Incorrect support for COFF files?

Hey LLVM-Mailing-List and Lang,

I'm still learning how to use the ORC JIT but I finally reached the point to JIT and execute some code. For this purpose I created a test file (TestModule.cpp) and compiled it with Clang, generating two different files, one in the LLVM IR format and one in the Microsoft COFF format.

The JIT resolves all undefined references, including "extern int planschiValue;" and "void externFunction();". Using the IR Module I will get the correct address for "planschiValue" and the correct value - however this is not the case for the object file.
For the object file I get (via printf from the module) the address 0x000002295D6B003C while the actual address is 0x00007FF71D9959A4.

I'm really surprised about this, because the IR module works with no problem. I attach the source code, the IR file and the resulting object file (including its assembly file).

Any ideas what I'm doing wrong?

Thank you for the help in advance and kind greetings
Björn

Als GmbH eingetragen im Handelsregister Bad Homburg v.d.H. HRB 9816, USt.ID-Nr. DE 114 165 789 Geschäftsführer: Dr. Hiroshi Nakamura, Dr. Robert Plank, Markus Bode, Heiko Lampert, Takashi Nagano, Junichi Tajika, Ergin Cansiz.
Als GmbH eingetragen im Handelsregister Bad Homburg v.d.H. HRB 9816, USt.ID-Nr. DE 114 165 789 Geschäftsführer: Dr. Hiroshi Nakamura, Dr. Robert Plank, Markus Bode, Heiko Lampert, Takashi Nagano, Junichi Tajika, Ergin Cansiz.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200821/ae16811d/attachment.html>


More information about the llvm-dev mailing list