什么是GAS相当于NASM' DEFAULT REL指令?

时间:2015-05-06 15:49:37

标签: assembly x86-64

是否存在与NASM相同的GAS' DEFAULT REL'指令?

我试图将一些NASM程序集移植到GAS,具体而言,我在原始文件中使用CEXTERN声明的存储空间被挂起。

最初的NASM:

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

当我汇编文件并尝试链接它时,我看到以下内容:

ld:common / x86 / dct-a.o:重定位R_X86_64_32S对`x264_pw_8000'制作共享对象时不能使用;使用-fPIC重新编译

使用YASM,调用 DEFAULT REL 似乎解决了这个问题。我不知道如何用GAS做到这一点。

有什么想法吗?

编辑: 似乎根据this post,move命令可以写成

movq   m7, [rip+pw_8000]

有谁知道这是否正确

1 个答案:

答案 0 :(得分:1)

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

movq m7,[rip + pw_8000]