Compliance with the Application
Binary Interface (ABI) for the ARM architecture
The ABI for the ARM Architecture is a family of specifications
that describes the processor-specific aspects of the translation
of a source program into object files. Object files produced by
any toolchain that conforms to the relevant aspects of the ABI can
be linked together to produce a final executable image or library.
Each document in the specification covers a specific area
of compatibility. For example, the C Library ABI for the
ARM Architecture (CLIBABI) describes the parts of the
C library that are expected to be common to all conforming implementations.
The ABI documents contain several areas that are marked as platform
specific. To define a complete execution environment
these platform-specific details have to be provided. This gives rise
to a number of supplemental specifications.
The Base Standard ABI for the ARM Architecture (BSABI)
enables you to use ARM, 16-bit Thumb®,
and 32-bit Thumb objects and libraries from different producers
that support the ABI for the ARM Architecture. The ARM compilation
tools fully support the BSABI, including support for Debug
With Arbitrary Record Format (DWARF) 3 debug tables (DWARF Debugging
Standard Version 3).
The ARM C and C++ libraries conform to the standards described
in the BSABI, the CLIBABI, and the C++ ABI (CPPABI)
for the ARM Architecture.
This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.
ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.