http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60490
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Just look what GCC does? Say on x86_64 it does: gcc -E -dD -xc /dev/null | grep ENDIAN #define __ORDER_LITTLE_ENDIAN__ 1234 #define __ORDER_BIG_ENDIAN__ 4321 #define __ORDER_PDP_ENDIAN__ 3412 #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ #define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ on e.g. ppc64 it does: gcc -E -dD -xc /dev/null | grep ENDIAN #define __ORDER_LITTLE_ENDIAN__ 1234 #define __ORDER_BIG_ENDIAN__ 4321 #define __ORDER_PDP_ENDIAN__ 3412 #define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__ #define __FLOAT_WORD_ORDER__ __ORDER_BIG_ENDIAN__ Don't have access to PDP nor built cross-compiler for that, but it would expectably define __BYTE_ORDER__ to __ORDER_PDP_ENDIAN__.