2009-04-16 11:02:43

by Eyal Lebedinsky

[permalink] [raw]
Subject: Linux 2.6.30-rc2: undefined reference to `__udivdi3'

[a repeat, my first report failed to attract attention]

I get a build failure:

LD vmlinux.o
MODPOST vmlinux.o
WARNING: modpost: Found 1 section mismatch(es).
To see full details build your kernel with:
'make CONFIG_DEBUG_SECTION_MISMATCH=y'
GEN .version
CHK include/linux/compile.h
UPD include/linux/compile.h
CC init/version.o
LD init/built-in.o
LD .tmp_vmlinux1
arch/x86/mm/built-in.o(.init.text+0x178a): In function `memtest':
: undefined reference to `__udivdi3'
make[1]: *** [.tmp_vmlinux1] Error 1
make: *** [sub-make] Error 2

I use
gcc (GCC) 3.3.5 (Debian 1:3.3.5-13)

I know, very old Debian... but the doco says required version is 3.2.

A quick search indicates that this type of failure may be related to
gcc optimization (inlining?). I saw a similar report in linux-next recently.

--
Eyal Lebedinsky ([email protected])