|
@@ -26,21 +26,18 @@
|
|
|
typedef unsigned long ulong32;
|
|
typedef unsigned long ulong32;
|
|
|
typedef unsigned long long ulong64;
|
|
typedef unsigned long long ulong64;
|
|
|
|
|
|
|
|
-/*
|
|
|
|
|
- * Tested on arm2401, i386, x86_64
|
|
|
|
|
- */
|
|
|
|
|
-#if defined(__arm__)
|
|
|
|
|
-#define ENDIAN_BIG
|
|
|
|
|
-#define ENDIAN_32BITWORD
|
|
|
|
|
-#endif
|
|
|
|
|
-#if defined(__i386__)
|
|
|
|
|
|
|
+#if __BYTE_ORDER == __LITTLE_ENDIAN
|
|
|
#define ENDIAN_LITTLE
|
|
#define ENDIAN_LITTLE
|
|
|
-#define ENDIAN_32BITWORD
|
|
|
|
|
#endif
|
|
#endif
|
|
|
-#if defined(__x86_64__)
|
|
|
|
|
-#define ENDIAN_LITTLE
|
|
|
|
|
|
|
+#if __BYTE_ORDER == __BIG_ENDIAN
|
|
|
|
|
+#define ENDIAN_BIG
|
|
|
|
|
+#endif
|
|
|
|
|
+#if __WORDIZE == 64
|
|
|
#define ENDIAN_64BITWORD
|
|
#define ENDIAN_64BITWORD
|
|
|
#endif
|
|
#endif
|
|
|
|
|
+#if __WORDIZE == 32
|
|
|
|
|
+#define ENDIAN_32BITWORD
|
|
|
|
|
+#endif
|
|
|
|
|
|
|
|
/* ---- HELPER MACROS ---- */
|
|
/* ---- HELPER MACROS ---- */
|
|
|
#ifdef ENDIAN_NEUTRAL
|
|
#ifdef ENDIAN_NEUTRAL
|