Skip to content

Commit

Permalink
Revert "endian: #define __BYTE_ORDER"
Browse files Browse the repository at this point in the history
This reverts commit b3b77c8, which was
also totally broken (see commit 0d2daf5 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 <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
torvalds committed May 26, 2010
1 parent 4e89e8f commit 13da9e2
Show file tree
Hide file tree
Showing 9 changed files with 31 additions and 8 deletions.
5 changes: 5 additions & 0 deletions arch/alpha/math-emu/sfp-util.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
6 changes: 6 additions & 0 deletions arch/powerpc/include/asm/sfp-machine.h
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,12 @@
#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))
Expand Down
2 changes: 2 additions & 0 deletions arch/s390/include/asm/sfp-util.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
4 changes: 4 additions & 0 deletions arch/sh/math-emu/sfp-util.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,3 +66,7 @@
} while (0)

#define abort() return 0

#define __BYTE_ORDER __LITTLE_ENDIAN


6 changes: 6 additions & 0 deletions arch/sparc/math-emu/sfp-util_32.h
Original file line number Diff line number Diff line change
Expand Up @@ -107,3 +107,9 @@

#define abort() \
return 0

#ifdef __BIG_ENDIAN
#define __BYTE_ORDER __BIG_ENDIAN
#else
#define __BYTE_ORDER __LITTLE_ENDIAN
#endif
6 changes: 6 additions & 0 deletions arch/sparc/math-emu/sfp-util_64.h
Original file line number Diff line number Diff line change
Expand Up @@ -112,3 +112,9 @@

#define abort() \
return 0

#ifdef __BIG_ENDIAN
#define __BYTE_ORDER __BIG_ENDIAN
#else
#define __BYTE_ORDER __LITTLE_ENDIAN
#endif
4 changes: 2 additions & 2 deletions arch/x86/boot/compressed/relocs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 0 additions & 3 deletions include/linux/byteorder/big_endian.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down
3 changes: 0 additions & 3 deletions include/linux/byteorder/little_endian.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down

0 comments on commit 13da9e2

Please sign in to comment.