Executable and Linking Format — Änderungen 2856 → 2858

Zeile 1: Zeile 1:
−
Elf ist ein Dateiformat für ausführbare Dateien.
+
Das Executable and Linking Format(kurz ELF) ist ein Dateiformat für ausführbare Dateien.
−
Es gibt 3 verschiedene Arten von Elf-Dateien:
+
Es gibt 3 verschiedene Arten von ELF-Dateien:
 
* executable
 
* executable
 
* relocatable
 
* relocatable
Zeile 7: Zeile 7:
 
== Aufbau ==
 
== Aufbau ==
  
−
=== Elf-Header ===
+
=== ELF-Header ===
−
Der Elf-Header ist wie folgt aufgebaut.
+
Der ELF-Header ist wie folgt aufgebaut.
  
 
{| border="1"
 
{| border="1"
Zeile 15: Zeile 15:
 
| [[#e_ident | e_ident]]        || 0x00  || 16    || Enthält Daten zur Identifikation
 
| [[#e_ident | e_ident]]        || 0x00  || 16    || Enthält Daten zur Identifikation
 
|-
 
|-
−
| [[#e_type | e_type]]          || 0x10  || 2    || Enthält den Elf-Typ
+
| [[#e_type | e_type]]          || 0x10  || 2    || Enthält den ELF-Typ
 
|-
 
|-
 
| [[#e_machine | e_machine]]    || 0x12  || 2    || Beschreibt die benötigte Architektur
 
| [[#e_machine | e_machine]]    || 0x12  || 2    || Beschreibt die benötigte Architektur
Zeile 29: Zeile 29:
 
| [[#e_flags | e_flags]]        || 0x24  || 4    || Verschiedene Flags
 
| [[#e_flags | e_flags]]        || 0x24  || 4    || Verschiedene Flags
 
|-
 
|-
−
| [[#e_ehsize | e_ehsize]]      || 0x28  || 2    || Größe des Elf-Headers
+
| [[#e_ehsize | e_ehsize]]      || 0x28  || 2    || Größe des ELF-Headers
 
|-
 
|-
 
| [[#e_phentsize | e_phentsize]] || 0x2A  || 2    || Größe eines Eintrags im Programm-Header
 
| [[#e_phentsize | e_phentsize]] || 0x2A  || 2    || Größe eines Eintrags im Programm-Header
Zeile 43: Zeile 43:
  
 
==== e_ident ====
 
==== e_ident ====
−
Das Feld e_ident ist 16 Byte groß und enthält Werte zur Identifikation der Elf-Datei.
+
Das Feld e_ident ist 16 Byte groß und enthält Werte zur Identifikation der ELF-Datei.
 
Dies sind die Indexes:
 
Dies sind die Indexes:
 
{| border="1"
 
{| border="1"
Zeile 126: Zeile 126:
  
 
==== e_type ====
 
==== e_type ====
−
Dieses Feld beschreibt, welches Elf-Format benutzt wird:
+
Dieses Feld beschreibt, welches ELF-Format benutzt wird:
 
{| border="1"
 
{| border="1"
 
! Name      || Wert || Beschreibung
 
! Name      || Wert || Beschreibung
Zeile 144: Zeile 144:
 
| ET_HIPROC || 0x00ff || Kein Typ
 
| ET_HIPROC || 0x00ff || Kein Typ
 
|}
 
|}
−
Für eine ausführbare Elf-Datei, müsste hier ET_EXEC stehen.
+
Für eine ausführbare ELF-Datei, müsste hier ET_EXEC stehen.
  
 
==== e_machine ====
 
==== e_machine ====
Zeile 169: Zeile 169:
  
 
==== e_version ====
 
==== e_version ====
−
Beschreibt die Aktuelle Elf-Version
+
Beschreibt die Aktuelle ELF-Version
 
{| border="1"
 
{| border="1"
 
! Name      || Wert || Beschreibung
 
! Name      || Wert || Beschreibung
Zeile 191: Zeile 191:
  
 
==== e_ehsize ====
 
==== e_ehsize ====
−
Größe des Elf-Headers.
+
Größe des ELF-Headers.
  
 
==== e_phentsize ====
 
==== e_phentsize ====
Zeile 232: Zeile 232:
  
 
==== p_type ====
 
==== p_type ====
−
Dieses Feld gibt den Typ des Segments an, für eine ausführbare Elf-Datei ist vor allem PT_LOAD relevant.
+
Dieses Feld gibt den Typ des Segments an, für eine ausführbare ELF-Datei ist vor allem PT_LOAD relevant.
 
Die folgenden Beschreibungen sind auf PT_LOAD bezogen (es kann sein, dass sie auch auf andere Typen zutreffen).
 
Die folgenden Beschreibungen sind auf PT_LOAD bezogen (es kann sein, dass sie auch auf andere Typen zutreffen).
  
Zeile 315: Zeile 315:
  
 
= Links =
 
= Links =
−
* [http://www.acm.uiuc.edu/sigops/rsrc/pfmt11.pdf Elf für x86]
+
* [http://www.acm.uiuc.edu/sigops/rsrc/pfmt11.pdf ELF für x86]
  
 
[[Category:Dateityp]]
 
[[Category:Dateityp]]