JITLink Lands In LLVM 9.0
Being merged into the LLVM code-base this Saturday is JITLink, a just-in-time linker for parsing object files and letting their contents run in a target process.
The initial focus on JITLink is serving as a replacement to RuntimeDyld for dynamically linking Mach object files (Mach-O) for Apple/macOS platforms. But the plan is once the Mach-O x86_64 support is squared away to extend JITLink to also serve the likes of COFF/ELF object files and support other non-x86_64 architectures.
JITLink is designed to offer a clear design over RuntimeDyld, support native code models, native support for asynchronous linking, offer dead stripping support of symbols that are not used, improved exception handling, and better validation / error handling.
So while there isn't yet the Linux/ELF support today for JITLink, it's going to be further developed in-tree and at least now has been merged (more details in the patch description) with the initial commit and several follow-on commits today for JITLink.
The initial focus on JITLink is serving as a replacement to RuntimeDyld for dynamically linking Mach object files (Mach-O) for Apple/macOS platforms. But the plan is once the Mach-O x86_64 support is squared away to extend JITLink to also serve the likes of COFF/ELF object files and support other non-x86_64 architectures.
JITLink is designed to offer a clear design over RuntimeDyld, support native code models, native support for asynchronous linking, offer dead stripping support of symbols that are not used, improved exception handling, and better validation / error handling.
So while there isn't yet the Linux/ELF support today for JITLink, it's going to be further developed in-tree and at least now has been merged (more details in the patch description) with the initial commit and several follow-on commits today for JITLink.
Add A Comment