1384
« am: 17. October 2005, 19:45 »
hi,
is eigentlich ganz einfach:
* Laden der ELF Header (an Dateioffset 0)
* Checken ob die ELF Header ok is:
* Die ID bytes prüfen (ID bytes 0-3 sollten 0x07, 'E', 'L', 'F' sein)
* Schauen obs für die richtige Architektur is (ID byte 4 = 1 für 32Bit)
* Schauen ob richtiges byte-encoding (für x86 LSB, sollte ID byte 5 = 1 sein)
* Schauen ob "Executeable" is im Feld "type" der Elf header
* Schauen ob für die richtige Maschine (Feld "machine" sollte für i386 = 3 sein)
* Schauen obs die richtige version der elf specification is (Feld version=1)
* Program Header laden
* Program Header Entries durchlaufen und die benötigte Speichermenge für die Segmente berechnen
* Speicher allozieren
* nochmal Program Header durchlaufen und diesmal die Segmente in den Speicher laden
Solltest dir trotzdem die Elf-Specification reinziehn.
Meine Erklärung gilt nur, wenn du dass Programm nicht vor dem ausführen gelinkt werden muss.