- 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
Geschichte
Das Format wurde ursprünglich von den Unix System Laboratories entwickelt und wurde 1993 vom Tool Interface Standard Comitee im Rahmen des Tool Interface Standard (TIS) als Standard für ausführbare Programme akzeptiert. Im Jahre 1995 wurde das Format in Linux eingeführt, da es schneller und flexibler als die früher verwendeten Formate a.out und COFF war.
Technische Eigenschaften
Besonderheiten dieses Formats sind unter anderem das dynamische Linken und Laden, die problemlose Kontrolle von bereits laufenden Programmen und die einfache Möglichkeit, dynamische Bibliotheken zu erzeugen. Dabei ist die Repräsentation der Kontrolldaten im Gegensatz zu anderen proprietären Formaten in einer ELF-Datei stets plattformunabhängig. Es bietet ferner die Möglichkeit, Objektdateien zu identifizieren, zu parsen und sie gleichzeitig zu interpretieren, also auszuführen.
Die Laufzeitbibliothek libelf ist ein nützlicher Helfer, um ELF-Dateien handzuhaben, beispielsweise Informationen auszulesen.
Aufbau
Eine ELF-Datei kann aus bis zu fünf Teilen bestehen:
- Kopfinformationen (ELF header)
- Programmkopf-Tabelle (program header table)
- Sektionskopf-Tabelle (section header table)
- die Sektionen (ELF sections)
- die Segmente (ELF segment)
Dateitypen
Die drei Hauptarten von ELF-Dateien sind
- executable
- relocatable
- shared object
Alle Dateitypen beinhalten den Code, die Daten und Informationen über das Programm, das Betriebssystem und über den Linker, der zur Laufzeit benötigt wird.
executable
Dieser Dateityp liefert die nötigen Informationen für das Betriebssystem, um einen neuen Prozess zu erzeugen, der auf den Code und die Daten innerhalb der Datei zugreifen kann.
relocatable
Dieser Dateityp beschreibt, wie er mit anderen Objektdateien verlinkt werden muss, damit daraus eine ausführbare Datei oder eine dynamische Bibliothek produziert werden kann.
Dieser Dateityp beinhaltet Informationen, die für das statische und dynamische Linken von Bedeutung sind.
FatELF: Universal Binaries for Linux
FatELF ist eine ELF Binärformat Erweiterung, welche Fat binary Fähigkeiten hinzufügt.[1] Neben verschiedenen CPU-Architekturen mit variierenden Datenwortgrößen (beispielsweise 32-Bit oder 64-Bit Systeme) oder Byte-order können auch Software-Plattformvariationen unterstützen werden, wie verschiedene OS ABIs (oder Versionen). Eine Beispielimplementierung für Ubuntu 9.04 ist verfügbar. Eine Integration in den Linuxkernel steht noch aus[2][3][4].
Weblinks
- Beschreibung des ELF-Binärformat (im PDF-Format; 436 kB)
- Informationen über die libelf
- Tool Interface Standard (TIS) Executable and Linking Format (ELF) Specification Version 1.2 (im PDF-Format; 337 kB)
Einzelnachweise
- ↑ Ryan Gordon: fatelf-specification v1. icculus.org. Abgerufen am 25. Juli 2010.
- ↑ Ryan Gordon: FatELF: Turns out I liked the uncertainty better.. icculus.org. Abgerufen am 13. Juli 2010.
- ↑ Thom Holwerda (3. November 2009): Ryan Gordon Halts FatELF Project. osnews.com. Abgerufen am 5. Juli 2010.
- ↑ Joe Brockmeier (June 23, 2010): SELF: Anatomy of an (alleged) failure. Linux Weekly News. Abgerufen am 6. Februar 2011.
Schlagen Sie auch in anderen Wörterbüchern nach:
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 System Laboratories) pour… … Wikipédia en Français
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 System Laboratories) pour… … Wikipédia en Français
Executable and Linking Format — Extension aucune, .o, .so, .exe, .elf Développé par Unix System Laboratories Type de format Format de fichier exécutable Spécification Format ouvert … Wikipédia en Français
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 — … Википедия
Exécutable Windows — Portable Executable File Format Le format de fichier PE (Portable Executable File Format) est un format de fichier binaire informatique utilisé pour l enregistrement de code compilé (exécutable, bibliothèques). Il a été développé par Microsoft… … Wikipédia en Français
Format PE — Portable Executable File Format Le format de fichier PE (Portable Executable File Format) est un format de fichier binaire informatique utilisé pour l enregistrement de code compilé (exécutable, bibliothèques). Il a été développé par Microsoft… … Wikipédia en Français
Executable — Als ausführbare Datei (auch Programmdatei) bezeichnet man eine Datei, die als Computerprogramm ausgeführt werden kann. Hierbei kann es sich um Binärdateien in Maschinensprache oder einem Bytecode handeln, die direkt oder durch ein Laufzeitsystem… … Deutsch Wikipedia
Portable Executable — File Format Le format de fichier PE (Portable Executable File Format) est un format de fichier binaire informatique utilisé pour l enregistrement de code compilé (exécutable, bibliothèques). Il a été développé par Microsoft pour les fichiers… … Wikipédia en Français