llvm-project/lld/ELF
Rui Ueyama 2b675074fe ELF2: Support --entry=<addr>.
If an argument for --entry is a number, that's not a symbol name but
an absolute address. If that's the case, the address is directly set
to ELF header's e_entry.

llvm-svn: 250334
2015-10-14 22:20:57 +00:00
..
CMakeLists.txt ELF2: Create LinkerScript.cpp and move code from DriverUtils to there. 2015-09-30 17:23:26 +00:00
Config.h ELF2: Support --entry=<addr>. 2015-10-14 22:20:57 +00:00
Driver.cpp ELF2: Support --entry=<addr>. 2015-10-14 22:20:57 +00:00
Driver.h Simplify the InputFile type hierarchy. 2015-10-12 01:55:32 +00:00
DriverUtils.cpp ELF2: Remove ArgParser class and define parseArgs() function instead. 2015-10-11 18:19:01 +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 ELF2: Fix BSD's __progname symbol issue. 2015-10-13 16:34:14 +00:00
InputFiles.h ELF2: Fix BSD's __progname symbol issue. 2015-10-13 16:34:14 +00:00
InputSection.cpp ELF2: Remove {set,get}OutputSection accessors. 2015-10-14 21:09:55 +00:00
InputSection.h ELF2: Remove {set,get}OutputSection accessors. 2015-10-14 21:09:55 +00:00
LinkerScript.cpp [ELF2/Linkerscript] Skip semicolon in linker directives parsing. 2015-10-13 20:48:56 +00:00
Options.td [ELF2] Add support for -Bsymbolic. 2015-10-13 21:02:34 +00:00
OutputSections.cpp ELF2: Remove {set,get}OutputSection accessors. 2015-10-14 21:09:55 +00:00
OutputSections.h Handle dynamic relocs to weak undefined when possible. 2015-10-14 18:42:16 +00:00
README.md ELF2: Add a note about performance. 2015-10-13 21:28:02 +00:00
SymbolTable.cpp ELF2: Add comments. 2015-10-13 19:51:57 +00:00
SymbolTable.h ELF2: Avoid using "finalize" as a function name. 2015-10-13 18:10:33 +00:00
Symbols.cpp ELF2: Inititalize other symbols only once as well. 2015-10-08 00:44:28 +00:00
Symbols.h ELF2: Add comments. 2015-10-13 19:51:57 +00:00
Target.cpp ELF2: Move Target concrete classes from .h to .cpp. 2015-10-14 21:30:32 +00:00
Target.h ELF2: Move Target concrete classes from .h to .cpp. 2015-10-14 21:30:32 +00:00
Writer.cpp ELF2: Support --entry=<addr>. 2015-10-14 22:20:57 +00:00
Writer.h ELF2: Make SymbolTable a template class. 2015-10-09 21:07:25 +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.