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.h.
so for now, only include it on glibc in order not to break their headers.

Signed-off-by: John Spencer <maillist-li...@barfooze.de>
Signed-off-by: David Heidelberger <david.heidelber...@ixit.cz>
---
 include/uapi/linux/kernel.h | 2 ++
 1 file changed, 2 insertion(+)

diff --git a/include/uapi/linux/kernel.h b/include/uapi/linux/kernel.h
index 321e399..8c45eeb 100644
--- 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

+#ifdef __GLIBC__
 #include <linux/sysinfo.h>
+#endif

 /*
  * 'kernel.h' contains some often-used function prototypes etc
  */
--
1.8.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to