ELF stands for Executable and Linkable Format, a file format for files containing machine code. Use this tag for questions about the ELF format itself, or for questions which are specifically about reading/writing ELF files.
The Executable and Linkable Format (ELF) standard describes a layout for files containing executable machine code. The format is non-proprietary, flexible, extensible and machine architecture-independent.
Most modern open-source operating systems (e.g., Linux) use ELF for their native executables. Notable exceptions are Windows (using PE/COFF) and macOS/iOS (using Mach-O).
Questions that should use the elf tag:
- Questions about the ELF format itself, e.g. how certain fields should be used or what their intention is.
- Questions about reading/parsing ELF files, e.g. via the C
elf.h
standard header or with thereadelf
program. - Question about writing/modifying ELF files, e.g. using tools like
objcopy
orstrip
.
Resources:
- elf(5) Linux manual page
Contains a quick overview over the ELF format and its most common data types. - ELF format specification
This is the official full specification of the ELF format.
Related tags: