You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何PIC中首次函数调用解析与数据引用采用不同实现方式?

PIC中首次函数调用的解析流程

咱们先把PIC(位置无关代码)里首次函数调用的完整解析流程拆解清楚:

  • 跳转到该符号的PLT表项。
  • 跳转到该符号的GOT表项。
  • 跳转回PLT表项并将一个偏移量压入栈中,该偏移量实际是描述符号修补方式的Elf_Rel结构。
  • 跳转到PLT存根表项。
  • 压入指向link_map结构的指针,以便链接器找到符号所属的库。
  • 调用解析例程。
  • 修补GOT表项。

这和仅使用GOT表的数据引用方式有着明显的不同。

那么,为何会存在这种差异?为何要采用两种不同的实现方式?


内容的提问来源于stack exchange,提问作者ray an

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:15:26