Messages in this thread | | | Date | Wed, 06 Dec 2006 16:13:56 +0000 | Subject | Re: Subtleties of __attribute__((packed)) | From | "Phil Endecott" <> |
| |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |