Datasheet
Introduction
ARM DUI 0067D Copyright © 1999-2001 ARM Limited. All rights reserved. 1-5
1.3 Linking compiled objects
The ARM and Thumb linker combines the contents of one or more object files with
selected parts of one or more object libraries to produce an ELF executable image, or a
partially linked ELF object.
The linker can link ARM code and Thumb code, and automatically generates
interworking veneers to switch processor state when required. The linker also
automatically generates long branch veneers, where required, to extend the range of
branch instructions.
The linker supports command-line options that enable you to specify the location of
code and data in memory for simple images. In addition, the linker enables you to create
complex images with scatter-load description files. You can use scatter-load description
files to specify the memory locations, at both load time and execution time, of
individual code and data sections in your output image.
The linker can perform common section elimination and unused section elimination to
reduce the size of your output image. In addition, the linker enables you to:
• produce debug and reference information about linked files
• generate static callgraph information
• control the contents of the symbol table in output images.
The linker automatically selects the appropriate standard C or C++ library variants to
link with, based on the build attributes of the objects it is linking.
The linker does not generate output formats other than ELF. To convert ELF images to
other format, such as plain binary for loading into ROM, use the fromELF utility. See
Related utilities on page 1-6.
See ADS Linker and Utilities Guide for detailed information on the ARM linker.