diff --git a/gtests/net/packetdrill/platforms.h b/gtests/net/packetdrill/platforms.h index 48deb0c8631e2cba0426279133519f55eb3a9309..a2c193889f3f41a277c5eda35608142e6edefc4d 100644 --- a/gtests/net/packetdrill/platforms.h +++ b/gtests/net/packetdrill/platforms.h @@ -68,6 +68,26 @@ #include "open_memstream.h" #endif +/* + * Very old compilers like gcc 4.2.1 do not define the endian + * macros. gcc 4.2.1 is used as the default compiler on + * PowerPC and PowerPC64 for FreeBSD. So define the macros + * for these platform. + */ + +#if !defined(__ORDER_LITTLE_ENDIAN__) +#define __ORDER_LITTLE_ENDIAN__ 1234 +#endif +#if !defined(__ORDER_BIG_ENDIAN__) +#define __ORDER_BIG_ENDIAN__ 4321 +#endif +#if !defined(__BYTE_ORDER__) +#if defined(__PPC__) || defined(__PPC64__) +#define __BYTE_ORDER__ __ORDER_BIG_ENDIAN__ +#else +#define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ +#endif + #endif /* __FreeBSD__ */ /* ------------------------- OpenBSD --------------------- */