2.1. Linking models

This section describes the linking models supported by the ARM linker and outlines the specific behavior and restrictions that apply. Options that are common to all linking models are not described.

A linking model is a group of command-line options, internal options and memory maps that control the behavior of the linker.

Bare-metal

This model does not target any specific platform. It enables you to create an image with your own custom operating system, memory map, and, application code if required. Some limited dynamic linking support is available. Further options can be applied depending on whether or not a scatter-loading file is in use.

Partial linking

This model produces a platform-independent object suitable for input to the linker in a subsequent link step. It can be used as an intermediate step in the development process and performs limited processing of input objects to produce a single output object.

BPABI

This model supports the DLL-like Base Platform Application Binary Interface (BPABI). It is intended to produce applications and DLLs that will run on a platform OS that varies in complexity. The memory model is restricted according to the BPABI specification.

Base Platform

This is an extension to the BPABI model to support scatter-loading.

SysV

This model supports SysV models specified in the ELF used by ARM Linux. The memory model is restricted according to the ELF specification.

Within each model, related options can be combined to tighten control over the output. The following sections describe these combinations in more detail.

See Chapter 4 BPABI and SysV Shared Libraries and Executables in the Linker Reference Guide for more information.

See also:

Copyright © 2002-2010 ARM. All rights reserved.ARM DUI 0206J
Non-ConfidentialIDID101213