1.7 Compliance with the ABI for the ARM Architecture (Base Standard)

The ABI for the ARM Architecture (Base Standard) is a collection of standards. Some of these standards are open. Some are specific to the ARM architecture.

The Application Binary Interface (ABI) for the ARM Architecture (Base Standard) (BSABI) regulates the inter-operation of binary code and development tools in ARM architecture-based execution environments, ranging from bare metal to major operating systems such as ARM Linux.
By conforming to this standard, objects produced by the toolchain can work together with object libraries from different producers.
The BSABI consists of a family of specifications including:
AADWARF64
DWARF for the ARM 64-bit Architecture (AArch64). This ABI uses the DWARF 3 standard to govern the exchange of debugging data between object producers and debuggers. It also gives additional rules on how to use DWARF 3, and how it is extended in ways specific to the ARM 64-bit architecture.
AADWARF
DWARF for the ARM Architecture. This ABI uses the DWARF 3 standard to govern the exchange of debugging data between object producers and debuggers.
AAELF64
ELF for the ARM 64-bit Architecture (AArch64). This specification provides the processor-specific definitions required by ELF for AArch64-based systems. It builds on the generic ELF standard to govern the exchange of linkable and executable files between producers and consumers.
AAELF
ELF for the ARM Architecture. Builds on the generic ELF standard to govern the exchange of linkable and executable files between producers and consumers.
AAPCS64
Procedure Call Standard for the ARM 64-bit Architecture (AArch64). Governs the exchange of control and data between functions at runtime. There is a variant of the AAPCS for each of the major execution environment types supported by the toolchain.
AAPCS
Procedure Call Standard for the ARM Architecture. Governs the exchange of control and data between functions at runtime. There is a variant of the AAPCS for each of the major execution environment types supported by the toolchain.
BPABI
Base Platform ABI for the ARM Architecture. Governs the format and content of executable and shared object files generated by static linkers. Supports platform-specific executable files using post linking. Provides a base standard for deriving a platform ABI.
CLIBABI
C Library ABI for the ARM Architecture. Defines an ABI to the C library.
CPPABI64
C++ ABI for the ARM Architecture. This specification builds on the generic C++ ABI (originally developed for IA-64) to govern interworking between independent C++ compilers.
DBGOVL
Support for Debugging Overlaid Programs. Defines an extension to the ABI for the ARM Architecture to support debugging overlaid programs.
EHABI
Exception Handling ABI for the ARM Architecture. Defines both the language-independent and C++-specific aspects of how exceptions are thrown and handled.
RTABI
Run-time ABI for the ARM Architecture. Governs what independently produced objects can assume of their execution environments by way of floating-point and compiler helper function support.
If you are upgrading from a previous toolchain release, ensure that you are using the most recent versions of the ARM specifications.
Related concepts
1.6 Standards compliance in ARM® Compiler
Non-ConfidentialPDF file icon PDF versionARM DUI0741B
Copyright © 2014 ARM. All rights reserved.