我想写ELF可执行文件加载程序ARM platform.I有一些疑问这里如何动态加载可重定位的ELF可执行文件?
1)如何产生重定位或与位置无关的ELF可执行文件(什么是编译器&连接选项)2)如何上面加载此生成ELF可执行文件。
作为astart,我做了一些工作,它工作正常。我为RO_Base使用了一个固定地址,并且在构建时不使用任何--split选项来拆分Segments,所以我得到了一个连续的代码,数据,bss部分。在此之后,我将精灵加载到与RO_Base相同的地址并将代码作为新线程执行。这工作正常。我没有做任何重定位等...
现在我想通过生成可重定位的ELF并修改加载器进行适当的更改来使其动态并能够加载到任何地址。 请帮助我使它工作。
谢谢,