hanchenye-llvm-project/lld/ELF
George Rimar bfb7bf7429 [ELF] - R_386_GOTOFF relocation implemented.
R_386_GOTOFF is calculated as S + A - GOT, where:
S - Represents the value of the symbol whose index resides in the relocation entry.
A - Represents the addend used to compute the value of the relocatable field.
GOT - Represents the address of the global offset table.

Differential revision: http://reviews.llvm.org/D15383

llvm-svn: 256143
2015-12-21 10:00:12 +00:00
..
CMakeLists.txt ELF2: Implement --gc-sections. 2015-10-22 18:49:53 +00:00
Config.h [ELF][MIPS] Handle R_MIPS_HI16/LO16 relocations against _gp_disp symbol 2015-12-16 14:45:09 +00:00
Driver.cpp ELF: Drop 'Sym' suffix from member function names for consistency. 2015-12-16 22:31:14 +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 [ELF][MIPS] MIPS .reginfo sections handling 2015-12-20 10:57:34 +00:00
InputFiles.h Make a function out-of-line. 2015-11-20 02:10:52 +00:00
InputSection.cpp [ELF][MIPS] MIPS .reginfo sections handling 2015-12-20 10:57:34 +00:00
InputSection.h [ELF][MIPS] MIPS .reginfo sections handling 2015-12-20 10:57:34 +00:00
LinkerScript.cpp [ELF] Lookup INPUT argument in the current directory 2015-11-26 20:23:46 +00:00
MarkLive.cpp Early continue. NFC. 2015-11-12 19:45:58 +00:00
Options.td Add --version-script= alias for --version-script 2015-12-10 14:08:45 +00:00
OutputSections.cpp [ELF] - R_386_GOTOFF relocation implemented. 2015-12-21 10:00:12 +00:00
OutputSections.h [ELF] - R_386_GOTOFF relocation implemented. 2015-12-21 10:00:12 +00:00
README.md ELF2: Add a note about performance. 2015-10-13 21:28:02 +00:00
SymbolTable.cpp ELF: Rename isTLS -> isTls for consistency. 2015-12-17 00:04:18 +00:00
SymbolTable.h ELF: Move shouldUseRela to Writer.cpp. 2015-12-16 23:33:56 +00:00
Symbols.cpp Typedef uintX_t at beginning of a function just like others. 2015-12-16 23:49:19 +00:00
Symbols.h ELF: Separate NeedsCopy and OffsetInBSS. 2015-12-17 01:14:23 +00:00
Target.cpp [ELF] - R_386_GOTOFF relocation implemented. 2015-12-21 10:00:12 +00:00
Target.h [ELF] - R_386_GOTOFF relocation implemented. 2015-12-21 10:00:12 +00:00
Writer.cpp [ELF] - R_386_GOTOFF relocation implemented. 2015-12-21 10:00:12 +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.