搬迁地址计算;极低频

搬迁地址计算;极低频

我正在了解有关搬迁的信息ELF 参考这个博客,但我无法计算搬迁地址。

  1. 假设我们有两个文件AB类型为ET_REL,我们想要合并它们S在链接期间命名的部分;这些部分包括符号SA(在A文件中)和SB(在B)文件中。如果我们在A.elf和中有重定位条目和重定位偏移量B.elf,我不明白链接器如何避免重定位地址冲突:我假设这些偏移量在A.elf和中可能是相同的B.elf,因为这些文件在编译期间不知道彼此。

  2. ET_EXEC 中重定位表的用途是什么?我不明白为什么需要它。

  3. Rela类型重定位中加数的作用是什么?

我认为最重要的是,我对搬迁的具体步骤没有清晰的直觉。这里有一个例子博客,但我不明白该符号到底发生了什么,结果是什么以及我们如何组合多个部分。任何有关学习资源的建议将不胜感激。

相关内容