On Fri, Jan 20, 2006 at 11:46:13AM -0800, David S. Miller wrote: > Your struct won't be 8-byte aligned either as far as I can tell on > x86_64. According to my tests, the struct is 8-byte-aligned on x86_64, and that's how I'd like it to be. Please don't ask me why it happens, I know that the alignment constraint of a u64 on x86_64 is only 4. But at least gcc-3.3.6 and gcc-4.0.3 (debian) result in __alignof__ of that test structure (and a 'u_int64_t alone') to 8 bytes. When it comes to these things, I can only do trial+error. Maybe it's because __alignof__ returns the recommended alignment, not the required alignment. > We need to use the aligned_u64 thing if you want that. That should make sure that we always get what we want, yes. -- - Harald Welte http://netfilter.org/ ============================================================================ "Fragmentation is like classful addressing -- an interesting early architectural error that shows how much experimentation was going on while IP was being designed." -- Paul Vixie