Jan Blunk wrote:
Maybe the arm backend is somehow broken. AFAIK (and I verfied it on S390 and i386) the alignment shouldn't change.
To see a difference with your example structs you need to compare these two: struct wibble1 { char c; struct bar1 b1; }; struct wibble2 { char c; struct bar2 b2; }; struct wibble1 w1 = { 1, { 2, {3,4,5} } }; struct wibble2 w2 = { 1, { 2, {3,4,5} } }; Can you try that with your compilers? I get: w1: .byte 1 .space 3 <<<---- .byte 2 .4byte 3 .byte 4 .space 3 .4byte 5 .space 3 .global w2 .align 2 .type w2, %object .size w2, 16 w2: .byte 1 .byte 2 .4byte 3 .byte 4 .space 3 .4byte 5 .space 2 Phil. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/