[LLVMdev] generating ELF files on non-ELF platforms with MC

Bendersky, Eli eli.bendersky at intel.com
Wed Jan 4 04:59:08 PST 2012


The existence of tools like Wine, LBW and several MachO loaders on Linux is a good indication that at least in most cases, it's possible to run code packaged in some container format on a system favoring another container. In the worst case, the dynamic loader may explicitly choke on some special features, but empirically it seems that most code can run without problems (we successfully executed many non-trivial workloads packaged inside ELF on Windows).

Eli


-----Original Message-----
From: Anton Korobeynikov [mailto:anton at korobeynikov.info] 
Sent: Wednesday, January 04, 2012 14:50
To: Bendersky, Eli
Cc: llvmdev at cs.uiuc.edu
Subject: Re: [LLVMdev] generating ELF files on non-ELF platforms with MC

> Yes, what I mean is that I want to generate runnable Windows code, on Windows, but package in ELF as the object file. Note that there's absolutely no problem with this approach - in fact we have a functional prototype already.
> The reason for this is that I currently want to employ MC-JIT on both Linux and Windows, without implementing two separate runtime dynamic loaders. I want to implement just RuntimeDyldELF, and use it on both Windows and Linux.
Well... What will you do if you will need to support some windows-specific binary stuff which does not exist in ELF world? I cannot think about something in this area off-hand, but there might be something here.
And surely there are MachO features which do not exist in ELF world.

--
With best regards, Anton Korobeynikov
Faculty of Mathematics and Mechanics, Saint Petersburg State University
---------------------------------------------------------------------
Intel Israel (74) Limited

This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.




More information about the llvm-dev mailing list