Re: [2.4 patch] document that gcc 4 is not supported

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Adrian,

On Fri, Jan 06, 2006 at 09:37:27PM +0100, Adrian Bunk wrote:
> 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

Well, why not putting this into include/linux/compiler.h instead ? It
would shout earlier and will be easier to find.

> 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 <[email protected]>
> 
> ---
> 
>  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.

I would even explicitly state that gcc-3.3 and 3.4 should work in most
cases, while gcc 4 will definitely not work. It's important IMHO to
give the answers that most users will be looking for, and 3.3/3.4 are
fairly common.

>     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.
> +

Same here.

>  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
> 

Thanks,
Willy

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

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux