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:

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.

See ADS Linker and Utilities Guide for detailed information on the ARM linker.

Copyright © 1999-2001 ARM Limited. All rights reserved.ARM DUI 0067D
Non-Confidential