ABI
▶ When building a toolchain, the ABI used to generate binaries needs to be defined ▶ ABI, for Application Binary Interface, defines the calling conventions (how function arguments are passed, how the return value is passed, how system calls are made) and the organization of structures (alignment, etc.) ▶ All binaries in a system must be compiled with the same ABI, and the kernel must understand this ABI. ▶ On ARM, two main ABIs: OABI and EABI ▶ Nowadays everybody uses EABI ▶ On MIPS, several ABIs: o32, o64, n32, n64