Am Do 28. August 2008 schrieb Andy Green: > The problem comes when the guys you need aligned are inside a struct > that does correctly position them at alignment boundary -- relative to > struct start. If the address of the start of the struct is not itself > aligned to the machine word size though, that doesn't help at all. > > So a u32 at +8 from the struct start looks like it follows the rules > great, but if the struct pointer is pointing to 0x1, you are screwed > when you try to dereference that u32 in one 32-bit access at 0x9. > __packed__ is magic get out of jail card for that case.
I'd prefer memmove'ing such missaligned structs to an auxiliary buffer that's aligned the way it needs to be. Maybe even with a half word padding on head and tail. cheers jOERG
signature.asc
Description: This is a digitally signed message part.
