私はかなり珍しいことをする必要があります: elf 実行可能ファイルを手動で実行します。つまり、すべてのセクションを適切な場所にロードし、main() を照会して呼び出します (その後、クリーンアップします)。実行可能ファイルは静的にリンクされるため、ライブラリをリンクする必要はありません。ベースアドレスも管理しているので競合の心配はありません。
それで、そのためのライブラリはありますか?
OSKit とその liboskit_exec を見つけましたが、プロジェクトは 2002 年以来死んでいるようです。
プロジェクトの一部を取り (もちろんライセンスを尊重して)、自分のニーズに合わせて調整することは問題ありませんが、私は Linux の世界では初心者なので、それらの部分がどこにあるかさえ知りません! :)
PS。ARMプラットフォームにはそれが必要です。
UPDうーん、elfs をロードするという問題は、それについての十分な知識が必要なようです (ため息)。それで、仕様書とマニュアルを読みに行きます。そして、bionic/linker と libelfsh に固執すると思います。みんなありがとう!
要約された調査結果:
- libelf : http://directory.fsf.org/project/libelf/
- elfsh と libelfsh (現在は eresi の一部): http://www.eresi-project.org/
- elfio (別のエルフ ライブラリ): http://sourceforge.net/projects/elfio/
- OSKit および liboskit_exec (古い): http://www.cs.utah.edu/flux/oskit/
- バイオニック/リンカー: https://android.googlesource.com/platform/bionic