2.1. Purpose

The use of complex operating systems that use dynamic linking is increasing in systems designed for ARM processors. This means that there are an increasing number of engineers working on systems that use dynamic linking, for example, to generate dynamically loadable images.

This application note looks at the basic principles of how dynamic linking works and how the ARM Compiler toolchain can be used to generate various types of dynamic executables and shared libraries. The application note aims to help an applications developer to understand dynamic linking, the implications of dynamic linking, and the ARM Compiler toolchain dynamic linking related features.

The document also provides an overview of the different types of dynamically linked images that can be created. This might be useful as a starting point for initial investigations into implementing such a system, although this document does not provide a detailed look into specific implementation details.

Example code is provided in the downloadable zip file to demonstrate how the ARM Compiler toolchain supports dynamic linking. ARM Compiler toolchain version 4.1, build 462 was used to generate the ELF files, which were processed to provide the disassembly listings found throughout the application note.

Copyright © 2010 ARM. All rights reserved.ARM DAI 0242A