是否存在与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]
有谁知道这是否正确
答案 0 :(得分:1)
是的。事实证明这是正确的:
movq m7,[rip + pw_8000]