The Base Platform Application Binary Interface (BPABI) defines three platform models based on the type of shared library:
- 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.
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.
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
If all the correct input options and libraries are specified, you can use the ELF file without any post-processing.