我需要做一個相當不尋常的事情:手動執行一個elf可執行文件。即加載所有部分到正確的位置,查詢main()並調用它(然後清理)。可執行文件將靜態鏈接,因此不需要鏈接庫。我也控制基地址,所以不用擔心可能的衝突。Linux用戶空間ELF加載程序
那麼,是否有任何圖書館呢?
我發現的OSKit及其liboskit_exec,但項目好像是死了自2002年以來
我與服用的部分項目(尊重許可證,當然),並將其剪裁到我的需要確定,但我在Linux世界裏,我相當不習慣,我什至不知道在哪裏找到那些部分! :)
PS。我需要ARM平臺。那麼,裝載精靈的問題似乎需要一些關於它的知識(嘆氣),所以我出去讀一些規格和手冊。我想我會堅持仿生/鏈接器和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
* bump *我有這個完全相同的問題(也在ARM上),但是我也需要做重定位。 – 2009-12-11 06:45:56