One of the VxWorks header files defines _BIG_ENDIAN, which is also defined in rs6000.h, causing a spurious redefinition error. We could either remove the #define in the header file with fixincs, or remove the predefine from the specs; I chose this approach because it still works with unfixed VxWorks header files, which may happen since default VxWorks makefiles include the -nostdinc flag. diff -c3prN /gcc.orig/gcc/gcc/config/rs6000/vxppc.h /gcc.dev/gcc/gcc/config/rs6000/vxppc.h *** /gcc.orig/gcc/gcc/config/rs6000/vxppc.h Mon May 17 02:30:56 1999 --- /gcc.dev/gcc/gcc/config/rs6000/vxppc.h Mon Jan 29 23:41:20 2001 *************** Boston, MA 02111-1307, USA. */ *** 71,73 **** --- 71,83 ---- /* We use stabs-in-elf for debugging */ #undef PREFERRED_DEBUGGING_TYPE #define PREFERRED_DEBUGGING_TYPE DBX_DEBUG + + /* The default definitions of these duplicate an endian define + that WRS include in their system header files so remove it */ + + #undef CPP_ENDIAN_BIG_SPEC + #define CPP_ENDIAN_BIG_SPEC "-D__BIG_ENDIAN__ -Amachine(bigendian)" + + #undef CPP_ENDIAN_LITTLE_SPEC + #define CPP_ENDIAN_LITTLE_SPEC "-D__LITTLE_ENDIAN__ -Amachine(littleendian)" +