alignment faults in 3.6
David Laight
David.Laight at ACULAB.COM
Thu Oct 11 06:16:16 EDT 2012
> > It might be enough to use __attribute__((aligned(2))) on some structure
> > members (actually does 'ldm' need 8 byte alignment?? - in which case
> > aligned(4) is enough).
>
> The aligned attribute can only increase alignment.
Not true.
If you have:
struct foo {
short a;
int b __attribute__((aligned(2)));
short c;
};
You'll find sizeof (struct foo) is 8, and that, on arm/sparc etc,
gcc will generate 2 16bit accesses (and shifts) for foo.b;
David
More information about the linux-arm-kernel
mailing list