Eine ELF-Datei für ausführbare Dateien ein Programm (Segment) Header und einen Abschnitt Header, der durch readelf -a
zu sehen ist, ist hier ein Beispiel:Welcher Teil der ELF-Datei muss in den Speicher geladen werden?
Die beiden oben genannten Abbildungen sind Abschnitt Header und Programm (Segment) Header, jeweils. Es ist ersichtlich, dass ein Segment-Header aus mehreren Abschnitts-Headern besteht, die zum Laden eines Programms in den Speicher verwendet werden.
Müssen nur .text, .rodata, .data, .bss Sektionen in den Speicher geladen werden?
Werden alle anderen Abschnitte im Segment (z. B. .ctors, .dtors .jcr im 3. Segment) zum Ausrichten verwendet?
Für _aligning_? –
@ Adriano, ja Ausrichtung auf die Seitengröße, so kann verschiedenen Schutz für verschiedene Teile des Programms verwendet werden, zum Beispiel .text (rx), Daten (rw-) –