tree: 8545102d92186cfad96f7eac93331e02aec262b7 [path history] [tgz]
  1. CMakeLists.txt
  2. Config.h
  3. Driver.cpp
  4. Driver.h
  5. DriverUtils.cpp
  6. Error.cpp
  7. Error.h
  8. InputFiles.cpp
  9. InputFiles.h
  10. InputSection.cpp
  11. InputSection.h
  12. LinkerScript.cpp
  13. MarkLive.cpp
  14. Options.td
  15. OutputSections.cpp
  16. OutputSections.h
  17. README.md
  18. Symbols.cpp
  19. Symbols.h
  20. SymbolTable.cpp
  21. SymbolTable.h
  22. Target.cpp
  23. Target.h
  24. Writer.cpp
  25. Writer.h
ELF/README.md

The New ELF Linker

This directory contains a port of the new PE/COFF linker for ELF.

Overall Design

See COFF/README.md for details on the design. Note that unlike COFF, we do not distinguish chunks from input sections; they are merged together.

Capabilities

This linker can link LLVM and Clang on Linux/x86-64 or FreeBSD/x86-64 “Hello world” can be linked on Linux/PPC64 and on Linux/AArch64 or FreeBSD/AArch64.

Performance

Achieving good performance is one of our goals. It's too early to reach a conclusion, but we are optimistic about that as it currently seems to be faster than GNU gold. It will be interesting to compare when we are close to feature parity.