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/

Reply via email to