|Non-Confidential||PDF version||ARM DUI0530M|
|Home > Migrating from RVCT v4.0 to ARM Compiler v4.1 > Linker changes between RVCT v4.0 and ARM Compiler v4.1|
Various changes have been made to armlink in ARM Compiler toolchain v4.1.
The following changes to the linker have been made:
armlink v4.1 supports a subset of GNU linker control scripts. To
more closely match the behavior of GNU ld, armlink uses an internal
linker control script when you specify the
option. In previous versions of armlink an internal scatter file
The use of a control script produces a logically equivalent, but physically different
layout to RVCT v4.0. To revert back to the default scatter file layout use the
You can replace the internal control script with a user-defined control script using
Support for the deprecated feature ARM/Thumb Synonyms has been removed in 4.1. The
ARM/Thumb synonyms feature permits an ARM Global Symbol Definition of symbol
S and a Thumb Global Symbol Definition of
coexist. All branches from ARM state are directed at the ARM Definition, all branches
from Thumb state are directed at the Thumb Definition.
In 4.0 armlink gives a deprecated feature warning
L6455E when it detects ARM/Thumb Synonyms.
In 4.1 armlink gives an error message
it detects ARM/Thumb Synonyms.
To recreate the behavior of synonyms rename both the ARM and Thumb definitions and relink. For each undefined symbol you have to point it at the ARM or the Thumb synonym.