commit: ba734355267d4accb9a4bd8143dbc880ac5044bc Author: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> AuthorDate: Thu Nov 7 22:55:19 2019 +0000 Commit: Sergei Trofimovich <slyfox <AT> gentoo <DOT> org> CommitDate: Thu Nov 7 22:55:19 2019 +0000 URL: https://gitweb.gentoo.org/proj/toolchain/linux-headers-patches.git/commit/?id=ba734355
5.3: don't include sysinfo.h on non-glibc libcs https://lore.kernel.org/patchwork/patch/449607/ https://gitweb.gentoo.org/proj/musl.git/tree/sys-kernel/linux-headers/files/libc-5.1-remove-sysinfo_h-from-kernel_h.patch Reported-by: Anarchy Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org> ...ecific-inclusion-of-sysinfo.h-in-kernel.h.patch | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/5.3/00_all_0009_glibc-specific-inclusion-of-sysinfo.h-in-kernel.h.patch b/5.3/00_all_0009_glibc-specific-inclusion-of-sysinfo.h-in-kernel.h.patch new file mode 100644 index 0000000..df075dc --- /dev/null +++ b/5.3/00_all_0009_glibc-specific-inclusion-of-sysinfo.h-in-kernel.h.patch @@ -0,0 +1,46 @@ +https://lore.kernel.org/patchwork/patch/449607/ +https://gitweb.gentoo.org/proj/musl.git/tree/sys-kernel/linux-headers/files/libc-5.1-remove-sysinfo_h-from-kernel_h.patch + +Date: Fri, 14 Mar 2014 17:14:10 +0100 +From: David Heidelberger <[email protected]> +To: [email protected] +Cc: [email protected], [email protected] +Subject: [PATCH 1/4] glibc specific inclusion of sysinfo.h in kernel.h +Message-ID: <[email protected]> +User-Agent: Roundcube Webmail/0.9.5 +Sender: [email protected] +List-ID: <linux-kernel.vger.kernel.org> +X-Mailing-List: [email protected] + +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 <[email protected]> +Signed-off-by: David Heidelberger <[email protected]> +--- + 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
