]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- #492: Fix endianness detection, revert to older lookup3.c detection
authorWouter Wijngaards <wouter@nlnetlabs.nl>
Mon, 25 Mar 2013 09:35:27 +0000 (09:35 +0000)
committerWouter Wijngaards <wouter@nlnetlabs.nl>
Mon, 25 Mar 2013 09:35:27 +0000 (09:35 +0000)
  and put new detect lines after previous tests, to avoid regressions
  but allow new detections to succeed.

git-svn-id: file:///svn/unbound/trunk@2872 be551aaa-1e26-0410-a405-d3ace91eadb9

doc/Changelog
util/storage/lookup3.c

index b4ff97c03819be575ed94e14f9d032afa4804564..b1eda4d4d954dc0d5cdf25c5ecf52e681f322497 100644 (file)
@@ -1,3 +1,8 @@
+25 March 2013: Wouter
+       - #492: Fix endianness detection, revert to older lookup3.c detection
+         and put new detect lines after previous tests, to avoid regressions
+         but allow new detections to succeed.
+
 22 March 2013: Wouter
        - Fix resolve of names that use a mix of public and private addresses.
        - iana portlist update.
index 845cc388624bd38765330f614c7a2022651b0448..700efb4812e4f82287476e9d2f104d2bbe9887e3 100644 (file)
@@ -75,22 +75,24 @@ hash_set_raninit(uint32_t v)
  */
 #if (defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && \
      __BYTE_ORDER == __LITTLE_ENDIAN) || \
-    (defined(_BYTE_ORDER) && defined(_LITTLE_ENDIAN) && \
-     _BYTE_ORDER == _LITTLE_ENDIAN) || \
     (defined(i386) || defined(__i386__) || defined(__i486__) || \
      defined(__i586__) || defined(__i686__) || defined(vax) || defined(MIPSEL))
 # define HASH_LITTLE_ENDIAN 1
 # define HASH_BIG_ENDIAN 0
-#elif (!defined(_BYTE_ORDER) && !defined(__BYTE_ORDER) && defined(_BIG_ENDIAN))
-# define HASH_LITTLE_ENDIAN 0
-# define HASH_BIG_ENDIAN 1
 #elif (defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && \
        __BYTE_ORDER == __BIG_ENDIAN) || \
-      (defined(_BYTE_ORDER) && defined(_BIG_ENDIAN) && \
-       _BYTE_ORDER == _BIG_ENDIAN) || \
       (defined(sparc) || defined(POWERPC) || defined(mc68000) || defined(sel))
 # define HASH_LITTLE_ENDIAN 0
 # define HASH_BIG_ENDIAN 1
+/* test later because it fails when they are defined to empty strings */
+#elif (defined(_BYTE_ORDER) && defined(_BIG_ENDIAN) && \
+       _BYTE_ORDER == _BIG_ENDIAN) || \
+# define HASH_LITTLE_ENDIAN 0
+# define HASH_BIG_ENDIAN 1
+#elif (defined(_BYTE_ORDER) && defined(_LITTLE_ENDIAN) && \
+     _BYTE_ORDER == _LITTLE_ENDIAN) || \
+# define HASH_LITTLE_ENDIAN 1
+# define HASH_BIG_ENDIAN 0
 #else
 # define HASH_LITTLE_ENDIAN 0
 # define HASH_BIG_ENDIAN 0