我在工作中遇到了一个有趣的情况,我正试图为其找到一个好的解决方案。我们有在多核 MIPS 裸机(无内核)上运行的代码。我们需要与一些需要升级的第三方代码集成。 我正在考虑将第 3 方代码编译为 PIC,然后在下载此代码时更改代码/数据符号的 GOT(我可以控制代码所在的位置)。此外,假设进入第 3 方代码的接口(interface)没有改变,因此没有新的 PLT/GOT 条目。 这行得通吗?我还应该考虑哪些其他事项?
最佳答案
正确答案是否比“嵌入动态链接器/加载器”长?您的问题似乎与 ld.so 等解决的问题相同。描述动态链接器/加载器必须考虑的所有事情是书籍的主题,例如 Linkers and Loaders约翰·莱文。
关于c++ - 模拟动态加载程序以修复共享库偏移量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13421851/