Messages in this thread |  | | | Date | Sat, 21 Jan 2006 12:05:53 +0100 | | From | Harald Welte <> | | Subject | Re: Iptables error |
| |
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 <laforge@netfilter.org> 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[unhandled content-type:application/pgp-signature] |  |