[PATCH] egcs no longer supported.
authorDave Jones <davej@suse.de>
Fri, 31 May 2002 03:48:35 +0000 (20:48 -0700)
committerLinus Torvalds <torvalds@penguin.transmeta.com>
Fri, 31 May 2002 03:48:35 +0000 (20:48 -0700)
Andrew Morton found that egcs was miscompiling the per-cpu area code
on x86. This patch updates the check, and documentation accordingly.

Documentation/Changes
README
init/main.c

index ba95d54..13ecbf4 100644 (file)
@@ -77,13 +77,11 @@ instead if you wish, although it may cause problems. Later versions of gcc
 have not received much testing for Linux kernel compilation, and there are 
 almost certainly bugs (mainly, but not exclusively, in the kernel) that
 will need to be fixed in order to use these compilers. In any case, using
-pgcc instead of egcs or plain gcc is just asking for trouble.
+pgcc instead of plain gcc is just asking for trouble.
 
-Note that gcc 2.7.2.3 is no longer a supported kernel compiler. The kernel
-no longer works around bugs in gcc 2.7.2.3 and, in fact, will refuse to
-be compiled with it. egcs-1.1.2 has register allocation problems in very
-obscure cases. We have ensured the kernel does not trip these in any known
-situation. The 2.5 tree is likely to drop egcs-1.1.2 workarounds.
+Note that gcc 2.7.2.3 and  gcc 2.91.66 (egcs-1.1.2) are no longer supported
+kernel compilers. The kernel no longer works around bugs in these versions,
+and, in fact, will refuse to be compiled with it.
 
 The Red Hat gcc 2.96 compiler subtree can also be used to build this tree.
 You should ensure you use gcc-2.96-74 or later. gcc-2.96-54 will not build
@@ -275,10 +273,6 @@ Getting updated software
 Kernel compilation
 ******************
 
-egcs 1.1.2 (gcc 2.91.66)
-------------------------
-o  <ftp://sourceware.cygnus.com/pub/gcc/releases/egcs-1.1.2/egcs-1.1.2.tar.bz2>
-
 gcc 2.95.3
 ----------
 o  <ftp://ftp.gnu.org/gnu/gcc/gcc-2.95.3.tar.gz>
diff --git a/README b/README
index 1d42995..471a8c8 100644 (file)
--- a/README
+++ b/README
@@ -153,8 +153,9 @@ CONFIGURING the kernel:
 
 COMPILING the kernel:
 
- - Make sure you have gcc 2.95.3 available.  gcc 2.91.66 (egcs-1.1.2) may
-   also work but is not as safe, and *gcc 2.7.2.3 is no longer supported*.
+ - Make sure you have gcc 2.95.3 available.
+   gcc 2.91.66 (egcs-1.1.2), and gcc 2.7.2.3 are known to miscompile
+   some parts of the kernel, and are *no longer supported*.
    Also remember to upgrade your binutils package (for as/ld/nm and company)
    if necessary. For more information, refer to ./Documentation/Changes.
 
index 839dbcf..a316e21 100644 (file)
@@ -51,7 +51,7 @@
  * To avoid associated bogus bug reports, we flatly refuse to compile
  * with a gcc that is known to be too old from the very beginning.
  */
-#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 91)
+#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 95)
 #error Sorry, your GCC is too old. It builds incorrect kernels.
 #endif