llvm-project/lld/ELF
Rui Ueyama e2e2a631bf Simplify. NFC.
llvm-svn: 256994
2016-01-06 23:34:11 +00:00
..
CMakeLists.txt ELF2: Implement --gc-sections. 2015-10-22 18:49:53 +00:00
Config.h Add comments. 2016-01-05 17:55:05 +00:00
Driver.cpp Remove unnecessary `lld::`. 2016-01-06 20:11:55 +00:00
Driver.h Simplify --whole-archive handling. 2016-01-06 00:51:35 +00:00
DriverUtils.cpp Remove unnecessary `lld::`. 2016-01-06 20:11:55 +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 Simplify MipsReginfoInputSection. 2016-01-06 22:42:43 +00:00
InputFiles.h Rename GroupEntryType -> uint32_X. 2016-01-06 20:30:02 +00:00
InputSection.cpp Simplify MipsReginfoInputSection. 2016-01-06 22:42:43 +00:00
InputSection.h Simplify MipsReginfoInputSection. 2016-01-06 22:42:43 +00:00
LinkerScript.cpp Remove unnecessary `lld::`. 2016-01-06 20:11:55 +00:00
MarkLive.cpp Remove unnecessary `lld::`. 2016-01-06 20:11:55 +00:00
Options.td Add --version-script= alias for --version-script 2015-12-10 14:08:45 +00:00
OutputSections.cpp Define align() and use that instead of RoundUpToAlignment(). 2016-01-06 23:25:42 +00:00
OutputSections.h Define align() and use that instead of RoundUpToAlignment(). 2016-01-06 23:25:42 +00:00
README.md [README] Update to reflect the new world order. 2015-12-24 10:03:46 +00:00
SymbolTable.cpp Rename Comdats -> ComdatGroups. 2016-01-06 02:06:33 +00:00
SymbolTable.h Rename Comdats -> ComdatGroups. 2016-01-06 02:06:33 +00:00
Symbols.cpp Remove unnecessary `lld::`. 2016-01-06 20:11:55 +00:00
Symbols.h Consistently use 'Bss' instead of 'BSS'. 2016-01-05 16:35:43 +00:00
Target.cpp Update comments. 2016-01-05 16:35:46 +00:00
Target.h [ELF] - Implemented R_*_IRELATIVE relocations for x86, x64 targets. 2015-12-21 10:12:06 +00:00
Writer.cpp Simplify. NFC. 2016-01-06 23:34:11 +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 "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.