Ich muss eine ziemlich ungewöhnliche Sache tun: manuell eine Elf ausführbare Datei ausführen. I.e. Lade alle Abschnitte an die richtigen Stellen, frage main() ab und rufe es auf (und bereinige es dann). Die ausführbare Datei wird statisch verknüpft, so dass keine Bibliotheken verknüpft werden müssen. Ich kontrolliere auch die Basisadresse, also keine Sorgen über mögliche Konflikte.Linux User-Space ELF Loader
Also, gibt es irgendwelche Bibliotheken dafür?
fand ich OSKit und seine liboskit_exec, aber Projekt scheint tot zu sein seit 2002.
Ich bin OK mit Teilen von Projekten unter (unter Beachtung von Lizenzen, natürlich) und sie zu meinem Bedürfnisse Schneiderei, aber wie ich In der Linux-Welt bin ich kein Anfänger, ich weiß nicht einmal, wo ich diese Teile finde! :)
PS. Ich brauche das für die ARM-Plattform.
UPD Nun, die Frage des Ladens von Elfen scheint ein gutes Wissen darüber zu benötigen (Seufzer), also bin ich auf der Suche nach einigen Spezifikationen und Handbüchern. Und ich denke, ich bleibe bei bionic/linker und libelfsh. Danke Leute!
Zusammengefasste Ergebnisse:
- libelf: http://directory.fsf.org/project/libelf/
- elfsh und libelfsh (jetzt Teil von eresi): http://www.eresi-project.org/
- elfio (eine andere Elf-Bibliothek): http://sourceforge.net/projects/elfio/
- OSKit und liboskit_exec (veraltet): http://www.cs.utah.edu/flux/oskit/
- bionische/Linker: https://android.googlesource.com/platform/bionic
* bump * Ich habe genau dasselbe Problem (auch auf ARM), aber ich muss auch Umzug durchführen. –