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
The following types of files can be used as input to ld.eld:
Object files
Static Libraries
Shared Libraries
Symbol definition file
Extern list
Binary files
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