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