Re: Time to remove old gcc support

Bryn Paul Arnold Jones (bpaj@gytha.demon.co.uk)
Wed, 24 Apr 1996 13:12:08 +0100 (BST)


On Tue, 23 Apr 1996, Linus Torvalds wrote:

> > > Well, Alan Cox has reported that GCC 2.5.8 generates incorrect code
> > > for the networking stuff. That means people will try to compile the
> > > kernel with it, and get bitten by bugs later. Doesn't seem very
> > > stable to me.
> >
> > This is terrible. The networking stuff should be fixed with the
> > proper hack for gcc 2.5.8. The hack can be removed in 2.1.0, but
> > 2.0.xx should work with gcc 2.5.8. When 2.1.0 comes out, add the
> > old gcc to the victims list _then_ remove the hacks.
>
> Get real!
>
> This is a COMPILER BUG!
>
> I don't see why people keep on thinking that the kernel should make excuses for
> user programs. It should NOT. Excusing bad programming is a shooting offence,
> no matter _what_ the circumstances. It is at least understandable if there is
> no way to fix the software bug (ie commercial compiler), but in this case it's
> just a matter of upgrading your compiler to a working version.
>
> If gcc-2.5.8 is buggy, you'd better not use it. It's a simple as that. Use the
> old kernels if it works for you, but I'm _not_ going to make the current
> kernels do the same broken things that the old ones did.
>

Perhaps the buggy gcc-2.5.8 workaround code sould be ifdef'ed, and a
option added to the make config stuff, something like this:

....
Support for OLD buggy gcc-2.5.8 (CONFIG_KNACKERED_GCC) [N/y/?] Y
#
# Please upgrade your copy of gcc to the current version (2.7.2),
# this config option is only intended to get the new kernel running so
# that you can upgrade your gcc, and not as a perment fix. In short,
# UPGRADE GCC.
#
....

Of course, my spelling should be fixed

[...]
>
> Linus
>
Bryn
PS anyone haveing problems with the word knackered, the first k is silent.

--
PGP key pass phrase forgotten,   \ Overload -- core meltdown sequence 
again :(                          |            initiated.
                                 / This space is intentionally left   
                                |  blank, apart from this text ;-)
                                 \____________________________________