From 8b05e325824d3b38e52a7748b3b5dc34dc1c0f6d Mon Sep 17 00:00:00 2001 From: David Heidelberger <david.heidelberger@ixit.cz> Date: Mon, 29 Jun 2015 14:37:54 +0200 Subject: [PATCH 1/3] uapi/kernel.h: glibc specific inclusion of sysinfo.h including sysinfo.h from kernel.h makes no sense whatsoever, but removing it breaks glibc's userspace header, which includes kernel.h instead of sysinfo.h from their sys/sysinfo.h. this seems to be a historical mistake. on musl, including any header that uses kernel.h directly or indirectly plus sys/sysinfo.h will produce a compile error due to redefinition of struct sysinfo from sys/sysinfo.h. so for now, only include it on glibc or when including from kernel in order not to break their headers. Signed-off-by: John Spencer <maillist-linux@barfooze.de> Signed-off-by: David Heidelberger <david.heidelberger@ixit.cz> Signed-off-by: Jonas Gorski <jogo@openwrt.org> --- include/uapi/linux/kernel.h | 2 ++ 1 file changed, 2 insertions(+) --- a/include/uapi/linux/kernel.h +++ b/include/uapi/linux/kernel.h @@ -1,7 +1,9 @@ #ifndef _UAPI_LINUX_KERNEL_H #define _UAPI_LINUX_KERNEL_H +#if defined(__KERNEL__) || defined( __GLIBC__) #include <linux/sysinfo.h> +#endif /* * 'kernel.h' contains some often-used function prototypes etc