llvm-project/lld/ELF
Rui Ueyama 7c713319b9 Rename SharedFile::parse -> SharedFile::parseRest.
Unlike ObjectFile or ArchiveFile, SharedFile had two parse functions,
parseSoName() and parse(). parse must have been called after parseSoName,
but that requirement was not obvious from their names. (So it looked
like you could call parse() on a shared object file right away.)

This patch rename parseRest. It is now obvious that there's no single
parse function for the shared object file.

llvm-svn: 256898
2016-01-06 01:56:36 +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 Simplify --whole-archive handling. 2016-01-06 00:51:35 +00:00
Driver.h Simplify --whole-archive handling. 2016-01-06 00:51:35 +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 Rename SharedFile::parse -> SharedFile::parseRest. 2016-01-06 01:56:36 +00:00
InputFiles.h Rename SharedFile::parse -> SharedFile::parseRest. 2016-01-06 01:56:36 +00:00
InputSection.cpp [ELF][MIPS] Implement R_MIPS_GPREL16/R_MIPS_GPREL32 relocations 2015-12-25 13:02:13 +00:00
InputSection.h [ELF][MIPS] Implement R_MIPS_GPREL16/R_MIPS_GPREL32 relocations 2015-12-25 13:02:13 +00:00
LinkerScript.cpp [ELF] Lookup INPUT argument in the current directory 2015-11-26 20:23:46 +00:00
MarkLive.cpp Update comments. 2016-01-05 16:35:46 +00:00
Options.td Add --version-script= alias for --version-script 2015-12-10 14:08:45 +00:00
OutputSections.cpp Simplify. NFC. 2016-01-05 16:35:48 +00:00
OutputSections.h Do not use SpecificBumpPtrAllocator to create output sections. 2015-12-26 07:01:26 +00:00
README.md [README] Update to reflect the new world order. 2015-12-24 10:03:46 +00:00
SymbolTable.cpp Rename SharedFile::parse -> SharedFile::parseRest. 2016-01-06 01:56:36 +00:00
SymbolTable.h Remove SymbolTable::isUndefined. 2016-01-05 20:35:16 +00:00
Symbols.cpp Do not use templates to instantiate {Object,Shared}Files. 2016-01-06 00:09:43 +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 Remove SymbolTable::isUndefined. 2016-01-05 20:35:16 +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.