mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-04 12:01:41 +02:00
main/linux-headers: bring back the patches for musl
This commit is contained in:
parent
76f490d687
commit
ac6cba75d3
@ -0,0 +1,89 @@
|
||||
From 2872f5d8bcef84e62b15b37ba4ffeccfb6402dad Mon Sep 17 00:00:00 2001
|
||||
From: rofl0r <retnyg@gmx.net>
|
||||
Date: Wed, 22 Jan 2014 00:48:28 +0100
|
||||
Subject: [PATCH 1/3] libc-compat.h: fix some issues arising from in6.h
|
||||
|
||||
namely redefinition of some structs provided by netinet/in.h.
|
||||
---
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Upstream-Status: Submitted
|
||||
|
||||
include/uapi/linux/libc-compat.h | 25 ++++++++-----------------
|
||||
1 file changed, 8 insertions(+), 17 deletions(-)
|
||||
|
||||
Index: linux-4.4/include/uapi/linux/libc-compat.h
|
||||
===================================================================
|
||||
--- linux-4.4.orig/include/uapi/linux/libc-compat.h
|
||||
+++ linux-4.4/include/uapi/linux/libc-compat.h
|
||||
@@ -48,13 +48,12 @@
|
||||
#ifndef _UAPI_LIBC_COMPAT_H
|
||||
#define _UAPI_LIBC_COMPAT_H
|
||||
|
||||
-/* We have included glibc headers... */
|
||||
-#if defined(__GLIBC__)
|
||||
+#ifndef __KERNEL__ /* we're used from userspace */
|
||||
|
||||
-/* Coordinate with glibc netinet/in.h header. */
|
||||
+/* Coordinate with libc netinet/in.h header. */
|
||||
#if defined(_NETINET_IN_H)
|
||||
|
||||
-/* GLIBC headers included first so don't define anything
|
||||
+/* LIBC headers included first so don't define anything
|
||||
* that would already be defined. */
|
||||
#define __UAPI_DEF_IN_ADDR 0
|
||||
#define __UAPI_DEF_IN_IPPROTO 0
|
||||
@@ -64,15 +63,7 @@
|
||||
#define __UAPI_DEF_IN_CLASS 0
|
||||
|
||||
#define __UAPI_DEF_IN6_ADDR 0
|
||||
-/* The exception is the in6_addr macros which must be defined
|
||||
- * if the glibc code didn't define them. This guard matches
|
||||
- * the guard in glibc/inet/netinet/in.h which defines the
|
||||
- * additional in6_addr macros e.g. s6_addr16, and s6_addr32. */
|
||||
-#if defined(__USE_MISC) || defined (__USE_GNU)
|
||||
#define __UAPI_DEF_IN6_ADDR_ALT 0
|
||||
-#else
|
||||
-#define __UAPI_DEF_IN6_ADDR_ALT 1
|
||||
-#endif
|
||||
#define __UAPI_DEF_SOCKADDR_IN6 0
|
||||
#define __UAPI_DEF_IPV6_MREQ 0
|
||||
#define __UAPI_DEF_IPPROTO_V6 0
|
||||
@@ -80,10 +71,10 @@
|
||||
#define __UAPI_DEF_IN6_PKTINFO 0
|
||||
#define __UAPI_DEF_IP6_MTUINFO 0
|
||||
|
||||
-#else
|
||||
+#else /* defined(_NETINET_IN_H) */
|
||||
|
||||
/* Linux headers included first, and we must define everything
|
||||
- * we need. The expectation is that glibc will check the
|
||||
+ * we need. The expectation is that libc will check the
|
||||
* __UAPI_DEF_* defines and adjust appropriately. */
|
||||
#define __UAPI_DEF_IN_ADDR 1
|
||||
#define __UAPI_DEF_IN_IPPROTO 1
|
||||
@@ -93,7 +84,7 @@
|
||||
#define __UAPI_DEF_IN_CLASS 1
|
||||
|
||||
#define __UAPI_DEF_IN6_ADDR 1
|
||||
-/* We unconditionally define the in6_addr macros and glibc must
|
||||
+/* We unconditionally define the in6_addr macros and libc must
|
||||
* coordinate. */
|
||||
#define __UAPI_DEF_IN6_ADDR_ALT 1
|
||||
#define __UAPI_DEF_SOCKADDR_IN6 1
|
||||
@@ -115,7 +106,7 @@
|
||||
/* If we did not see any headers from any supported C libraries,
|
||||
* or we are being included in the kernel, then define everything
|
||||
* that we need. */
|
||||
-#else /* !defined(__GLIBC__) */
|
||||
+#else /* __KERNEL__ */
|
||||
|
||||
/* Definitions for in.h */
|
||||
#define __UAPI_DEF_IN_ADDR 1
|
||||
@@ -138,6 +129,6 @@
|
||||
/* Definitions for xattr.h */
|
||||
#define __UAPI_DEF_XATTR 1
|
||||
|
||||
-#endif /* __GLIBC__ */
|
||||
+#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* _UAPI_LIBC_COMPAT_H */
|
||||
@ -0,0 +1,59 @@
|
||||
From 75ba4a547282f91d653872a4bba5f5eae234ea6c Mon Sep 17 00:00:00 2001
|
||||
From: rofl0r <retnyg@gmx.net>
|
||||
Date: Wed, 22 Jan 2014 00:57:48 +0100
|
||||
Subject: [PATCH 2/3] libc-compat.h: prevent redefinition of struct ethhdr
|
||||
|
||||
---
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Upstream-Status: Submitted
|
||||
|
||||
include/uapi/linux/if_ether.h | 4 +++-
|
||||
include/uapi/linux/libc-compat.h | 6 ++++++
|
||||
2 files changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/uapi/linux/if_ether.h b/include/uapi/linux/if_ether.h
|
||||
index aa63ed0..e94da57 100644
|
||||
--- a/include/uapi/linux/if_ether.h
|
||||
+++ b/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
|
||||
@@ -134,11 +135,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 --git a/include/uapi/linux/libc-compat.h b/include/uapi/linux/libc-compat.h
|
||||
index afe15c2..7d0c78a 100644
|
||||
--- a/include/uapi/linux/libc-compat.h
|
||||
+++ b/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. */
|
||||
#if defined(_NETINET_IN_H)
|
||||
|
||||
--
|
||||
2.6.4
|
||||
|
||||
@ -0,0 +1,32 @@
|
||||
From 8e69b663d6ddef132041a1186f081fdd74d4a31d Mon Sep 17 00:00:00 2001
|
||||
From: rofl0r <retnyg@gmx.net>
|
||||
Date: Mon, 20 Jan 2014 21:31:34 +0100
|
||||
Subject: [PATCH 3/3] remove inclusion of sysinfo.h in kernel.h
|
||||
|
||||
the declaration of struct sysinfo clashes with userspace.
|
||||
it's not quite clear why that header was included from kernel.h,
|
||||
as none of its functionality is needed.
|
||||
---
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Upstream-Status: Submitted
|
||||
|
||||
include/uapi/linux/kernel.h | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/include/uapi/linux/kernel.h b/include/uapi/linux/kernel.h
|
||||
index 321e399..e8ff821 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
|
||||
--
|
||||
2.6.4
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
pkgname=linux-headers
|
||||
pkgver=4.4.6
|
||||
_kernver=${pkgver%.*}
|
||||
pkgrel=0
|
||||
pkgrel=1
|
||||
pkgdesc="Linux system headers"
|
||||
url="http://kernel.org"
|
||||
arch="all"
|
||||
@ -11,6 +11,9 @@ makedepends="perl"
|
||||
options="!strip !tracedeps"
|
||||
source="http://www.kernel.org/pub/linux/kernel/v4.x/linux-$_kernver.tar.xz
|
||||
http://www.kernel.org/pub/linux/kernel/v4.x/patch-$pkgver.xz
|
||||
0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch
|
||||
0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch
|
||||
0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch
|
||||
"
|
||||
|
||||
prepare() {
|
||||
@ -48,8 +51,17 @@ package() {
|
||||
}
|
||||
|
||||
md5sums="9a78fa2eb6c68ca5a40ed5af08142599 linux-4.4.tar.xz
|
||||
d48f09bf61f2500d70f839e190dc7c5a patch-4.4.6.xz"
|
||||
d48f09bf61f2500d70f839e190dc7c5a patch-4.4.6.xz
|
||||
45813ea0672b2179cd5534765bca4701 0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch
|
||||
d3845d6feece58f894f4e7785241aecf 0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch
|
||||
54f05c22c84fa72c142761538975e6b9 0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch"
|
||||
sha256sums="401d7c8fef594999a460d10c72c5a94e9c2e1022f16795ec51746b0d165418b2 linux-4.4.tar.xz
|
||||
efea93ff30955d445344a83c36678fa8e64111219eeafea2a41fd4ee11f79d68 patch-4.4.6.xz"
|
||||
efea93ff30955d445344a83c36678fa8e64111219eeafea2a41fd4ee11f79d68 patch-4.4.6.xz
|
||||
03fd7e050e0ce90870c26921049b4bf05ddadb5b823d3e43b9d1f9e4d8a16c96 0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch
|
||||
3f88dbae612b0f1d5076b9c61ebc5f0f77dee9e04d6d71f43f3f86ea4e6b37e2 0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch
|
||||
f84d2eef7ef5750b8971b788685aebda518aeab9f3f690c782e060869cd7fe0f 0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch"
|
||||
sha512sums="13c8459933a8b80608e226a1398e3d1848352ace84bcfb7e6a4a33cb230bbe1ab719d4b58e067283df91ce5311be6d2d595fc8c19e2ae6ecc652499415614b3e linux-4.4.tar.xz
|
||||
73da057476eb31d818eed4b66c883f5ceec65f18ec8ea60d64e48334c7681af4ed4cf7eb8684481f705446a59fd124de9449d22e28805bc9617b6608ecec491d patch-4.4.6.xz"
|
||||
73da057476eb31d818eed4b66c883f5ceec65f18ec8ea60d64e48334c7681af4ed4cf7eb8684481f705446a59fd124de9449d22e28805bc9617b6608ecec491d patch-4.4.6.xz
|
||||
6ceaaa285bcc7699b72f07f04c018d8edc2e1a2860004c677da6ff8ca042fcecd37f7f264d8ec9783e4e2f60a91bd45ddc432f7ec063da1e3f4e9dfb75b5ba65 0001-libc-compat.h-fix-some-issues-arising-from-in6.h.patch
|
||||
fbce0bf59dd8ed3da8d90db725e98ace410f1e1a71b1c2e0ef16c53327e3850019b4e52afb1b16115a8616492a1e758fab02158ea686113b1b6cd94c7b08f310 0002-libc-compat.h-prevent-redefinition-of-struct-ethhdr.patch
|
||||
e5431719b3910162c17c7a46e296c4424f5b82f4ad4bc45ba933da7e7ebcf896bb98782f7764e584c573c49d9e6b00fe63f3a36ae4b3b137add6b9a21ddf14a0 0003-remove-inclusion-of-sysinfo.h-in-kernel.h.patch"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user