Sigh. This appears to be a combination of issues related to the new headers being included.
First, src/gcc/intl.h includes: #ifndef HAVE_SETLOCALE # define setlocale(category, locale) (locale) #endif and auto-host.h in the build directory includes: /* Define to 1 if you have the `setlocale' function. */ #ifndef USED_FOR_TARGET #define HAVE_SETLOCALE 1 #endif but the define is triggering, causing struct lconv *localeconv(void); char *setlocale(int, const char *); to become struct lconv *localeconv(void); char *(int, const char *); The second problem is including tm.h means that options.c sees #undef TARGET_ALTIVEC_VRSAVE #define TARGET_ALTIVEC_VRSAVE 0 conflicting with options.c /* Set by -mvrsave. Generate VRSAVE instructions when generating AltiVec code */ int TARGET_ALTIVEC_VRSAVE; which it did not see before. Other uses of the variable protect it with a test that it is not a constant, but options.c does not. I can remove the TARGET_ALTIVEC_VESAVE definition, but the setlocale() problem is more fundamental. David