gcc-4.3 & linux kernel
答案就是:gcc-4.3 還不能拿來 compile kernel.. 因為會用到沒有定義的 libgcc function.
錯誤如下:
CC arch/i386/lib/msr-on-cpu.o
LD arch/i386/lib/built-in.o
CC arch/i386/lib/bitops.o
AS arch/i386/lib/checksum.o
CC arch/i386/lib/delay.o
AS arch/i386/lib/getuser.o
CC arch/i386/lib/memcpy.o
CC arch/i386/lib/mmx.o
AS arch/i386/lib/putuser.o
AS arch/i386/lib/semaphore.o
CC arch/i386/lib/string.o
CC arch/i386/lib/strstr.o
CC arch/i386/lib/usercopy.o
AR arch/i386/lib/lib.a
GEN .version
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
kernel/built-in.o: In function `getnstimeofday':
(.text+0x1d927): undefined reference to `__umoddi3'
kernel/built-in.o: In function `do_gettimeofday':
(.text+0x1d9e9): undefined reference to `__udivdi3'
kernel/built-in.o: In function `do_gettimeofday':
(.text+0x1da0c): undefined reference to `__umoddi3'
kernel/built-in.o: In function `timekeeping_resume':
timekeeping.c:(.text+0x1db18): undefined reference to `__udivdi3'
timekeeping.c:(.text+0x1db3b): undefined reference to `__umoddi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e214): undefined reference to `__udivdi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e237): undefined reference to `__umoddi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e2d3): undefined reference to `__udivdi3'
kernel/built-in.o: In function `update_wall_time':
(.text+0x1e2fd): undefined reference to `__umoddi3'
make[1]: *** [.tmp_vmlinux1] Error 1
make[1]: Leaving directory `/usr/src/linux-source-2.6.23'
make: *** [debian/stamp-build-kernel] Error 2
參考: