Datasheet

Differences
2-42 Copyright © 1999-2001 ARM Limited. All rights reserved. ARM DUI 0064D
2.4.2 Differences in default behavior
The differences in the default behavior of ADS compared to SDT 2.50/2.51 are
described in:
Object and library compatibility
Entry point used with debugger on page 2-43
Entry point set by linker option on page 2-44
ADW on page 2-44
ARMulator on page 2-44
ELF, AIF, Binary AIF, and Plain Binary Image formats on page 2-44
Floating-point exceptions on page 2-45
Stack unwinding on page 2-45
Source directory variable in armsd and ADW on page 2-45.
Object and library compatibility
As a consequence of the new features introduced with ADS, ADS object files and
libraries are not guaranteed to be compatible with SDT 2.50/2.51 object files and
libraries. You can link SDT 2.50/2.51 objects and libraries with ADS images, but you
must ensure that your objects are built with appropriate procedure call standard options,
and that the following restrictions are observed:
You must choose the SDT 2.50/2.51 default Procedure Call Standard options
when using SDT 2.50/2.51 (
/hardfp
excluded), and the ADS 1.0 default
Procedure Call Standard options when using ADS.
In ADS, you must use
-fpu FPA
,
-fpu softFPA
, or
-fpu none
. You cannot use the
default option of
-fpu softVFP
.
The format of big-endian
long long
has changed. This means that there is no
compatibility between ADS and SDT big-endian code if you use
long long
.
There is no equivalent in ADS to the SDT
-apcs /nofpregargs
option for functions
that return a floating-point value. Functions that are built with the
-apcs
/nofpregargs
option, but do not return a floating-point value, are compatible with
functions declared using the new
__softfp
keyword.
An SDT 2.50/2.51 object and an ADS object will be incompatible if they map the
same datum using a
struct
type T, whether through use of T * pointers or
extern
T, and T contains only fields of short alignment.
A field has short alignment if its type is:
[unsigned] short [array]
[unsigned] char [array]