Figure 3-2. Compiler Producing Relocatable Object Modules

A relocatable object module is an independen t ￿le. It may not require resources suc h as relocatable libraries (RLs) and links to other relocatable object modules, although these are made, when necessary, at link time. External resources (usually system routines) are acquired at run time.

A relocatable object module con tains the follo wing information, described in detail in the subsections belo w:

Compiled code (mac hine instructions) for all procedures in the source ￿le Information on data v ariables to be used External references (resources required to run the program)

The compiler generates a sym bol table in each relocatable object module. It lists all the procedures and variables that are de￿ned in the module and ma y be required by other modules at link time and all those that are referenced in the module, but not de￿ned there.

Program Development 3-5