Format executable i enllaçable

De la Viquipèdia, l'enciclopèdia lliure
Infotaula de format de fitxerExecutable and Linkable Format
TipusBinary, executable, object, shared library, core dump
Extensiócap valor, axf, bin, elf, o, prx, so i exe Modifica el valor a Wikidata
Magic number7F454C46 Modifica el valor a Wikidata
DesenvolupadorUnix System Laboratories
Més informació
Stack ExchangeEtiqueta i Etiqueta Modifica el valor a Wikidata
Wiki del format de fitxerExecutable_and_Linkable_Format Modifica el valor a Wikidata
PRONOMfmt/689, fmt/688, fmt/691 i fmt/690 Modifica el valor a Wikidata

En informàtica, el format executable i enllaçable (ELF, abans anomenat Extensible Linking Format), és un format de fitxer estàndard comú per a fitxers executables, codi objecte, biblioteques compartides i abocadors de nucli. Publicat per primera vegada a l'especificació per a la interfície binària de l'aplicació (ABI) de la versió del sistema operatiu Unix anomenada System V Release 4 (SVR4), i més tard a Tool Interface Standard, va ser ràpidament acceptat entre diferents proveïdors de Sistemes Unix. El 1999, va ser escollit com a format de fitxer binari estàndard per a sistemes Unix i similars a Unix en processadors x86 pel projecte 86open.[1]

Un fitxer ELF té dues vistes: la capçalera del programa mostra els segments utilitzats en temps d'execució, mentre que la capçalera de la secció enumera el conjunt de seccions.

Per disseny, el format ELF és flexible, extensible i multiplataforma. Per exemple, admet diferents endians i mides d'adreces, de manera que no exclou cap unitat de processament central (CPU) o arquitectura de conjunt d'instruccions en particular. Això ha permès que sigui adoptat per molts sistemes operatius diferents en moltes plataformes de maquinari diferents.[2]

Disposició del fitxer[modifica]

Cada fitxer ELF està format per una capçalera ELF, seguida de les dades del fitxer. Les dades poden incloure: [3]

  • Taula de capçalera del programa, que descriu zero o més segments de memòria.
  • Taula de capçalera de secció, que descriu zero o més seccions.
  • Dades a les quals fan referència les entrades de la taula de capçalera del programa o de la taula de capçalera de la secció.
Estructura d'un fitxer ELF amb les entrades clau destacades

Els segments contenen informació necessària per a l'execució del fitxer en temps d'execució, mentre que les seccions contenen dades importants per a l'enllaç i la reubicació. Qualsevol byte de tot el fitxer pot ser propietat d'una secció com a màxim, i es poden produir bytes orfes que no són propietat de cap secció.[4]


Referències[modifica]

  1. Ganiga, Raghavendra Chandra. «Understanding ELF, the Executable and Linkable Format» (en anglès americà), 07-02-2020. [Consulta: 8 desembre 2023].
  2. «What Is an ELF File?» (en anglès). [Consulta: 8 desembre 2023].
  3. «TIS Committee May 1995 Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification» (en anglès). [Consulta: 8 desembre 2023].
  4. «[https://flint.cs.yale.edu/cs422/doc/ELF_Format.pdf I Executable and Linkable Format (ELF)]» (en anglès). [Consulta: 8 juliol 2023].