kernel-libc-headers: fix musl net headers conflicts
This commit is contained in:
parent
cea983889b
commit
6e725564a7
2 changed files with 126 additions and 1 deletions
|
@ -0,0 +1,125 @@
|
||||||
|
diff -u -r linux-4.9.8-bak/include/uapi/linux/if_arp.h linux-4.9.8/include/uapi/linux/if_arp.h
|
||||||
|
--- include/uapi/linux/if_arp.h 2018-05-14 23:49:28.882768986 +0200
|
||||||
|
+++ include/uapi/linux/if_arp.h 2018-05-14 23:50:03.156912981 +0200
|
||||||
|
@@ -24,6 +24,7 @@
|
||||||
|
#define _UAPI_LINUX_IF_ARP_H
|
||||||
|
|
||||||
|
#include <linux/netdevice.h>
|
||||||
|
+#include <linux/libc-compat.h>
|
||||||
|
|
||||||
|
/* ARP protocol HARDWARE identifiers. */
|
||||||
|
#define ARPHRD_NETROM 0 /* from KA9Q: NET/ROM pseudo */
|
||||||
|
@@ -108,7 +109,7 @@
|
||||||
|
#define ARPOP_InREPLY 9 /* InARP reply */
|
||||||
|
#define ARPOP_NAK 10 /* (ATM)ARP NAK */
|
||||||
|
|
||||||
|
-
|
||||||
|
+#if __UAPI_DEF_ARPREQ
|
||||||
|
/* ARP ioctl request. */
|
||||||
|
struct arpreq {
|
||||||
|
struct sockaddr arp_pa; /* protocol address */
|
||||||
|
@@ -117,13 +118,15 @@
|
||||||
|
struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
|
||||||
|
char arp_dev[16];
|
||||||
|
};
|
||||||
|
-
|
||||||
|
+#endif
|
||||||
|
+#if __UAPI_DEF_ARPREQ_OLD
|
||||||
|
struct arpreq_old {
|
||||||
|
struct sockaddr arp_pa; /* protocol address */
|
||||||
|
struct sockaddr arp_ha; /* hardware address */
|
||||||
|
int arp_flags; /* flags */
|
||||||
|
struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
|
||||||
|
};
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* ARP Flag values. */
|
||||||
|
#define ATF_COM 0x02 /* completed entry (ha valid) */
|
||||||
|
@@ -133,7 +136,7 @@
|
||||||
|
#define ATF_NETMASK 0x20 /* want to use a netmask (only
|
||||||
|
for proxy entries) */
|
||||||
|
#define ATF_DONTPUB 0x40 /* don't answer this addresses */
|
||||||
|
-
|
||||||
|
+#if __UAPI_DEF_ARPHDR
|
||||||
|
/*
|
||||||
|
* This structure defines an ethernet arp header.
|
||||||
|
*/
|
||||||
|
@@ -156,6 +159,6 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
};
|
||||||
|
-
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#endif /* _UAPI_LINUX_IF_ARP_H */
|
||||||
|
diff -u -r linux-4.9.8-bak/include/uapi/linux/if_ether.h linux-4.9.8/include/uapi/linux/if_ether.h
|
||||||
|
--- include/uapi/linux/if_ether.h 2018-05-14 23:49:28.882768986 +0200
|
||||||
|
+++ include/uapi/linux/if_ether.h 2018-05-14 23:50:03.155912977 +0200
|
||||||
|
@@ -22,6 +22,7 @@
|
||||||
|
#define _UAPI_LINUX_IF_ETHER_H
|
||||||
|
|
||||||
|
#include <linux/types.h>
|
||||||
|
+#include <linux/libc-compat.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble
|
||||||
|
@@ -137,12 +138,12 @@
|
||||||
|
/*
|
||||||
|
* This is an Ethernet frame header.
|
||||||
|
*/
|
||||||
|
-
|
||||||
|
+#if __UAPI_DEF_ETHHDR
|
||||||
|
struct ethhdr {
|
||||||
|
unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
|
||||||
|
unsigned char h_source[ETH_ALEN]; /* source ether addr */
|
||||||
|
__be16 h_proto; /* packet type ID field */
|
||||||
|
} __attribute__((packed));
|
||||||
|
-
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
#endif /* _UAPI_LINUX_IF_ETHER_H */
|
||||||
|
diff -u -r linux-4.9.8-bak/include/uapi/linux/libc-compat.h linux-4.9.8/include/uapi/linux/libc-compat.h
|
||||||
|
--- include/uapi/linux/libc-compat.h 2018-05-14 23:49:28.885768999 +0200
|
||||||
|
+++ include/uapi/linux/libc-compat.h 2018-05-14 23:50:03.156912981 +0200
|
||||||
|
@@ -51,6 +51,11 @@
|
||||||
|
/* We have included glibc headers... */
|
||||||
|
#if defined(__GLIBC__)
|
||||||
|
|
||||||
|
+#define __UAPI_DEF_ETHHDR 1
|
||||||
|
+#define __UAPI_DEF_ARPREQ 1
|
||||||
|
+#define __UAPI_DEF_ARPREQ_OLD 1
|
||||||
|
+#define __UAPI_DEF_ARPHDR 1
|
||||||
|
+
|
||||||
|
/* Coordinate with glibc net/if.h header. */
|
||||||
|
#if defined(_NET_IF_H) && defined(__USE_MISC)
|
||||||
|
|
||||||
|
@@ -73,7 +78,6 @@
|
||||||
|
/* Linux headers included first, and we must define everything
|
||||||
|
* we need. The expectation is that glibc will check the
|
||||||
|
* __UAPI_DEF_* defines and adjust appropriately. */
|
||||||
|
-
|
||||||
|
#define __UAPI_DEF_IF_IFCONF 1
|
||||||
|
#define __UAPI_DEF_IF_IFMAP 1
|
||||||
|
#define __UAPI_DEF_IF_IFNAMSIZ 1
|
||||||
|
@@ -256,6 +260,21 @@
|
||||||
|
#define __UAPI_DEF_XATTR 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifdef _NETINET_IF_ETHER_H /* musl */
|
||||||
|
+#define __UAPI_DEF_ETHHDR 0
|
||||||
|
+#else
|
||||||
|
+#define __UAPI_DEF_ETHHDR 1
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#ifdef _NET_IF_ARP_H
|
||||||
|
+#define __UAPI_DEF_ARPREQ 0
|
||||||
|
+#define __UAPI_DEF_ARPREQ_OLD 0
|
||||||
|
+#define __UAPI_DEF_ARPHDR 0
|
||||||
|
+#else
|
||||||
|
+#define __UAPI_DEF_ARPREQ 1
|
||||||
|
+#define __UAPI_DEF_ARPREQ_OLD 1
|
||||||
|
+#define __UAPI_DEF_ARPHDR 1
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* If we did not see any headers from any supported C libraries,
|
||||||
|
* or we are being included in the kernel, then define everything
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'kernel-libc-headers'
|
# Template file for 'kernel-libc-headers'
|
||||||
pkgname=kernel-libc-headers
|
pkgname=kernel-libc-headers
|
||||||
version=4.9.8
|
version=4.9.8
|
||||||
revision=3
|
revision=4
|
||||||
bootstrap=yes
|
bootstrap=yes
|
||||||
nostrip=yes
|
nostrip=yes
|
||||||
noverifyrdeps=yes
|
noverifyrdeps=yes
|
||||||
|
|
Loading…
Reference in a new issue