hanchenye-llvm-project/lld/ELF
Rui Ueyama 8a789e0204 ELF: Use StringRef instead of std::string.
All MemoryBuffers for archive files are guaranteed to exist as long
as their children are used in the linker. So we don't need to copy
strings here. Thanks to Sean Silva for pointing this out.

llvm-svn: 259554
2016-02-02 20:24:31 +00:00
..
CMakeLists.txt Set the folder for libraries to 'lld libraries'. NFC. 2016-01-07 00:14:04 +00:00
Config.h [ELF] Implemented -Bsymbolic-functions command line option 2016-02-02 09:28:53 +00:00
Driver.cpp [ELF] Implemented -Bsymbolic-functions command line option 2016-02-02 09:28:53 +00:00
Driver.h Revert r259143, it broke check-lld on Windows (see PR26388). 2016-02-01 20:03:53 +00:00
DriverUtils.cpp Revert r259143, it broke check-lld on Windows (see PR26388). 2016-02-01 20:03:53 +00:00
Error.cpp Revert r259143, it broke check-lld on Windows (see PR26388). 2016-02-01 20:03:53 +00:00
Error.h Revert r259143, it broke check-lld on Windows (see PR26388). 2016-02-01 20:03:53 +00:00
InputFiles.cpp ELF: Include archive names in error messages. 2016-02-02 08:22:41 +00:00
InputFiles.h ELF: Use StringRef instead of std::string. 2016-02-02 20:24:31 +00:00
InputSection.cpp ELF: Teach SymbolBody about how to get its addresses. 2016-02-01 21:00:35 +00:00
InputSection.h Simplify MipsReginfoInputSection. 2016-01-06 22:42:43 +00:00
LinkerScript.cpp Revert r259143, it broke check-lld on Windows (see PR26388). 2016-02-01 20:03:53 +00:00
MarkLive.cpp Merge two consecutive if's. NFC. 2016-01-12 21:57:44 +00:00
Options.td [ELF] Implemented -Bsymbolic-functions command line option 2016-02-02 09:28:53 +00:00
OutputSections.cpp [ELF] Implemented -Bsymbolic-functions command line option 2016-02-02 09:28:53 +00:00
OutputSections.h Add comments. 2016-02-02 03:11:27 +00:00
README.md [README] Update to reflect the new world order. 2015-12-24 10:03:46 +00:00
SymbolTable.cpp ELF: Include archive names in error messages. 2016-02-02 08:22:41 +00:00
SymbolTable.h Delete addIgnoredStrong. 2016-01-19 00:05:54 +00:00
Symbols.cpp [ELF] Implemented -Bsymbolic-functions command line option 2016-02-02 09:28:53 +00:00
Symbols.h [ELF] Implemented -Bsymbolic-functions command line option 2016-02-02 09:28:53 +00:00
Target.cpp ELF: Do not call fatal() if relocation contraints are not satisfied. 2016-02-01 23:28:21 +00:00
Target.h Remove a parameter from Target::writePlt. 2016-01-29 04:15:02 +00:00
Writer.cpp Expand comment a bit. 2016-02-02 15:45:37 +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.