summaryrefslogtreecommitdiff
blob: df075dca082d2c502c2d6cff61f072d40574c0c1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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 <david.heidelberger@ixit.cz>
To: linux-kernel@vger.kernel.org
Cc: maillist-linux@barfooze.de, torvalds@linux-foundation.org
Subject: [PATCH 1/4] glibc specific inclusion of sysinfo.h in kernel.h
Message-ID: <130a9e0c237bae10e631a5ae52c5e2c8@ixit.cz>
User-Agent: Roundcube Webmail/0.9.5
Sender: linux-kernel-owner@vger.kernel.org
List-ID: <linux-kernel.vger.kernel.org>
X-Mailing-List: linux-kernel@vger.kernel.org

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-linux@barfooze.de>
Signed-off-by: David Heidelberger <david.heidelberger@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