summaryrefslogtreecommitdiffstats
path: root/toolchain/utils/src
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/utils/src')
-rw-r--r--toolchain/utils/src/sstrip.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/toolchain/utils/src/sstrip.c b/toolchain/utils/src/sstrip.c
index e820a44b8..60c12c972 100644
--- a/toolchain/utils/src/sstrip.c
+++ b/toolchain/utils/src/sstrip.c
@@ -59,6 +59,7 @@
#include <unistd.h>
#include <fcntl.h>
#include <elf.h>
+
#ifdef __FreeBSD__
/**
* This seems to work on FreeBSD 5.3, should
@@ -71,10 +72,18 @@
#define bswap_64 __bswap64
#define bswap_32 __bswap32
#define bswap_16 __bswap16
+#elif defined(__APPLE__)
+#include <machine/endian.h>
+#include <machine/byte_order.h>
+#define __BYTE_ORDER BYTE_ORDER
+#define __BIG_ENDIAN BIG_ENDIAN
+#define bswap_16(x) NXSwapShort(x)
+#define bswap_32(x) NXSwapInt(x)
+#define bswap_64(x) NXSwapLongLong(x)
#else
#include <endian.h>
#include <byteswap.h>
-#endif /* defined(__FreeBSD__) */
+#endif
#ifndef TRUE