<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial,helvetica,sans-serif;font-size:10pt"><div style="font-family: arial,helvetica,sans-serif; font-size: 10pt;">I would like to use ELF as a container instead of MachO. If I remember correctly, the idea was that MC-JIT would be able to link in external object files. It might be possible to do with MachO as the container in memory, but it does not seem very clean. The idea was to have both MachO  and ELF MC-JITs.  Using ELF as the container makes registering with gdb very simple. What I did with JunkJIT works for my current needs, but I would prefer to move on to the ELF MC-JIT, since this is really the way forward and I don't have the same time restrictions anymore.<br><br>- Jan<br><br><div style="font-family: Courier New,monaco,monospace,sans-serif; font-size: 10pt;"><font size="2" face="Tahoma"><hr size="1"><b><span style="font-weight:
 bold;">From:</span></b> Jim Grosbach <grosbach@apple.com><br><b><span style="font-weight: bold;">To:</span></b> Jan Sjodin <jan_sjodin@yahoo.com><br><b><span style="font-weight: bold;">Cc:</span></b> llvm-commits@cs.uiuc.edu<br><b><span style="font-weight: bold;">Sent:</span></b> Tue, March 22, 2011 4:59:27 PM<br><b><span style="font-weight: bold;">Subject:</span></b> Re: [llvm-commits] [llvm] r128031 - in /llvm/trunk: include/llvm/ExecutionEngine/RuntimeDyld.h lib/ExecutionEngine/Makefile lib/ExecutionEngine/RuntimeDyld/ lib/ExecutionEngine/RuntimeDyld/CMakeLists.txt lib/ExecutionEngine/RuntimeDyld/Makefile lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp tools/llvm-rtdyld/Makefile tools/llvm-rtdyld/llvm-rtdyld.cpp<br></font><br>
No, but to be fair, that's not hooked up to work on a native MachO platform, either. :)<br><br>Since the debug info is DWARF in both cases, it's possible that a lot of things will just work without much, if any, ELF customization. There will still need to be gdb-specific hooks to register the info and EH frame, of course. I may be being overly optimistic, though.<br><br>-Jim<br><br>On Mar 22, 2011, at 1:48 PM, Jan Sjodin wrote:<br><br>> I was mainly thinking of debug info and being able to run gdb. Would that work?<br>> <br>> - Jan<br>> <br>> From: Jim Grosbach <<a ymailto="mailto:grosbach@apple.com" href="mailto:grosbach@apple.com">grosbach@apple.com</a>><br>> To: Jan Sjodin <<a ymailto="mailto:jan_sjodin@yahoo.com" href="mailto:jan_sjodin@yahoo.com">jan_sjodin@yahoo.com</a>><br>> Cc: <a ymailto="mailto:llvm-commits@cs.uiuc.edu" href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>> Sent: Tue, March
 22, 2011 4:32:34 PM<br>> Subject: Re: [llvm-commits] [llvm] r128031 - in /llvm/trunk: include/llvm/ExecutionEngine/RuntimeDyld.h lib/ExecutionEngine/Makefile lib/ExecutionEngine/RuntimeDyld/ lib/ExecutionEngine/RuntimeDyld/CMakeLists.txt lib/ExecutionEngine/RuntimeDyld/Makefile lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp tools/llvm-rtdyld/Makefile tools/llvm-rtdyld/llvm-rtdyld.cpp<br>> <br>> That depends on what you're looking to do. What specifically do you mean by supporting ELF? The code should work as-is on an ELF based system. It just needs the input object file to be a MachO.<br>> <br>> Even as this gets fleshed out to handle more things, it's only at the edges where the JITed code interfaces with external bits that there's likely to be any extra work required to run on an ELF based system, and that should be relatively self-contained.<br>> <br>> So if you mean whether this infrastructure should work on an ELF based host,
 then yes, at least most of it should work without modification. If you mean using ELF as a container instead of MachO, then no, I have no plans to do that.<br>> <br>> -Jim<br>> <br><br></div></div>
</div></body></html>