| Executable and Linkable Format | |
|---|---|
| Estensione | .bin, .elf, .o, .out, .so
|
| Magic number | 0x7F 'E' 'L' 'F'
|
| Sviluppatore | UNIX System Laboratories |
L'Executable and Linkable Format[1] (ELF, lett. "formato eseguibile e collegabile", precedentemente noto come Extensible Linking Format) รจ un formato di file standard per eseguibili, librerie condivise e dump.
Pubblicato inizialmente nelle specifiche application binary interface di System V e poi in Tool Interface Standard, รจ stato quindi accettato da diversi produttori di sistemi Unix. Nel 1999 รจ stato scelto come formato standard dei file binari per i sistemi Unix e Unix-like su architettura x86 dal progetto 86open.
Storia
modificaIl formato ELF ha rimpiazzato formati eseguibili come a.out e COFF in Linux, Solaris, IRIX e BSD, con l'eccezione di macOS che usa Mach-O. ELF รจ anche usato nella versione Itanium di OpenVMS, un sistema operativo non unix, e ha rimpiazzato il Preferred Executable Format su BeOS Revision 4 e successive su architetture x86, AmigaOS 4.0 e MorphOS su architettura PowerPC (BeOS su PowerPC utilizza ancora PEF), anch'essi non UNIX-based. Persino la PlayStation 2 e la PlayStation Portable usano ELF come loro formato per i file eseguibili.[senzaย fonte]
Layout di un file ELF
modificaOgni ELF file รจ formato da una intestazione ELF, seguita da zero o piรน segmenti e zero o piรน sezioni. I segmenti contengono informazioni necessarie per l'esecuzione del file, mentre le sezioni contengono dati importanti per il linking e la relocation. Ogni byte nell'intero file รจ associato a non piรน di una sezione per volta ma ci possono essere byte orfani, non coperti da una sezione. Nel caso normale di un eseguibile Unix, una o piรน sezioni sono incluse in un segmento. I segmenti e le sezioni del file sono elencate rispettivamente in una tabella nell'intestazione del programma e in una tabella nell'intestazione della sezione.
Su molti sistemi Unix, il comando man elf puรฒ dare piรน dettagli.
Strumenti
modificareadelfรจ una utility che mostra informazioni su uno o piรน file ELF. Un'implementazione GPL รจ fornita da GNU Binutils.elfdumpรจ un comando di Solaris per mostrare informazioni su un file ELF.
Note
modifica- ^ (EN) TIS Committee, Tool Interface Standard (TIS) Portable Formats Specification Version 1.1 (PDF), ottobre 1993, p.ย i. URL consultato il 20 settembre 2023.
Bibliografia
modifica- (EN) TIS Committee, Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification Version 1.2 (PDF), maggio 1995. URL consultato il 20 settembre 2023.
- (EN) Object Files (PDF), in System V Application Binary Interface, Edition 4.1, 18 marzo 1997. URL consultato il 20 settembre 2023.
Voci correlate
modificaAltri progetti
modifica
Wikimedia Commons contiene immagini o altri file su Executable and linkable format
Collegamenti esterni
modifica- (EN) The elfutils project, su Sourceware. URL consultato il 20 settembre 2023.
- (EN) NetBSD ELF FAQ, su NetBSD. URL consultato il 20 settembre 2023.
