首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GOT/PLT在MIPS上是如何工作的?

GOT/PLT在MIPS上是如何工作的?
EN

Stack Overflow用户
提问于 2018-05-01 08:54:39
回答 1查看 519关注 0票数 0

我正在尝试调试一个与访问gp寄存器相关的段错误。

我注意到所有的函数都是这样开头的:

代码语言:javascript
复制
0x400b7c <main>:   lui   gp,0xa
0x400b80 <main+4>: addiu gp,gp,31444
0x400b84 <main+8>: addu  gp,gp,t9

正如这里解释的:https://www.cr0.org/paper/mips.elf.external.resolution.txtt9的使用似乎与“经典的GOT/PLT机制”有关。

然而,该文档不是很有启发性,所以我的问题是:

派生适当的t9值以用于进行函数调用的过程是什么?(假设有一个运行时代码生成器/类似JIT的用例。)

更新:我找到了一些更完整的文档:https://gcc.gnu.org/ml/gcc/2008-07/txt00000.txt

EN

回答 1

Stack Overflow用户

发布于 2018-05-01 09:22:24

这只是函数的地址。函数中的计算从函数自己的地址派生gp

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50110088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档