Re: Subtleties of __attribute__((packed))

From: Frederik Deweerdt
Date: Wed Dec 06 2006 - 09:03:09 EST


On Wed, Dec 06, 2006 at 01:20:41PM +0000, Phil Endecott wrote:
> Dear All,
>
> I used to think that this:
>
> struct foo {
> int a __attribute__((packed));
> char b __attribute__((packed));
> ... more fields, all packed ...
> };
>
> was exactly the same as this:
>
> struct foo {
> int a;
> char b;
> ... more fields ...
> } __attribute__((packed));
>
> but it is not, in a subtle way.
>
This is likely a gcc bug isn't it? The gcc info page states:
Specifying this attribute for `struct' and `union' types is
equivalent to specifying the `packed' attribute on each of the
structure or union members.

Regards,
Frederik
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/