Executable and Linkable Format

Executable and Linkable Format

Executable and Linkable Format

El formato ELF (Executable and Linkable Format) es un formato de archivo para ejecutables, código objeto, librerías compartidas y volcados de memoria. Fue desarrollado por el UNIX System Laboratory (USL) como parte de la ABI. En principio fue desarrollado para plataformas de 32 bits, a pesar de que hoy en día se usa en gran variedad de sistemas.

Es el formato ejecutable usado mayoritariamente en los sistemas tipo UNIX como GNU/Linux, BSD, Solaris, Irix. Existen otros formatos soportados en algunos de estos sistemas como COFF o a.out, pero ELF es sin duda el más usado.

Estructura

Dentro del formato ELF podemos distinguir varias partes.

En primer lugar la cabecera ELF, que contiene información general sobre el ejecutable. En él se indican las posiciones de las tablas de cabeceras de sección y cabeceras de programa.

Cada una de estas cabeceras indican dónde se encuentran los datos de cada una de las secciones. Las cabeceras de programa definen las regiones del ejecutable o librería que es necesario cargar para crear la imagen del proceso e iniciar su ejecución. Las cabeceras de sección contienen información importante para el enlazado y la relocalización.

Las secciones tienen nombres que suelen coincidir en todos los sistemas. Ejemplos de secciones son:

.data Contiene datos inicializados del programa.

.debug Contiene información para ayudar a la depuración.

.ctors Contiene punteros a constructores de C++.

.dtors Contiene punteros a destructores de C++.

.dynamic Contiene información relevante para el enlazado dinámico.

.dynsym Contiene la tabla de símbolos para el enlazado dinámico.

.fini Contiene código de finalización del programa.

.init Contiene código de inicialización del programa.

.shstrtab Contiene una tabla de strings con los nombres de las secciones.

.strtab Contiene una tabla de strings normalmente usada para nombrar los elementos de la tabla de símbolos.

.symtab Contiene una tabla de símbolos.

.text Contiene la parte ejecutable de un programa.

Herramientas

  • readelf es un programa UNIX que muestra la información sobre un archivo ELF.

Está implementado bajo licencia GPL en las GNU Binary Utilities.

Enlaces externos

Especificación ELF Versión 1.2


Wikimedia foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Mira otros diccionarios:

  • Executable and Linkable Format — Запрос «ELF» перенаправляется сюда; см. также другие значения. ELF (англ. Executable and Linkable Format  формат исполнимых и компонуемых файлов)  формат файлов, используемый во многих UNIX подобных операционных системах, например …   Википедия

  • Executable and Linkable Format — Executable and Linking Format ELF (Executable and Linking 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… …   Wikipédia en Français

  • Executable and Linkable Format — Infobox file format name = ELF extension = none, .o, .so, .elf mime = owner = Unix System Laboratories genre = Binary, executable, object, shared libraries, core dump container for = contained by = extended from = extended to = In computing, the… …   Wikipedia

  • Executable and Linking Format — Das Executable and Linkable Format (kurz: ELF) beschreibt das Standard Binärformat ausführbarer Programme unter vielen UNIX ähnlichen Betriebssystemen wie beispielsweise Linux oder FreeBSD. Inhaltsverzeichnis 1 Geschichte 2 Technische… …   Deutsch Wikipedia

  • System Object Model (file format) — In computing, the System Object Model (SOM) is a proprietary executable file format developed by Hewlett Packard for its HP UX and MPE/ix operating systems.In particular, SOM is the native format used for 32 bit application executables, object… …   Wikipedia

  • Open format — An open file format is a published specification for storing digital data, usually maintained by a standards organization, which can therefore be used and implemented by anyone. For example, an open format can be implementable by both proprietary …   Wikipedia

  • Free file format — A free file format is a file format whose full specification is freely available and for which there are no restrictions (e.g. legal or technical) on its use. [cite web url=http://www.linfo.org/free file format.html title=Free File Format… …   Wikipedia

  • List of computing and IT abbreviations — This is a list of computing and IT acronyms and abbreviations. Contents: 0–9 A B C D E F G H I J K L M N O P Q R S T U V W X Y …   Wikipedia

  • Amiga Hunk — Hunk is the executable file format of tools and programs of the Amiga Classic Operating System (up to AmigaOS 3.9) based on Motorola 68000 CPU and other processors of the same family. This kind of executable got its name from the fact that the… …   Wikipedia

  • EXE — is the common filename extension denoting an executable file (a program) in the DOS, OpenVMS, Microsoft Windows, ReactOS, and OS/2 operating systems.Besides the executable program itself, many EXE files contain other components called resources,… …   Wikipedia

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”