|
| 1 | +diff -Nur reiserfsprogs-3.6.20.orig/include/misc/swab.h reiserfsprogs-3.6.20.bigendian-fix/include/misc/swab.h |
| 2 | +--- reiserfsprogs-3.6.20.orig/include/misc/swab.h 2006-03-28 12:40:23.000000000 +0000 |
| 3 | ++++ reiserfsprogs-3.6.20.bigendian-fix/include/misc/swab.h 2006-11-15 02:44:59.000000000 +0000 |
| 4 | +@@ -14,14 +14,19 @@ |
| 5 | + (((__u16)(__x) & (__u16)0xff00U) >> 8) )); \ |
| 6 | + }) |
| 7 | + |
| 8 | +-#define __swab32(x) \ |
| 9 | +-({ \ |
| 10 | +- __u32 __x = (x); \ |
| 11 | ++#define __init_swab32(__x) \ |
| 12 | ++( \ |
| 13 | + ((__u32)( \ |
| 14 | + (((__u32)(__x) & (__u32)0x000000ffUL) << 24) | \ |
| 15 | + (((__u32)(__x) & (__u32)0x0000ff00UL) << 8) | \ |
| 16 | + (((__u32)(__x) & (__u32)0x00ff0000UL) >> 8) | \ |
| 17 | +- (((__u32)(__x) & (__u32)0xff000000UL) >> 24) )); \ |
| 18 | ++ (((__u32)(__x) & (__u32)0xff000000UL) >> 24) )) \ |
| 19 | ++) |
| 20 | ++ |
| 21 | ++#define __swab32(x) \ |
| 22 | ++({ \ |
| 23 | ++ __u32 __x = (x); \ |
| 24 | ++ __init_swab32(__x); \ |
| 25 | + }) |
| 26 | + |
| 27 | + #define __swab64(x) \ |
| 28 | +@@ -47,6 +52,7 @@ |
| 29 | + # define le32_to_cpu(val) (val) |
| 30 | + # define cpu_to_le64(val) (val) |
| 31 | + # define le64_to_cpu(val) (val) |
| 32 | ++# define init_cpu_to_le32(val) (val) |
| 33 | + |
| 34 | + #elif defined(WORDS_BIGENDIAN) |
| 35 | + |
| 36 | +@@ -56,6 +62,7 @@ |
| 37 | + # define le32_to_cpu(val) __swab32(val) |
| 38 | + # define cpu_to_le64(val) __swab64(val) |
| 39 | + # define le64_to_cpu(val) __swab64(val) |
| 40 | ++# define init_cpu_to_le32(val) __init_swab32(val) |
| 41 | + |
| 42 | + #else |
| 43 | + # error "nuxi/pdp-endian archs are not supported" |
| 44 | +diff -Nur reiserfsprogs-3.6.20.orig/libreiserfs/key.c reiserfsprogs-3.6.20.bigendian-fix/libreiserfs/key.c |
| 45 | +--- reiserfsprogs-3.6.20.orig/libreiserfs/key.c 2006-03-28 12:40:23.000000000 +0000 |
| 46 | ++++ reiserfsprogs-3.6.20.bigendian-fix/libreiserfs/key.c 2006-11-15 02:45:25.000000000 +0000 |
| 47 | +@@ -11,12 +11,12 @@ |
| 48 | + #include "misc/unaligned.h" |
| 49 | + |
| 50 | + const reiserfs_key_t root_dir_key = |
| 51 | +- {cpu_to_le32(REISERFS_ROOT_PARENT_OBJECTID), |
| 52 | +- cpu_to_le32(REISERFS_ROOT_OBJECTID), |
| 53 | ++ {init_cpu_to_le32(REISERFS_ROOT_PARENT_OBJECTID), |
| 54 | ++ init_cpu_to_le32(REISERFS_ROOT_OBJECTID), |
| 55 | + {{0, 0},}}; |
| 56 | + |
| 57 | + const reiserfs_key_t parent_root_dir_key = { |
| 58 | +- 0, cpu_to_le32(REISERFS_ROOT_PARENT_OBJECTID), |
| 59 | ++ 0, init_cpu_to_le32(REISERFS_ROOT_PARENT_OBJECTID), |
| 60 | + {{0, 0},}}; |
| 61 | + |
| 62 | + reiserfs_key_t lost_found_dir_key = |
| 63 | +@@ -45,7 +45,7 @@ |
| 64 | + # define set_key_type_v2(key,val) (void)(key->u.k2_offset_v2.k_type = (val)) |
| 65 | + #elif __BYTE_ORDER == __BIG_ENDIAN |
| 66 | + typedef union { |
| 67 | +- struct offset_v2 offset_v2; |
| 68 | ++ struct reiserfs_koff_v2 offset_v2; |
| 69 | + __u64 linear; |
| 70 | + } __attribute__ ((__packed__)) offset_v2_esafe_overlay; |
| 71 | + |
0 commit comments