> > Eric and Dominique could you try it on your respective systems? Thanks in > > advance. > > It works for me, thanks.
It does not for me: In file included from ../../work/gcc/config/rs6000/rs6000.c:1475:0: ../../work/gcc/config/rs6000/rs6000-cpus.def:54:0: error: "MASK_STRICT_ALIGN" redefined [-Werror] #define MASK_STRICT_ALIGN 0 ^ In file included from ./tm.h:15:0, from ../../work/gcc/config/rs6000/rs6000.c:24: ../../work/gcc/config/rs6000/rs6000.h:490:0: note: this is the location of the previous definition #define MASK_STRICT_ALIGN OPTION_MASK_STRICT_ALIGN ^ cc1plus: all warnings being treated as errors I had to use the following modified patch --- ../_gcc_clean/gcc/config/rs6000/rs6000-cpus.def 2012-10-18 00:34:51.000000000 +0200 +++ ../work/gcc/config/rs6000/rs6000-cpus.def 2012-10-19 14:14:59.000000000 +0200 @@ -46,6 +46,17 @@ #define POWERPC_7400_MASK (OPTION_MASK_PPC_GFXOPT | OPTION_MASK_ALTIVEC) +/* Deal with ports that do not have -mstrict-align. */ +#ifdef OPTION_MASK_STRICT_ALIGN +#define OPTION_MASK_STRICT_ALIGN_OPTIONAL OPTION_MASK_STRICT_ALIGN +#else +#define OPTION_MASK_STRICT_ALIGN 0 +#define OPTION_MASK_STRICT_ALIGN_OPTIONAL 0 +#ifndef MASK_STRICT_ALIGN +#define MASK_STRICT_ALIGN 0 +#endif +#endif + /* Mask of all options to set the default isa flags based on -mcpu=<xxx>. */ #define POWERPC_MASKS (OPTION_MASK_ALTIVEC \ | OPTION_MASK_CMPB \ @@ -64,7 +75,7 @@ | OPTION_MASK_PPC_GPOPT \ | OPTION_MASK_RECIP_PRECISION \ | OPTION_MASK_SOFT_FLOAT \ - | OPTION_MASK_STRICT_ALIGN \ + | OPTION_MASK_STRICT_ALIGN_OPTIONAL \ | OPTION_MASK_VSX) #endif in order to recompile gcc (not a clean bootstrap), i.e., +#define OPTION_MASK_STRICT_ALIGN_OPTIONAL 0 and +#ifndef MASK_STRICT_ALIGN +#define MASK_STRICT_ALIGN 0 +#endif I think this patch could be simplied as +#ifndef OPTION_MASK_STRICT_ALIGN +#define OPTION_MASK_STRICT_ALIGN 0 +#ifndef MASK_STRICT_ALIGN +#define MASK_STRICT_ALIGN 0 +#endif +#endif #define OPTION_MASK_STRICT_ALIGN_OPTIONAL OPTION_MASK_STRICT_ALIGN Apparently #define MASK_STRICT_ALIGN OPTION_MASK_STRICT_ALIGN defines MASK_STRICT_ALIGN (to which value?) even if OPTION_MASK_STRICT_ALIGN is not defined. Dominique