Format executable i enllaçable
Aquesta entrada o secció sobre el tema dels formats de fitxer no menciona les fonts necessàries o les persones que hi són presents són insuficients . |
L 'Executable and Linkable Format (en format italià executable i enllaçable, abreujat com a ELF, abans anomenat Extensible Linking Format), en informàtica , és un format de fitxer estàndard per a executables , codis d'objectes , biblioteques compartides i abocaments bàsics .
Publicat inicialment a l’especificació de la interfície binària de l’aplicació System V i després a l’ Estàndard d’interfície d’eines , va ser acceptat per diversos proveïdors de sistemes Unix . El 1999 va ser escollit com a format de fitxer binari estàndard per a sistemes Unix i sistemes similars a Unix en arquitectura x86 pel projecte 86open .
Història
El format ELF ha substituït formats executables com a.out i COFF a Linux , Solaris , IRIX i BSD , a excepció de macOS que utilitza Mach-O . ELF també s'utilitza a la versió Itanium d' OpenVMS , un sistema operatiu que no és unix , i ha substituït el format executable preferit a BeOS Revision 4 i posteriorment a x86 , AmigaOS 4.0 i MorphOS a l'arquitectura PowerPC (BeOS a PowerPC encara utilitza PEF), també 'no estan basats en UNIX. Fins i tot PlayStation 2 i PlayStation Portable utilitzen ELF com a format per als fitxers executables. [ sense font ]
Disseny d'un fitxer ELF
Cada fitxer ELF consta d'una capçalera ELF, seguida de zero o més segments i zero o més seccions . Els segments contenen la informació necessària per a l'execució del fitxer, mentre que les seccions contenen dades importants per a l' enllaç i la reubicació. Cada byte de tot el fitxer està associat a no més d'una secció alhora, però pot haver-hi bytes orfes , que no estan coberts per cap secció. En el cas normal d'un executable Unix , una o més seccions s'inclouen en un segment. Els segments i seccions del fitxer es mostren en una taula de la capçalera del programa i en una taula de la capçalera de la secció, respectivament.
En molts sistemes Unix , l'ordre man elf
pot donar més detalls.
Eines
-
readelf
és una utilitat que mostra informació sobre un o més fitxers ELF. GNU Binutils proporciona una implementació GPL . -
elfdump
és una ordre de Solaris per mostrar informació sobre un fitxer ELF.