3.1.2. AAPCS

The Procedure Call Standard for the ARM Architecture (AAPCS) forms part of the Application Binary Interface (ABI) for the ARM Architecture (base standard) [BSABI] specification. By writing code that adheres to the AAPCS, you can ensure that separately compiled and assembled modules can work together.

The --apcs option specifies whether you are using the AAPCS. It can also specify some attributes of code sections.

For more information, see:

Note

AAPCS qualifiers do not affect the code produced by the assembler. They are an assertion by the programmer that the code in inputfile complies with a particular variant of AAPCS. They cause attributes to be set in the object file produced by the assembler. The linker uses these attributes to check compatibility of files, and to select appropriate library variants.

Values for qualifier are:

none

Specifies that inputfile does not use AAPCS. AAPCS registers are not set up. Other qualifiers are not permitted if you use none.

/interwork

Specifies that the code in inputfile is suitable for ARM/Thumb interworking. See RealView Compilation Tools v2.2 Developer Guide for information on interworking.

/nointerwork

Specifies that the code in inputfile is not suitable for ARM/Thumb interworking. This is the default.

/ropi

Specifies that the content of inputfile is read-only position-independent.

/noropi

Specifies that the content of inputfile is not read-only position-independent. This is the default.

/pic

Is a synonym for /ropi.

/nopic

Is a synonym for /noropi.

/rwpi

Specifies that the content of inputfile is read-write position-independent.

/norwpi

Specifies that the content of inputfile is not read-write position-independent. This is the default.

/pid

Is a synonym for /rwpi.

/nopid

Is a synonym for /norwpi.

/fpic

Specifies that the content of inputfile is read-only position-independent code that requires FPIC addressing.

/swstackcheck

Specifies that the code in inputfile carries out software stack-limit checking.

/noswstackcheck

Specifies that the code in inputfile does not carry out software stack-limit checking. This is the default.

/swstna

Specifies that the code in inputfile is compatible both with code that carries out stack-limit checking, and with code that does not carry out stack-limit checking.

/adsabi

Specifies that the code in inputfile is compatible with the old ADS Application Binary Interface (ABI). This option is deprecated and will be removed in a future release.

Copyright © 2002-2005 ARM Limited. All rights reserved.ARM DUI 0204F
Non-Confidential