1 --- orig/include/reiser4/plugin.h 2005-03-26 16:52:16.913589432 -0800
2 +++ reiser4progs-1.0.4/include/reiser4/plugin.h 2005-03-26 17:05:13.324557024 -0800
4 #define EXTENT_HOLE_UNIT (0)
5 #define EXTENT_UNALLOC_UNIT (1)
8 +/* Getting this right requires machine dependent knowledge of the
9 + * minimum structure packing gcc implements for the architecture, on
10 + * ARM it is 4, so we need 'packed' for <4 and must not use 'packed'
11 + * for 8! (packed,align(4) is the default.)
13 +#define PACKED8 __attribute__ ((packed,aligned(1)))
14 +#define PACKED16 __attribute__ ((packed,aligned(2)))
15 +#define PACKED32 __attribute__ ((aligned(4)))
16 +#define PACKED64 __attribute__ ((aligned(8)))
18 +#define PACKED8 __attribute__ ((aligned(1)))
19 +#define PACKED16 __attribute__ ((aligned(2)))
20 +#define PACKED32 __attribute__ ((aligned(4)))
21 +#define PACKED64 __attribute__ ((aligned(8)))
24 +#define PACKEDt(t) __attribute__ ((packed,aligned(__alignof__ (t)) ))
25 +#define PACKEDt2(t1,t2) __attribute__ ((packed,aligned(\
26 + __alignof__ (t1) < __alignof__ (t2) ? __alignof__ (t2) : __alignof__ (t1) )))
27 +#define PACKED __attribute__((packed))
29 /* Defining the types for disk structures. All types like f32_t are fake ones
30 and needed to avoid gcc-2.95.x bug with size of typedefined aligned types. */
31 typedef uint8_t f8_t; typedef f8_t d8_t __attribute__((aligned(1)));
32 --- orig/include/reiser4/types.h 2005-03-26 16:52:16.915589128 -0800
33 +++ reiser4progs-1.0.4/include/reiser4/types.h 2005-03-26 17:08:29.143787976 -0800
36 /* Filesystem label in use. */
41 typedef struct reiser4_master_sb reiser4_master_sb_t;
45 /* Error message related to saved status and stack trace. */
46 char ss_message[SS_MESSAGE_SIZE];
50 typedef struct reiser4_status_sb reiser4_status_sb_t;
52 --- orig/plugin/format/format40/format40.h 2005-03-26 16:52:17.022572864 -0800
53 +++ reiser4progs-1.0.4/plugin/format/format40/format40.h 2005-03-26 17:09:21.068894160 -0800
58 -} __attribute__((packed));
61 typedef struct format40_super format40_super_t;
67 -} __attribute__((packed));
70 typedef struct format40_backup format40_backup_t;
72 --- orig/plugin/item/cde40/cde40.h 2005-03-26 16:52:17.041569976 -0800
73 +++ reiser4progs-1.0.4/plugin/item/cde40/cde40.h 2005-03-26 17:12:11.154037288 -0800
81 typedef struct cde40 cde40_t;
90 typedef struct objid3 objid3_t;
99 typedef struct hash3 hash3_t;
105 +} PACKEDt2(hash3_t, d16_t);
107 typedef struct entry3 entry3_t;
113 +} PACKEDt2(d16_t, entry3_t);
115 typedef struct cde403 cde403_t;
124 typedef struct objid4 objid4_t;
133 typedef struct hash4 hash4_t;
139 +} PACKEDt2(hash4_t, d16_t);
141 typedef struct entry4 entry4_t;
147 +} PACKEDt2(d16_t, entry4_t);
149 typedef struct cde404 cde404_t;
151 --- orig/plugin/item/ctail40/ctail40.h 2005-03-26 16:52:17.050568608 -0800
152 +++ reiser4progs-1.0.4/plugin/item/ctail40/ctail40.h 2005-03-26 17:12:25.634835872 -0800
154 /* Cluster size is block size shifted to this field. */
160 typedef struct ctail40 ctail40_t;
162 --- orig/plugin/item/extent40/extent40.h 2005-03-26 16:52:17.056567696 -0800
163 +++ reiser4progs-1.0.4/plugin/item/extent40/extent40.h 2005-03-26 17:12:43.461125864 -0800
171 typedef struct extent40 extent40_t;
173 --- orig/plugin/item/nodeptr40/nodeptr40.h 2005-03-26 16:52:17.057567544 -0800
174 +++ reiser4progs-1.0.4/plugin/item/nodeptr40/nodeptr40.h 2005-03-26 17:12:56.313172056 -0800
182 extern reiser4_core_t *nodeptr40_core;
183 typedef struct nodeptr40 nodeptr40_t;
184 --- orig/plugin/item/stat40/stat40.h 2005-03-26 16:52:17.061566936 -0800
185 +++ reiser4progs-1.0.4/plugin/item/stat40/stat40.h 2005-03-26 17:13:13.492560392 -0800
193 typedef struct stat40 stat40_t;
194 extern reiser4_core_t *stat40_core;
195 --- orig/plugin/journal/journal40/journal40.h 2005-03-26 16:52:17.071565416 -0800
196 +++ reiser4progs-1.0.4/plugin/journal/journal40/journal40.h 2005-03-26 17:15:34.993049048 -0800
199 struct journal40_header {
200 d64_t jh_last_commited;
204 typedef struct journal40_header journal40_header_t;
207 d64_t jf_free_blocks;
213 typedef struct journal40_footer journal40_footer_t;
216 d64_t th_free_blocks;
222 typedef struct journal40_tx_header journal40_tx_header_t;
231 typedef struct journal40_lr_header journal40_lr_header_t;
234 struct journal40_lr_entry {
240 typedef struct journal40_lr_entry journal40_lr_entry_t;
242 --- orig/plugin/key/key_large/key_large.h 2005-03-26 16:52:17.073565112 -0800
243 +++ reiser4progs-1.0.4/plugin/key/key_large/key_large.h 2005-03-26 17:15:59.982250112 -0800
246 d64_t el[KEY_LARGE_LAST_INDEX];
251 typedef union key_large key_large_t;
253 --- orig/plugin/key/key_short/key_short.h 2005-03-26 16:52:17.076564656 -0800
254 +++ reiser4progs-1.0.4/plugin/key/key_short/key_short.h 2005-03-26 17:16:13.687166648 -0800
257 d64_t el[KEY_SHORT_LAST_INDEX];
262 typedef union key_short key_short_t;
264 --- orig/plugin/node/node40/node40.h 2005-03-26 16:52:17.082563744 -0800
265 +++ reiser4progs-1.0.4/plugin/node/node40/node40.h 2005-03-26 17:17:08.539827776 -0800
270 -} __attribute__((packed));
273 typedef struct node40_header node40_header_t;
282 typedef union key3 key3_t;
288 -} __attribute__((packed));
291 typedef struct item_header3 item_header3_t;
300 typedef union key4 key4_t;
306 -} __attribute__((packed));
309 typedef struct item_header4 item_header4_t;
311 --- orig/plugin/sdext/sdext_flags/sdext_flags.h 2005-03-26 16:52:17.111559336 -0800
312 +++ reiser4progs-1.0.4/plugin/sdext/sdext_flags/sdext_flags.h 2005-03-26 17:17:36.787533472 -0800
317 -} __attribute__((packed));
320 typedef struct sdext_flags sdext_flags_t;
322 --- orig/plugin/sdext/sdext_lt/sdext_lt.h 2005-03-26 16:52:17.112559184 -0800
323 +++ reiser4progs-1.0.4/plugin/sdext/sdext_lt/sdext_lt.h 2005-03-26 17:17:43.199558696 -0800
328 -} __attribute__((packed));
331 typedef struct sdext_lt sdext_lt_t;
333 --- orig/plugin/sdext/sdext_lw/sdext_lw.h 2005-03-26 16:52:17.117558424 -0800
334 +++ reiser4progs-1.0.4/plugin/sdext/sdext_lw/sdext_lw.h 2005-03-26 17:17:50.272483448 -0800
339 -} __attribute__((packed));
342 typedef struct sdext_lw sdext_lw_t;
344 --- orig/plugin/sdext/sdext_plug/sdext_plug.h 2005-03-26 16:52:17.118558272 -0800
345 +++ reiser4progs-1.0.4/plugin/sdext/sdext_plug/sdext_plug.h 2005-03-26 17:18:02.400639688 -0800
347 struct sdext_plug_slot {
350 -} __attribute__((packed));
353 typedef struct sdext_plug_slot sdext_plug_slot_t;
357 sdext_plug_slot_t slot[0];
358 -} __attribute__((packed));
361 typedef struct sdext_plug sdext_plug_t;
363 --- orig/plugin/sdext/sdext_unix/sdext_unix.h 2005-03-26 16:52:17.120557968 -0800
364 +++ reiser4progs-1.0.4/plugin/sdext/sdext_unix/sdext_unix.h 2005-03-26 17:18:12.969033048 -0800
369 -} __attribute__((packed));
372 typedef struct sdext_unix sdext_unix_t;