Executable and Linkable Format (ELF)

https://en.wikipedia.org/wiki/Executable_and_Linkable_Format

Standard file format for executable files, object code, shared libraries, core dumps.

Standard binary file format for Unix and Unix-like systems.

ELF is flexible. Supports different endiannesses, addresses sizes. Does not exclude any CPU / ISA. Adopted by many different OS and hardware platforms.

Layout

-------------------------------
ELF Header
-------------------------------
Program Header
-------------------------------
.text
-------------------------------
.rodata
-------------------------------
...
-------------------------------
.data
-------------------------------
Section header table
-------------------------------

ELF Header

Defines whether to use 32 / 64-bit address.

52 / 64 bytes long for 32-bit / 64-bit binaries respectively.