Keil Logo

Summary of the linker features

1.1.1 Summary of the linker features

The linker has many features for linking input files to generate various types of output files.

The linker can:
  • Link ARM® code and Thumb® code.
  • Generate interworking veneers to switch between ARM and Thumb states when required.
  • Generate range extension veneers, where required, to extend the range of branch instructions.
  • Automatically select the appropriate standard C or C++ library variants to link with, based on the build attributes of the objects it is linking.
  • Enable you to specify the locations of code and data within the system memory map, using either a command-line option or a scatter file.
  • Perform RW data compression to minimize ROM size.
  • Eliminate unused sections to reduce the size of your output image.
  • Control the generation of debug information in the output file.
  • Generate a static callgraph and list the stack usage.
  • Control the contents of the symbol table in output images.
  • Show the sizes of code and data in the output.
  • Use linker feedback to remove individual unused functions.


Be aware of the following:
  • Generated code might be different between two ARM Compiler releases.
  • For a feature release, there might be significant code generation differences.


The command-line option descriptions and related information in the individual ARM Compiler tools documents describe all the features that ARM Compiler supports. Any features not documented are not supported and are used at your own risk. You are responsible for making sure that any generated code using unsupported features is operating correctly.
Non-ConfidentialPDF file icon PDF versionARM DUI0377H
Copyright © 2007, 2008, 2011, 2012, 2014-2016 ARM. All rights reserved. 
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.