[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#488785: closed by Bastian Blank <waldi@debian.org> (Re: Bug#488785: gcc-4.3: kernel 2.6 compilation fails at link missing __udivdi3 from timekeeping.c)



Peter T. Breuer wrote:
> "Also sprach Debian Bug Tracking System:"
> > On Tue, Jul 01, 2008 at 11:34:03AM +0200, Peter T. Breuer wrote:
> > > Compiling kernel 2.6.24.2 on ia32, compilaton fails at final link
> > > complaining about not being able to find __udivdi3 and __umoddi3 for
> > > getnstimeofday in kernel/time/timekeeping.c (and a few similar
> > > complaints for other functions in that file).
> > 
> > Bug in the Linux kernel. They don't provide libgcc.
> 
> That doesn't convince me (and I am a compiler writer and a linux kernel
> author :-).  The compiler changed in a point increment to emit code
> which now requires library support for innocuous source code what it didn't
> need support for before (is this a 64 bit dvision by an integer, or
> something like that?) - that's not backward compatible, surely!

The way libgcc functions are used depends on compiler optimizations
ans isn't guaranteed to stay stable over minor versions (or even
different compiler switches).

> I.e.  Anyone who tries to compile an "old" (as in last month's) kernel
> with your new compiler will fail. As intended, maybe, but a design bug
> then.

The design bug is that the kernel provides only a (now insufficient)
subset of libgcc. For some architectures, that is -- others have already
__udivdi3 implementations.


Thiemo



Reply to: