10.1 Overview of Linker Processing

A linker combines one or more object files, with optional archive files, into a single executable output file. The object files contain relocatable sections of code and data which the linker will allocate into target memory. The entire process is controlled by a linker script, also known as a link command file. A linker script is required for every link.

The link process may be broken down into 5 steps:

  1. Loading Input Files
  2. Allocating Memory
  3. Resolving Symbols
  4. Computing Absolute Addresses
  5. Building the Output File