|
|
Subscribe / Log in / New account

The end of gcc 2.95 support

For years, otherwise useful kernel patches have been rejected because they use language features which are not supported by version 2.95 of the gcc compiler. The developers have been reluctant to remove support for this ancient version of gcc (released in 1999) because some not-so-old distributions used it, and because a couple of architectures required it. More importantly, however: gcc 2.95 simply runs faster than later versions. For a kernel hacker waiting for a build to complete, compilation speed can be far more important than additional language features or more highly optimized code generation.

In the middle of the mutex conversation, however, it was pointed out that some of the alternatives under consideration would not work with 2.95. In response, Andrew Morton, the biggest defender of 2.95 compatibility, threw in the towel. It seems that quite a few things in the kernel already fail to work with 2.95, and the situation is not getting better. So, says Andrew:

It's time to give up on it and just drink more coffee or play more tetris or something, I'm afraid.

He followed up with a patch officially removing gcc 2.95 compatibility from the kernel. A suggestion to drop gcc 3.0 quickly followed; the 3.0 release was never widely used, and it lacks some features that the kernel developers would like to use. Moving directly to 3.1 as the oldest supported gcc would make life easier without a whole lot of additional pain.

Nothing has been merged into the mainline yet - and may not be until 2.6.16 opens. But the writing is clearly on the wall: anybody still trying to use these older compilers with current kernels will have to upgrade soon.

Index entries for this article
KernelBuild system
KernelDevelopment tools/Compiler toolchain
KernelGCC


to post comments

The end of gcc 2.95 support

Posted Dec 15, 2005 1:41 UTC (Thu) by dank (guest, #1865) [Link] (1 responses)

May as well drop 3.1, too. It was a runt
version that was quickly replaced by 3.2.

We're going to require 3.2

Posted Dec 19, 2005 19:05 UTC (Mon) by Blaisorblade (guest, #25465) [Link]

Indeed, the current -mm tree requires 3.2.

http://www.kernel.org/pub/linux/kernel/people/akpm/patche...

And I know of _official_ (meaning from important developers) warnings against 3.0/3.1 GCCs - in fact, most distros switched directly from 2.95/2.96 to 3.2 (I know this for sure for Mandrake, for instance).

The end of gcc 2.95 support

Posted Dec 15, 2005 1:57 UTC (Thu) by imcdnzl (guest, #28899) [Link] (4 responses)

Debian Woody also has gcc 2.95 enabled as default so those still stuck on that will need to change their setup. Agree with changing it though as using gcc 2.95 on Woody broke lots of things at times...

The end of gcc 2.95 support

Posted Dec 15, 2005 10:20 UTC (Thu) by hawk (subscriber, #3195) [Link] (2 responses)

Those people should probably upgrade to Sarge anyway...
However, Woody isn't even 2.6 compatible, is it?

The end of gcc 2.95 support

Posted Dec 15, 2005 20:07 UTC (Thu) by captrb (guest, #2291) [Link] (1 responses)


Yes, it was 2.6 compatible when it was released. 2.4 was still the
default, but I believe there were boot floppies for 2.6.

The end of gcc 2.95 support

Posted Dec 19, 2005 15:21 UTC (Mon) by dlang (guest, #313) [Link]

not completely, if you run a 2.6 kernel on woody there are several other packages that you need to change out (procps is the one that annoyed me)

The end of gcc 2.95 support

Posted Dec 15, 2005 10:21 UTC (Thu) by cjwatson (subscriber, #7322) [Link]

Frankly, anyone trying to use 2.6.13+ or so on woody is almost certainly in for a world of hurt anyway. Woody users are by far best off sticking with the 2.4 series.

The end of gcc 2.95 support

Posted Dec 15, 2005 18:00 UTC (Thu) by pj (subscriber, #4506) [Link] (2 responses)

Would this change affect all architectures, or just x86? does 3.2 support all the architectures 2.95 does/did? Embedded linux devs would be quite unhappy to have their standard toolset suddenly stop working...

The end of gcc 2.95 support

Posted Dec 15, 2005 22:07 UTC (Thu) by khim (subscriber, #9252) [Link] (1 responses)

Would this change affect all architectures, or just x86?

All

does 3.2 support all the architectures 2.95 does/did?>

No.

Embedded linux devs would be quite unhappy to have their standard toolset suddenly stop working...

That's why it's discussed today and not two years ago...

The end of gcc 2.95 support

Posted Jan 10, 2006 23:46 UTC (Tue) by nix (subscriber, #2304) [Link]

Many non-x86 architectures needed later GCC versions anyway, and others benefited greatly from them (e.g. SPARC64 can be compiled either with an ancient and crocked-up 1998-vintage egcs hack, or with GCC 3.2+; performance with the latter is detectably higher in my admittedly unscientific benchmarks, and with -Os --- not supported in the ancient egcs --- the kernel's much smaller too).

The end of gcc 2.95 support

Posted Dec 22, 2005 21:09 UTC (Thu) by scharkalvin (guest, #7372) [Link]

now that I've started using the Jackass! install method
anything older than 3.4.4 is a pain. When you are runing on
ancient HW spending a little more time on compile to gain
speed on the resulting code is worth the time spent.
(K6-300 cpu)


Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds