1. Getting started
1.1. About the linker
Linking is the process of collecting and combining various pieces of code and data into a single file that can be loaded (copied) into memory and executed. Linking is performed automatically by programs called linkers, which enable separate compilation.
1.3. Summary of the linker features
- Most important features supported by GNU Linker
Development going on to add additional support
- LTO
Supports ThinLTO
Supports Full LTO
Supports Both flavors of LTO with linker scripts
- Supports Version scripts
Supports extensive usage of Linker scripts
- Better Diagnostics
YAML Map Files
Easier to read Text Map files
Support for Linker Plugins
–reproduce flag to easily reproduce the linking step.
1.4. What the linker can accept as input
Following type of files can be used as input to ld.eld.
Object files
Static Libraries
Shared Libraries
Symbol definition file
Extern list
1.5. What the linker outputs
ELF File
A partially linked ELF object that can be used as input in a subsequent link step.
- Map file
YAML Map
Text Map
- Tar file
when using –reproduce flag