Relocatable binary

From Computer History Wiki
Jump to: navigation, search

Larger programs are usually compiled or assembled from a series of smaller modules of source code, producing a like number of relocatable binary modules, containing the low-level binary instructions and data 'understood' by a given CPU. These modules, which can be easily modified to operate at any address in main memory, can later be linked together to produce an executable binary object.

In addition to the instructions (in binary form) and data, a relocatable binary module contains other information, needed for the linking process. It includes a 'symbol table'; a list of:

  • all the names on all out-going references to other modules;
  • the names which this module contains within it;

There is also 'relocation' information, noting the words in this module which need to be modified during the linking process, and exactly what type(s) of modifications are needed for each.