http://bugs.gentoo.org/204448 some headers rely on these aligned_* macros and they dont conflict with normal userspace / libc types, so always export them regardless of the define __KERNEL_STRICT_NAMES --- include/linux/types.h +++ include/linux/types.h @@ -125,11 +125,6 @@ typedef __s64 int64_t; #endif -/* this is a special 64bit data type that is 8-byte aligned */ -#define aligned_u64 __u64 __attribute__((aligned(8))) -#define aligned_be64 __be64 __attribute__((aligned(8))) -#define aligned_le64 __le64 __attribute__((aligned(8))) - /** * The type used for indexing onto a disc or disc partition. * @@ -161,6 +156,11 @@ #endif /* __KERNEL_STRICT_NAMES */ +/* this is a special 64bit data type that is 8-byte aligned */ +#define aligned_u64 __u64 __attribute__((aligned(8))) +#define aligned_be64 __be64 __attribute__((aligned(8))) +#define aligned_le64 __le64 __attribute__((aligned(8))) + /* * Below are truly Linux-specific types that should never collide with * any application/library that wants linux/types.h.