llvm-project/lld/ELF
George Rimar 0e8d1922c8 [ELF2] Revert of r251692
llvm-svn: 251782
2015-11-02 08:24:16 +00:00
..
CMakeLists.txt ELF2: Implement --gc-sections. 2015-10-22 18:49:53 +00:00
Config.h Reapply r251144: fixed test. 2015-10-24 08:52:46 +00:00
Driver.cpp ELF2: Make parseEmulation side-effect free. NFC. 2015-10-27 19:29:27 +00:00
Driver.h Simplify the InputFile type hierarchy. 2015-10-12 01:55:32 +00:00
DriverUtils.cpp Update lld to match llvm r250901. OptTable constructor now takes an ArrayRef. NFC 2015-10-21 16:31:56 +00:00
Error.cpp [ELF2] Output of all unknown arguments instead of only one. 2015-09-24 18:55:33 +00:00
Error.h [ELF2] Output of all unknown arguments instead of only one. 2015-09-24 18:55:33 +00:00
InputFiles.cpp Add support for merging string from SHF_STRINGS sections. 2015-10-24 22:51:01 +00:00
InputFiles.h ELF2: Implement --gc-sections. 2015-10-22 18:49:53 +00:00
InputSection.cpp [ELF2] merge-string.s test fixed for win32 configuration. 2015-10-29 19:30:28 +00:00
InputSection.h [ELF2] merge-string.s test fixed for win32 configuration. 2015-10-29 19:30:28 +00:00
LinkerScript.cpp [ELF2] - Linker script EXTERN command implemented. 2015-10-19 17:35:12 +00:00
MarkLive.cpp ELF2: Move some code from MarkLive.cpp to InputSection.cpp. 2015-10-27 21:51:13 +00:00
Options.td [Driver] Ignore -G option in both new and old ELF linker 2015-10-28 14:50:58 +00:00
OutputSections.cpp [ELF2] R_X86_64_COPY relocation implemented 2015-10-28 16:48:58 +00:00
OutputSections.h [ELF2] Move sorting and data to the GNU hash table section. 2015-10-28 07:05:56 +00:00
README.md ELF2: Add a note about performance. 2015-10-13 21:28:02 +00:00
SymbolTable.cpp ELF2: Use ELFT to template OutputSections. 2015-10-15 22:27:29 +00:00
SymbolTable.h ELF2: Implement --gc-sections. 2015-10-22 18:49:53 +00:00
Symbols.cpp ELF2: Avoid bitwise-OR hack. NFC. 2015-10-21 19:41:03 +00:00
Symbols.h [ELF2] R_X86_64_COPY relocation implemented 2015-10-28 16:48:58 +00:00
Target.cpp [ELF2] Revert of r251692 2015-11-02 08:24:16 +00:00
Target.h [ELF2] R_X86_64_COPY relocation implemented 2015-10-28 16:48:58 +00:00
Writer.cpp [ELF2] R_X86_64_COPY relocation implemented 2015-10-28 16:48:58 +00:00
Writer.h ELF2: Implement --gc-sections. 2015-10-22 18:49:53 +00:00

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 with -LLVM_ENABLE_THREADS=OFF. "Hello world" can be linked on Linux/PPC64.

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.