Revert "endian: #define __BYTE_ORDER"
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 26 May 2010 15:30:15 +0000 (08:30 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 26 May 2010 15:30:15 +0000 (08:30 -0700)
This reverts commit b3b77c8caef1750ebeea1054e39e358550ea9f55, which was
also totally broken (see commit 0d2daf5cc858 that reverted the crc32
version of it).  As reported by Stephen Rothwell, it causes problems on
big-endian machines:

> In file included from fs/jfs/jfs_types.h:33,
>                  from fs/jfs/jfs_incore.h:26,
>                  from fs/jfs/file.c:22:
> fs/jfs/endian24.h:36:101: warning: "__LITTLE_ENDIAN" is not defined

The kernel has never had that crazy "__BYTE_ORDER == __LITTLE_ENDIAN"
model.  It's not how we do things, and it isn't how we _should_ do
things.  So don't go there.

Requested-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/alpha/math-emu/sfp-util.h
arch/powerpc/include/asm/sfp-machine.h
arch/s390/include/asm/sfp-util.h
arch/sh/math-emu/sfp-util.h
arch/sparc/math-emu/sfp-util_32.h
arch/sparc/math-emu/sfp-util_64.h
arch/x86/boot/compressed/relocs.c
include/linux/byteorder/big_endian.h
include/linux/byteorder/little_endian.h

index d4c6ae7fee477aa0c4c0b6f944748735c8ee4627..f53707f7745569c3a1ab48526ccf5d6753a1221e 100644 (file)
@@ -28,3 +28,8 @@ extern unsigned long __udiv_qrnnd (unsigned long *, unsigned long,
 #define UDIV_NEEDS_NORMALIZATION 1  
 
 #define abort()                        goto bad_insn
+
+#ifndef __LITTLE_ENDIAN
+#define __LITTLE_ENDIAN -1
+#endif
+#define __BYTE_ORDER __LITTLE_ENDIAN
index 8b8fab91ad1e39a8abb162f448166c3eeb29be43..3a7a67a0d006cfe24d0b2bd626e7361d771dde1b 100644 (file)
 #define abort()                                                                \
        return 0
 
+#ifdef __BIG_ENDIAN
+#define __BYTE_ORDER __BIG_ENDIAN
+#else
+#define __BYTE_ORDER __LITTLE_ENDIAN
+#endif
+
 /* Exception flags. */
 #define EFLAG_INVALID          (1 << (31 - 2))
 #define EFLAG_OVERFLOW         (1 << (31 - 3))
index 7d43fee17e32ecef55cd41a0b5b7d4659d9e66fc..0addc6466d958aede3954efeb6b7071077344e6c 100644 (file)
@@ -73,3 +73,5 @@ extern unsigned long __udiv_qrnnd (unsigned int *, unsigned int,
 #define UDIV_NEEDS_NORMALIZATION 0
 
 #define abort() return 0
+
+#define __BYTE_ORDER __BIG_ENDIAN
index e8526021892fd1c69e171afa33890709e7fd6db2..8ae1bd310ad0d2d9f8b9e5694e6bd755e1f33eac 100644 (file)
@@ -66,3 +66,7 @@
   } while (0)
 
 #define abort()        return 0
+
+#define __BYTE_ORDER __LITTLE_ENDIAN
+
+
index 0ea35afbb914f94cd01f3e01f6d2f3de699994d0..d1b2aff3c2599af38c347570be032abe5b4311da 100644 (file)
 
 #define abort()                                                                \
        return 0
+
+#ifdef __BIG_ENDIAN
+#define __BYTE_ORDER __BIG_ENDIAN
+#else
+#define __BYTE_ORDER __LITTLE_ENDIAN
+#endif
index d17c9bc7218149d79e90f215f10117c8d2425440..425d3cf01af4a71b7fedb4d3ce2a809416aa8fba 100644 (file)
 
 #define abort() \
        return 0
+
+#ifdef __BIG_ENDIAN
+#define __BYTE_ORDER __BIG_ENDIAN
+#else
+#define __BYTE_ORDER __LITTLE_ENDIAN
+#endif
index 7b1aaa20c7b523b323606ab66f8d8567a7a322f3..89bbf4e4d05d834c7923a23de080b71dd5ebab24 100644 (file)
@@ -195,11 +195,11 @@ static const char *sym_name(const char *sym_strtab, Elf32_Sym *sym)
 
 
 
-#if __BYTE_ORDER == __LITTLE_ENDIAN
+#if BYTE_ORDER == LITTLE_ENDIAN
 #define le16_to_cpu(val) (val)
 #define le32_to_cpu(val) (val)
 #endif
-#if __BYTE_ORDER == __BIG_ENDIAN
+#if BYTE_ORDER == BIG_ENDIAN
 #define le16_to_cpu(val) bswap_16(val)
 #define le32_to_cpu(val) bswap_32(val)
 #endif
index d53a67dff018e1644e711c384b97a6074038175f..3c80fd7e8b567c8f6d8cd768c120926a424ec577 100644 (file)
@@ -7,9 +7,6 @@
 #ifndef __BIG_ENDIAN_BITFIELD
 #define __BIG_ENDIAN_BITFIELD
 #endif
-#ifndef __BYTE_ORDER
-#define __BYTE_ORDER __BIG_ENDIAN
-#endif
 
 #include <linux/types.h>
 #include <linux/swab.h>
index f7f8ad13adb6d06fb60641374dff3e59f924ed26..83195fb82962838fa8d4c70ea77927ac0b7ac7e2 100644 (file)
@@ -7,9 +7,6 @@
 #ifndef __LITTLE_ENDIAN_BITFIELD
 #define __LITTLE_ENDIAN_BITFIELD
 #endif
-#ifndef __BYTE_ORDER
-#define __BYTE_ORDER __LITTLE_ENDIAN
-#endif
 
 #include <linux/types.h>
 #include <linux/swab.h>