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 the Procedure Call Standard for the ARM Architecture specification, aapcs.pdf, on the ARM website for more information.
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:
noneSpecifies that inputfile does not use AAPCS. AAPCS registers are not set up. Other qualifiers are not permitted if you use none.
/ropiSpecifies that the content of inputfile is read‑only position‑independent.
/noropiSpecifies that the content of inputfile is not read‑only position‑independent. This is the default.
/picIs a synonym for /ropi.
/nopicIs a synonym for /noropi.
/rwpiSpecifies that the content of inputfile is read‑write position‑independent.
/norwpiSpecifies that the content of inputfile is not read‑write position‑independent. This is the default.
/pidIs a synonym for /rwpi.
/nopidIs a synonym for /norwpi.