llvm-project/lld/ELF
Igor Kudrin b1f2b51a89 [ELF2] Add DT_INIT and DT_FINI dynamic table entries
The entries are added if there are "_init" or "_fini" entries in
the symbol table respectively. According to the behavior of ld,
entries are inserted even for undefined symbols.

Symbol names can be overridden by using -init and -fini command
line switches. If used, these switches neither add new symbol table
entries nor require those symbols to be resolved.

Differential Revision: http://reviews.llvm.org/D13385

llvm-svn: 249297
2015-10-05 10:29:46 +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] Add DT_INIT and DT_FINI dynamic table entries 2015-10-05 10:29:46 +00:00
Driver.cpp [ELF2] Add DT_INIT and DT_FINI dynamic table entries 2015-10-05 10:29:46 +00:00
Driver.h ELF2: Define Driver::addFile() as a one-stop place to open a file. 2015-10-01 15:23:09 +00:00
DriverUtils.cpp ELF2: Create LinkerScript.cpp and move code from DriverUtils to there. 2015-09-30 17:23:26 +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] Add STB_GNU_UNIQUE support. 2015-10-02 21:57:52 +00:00
InputFiles.h Don't include shared libraries multiple times. 2015-10-01 19:52:48 +00:00
InputSection.cpp Start adding support for static programs using dynamic libraries. 2015-09-29 23:22:16 +00:00
InputSection.h Simplify memory management by having ELFData contain a ELFObj. 2015-09-24 15:11:50 +00:00
LinkerScript.cpp ELF2: Define Driver::addFile() as a one-stop place to open a file. 2015-10-01 15:23:09 +00:00
Options.td [ELF2] Add DT_INIT and DT_FINI dynamic table entries 2015-10-05 10:29:46 +00:00
OutputSections.cpp [ELF2] Add DT_INIT and DT_FINI dynamic table entries 2015-10-05 10:29:46 +00:00
OutputSections.h [ELF2] Add DT_INIT and DT_FINI dynamic table entries 2015-10-05 10:29:46 +00:00
README.md [ELF2] Add a new ELF linker based on the new PE/COFF linker. 2015-07-24 21:03:07 +00:00
SymbolTable.cpp [ELF2] Add --undefined option 2015-10-05 09:43:57 +00:00
SymbolTable.h [ELF2] Add --undefined option 2015-10-05 09:43:57 +00:00
Symbols.cpp Don't complain about symbols showing up in multible shared libraries. 2015-09-23 14:23:59 +00:00
Symbols.h [ELF2] Add --undefined option 2015-10-05 09:43:57 +00:00
Target.cpp [ELF2/AArch64] Add support for AARCH64_ABS{16,32,64} relocations. 2015-10-04 00:59:16 +00:00
Target.h Start adding support for static programs using dynamic libraries. 2015-09-29 23:22:16 +00:00
Writer.cpp [ELF2] Add DT_INIT and DT_FINI dynamic table entries 2015-10-05 10:29:46 +00:00
Writer.h Make these headers as being c++. 2015-08-14 14:12:54 +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.

Capabilities

This linker can currently generate a valid ELF file that can be run on linux from a single input file.