1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-12-02 23:41:32 +02:00
openwrt-xburst/package/busybox/patches/920-macosx-endian.patch
acoul 71f447678d package/busybox: fix endianes issue under FreeBSD 8.1
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23152 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-09-29 14:33:35 +00:00

36 lines
1.1 KiB
Diff

--- a/include/platform.h
+++ b/include/platform.h
@@ -154,14 +154,14 @@
# include <sex.h>
# define __BIG_ENDIAN__ (BYTE_ORDER == BIG_ENDIAN)
# define __BYTE_ORDER BYTE_ORDER
-#elif defined __FreeBSD__
+#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined (__NetBSD__) || defined(__APPLE__)
# include <sys/resource.h> /* rlimit */
# include <machine/endian.h>
# define bswap_64 __bswap64
# define bswap_32 __bswap32
# define bswap_16 __bswap16
# define __BIG_ENDIAN__ (_BYTE_ORDER == _BIG_ENDIAN)
-#elif !defined __APPLE__
+#else
# include <byteswap.h>
# include <endian.h>
#endif
@@ -172,9 +172,15 @@
#elif defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN
# define BB_BIG_ENDIAN 1
# define BB_LITTLE_ENDIAN 0
+#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _BIG_ENDIAN
+# define BB_BIG_ENDIAN 1
+# define BB_LITTLE_ENDIAN 0
#elif (defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN) || defined(__386__)
# define BB_BIG_ENDIAN 0
# define BB_LITTLE_ENDIAN 1
+#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _LITTLE_ENDIAN
+# define BB_BIG_ENDIAN 0
+# define BB_LITTLE_ENDIAN 1
#else
# error "Can't determine endianness"
#endif