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]