llvm-project/lld/ELF
Rafael Espindola 78471f0ec1 Merge visibility from all symbols with the same name.
The ELF spec says:

... if any reference to or definition of a name is a symbol with a
non-default visibility attribute, the visibility attribute must be
propagated to the resolving symbol in the linked object. If different
visibility attributes are specified for distinct references to or
definitions of a symbol, the most constraining visibility attribute
must be propagated to the resolving symbol in the linked object. The
attributes, ordered from least to most constraining, are:
STV_PROTECTED, STV_HIDDEN and STV_INTERNAL.

llvm-svn: 246603
2015-09-01 23:12:52 +00:00
..
CMakeLists.txt ELF: Create a string table. 2015-08-12 00:00:24 +00:00
Chunks.cpp [elf2] Add basic relocation support for x86-64. 2015-08-27 23:15:56 +00:00
Chunks.h [elf2] Add basic relocation support for x86-64. 2015-08-27 23:15:56 +00:00
Config.h Make these headers as being c++. 2015-08-14 14:12:54 +00:00
Driver.cpp Do not use unique pointers. NFC. 2015-08-18 09:13:25 +00:00
Driver.h Make these headers as being c++. 2015-08-14 14:12:54 +00:00
DriverUtils.cpp Move the error handling functions to Error.h. NFC. 2015-08-06 15:08:23 +00:00
Error.cpp Move the error handling functions to Error.h. NFC. 2015-08-06 15:08:23 +00:00
Error.h Make these headers as being c++. 2015-08-14 14:12:54 +00:00
InputFiles.cpp Start adding support for common symbols. 2015-08-28 21:26:51 +00:00
InputFiles.h Fix the gcc build: 2015-08-28 02:40:04 +00:00
Options.td [ELF2] Add a new ELF linker based on the new PE/COFF linker. 2015-07-24 21:03:07 +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 Don't leave unused strings in the string table. 2015-09-01 21:47:21 +00:00
SymbolTable.h Don't leave unused strings in the string table. 2015-09-01 21:47:21 +00:00
Symbols.cpp Merge visibility from all symbols with the same name. 2015-09-01 23:12:52 +00:00
Symbols.h Merge visibility from all symbols with the same name. 2015-09-01 23:12:52 +00:00
Writer.cpp Merge visibility from all symbols with the same name. 2015-09-01 23:12:52 +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.