1.1.4 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:

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.
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.
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.
CPPABI
C++ ABI for the ARM Architecture. 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.

Non-ConfidentialPDF file icon PDF versionARM DUI0529M
Copyright © 2010-2016 ARM Limited or its affiliates. All rights reserved.