--apcs=qualifierqualifier

This option specifies whether you are using the Procedure Call Standard for the ARM Architecture (AAPCS). It can also specify some attributes of code sections.

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

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, /nointerwork

/interwork specifies that the code in the inputfile can interwork between ARM and Thumb safely. The default is /nointerwork.

/inter, /nointer

Are synonyms for /interwork and /nointerwork.

/ropi, /noropi

/ropi specifies that the code in inputfile is Read-Only Position-Independent (ROPI). The default is /noropi.

/pic, /nopic

Are synonyms for /ropi and /noropi.

/rwpi, /norwpi

/rwpi specifies that the code in inputfile is Read-Write Position-Independent (RWPI). The default is /norwpi.

/pid, /nopid

Are synonyms for /rwpi and /norwpi.

Note

You must specify at least one qualifier. If you specify more than one qualifier, ensure that there are no spaces or commas between the individual qualifiers in the list.

Show/hideExample

armasm --apcs=/inter/ropi inputfile.s

Show/hideSee also

Copyright © 2011 ARM. All rights reserved.ARM DUI 0588A
Non-ConfidentialID061811