From 253de859a067b115f17a87e72c76279c4d0680a8 Mon Sep 17 00:00:00 2001 From: Michael Tuexen <tuexen@fh-muenster.de> Date: Sat, 23 Jun 2018 12:36:44 +0200 Subject: [PATCH] Add Endian defines for PPC and PPC64 for FreeBSD. --- gtests/net/packetdrill/platforms.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gtests/net/packetdrill/platforms.h b/gtests/net/packetdrill/platforms.h index 48deb0c8..a2c19388 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 --------------------- */ -- GitLab