[2.4 patch] document that gcc 4 is not supported

From: Adrian Bunk
Date: Fri Jan 06 2006 - 15:36:40 EST


gcc 4 is not supported for compiling kernel 2.4, and I don't see any
compelling reason why kernel 2.4 should ever be adapted to gcc 4.

This patch documents this fact.

Without this patch, your screen is flooded with warnings and errors when
accidentially trying to compile kernel 2.4 with gcc 4.

With this patch, the same happens, but the last lines contain the
explanation
#error Sorry, your GCC is too recent for kernel 2.4

If someone makes a patch to fix all issues with gcc 4, adding the
removal of this #error should be the most trivial part of the patch.


Signed-off-by: Adrian Bunk <bunk@xxxxxxxxx>

---

Documentation/Changes | 2 ++
README | 1 +
init/main.c | 7 +++++++
3 files changed, 10 insertions(+)

--- linux-2.4.31-rc1-full/init/main.c.old 2005-05-30 21:20:00.000000000 +0200
+++ linux-2.4.31-rc1-full/init/main.c 2005-05-30 21:21:19.000000000 +0200
@@ -84,6 +84,13 @@
#error Sorry, your GCC is too old. It builds incorrect kernels.
#endif

+/*
+ * gcc >= 4 is not supported by kernel 2.4
+ */
+#if __GNUC__ > 3
+#error Sorry, your GCC is too recent for kernel 2.4
+#endif
+
extern char _stext, _etext;
extern char *linux_banner;

--- linux-2.4.31-rc1-full/README.old 2005-05-30 21:21:29.000000000 +0200
+++ linux-2.4.31-rc1-full/README 2005-05-30 21:21:59.000000000 +0200
@@ -152,6 +152,7 @@

- 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*.
+ gcc 4 is *not* supported.
Also remember to upgrade your binutils package (for as/ld/nm and company)
if necessary. For more information, refer to ./Documentation/Changes.

--- linux-2.4.31-rc1-full/Documentation/Changes.old 2005-05-30 21:22:10.000000000 +0200
+++ linux-2.4.31-rc1-full/Documentation/Changes 2005-05-30 21:22:41.000000000 +0200
@@ -91,6 +91,8 @@
You should ensure you use gcc-2.96-74 or later. gcc-2.96-54 will not build
the kernel correctly.

+gcc 4 is not supported.
+
In addition, please pay attention to compiler optimization. Anything
greater than -O2 may not be wise. Similarly, if you choose to use gcc-2.95.x
or derivatives, be sure not to use -fstrict-aliasing (which, depending on


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/