Messages in this thread | | | Date | Thu, 6 Nov 2003 13:18:41 -0800 | From | "David S. Miller" <> | Subject | Re: [PATCH] 2.4.21-rc1: byteorder.h breaks with __STRICT_ANSI__ defined (trivial) |
| |
On Thu, 06 Nov 2003 23:18:55 +0200 Martin Schlemmer <azarah@gentoo.org> wrote:
> Ok - say for instance then you were to write the abi headers - how would > you handle a case like this that -ansi forbid type long long, but it > have to be in the struct userspace uses to pass data to the > kernel/device ?
I can tell you what cannot happen. You absolutely can't consider ideas like using '__u32 val[2];' and accessor macros, long long or whatever type the platform uses for __u64 has different alignment constraints than the '__u32 val[2]' array thing would.
I believe there is a way to work around this by using the __extension__ keyword when defining the __u64 typedefs. Someone should try playing with that. But this is only going to work when the compiler is GCC.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |