2009年1月13日 星期二

gcc-4.3: Kernel build fails

http://bbs.archlinux.org/viewtopic.php?id=45882

錯誤訊息
  CC [M]  drivers/net/virtio_net.o


   LD      drivers/net/built-in.o


   LD      drivers/built-in.o


  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+0x248cb): undefined reference to `__umoddi3' 


kernel/built-in.o: In function `getnstimeofday': (.text+0x248ee): undefined reference to `__udivdi3' 


kernel/built-in.o: In function `do_gettimeofday': (.text+0x24a10): undefined reference to `__udivdi3' 


kernel/built-in.o: In function `do_gettimeofday': (.text+0x24a2e): undefined reference to `__umoddi3' 


kernel/built-in.o: In function `timekeeping_resume': timekeeping.c:(.text+0x24c46): undefined reference to `__umoddi3' timekeeping.c:(.text+0x24c66): undefined reference to `__udivdi3' 


kernel/built-in.o: In function `update_wall_time': (.text+0x250aa): undefined reference to `__umoddi3' 


kernel/built-in.o: In function `update_wall_time': (.text+0x250ca): undefined reference to `__udivdi3' kernel/built-in.o: In function `update_wall_time': (.text+0x25546): undefined reference to `__umoddi3' 


kernel/built-in.o: In function `update_wall_time': (.text+0x25566): undefined reference to `__udivdi3' make: *** [.tmp_vmlinux1] Error 1






解決辦法






編輯/usr/src/linux/Makefile


依照kernel版本不同修改設定







CFLAGS_KERNEL    = -fno-tree-scev-cprop




KBULID_CFLAGS = -fno-tree-scev-cprop