Application Binary Interface

From ArmadeusWiki
Revision as of 16:34, 1 April 2008 by JulienB (Talk | contribs) (Creation)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Definition from http://infocenter.arm.com

The Application Binary Interface (ABI) for the ARM Architecture is a collection of standards, some open and some specific to the ARM architecture. The standards regulate the interoperation of binary code, development tools, and a spectrum of ARM core-based execution environments from bare-metal to platform operating systems such as ARM Linux.

ABI for dummies:

At that time there are 2 ABIs used for ARM Linux:

  • OABI: Old/Legacy GNU ABI for kernels < 2.6.16 and GCC < 4.1.0
  • EABI: new ARM ABI (Embedded ABI) for kernels >= 2.6.16 ang GCC >= 4.1.0

Benefits of new EABI:

  • floating point handling is faster when no hardware is available
  • system call are more efficient
  • compiled objects compatibility
  •  ?? better Thumb code mixing support ??
  • kernel compiled with EABI can be compatible with OABI

Links