Platforms supported by the BPABI
The Base Platform Application Binary Interface (BPABI) defines three platform models based on the type of shared library.
The platform models are:
- Bare metal
The bare metal model is designed for an offline dynamic loader or a simple module loader. References between modules are resolved by the loader directly without any additional support structures.
The dynamically linked library (DLL) like model sacrifices transparency between the dynamic and static library in return for better load and run-time efficiency.
The System V (SysV) model masks the differences between dynamic and static libraries. ARM Linux uses this format.
Linker support for the BPABI
The ARM linker supports all three BPABI models enabling you to link a collection of objects and libraries into a:
Bare metal executable image.
BPABI DLL or SysV shared object.
BPABI or SysV executable file.
Linker support for ARM Linux
The linker can generate SysV executables and shared libraries with all required data for ARM Linux. However, you must specify other command-line options and libraries in addition to the --shared or --sysv options.
If all the correct input options and libraries are specified, you can use the ELF file without any post-processing.