On Friday 18 May 2012, H.J. Lu wrote: > Since x32 uses the same kernel interface as x86-64 with a few > exceptions. The current kernel header files with > > #ifdef __x86_64__ > # define __BITS_PER_LONG 64 > #else > # define __BITS_PER_LONG 32 > #endif > > #if __BITS_PER_LONG == 64 > Define x86-64 types > #endif > > work fine for x32 even if long for x32 is 32 bits. If __BITS_PER_LONG > is changed to 32 for x32, many types in kernel header files will be > wrong for x32. > A lot of things are broken if __BITS_PER_LONG is set to 64 in x32 user space. It was specifically introduced to get around places in exported headers that incorrectly used '#ifdef CONFIG_64BIT' to define a user space structure, so that we can depend on whatever the user sees in bitmasks and other data structures. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html