这是我的汇编代码:
.section .data
mystring: .asciz "Hello world\n"
.section .text
.globl _start
_start:
pushl $0
pushl $mystring
call printf
pushl $0
call exit
我正在尝试在我的 64 位 ubuntu 机器中汇编并链接此代码在 32 位模式下。使用以下命令成功组装此代码:
as -32 demo.s -o demo.o
但是当我尝试将其与 ld 命令链接时:
ld -m elf_i386 -s demo.o -o demo -lc
它给出了这个错误:
ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.so when searching for -lc
ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.a when searching for -lc
ld: cannot find -lc: No such file or directory
ld: skipping incompatible /usr/lib/x86_64-linux-gnu/libc.so when searching for -lc
为此我该怎么办?
这是我的libc.so
位置:
libcjson.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libcjson.so.1
libc.so.6 (libc6,x86-64) => /lib/x86_64-linux-gnu/libc.so.6
libc.so.6 (libc6) => /lib/i386-linux-gnu/libc.so.6