Re: [-mm patch] more updates for the gcc >= 3.2 requirement

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

 



Adrian Bunk <[email protected]> wrote:
> This patch contains some documentation updates and removes some code 
> paths for gcc < 3.2.

[...]

> --- linux-2.6.15-rc5-mm3-full/arch/arm/kernel/asm-offsets.c.old	2005-12-15 13:34:55.000000000 +0100
> +++ linux-2.6.15-rc5-mm3-full/arch/arm/kernel/asm-offsets.c	2005-12-15 13:35:11.000000000 +0100
> @@ -27,11 +27,11 @@
>   * GCC 3.2.0: incorrect function argument offset calculation.
>   * GCC 3.2.x: miscompiles NEW_AUX_ENT in fs/binfmt_elf.c
>   *            (http://gcc.gnu.org/PR8896) and incorrect structure
>   *	      initialisation in fs/jffs2/erase.c
>   */
> -#if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 3)
> +#if (__GNUC__ == 3 && __GNUC_MINOR__ < 3)
>  #error Your compiler is too buggy; it is known to miscompile kernels.
>  #error    Known good compilers: 3.3
>  #endif

Better leave the original, in case some clown comes along with an ancient
compiler.

[...]

> --- linux-2.6.15-rc5-mm3-full/include/asm-ia64/spinlock.h.old	2005-12-15 13:38:00.000000000 +0100
> +++ linux-2.6.15-rc5-mm3-full/include/asm-ia64/spinlock.h	2005-12-15 13:38:07.000000000 +0100
> @@ -32,11 +32,11 @@
>  static inline void
>  __raw_spin_lock_flags (raw_spinlock_t *lock, unsigned long flags)
>  {
>  	register volatile unsigned int *ptr asm ("r31") = &lock->lock;
>  
> -#if __GNUC__ < 3 || (__GNUC__ == 3 && __GNUC_MINOR__ < 3)
> +#if (__GNUC__ == 3 && __GNUC_MINOR__ < 3)

Ditto.

[...]

> --- linux-2.6.15-rc5-mm3-full/include/asm-sparc64/system.h.old	2005-12-15 13:40:55.000000000 +0100
> +++ linux-2.6.15-rc5-mm3-full/include/asm-sparc64/system.h	2005-12-15 13:41:03.000000000 +0100
> @@ -191,15 +191,11 @@
>  	 * the output value of 'last'.  'next' is not referenced again
>  	 * past the invocation of switch_to in the scheduler, so we need
>  	 * not preserve it's value.  Hairy, but it lets us remove 2 loads
>  	 * and 2 stores in this critical code path.  -DaveM
>  	 */
> -#if __GNUC__ >= 3
>  #define EXTRA_CLOBBER ,"%l1"
> -#else
> -#define EXTRA_CLOBBER
> -#endif

If EXTRA_CLOBBER is now constant, you can get rid of it completely.

[...]

> --- linux-2.6.15-rc5-mm3-full/include/linux/byteorder/swabb.h.old	2005-12-15 13:41:52.000000000 +0100
> +++ linux-2.6.15-rc5-mm3-full/include/linux/byteorder/swabb.h	2005-12-15 13:42:00.000000000 +0100
> @@ -75,11 +75,11 @@
>  
>  
>  /*
>   * Allow constant folding
>   */
> -#if defined(__GNUC__) && (__GNUC__ >= 2) && defined(__OPTIMIZE__)
> +#if defined(__GNUC__) && defined(__OPTIMIZE__)

AFAIU, now __GNUC__ should be defined always. Even with intel's compiler
for compatibility, I'd assume. Perhaps we can get rid of it?

Nice job!
-- 
Dr. Horst H. von Brand                   User #22616 counter.li.org
Departamento de Informatica                     Fono: +56 32 654431
Universidad Tecnica Federico Santa Maria              +56 32 654239
Casilla 110-V, Valparaiso, Chile                Fax:  +56 32 797513
-
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