等同于 NASM' DEFAULT REL 指令的 GAS 是多少?

What's the GAS equivalent to NASM' DEFAULT REL directive?

是否有等同于 NASM 的 'DEFAULT REL' 指令的 GAS?

我正在尝试将一些 NASM 程序集移植到 GAS,具体来说,我在原始文件中使用 CEXTERN 声明的存储上挂断了。

原NASM:

SECTION .text
cextern pw_8000
...
...
    movq   m7, [pw_8000]

当我 assemble 文件并尝试 link 它时,我看到以下内容:

ld: common/x86/dct-a.o: 重定位 R_X86_64_32S 对 `x264_pw_8000' 不能在创建共享对象时使用;使用 -fPIC

重新编译

使用 YASM,调用 DEFAULT REL 似乎可以解决这个问题。我不知道如何使用 GAS 执行此操作。

有什么想法吗?

编辑: 好像根据this post,移动命令可以写成

movq   m7, [rip+pw_8000]

有谁知道这是否正确

是的。事实证明这是正确的:

movq m7, [rip+pw_8000]