[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)



On Wed, Jul 02, 2008 at 02:05:31PM +0200, Peter T. Breuer wrote:
> > 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 :-).

I also.

>              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 gcc expects to be _always_ able to link anything it wants in the
libgcc. And the dependencies in the Debian packages makes sure to have a
new enough version available.

> 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.

A design bug in the _kernel_. But it is rather strict tied to the
compiler version anyway. Even if Linux 2.6.18 would build with gcc 4.3,
the chance that it will run is small.

>       You should instead provide a special switch to turn ON the new
> behaviour, or turn it off using one of the switches already provided in
> the kernel compolation.

Haha.

I see it as always: don't shout the messenger. Or do you want to say
that every new build problem is a bug in the compiler?

Bastian

-- 
The best diplomat I know is a fully activated phaser bank.
		-- Scotty



Reply to: