Executable and Linkable Format
Extension |
aucune, .o, .so, .exe, .elf |
---|---|
PUID | |
Signature | 7F 45 4C 46 (hexa) |
Développé par |
Unix System Laboratories |
Type de format |
Format de fichier exécutable |
Spécification |
ELF (Executable and Linkable Format) est un format de fichier informatique binaire utilisé pour l'enregistrement de code compilé (objets, exécutables, bibliothèques de fonctions). Il a été développé par l’USL (Unix System Laboratories) pour remplacer les anciens formats a.out et COFF (Common Object File Format, voir (en) COFF), qui avaient atteint leurs limites. Aujourd'hui, ce format est utilisé dans la plupart des systèmes d'exploitation Unix (GNU/Linux, Solaris, IRIX, System V, BSD), à l'exception de Mac OS X.
Le format de fichier ELF
Chaque fichier ELF est constitué d'un en-tête fixe, puis de segments et de sections. Les segments contiennent les informations nécessaires à l'exécution du programme contenu dans le fichier, alors que les sections contiennent les informations pour la résolution des liens entre fonctions et le replacement des données. Sur la plupart des systèmes Unix, la commande man elf
donnera de plus amples informations[1].
Comparaison avec d'autres systèmes d'exploitation
Les structures équivalentes sont :
- sous Windows : format PE (Portable Executable) ;
- sous Mac OS, avant la version X : PEF (Preferred Executable Format), voir (en) Preferred Executable Format ;
- sous Mac OS X : Mach-O[2].