60 lines
2 KiB
Diff
60 lines
2 KiB
Diff
|
From 8e85d2c268000b51cc690f3a55a820d8f8a6c0bc Mon Sep 17 00:00:00 2001
|
||
|
From: Hauke Mehrtens <hauke@hauke-m.de>
|
||
|
Date: Thu, 22 Jun 2017 22:04:28 +0200
|
||
|
Subject: [PATCH] Add additional uapi guards for Linux kernel header files
|
||
|
|
||
|
With Linux kernel 4.15 it will be possible to guard more parts of the
|
||
|
Linux header files from a libc. Make use of this in musl to guard all
|
||
|
the structures and other definitions from the Linux header files which
|
||
|
are also defined by the header files provided by musl. This will make
|
||
|
musl compile with the unmodified Linux kernel user space headers.
|
||
|
|
||
|
This extends the definitions done in commit 04983f227238 ("make
|
||
|
netinet/in.h suppress clashing definitions from kernel headers")
|
||
|
|
||
|
The needed patches were recently accepted for Linux 4.15:
|
||
|
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c0bace798436bca0fdc221ff61143f1376a9c3de
|
||
|
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=6926e041a8920c8ec27e4e155efa760aa01551fd
|
||
|
---
|
||
|
include/net/if.h | 7 +++++++
|
||
|
include/netinet/if_ether.h | 1 +
|
||
|
include/sys/xattr.h | 2 ++
|
||
|
3 files changed, 10 insertions(+)
|
||
|
|
||
|
--- a/include/net/if.h
|
||
|
+++ b/include/net/if.h
|
||
|
@@ -125,6 +125,13 @@ struct ifconf {
|
||
|
#define ifc_req ifc_ifcu.ifcu_req
|
||
|
#define _IOT_ifconf _IOT(_IOTS(struct ifconf),1,0,0,0,0)
|
||
|
|
||
|
+#define __UAPI_DEF_IF_IFCONF 0
|
||
|
+#define __UAPI_DEF_IF_IFMAP 0
|
||
|
+#define __UAPI_DEF_IF_IFNAMSIZ 0
|
||
|
+#define __UAPI_DEF_IF_IFREQ 0
|
||
|
+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
|
||
|
+#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 0
|
||
|
+
|
||
|
#endif
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
--- a/include/netinet/if_ether.h
|
||
|
+++ b/include/netinet/if_ether.h
|
||
|
@@ -133,5 +133,6 @@ do { \
|
||
|
(enaddr)[5] = ((uint8_t *)ipaddr)[3]; \
|
||
|
} while(0)
|
||
|
|
||
|
+#define __UAPI_DEF_ETHHDR 0
|
||
|
|
||
|
#endif
|
||
|
--- a/include/sys/xattr.h
|
||
|
+++ b/include/sys/xattr.h
|
||
|
@@ -24,6 +24,8 @@ int removexattr(const char *, const char
|
||
|
int lremovexattr(const char *, const char *);
|
||
|
int fremovexattr(int, const char *);
|
||
|
|
||
|
+#define __UAPI_DEF_XATTR 0
|
||
|
+
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|