Executable and Linkable Format
Struttura di un file ELF
Estensione.bin, .elf, .o, .out, .so
Magic number0x7F 'E' 'L' 'F'
SviluppatoreUNIX 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

modifica

Il 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

modifica

Ogni 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

modifica
  • readelf è 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
  1. ^ (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

Voci correlate

modifica

Altri progetti

modifica

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica

📚 Artikel Terkait di Wikipedia

Dynamic-link library

da codice la libreria. Libreria (software) Linking Executable and linkable format Portable Executable DLL, su sapere.it, De Agostini. (EN) DLL, su Enciclopedia

Portable Executable

file PE, ma non è compatibile a livello ABI con Windows. a.out Executable and linkable format COFF Exe packer Altri progetti Wikimedia Commons Wikimedia Commons

Elf

per l'insieme, per il cambiamento e per l'indeterminato Executable and linkable format – formato di file eseguibile Extremely low frequency – parte dello

Libreria (software)

stesso argomento in dettaglio: Linking, Dynamic-link library ed Executable and linkable format. Una libreria condivisa è un archivio di codice eseguibile che

.so

Disambiguazione – Se stai cercando il formato di file, vedi Executable and linkable format. .so è il dominio di primo livello nazionale assegnato alla

A.out

com, 6 marzo 2019. URL consultato l'11 marzo 2022. Formato di file Executable and linkable format Unix Portale Informatica: accedi alle voci di Wikipedia

Softlanding Linux System

sviluppatori presero la decisione di cambiare il formato eseguibile da a.out all'Executable and linkable format, cambiamento che non fu ben accolto dagli utenti