[LLVMdev] Implementing the MC-JIT execution path for ELF, with debugging

Bendersky, Eli eli.bendersky at intel.com
Mon Jan 9 07:07:19 PST 2012


Hello,

I'm part of a team at Intel that works on implementing the MC-JIT execution path for ELF objects with built-in support for debugging the JITted code with GDB. We currently have a working implementation passing all ExecutionEngine tests on MC-JIT for ELF, as well as several proprietary workloads. The current implementation focuses on Linux, although with some trivial modifications it can also be made to work on Windows (pending on some changes to Triple, as discussed in this thread: http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-January/046583.html).

I was granted "commit after approval" rights to the repo by Chris Lattner, and will start delivering patches to llvm-commits today. To make the review process manageable, we intend to split the patches into a few incremental parts:


1.       Modifications (more precisely, extension) to ELFObjectFile (from libObject) to support dynamic loading

2.       Implementation of MC-JIT for ELF, including a new RuntimeDyldELF class (that parallels the existing RuntimeDyldMachO) which implements the dynamic loading of the ELF image into memory, its relocation and execution.

3.       An implementation of a MC-JIT - GDB bridge which allows to fully debug the JITted code with GDB.

These patches will be a superset of an earlier patch sent by Daniel Malea (http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20111219/133702.html).
We'll be very happy to have the patches reviewed, and see a functional MC-JIT implementation for ELF in LLVM trunk soon.

Eli
---------------------------------------------------------------------
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120109/56b9b1ca/attachment.html>


More information about the llvm-dev mailing list