Meet lld - The LLVM Linker

lld is a new set of modular code for creating linker tools.

                   End-User Features:
  • Compatible with existing linker options
  • Reads standard Object Files (e.g. ELF, Mach-O, PE/COFF)
  • Writes standard Executable Files (e.g. ELF, Mach-O, PE)
  • Fast link times
  • Minimal memory use
  • Remove clang’s reliance on “the system linker”
  • Uses the LLVM “UIUC” BSD-Style license.

      Applications:

  • Modular design
  • Support cross linking
  • Easy to add new CPU support
  • Can be built as static tool or library
                  Design and Implementation:
  • Extensive unit tests
  • Internal linker model can be dumped/read to textual format
  • Internal linker model can be dumped/read to a new native format
  • Native format designed to be fast to read and write
  • Additional linking features can be plugged in as “passes”
  • OS specific and CPU specific code factored out
Meet lld - The LLVM Linker | /lld.llvm.org

No comments:

Post a Comment