one or more separately compiled or assembled object files written in ARM Object Format (see ARM object format for a synopsis, and ARM Object Format for details);
optionally, one or more object libraries in ARM Object Library Format (see ARM Object Format for full details).
The ARM linker performs the following functions:
resolves symbolic references between object files;
extracts from object libraries the object modules needed to satisfy otherwise unsatisfied symbolic references;
sorts object fragments (AOF areas) according to their attributes and names, and consolidates similarly attributed and named fragments into contiguous chunks. (See the Area placement and sorting rules for details);
Extended Intellec Hex Format, suitable for driving the Compass integrated circuit design tools, (see section Extended intellec hex Format (IHF) for details);
ARM Shared Library Format: a read-only position-independent reentrant sharable code segment (or shared library), written as a plain binary file, together with a stub containing read-write data, entry veneers, etc., written in ARM Object Format. (See the section ARM shared library format for details);
ARM Overlay Format: a root segment written in ARM Image Format, together with a collection of overlay segments, each written as a plain binary file. A system of overlays may be static (each segment bound to a fixed address at link time), or dynamic (each segment may be relocated when it is loaded).