On 12/6/06, Phil Endecott <[EMAIL PROTECTED]> 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.
The same code is generated. The difference is that usually packing the whole struct isn't as error-prone as packing every element. Besides that the gcc warns about packing objects that have an alignment of 1. This is the reason why we should use the second approach. - 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/

