我正在尝试在英特尔架构上的
Linux程序集中编译一个小程序.我想使用C库的一些功能,但它没有链接.
这是我的装配程序:
.text .globl main main: pushl $512 call malloc addl $4,%esp mov $1,%eax mov $0,%ebx int $0x80
我正在编译
as --32 -o output.o output.asm
一切顺利.然后当我联系时
ld -static -m elf_i386 -o a.out output.o -lc
,我收到了这些错误:
(.text+0x1b8): undefined reference to
_Unwind_Resume'
__gcc_personality_v0′ /usr/lib32/libc.a(iofflush.o): In function
/usr/lib32/libc.a(iofclose.o):(.eh_frame+0x167): undefined reference
to
fflush': (.text+0xd7): undefined reference to
_Unwind_Resume’
/usr/lib32/libc.a(iofflush.o):(.eh_frame+0xdf): undefined reference to
__gcc_personality_v0' /usr/lib32/libc.a(iofputs.o): In function
fputs’: (.text+0x108): undefined reference to
_Unwind_Resume'
__gcc_personality_v0′ /usr/lib32/libc.a(iofwrite.o): In function
/usr/lib32/libc.a(iofputs.o):(.eh_frame+0xdf): undefined reference to
`fwrite’:
(我还有其他错误,但我认为这足以看出问题了)
我看到一些解决方案表明我应该与-lgcc链接,但在我的计算机上找不到库…
有人有想法吗?