[LLVMdev] Linking static archives with MCJIT?

Kaylor, Andrew andrew.kaylor at intel.com
Wed Sep 25 12:38:17 PDT 2013


What I had in mind inside MCJIT was loading the archive file using RuntimeDyld and then using a custom MCJITMemoryManager to link against it.  This is very heavy-handed and results in everything in the archive being loaded into memory whether it's needed or not.  So I think it would be better to handle this before invoking MCJIT.

It looks like Daniel Dunbar made the commit that removed LinkInLibrary.  Perhaps he can explain the motivation and possible alternatives.

-Andy

-----Original Message-----
From: Robin Sommer [mailto:robin at icir.org] 
Sent: Wednesday, September 25, 2013 12:32 PM
To: Kaylor, Andrew
Cc: llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] Linking static archives with MCJIT?



On Wed, Sep 25, 2013 at 19:23 +0000, you wrote:

> OK, so in the old implementation you linked a module against the 
> archive before passing it to MCJIT?

Yes, I used a Linker instance to link together a number of my own modules and a static library, and then get a single new LLVM module out of that to hand over to MCJIT.

> I can think of a way to solve this inside MCJIT, but it is almost 
> certainly not what you'd want.

Whatever makes the symbols from the .a available to the MCJITed code would work for me, but I can't tell if that's better done inside or outside of MCJIT itself.

Robin

-- 
Robin Sommer * Phone +1 (510) 722-6541 *     robin at icir.org
ICSI/LBNL    * Fax   +1 (510) 666-2956 * www.icir.org/robin




More information about the llvm-dev mailing list