指向数据段中文本段的指针

时间:2011-09-04 01:17:11

标签: nasm relative-addressing

是否可以在x86-64中使用此相对寻址执行以下操作?

section .text
two
   dq 0

section .data
one:
   dq two

当我在OS X上使用nasm这样做时,我得到以下链接器警告:

  

ld:警告:PIE已禁用。绝对寻址(也许   -mdynamic-no-pic)不允许在代码签名的PIE中使用,但在...中使用   一个来自/var/tmp/tmp.1.Ho4qKA。要修复此警告,请不要   使用-mdynamic-no-pic编译或使用-Wl,-no_pie

链接

1 个答案:

答案 0 :(得分:-1)

做警告说的。 PIE(位置无关可执行文件)被启用,这意味着.text可以重新定位在内存中,但系统喜欢,而根本不需要修改代码。链接器会自动检测到并禁用它,因此重定位将照常进行,允许您使用常量地址。