summaryrefslogtreecommitdiffstats
path: root/main/linux-headers/4-4-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-03-25 18:40:54 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-03-25 18:40:54 +0000
commitd2bf04f6c61c8900da1ee537b3a630a484d2d2a8 (patch)
tree013ffbfcb161b409461d141afe798fce45c8d1b5 /main/linux-headers/4-4-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch
parente1f4fcf83fb502adee53388e7722721f2c11d2e3 (diff)
downloadaports-d2bf04f6c61c8900da1ee537b3a630a484d2d2a8.tar.bz2
aports-d2bf04f6c61c8900da1ee537b3a630a484d2d2a8.tar.xz
main/linux-headers: musl compat fixes
Diffstat (limited to 'main/linux-headers/4-4-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch')
-rw-r--r--main/linux-headers/4-4-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/main/linux-headers/4-4-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch b/main/linux-headers/4-4-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch
new file mode 100644
index 000000000..b8ac94fb0
--- /dev/null
+++ b/main/linux-headers/4-4-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch
@@ -0,0 +1,39 @@
+--- ./include/uapi/linux/if_ether.h.orig
++++ ./include/uapi/linux/if_ether.h
+@@ -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
+@@ -130,11 +131,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 */
+--- ./include/uapi/linux/libc-compat.h.orig
++++ ./include/uapi/linux/libc-compat.h
+@@ -50,6 +50,12 @@
+
+ #ifndef __KERNEL__ /* we're used from userspace */
+
++#ifdef _NETINET_IF_ETHER_H /* musl */
++#define __UAPI_DEF_ETHHDR 0
++#else /* glibc uses __NETINET_IF_ETHER_H, and includes the kernel header. */
++#define __UAPI_DEF_ETHHDR 1
++#endif
++
+ /* Coordinate with libc netinet/in.h header. */
+ #ifdef _NETINET_IN_H
+