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: