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

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

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

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