[llvm-commits] [PATCH] Review request - MCJIT runtime loader improvements

Kaylor, Andrew andrew.kaylor at intel.com
Fri Mar 30 12:41:46 PDT 2012


Here is the first incremental chunk of the patch I submitted a few days ago (now based on the current trunk code!).

I have separated the patch into two files.  The first file contains the actual implementation details.  The second file makes a minor change to existing test files to eliminate 'XFAIL' lines for things that should now pass.
The primary patch implements new handling of zero-initialized sections, virtual sections and common symbols and prevents the loading of sections which are not required for execution such as debug information.  By "loading" here I mean the process of allocating memory for the section, copying its contents into that memory and performing applicable relocations.  These improvements required the addition of new functions in the ObjectFile class and its subclasses to test various attributes of a section.  Because I am not familiar with all the details of the MachO and COFF formats, I have used default implementations in some places.  This default code should produce correct results, but it may not be the most optimized behavior possible.  I believe I am correctly handling common symbols for both ELF and MachO formats.

I've tested this code on 32- and 64-bit Linux systems and on a 64-bit Mac system.  In my testing, all execution tests pass with the MCJIT engine.

Thanks in advance for your reviews and feedback.

-Andy

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120330/c2aa5c2d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 01-runtimedyld-improvments.patch
Type: application/octet-stream
Size: 26071 bytes
Desc: 01-runtimedyld-improvments.patch
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120330/c2aa5c2d/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 02-runtimedyld-tests.patch
Type: application/octet-stream
Size: 6139 bytes
Desc: 02-runtimedyld-tests.patch
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120330/c2aa5c2d/attachment-0001.obj>


More information about the llvm-commits mailing list