Skip to content

Commit 13da9e2

Browse files
committed
Revert "endian: #define __BYTE_ORDER"
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]>
1 parent 4e89e8f commit 13da9e2

File tree

9 files changed

+31
-8
lines changed

9 files changed

+31
-8
lines changed

arch/alpha/math-emu/sfp-util.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,8 @@ extern unsigned long __udiv_qrnnd (unsigned long *, unsigned long,
2828
#define UDIV_NEEDS_NORMALIZATION 1
2929

3030
#define abort() goto bad_insn
31+
32+
#ifndef __LITTLE_ENDIAN
33+
#define __LITTLE_ENDIAN -1
34+
#endif
35+
#define __BYTE_ORDER __LITTLE_ENDIAN

arch/powerpc/include/asm/sfp-machine.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,12 @@
353353
#define abort() \
354354
return 0
355355

356+
#ifdef __BIG_ENDIAN
357+
#define __BYTE_ORDER __BIG_ENDIAN
358+
#else
359+
#define __BYTE_ORDER __LITTLE_ENDIAN
360+
#endif
361+
356362
/* Exception flags. */
357363
#define EFLAG_INVALID (1 << (31 - 2))
358364
#define EFLAG_OVERFLOW (1 << (31 - 3))

arch/s390/include/asm/sfp-util.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,5 @@ extern unsigned long __udiv_qrnnd (unsigned int *, unsigned int,
7373
#define UDIV_NEEDS_NORMALIZATION 0
7474

7575
#define abort() return 0
76+
77+
#define __BYTE_ORDER __BIG_ENDIAN

arch/sh/math-emu/sfp-util.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,3 +66,7 @@
6666
} while (0)
6767

6868
#define abort() return 0
69+
70+
#define __BYTE_ORDER __LITTLE_ENDIAN
71+
72+

arch/sparc/math-emu/sfp-util_32.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,9 @@
107107

108108
#define abort() \
109109
return 0
110+
111+
#ifdef __BIG_ENDIAN
112+
#define __BYTE_ORDER __BIG_ENDIAN
113+
#else
114+
#define __BYTE_ORDER __LITTLE_ENDIAN
115+
#endif

arch/sparc/math-emu/sfp-util_64.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,9 @@
112112

113113
#define abort() \
114114
return 0
115+
116+
#ifdef __BIG_ENDIAN
117+
#define __BYTE_ORDER __BIG_ENDIAN
118+
#else
119+
#define __BYTE_ORDER __LITTLE_ENDIAN
120+
#endif

arch/x86/boot/compressed/relocs.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,11 +195,11 @@ static const char *sym_name(const char *sym_strtab, Elf32_Sym *sym)
195195

196196

197197

198-
#if __BYTE_ORDER == __LITTLE_ENDIAN
198+
#if BYTE_ORDER == LITTLE_ENDIAN
199199
#define le16_to_cpu(val) (val)
200200
#define le32_to_cpu(val) (val)
201201
#endif
202-
#if __BYTE_ORDER == __BIG_ENDIAN
202+
#if BYTE_ORDER == BIG_ENDIAN
203203
#define le16_to_cpu(val) bswap_16(val)
204204
#define le32_to_cpu(val) bswap_32(val)
205205
#endif

include/linux/byteorder/big_endian.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@
77
#ifndef __BIG_ENDIAN_BITFIELD
88
#define __BIG_ENDIAN_BITFIELD
99
#endif
10-
#ifndef __BYTE_ORDER
11-
#define __BYTE_ORDER __BIG_ENDIAN
12-
#endif
1310

1411
#include <linux/types.h>
1512
#include <linux/swab.h>

include/linux/byteorder/little_endian.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@
77
#ifndef __LITTLE_ENDIAN_BITFIELD
88
#define __LITTLE_ENDIAN_BITFIELD
99
#endif
10-
#ifndef __BYTE_ORDER
11-
#define __BYTE_ORDER __LITTLE_ENDIAN
12-
#endif
1310

1411
#include <linux/types.h>
1512
#include <linux/swab.h>

0 commit comments

Comments
 (0)