2010-02-24 6 views
5

versuche ich elf ausführbares Loader-Programm zu schreiben, für ARM platform.I einige AbfragenWie man eine verschiebbare ELF ausführbare Datei dynamisch lädt?

1 hier hat) Wie relocatable oder positionsunabhängig ELF ausführbare Datei zu erzeugen (was sind die Compiler & Linker-Optionen) 2) Wie dies oben laden erzeugte ELF ausführbare Datei.

Als Astart habe ich etwas gearbeitet und es funktioniert gut. Ich verwende eine feste Adresse für RO_Base und spalte die Segmente während des Aufbaus nicht (keine --split Option verwendend), damit ich einen zusammenhängenden Code, Daten, bss Abschnitte erhält. Danach lade ich den Elf an die selbe Adresse wie RO_Base und führe den Code als neuen Thread aus. Das funktioniert gut. Ich habe keine Umzüge usw. gemacht.

Jetzt möchte ich es dynamisch und in der Lage sein, auf jede Adresse zu laden, indem ich verlagerbare ELF erzeuge und den Loader zu den entsprechenden Änderungen modifiziere. Bitte helfen Sie mir, damit es funktioniert.

Danke,

Antwort

0

Nur Flag -r verwenden, um Linker-Datei relocatable zu machen.

Verwenden Sie etwas wie this, um die Datei im Speicher zu verschieben.

0

Es ist ein großes Thema. Ich werde auf die Referenz "Linkers and Loaders" von John R. Levine kommen. Hier ist das Manuskript des Buches, Chapter 7 Relocation, ich hoffe es hilfreich

Verwandte Themen