使用RIP寻址,为什么x86-64仍然需要重定位?

9

x86-64具有RIP相对寻址,这使得编写PIC代码变得更加容易,并且需要的重定位数量也更少。那么为什么在x86-64上仍然需要重定位呢?有哪些功能需要用到它呢?我可以尝试使用objdump来探索,但要编译哪些C/C++代码模式才能看到呢?

1个回答

7
这篇文章比我能说得更清楚,但基本上讲的是共享库中的全局变量。 点击这里 查看详细信息。

2
请参阅Ulrich Drepper的"How To Write Shared Libraries"中有关重定位的部分。 - Eugene

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接