-
compiler un noyau linux
bonjour,
je suis entrain de compiler un noyau linux (RT) à partir de mon propre fichier config
de ma fedora mais il y a une erreur juste avant la fin de la compilation:
CC [M] lib/ts_bm.o
CC [M] lib/ts_fsm.o
CC arch/x86/lib/msr-on-cpu.o
LD arch/x86/lib/built-in.o
CC arch/x86/lib/bitops_32.o
AS arch/x86/lib/checksum_32.o
CC arch/x86/lib/delay_32.o
AS arch/x86/lib/getuser_32.o
CC arch/x86/lib/memcpy_32.o
AS arch/x86/lib/putuser_32.o
AS arch/x86/lib/semaphore_32.o
CC arch/x86/lib/string_32.o
CC arch/x86/lib/strstr_32.o
CC arch/x86/lib/usercopy_32.o
AR arch/x86/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 `timespec_add_ns':
/usr/src/linux-2.6.24.4/include/linux/time.h:179: undefined reference to `__umoddi3'
kernel/built-in.o: In function `do_gettimeofday':
/usr/src/linux-2.6.24.4/kernel/time/timekeeping.c:131: undefined reference to `__udivdi3'
/usr/src/linux-2.6.24.4/kernel/time/timekeeping.c:132: undefined reference to `__umoddi3'
kernel/built-in.o: In function `timespec_add_ns':
/usr/src/linux-2.6.24.4/include/linux/time.h:174: undefined reference to `__udivdi3'
/usr/src/linux-2.6.24.4/include/linux/time.h:179: undefined reference to `__umoddi3'
/usr/src/linux-2.6.24.4/include/linux/time.h:174: undefined reference to `__udivdi3'
/usr/src/linux-2.6.24.4/include/linux/time.h:179: undefined reference to `__umoddi3'
/usr/src/linux-2.6.24.4/include/linux/time.h:174: undefined reference to `__udivdi3'
/usr/src/linux-2.6.24.4/include/linux/time.h:179: undefined reference to `__umoddi3'
make: *** [.tmp_vmlinux1] Error 1
j'aimerais savoir comment éviter cette erreur???
-
Visiblement probleme de dependances sur les includes
Mais le probleme doit provenir de ta config
D'ou provient les sources du noyau
As tu bien charger la totalité ou es tu partir de ta distri?
-
Le problème vient du fait que gcc optimise une boucle.
Un patch a été intégré dans la version 2.6.24.5 (voir le fichier include/linux/time.h de mémoire).