首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么linux在x64中使用两个GOT部分?.GOT与.got.plt

为什么linux在x64中使用两个GOT部分?.GOT与.got.plt
EN

Stack Overflow用户
提问于 2020-02-24 15:28:10
回答 1查看 176关注 0票数 3

我试图弄清楚这两个部分之间的区别,这可能看起来是这个question的副本,但给出的答案并没有解释太多,所以我想要一个更详细和简洁的解释。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-24 17:17:36

分裂是由于安全原因。默认情况下(过去只在-Wl,-z,relro下),.got段被重新映射为只读,一旦动态加载器在启动时解决了所有数据重新定位问题(即,在进入main函数之前),以防止some types of exploits.got.plt不能因为lazy symbol binding而被重新映射(除非使用了LD_BIND_NOW-Wl,-z,now,在这种情况下,惰性绑定被关闭,并且.got.plt也被重新映射)。

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

https://stackoverflow.com/questions/60371246

复制
相关文章

相似问题

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