情况
环境
Arch Linux的X86-64(4.2.3-1-ARCH)
GCC
GCC(GCC)5.2.0
命令
gcc -Wall -g -o asm_printf asm_printf.s
错误
/usr/bin/ld: /tmp/cct4fa.o: Relocation R_X86_64_32S against '.data' can not be used when making a shared object; recompile with -fPIC /tmp/cct4fa.o:err adding symbols: Bad value collect2: error: ld returned 1 exit status
码
.section .data msg: .asciz "Printf In Assembly!!\n" .section .text .globl main main: pushq $msg call printf addq $8 %esp pushq $0 call exit
题
我试图用gcc
在上面的命令部分使用下面的命令来编译程序在上面的代码段和结束了在错误区间的一个错误。
请注意 ,我不是编译共享库。
- 这是什么错误?
- 我该如何解决?