[LLVMdev] Output to a DLL
Nicolas Capens
nicolas at capens.net
Thu Jun 11 14:10:02 PDT 2009
Hi Eli,
Thanks a lot for the advise. The existing direct object code emission looks
very interesting and I might give it a try to create a basic DLL writer.
Generating an assembly file and compiling it to a DLL 'externally' sounds
like the most straightforward way for now so I'll try that first...
Cheers,
Nicolas
-----Original Message-----
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On
Behalf Of Eli Friedman
Sent: donderdag 11 juni 2009 21:11
To: LLVM Developers Mailing List
Subject: Re: [LLVMdev] Output to a DLL
On Thu, Jun 11, 2009 at 7:34 AM, Nicolas Capens<nicolas at capens.net> wrote:
> I'd like to be able to write JIT-compiled code to a Windows DLL. I have no
> idea where to start though. Does LLVM already offer some support for this?
You can't use the JIT to compile code for a DLL; it simply isn't
designed for that.
> Or would it be straightforward to write my own DLL writer (no advanced
> features needed)? Or maybe I could use an external linker? All help highly
> appreciated!
You can write out an assembly (.s) file and use mingw as+ld to build a
DLL. Essentially, this is just building a DLL the same way a
conventional compiler like llvm-gcc would.
Directly emitting a DLL would be a lot of work, although it doesn't
require any architectural changes to LLVM; you'd need something like
http://wiki.llvm.org/Direct_Object_Code_Emission plus some code to
handle linking.
-Eli
_______________________________________________
LLVM Developers mailing list
LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list