Просмотр исходного кода

autodetect endian and wordsize with gnuisms

(Logical change 1.179)


git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@601 fd59a12c-fef9-0310-b244-a6a79926bd2f
Steven Dake 21 лет назад
Родитель
Сommit
bfe42ca422
1 измененных файлов с 8 добавлено и 11 удалено
  1. 8 11
      exec/crypto.c

+ 8 - 11
exec/crypto.c

@@ -26,21 +26,18 @@
 typedef unsigned long ulong32;
 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_32BITWORD
 #endif
-#if defined(__x86_64__)
-#define ENDIAN_LITTLE
+#if __BYTE_ORDER == __BIG_ENDIAN
+#define ENDIAN_BIG
+#endif
+#if __WORDIZE == 64
 #define ENDIAN_64BITWORD
 #endif
+#if __WORDIZE == 32
+#define ENDIAN_32BITWORD
+#endif
 
 /* ---- HELPER MACROS ---- */
 #ifdef ENDIAN_NEUTRAL