1 |
commit: fc38e3f625d2aee08a90e2eb19a80ccadf945094 |
2 |
Author: Sam James <sam <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Dec 23 03:14:38 2021 +0000 |
4 |
Commit: Sam James <sam <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Dec 23 03:14:38 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc38e3f6 |
7 |
|
8 |
sys-kernel/linux-headers: add more background to musl patch |
9 |
|
10 |
Signed-off-by: Sam James <sam <AT> gentoo.org> |
11 |
|
12 |
...-5.10-Use-stddefs.h-instead-of-compiler.h.patch | 47 ++++++++++++++++------ |
13 |
1 file changed, 35 insertions(+), 12 deletions(-) |
14 |
|
15 |
diff --git a/sys-kernel/linux-headers/files/linux-headers-5.10-Use-stddefs.h-instead-of-compiler.h.patch b/sys-kernel/linux-headers/files/linux-headers-5.10-Use-stddefs.h-instead-of-compiler.h.patch |
16 |
index ac8bbe8b55fc..07c780fef26d 100644 |
17 |
--- a/sys-kernel/linux-headers/files/linux-headers-5.10-Use-stddefs.h-instead-of-compiler.h.patch |
18 |
+++ b/sys-kernel/linux-headers/files/linux-headers-5.10-Use-stddefs.h-instead-of-compiler.h.patch |
19 |
@@ -1,16 +1,42 @@ |
20 |
Needed for musl. |
21 |
|
22 |
-From 9eb3c31415686ae1296d7d450f886eeba5861ec1 Mon Sep 17 00:00:00 2001 |
23 |
-From: Jory Pratt <anarchy@g.o> |
24 |
-Date: Thu, 3 Jun 2021 18:41:28 -0500 |
25 |
-Subject: [PATCH] Use stddefs.h instead of compiler.h |
26 |
+https://git.alpinelinux.org/aports/tree/main/linux-headers/include-uapi-linux-swab-Fix-potentially-missing-__always_inline.patch |
27 |
|
28 |
---- |
29 |
- include/uapi/linux/swab.h | 2 +- |
30 |
- 1 file changed, 1 insertion(+), 1 deletion(-) |
31 |
+From: Matt Redfearn <matt.redfearn@××××.com> |
32 |
+Date: Wed, 3 Jan 2018 09:57:30 +0000 |
33 |
+Subject: [PATCH] include/uapi/linux/swab: Fix potentially missing |
34 |
+ __always_inline |
35 |
+MIME-Version: 1.0 |
36 |
+Content-Type: text/plain; charset=UTF-8 |
37 |
+Content-Transfer-Encoding: 8bit |
38 |
+ |
39 |
+Commit bc27fb68aaad ("include/uapi/linux/byteorder, swab: force inlining |
40 |
+of some byteswap operations") added __always_inline to swab functions |
41 |
+and commit 283d75737837 ("uapi/linux/stddef.h: Provide __always_inline to |
42 |
+userspace headers") added a definition of __always_inline for use in |
43 |
+exported headers when the kernel's compiler.h is not available. |
44 |
+ |
45 |
+However, since swab.h does not include stddef.h, if the header soup does |
46 |
+not indirectly include it, the definition of __always_inline is missing, |
47 |
+resulting in a compilation failure, which was observed compiling the |
48 |
+perf tool using exported headers containing this commit: |
49 |
+ |
50 |
+In file included from /usr/include/linux/byteorder/little_endian.h:12:0, |
51 |
+ from /usr/include/asm/byteorder.h:14, |
52 |
+ from tools/include/uapi/linux/perf_event.h:20, |
53 |
+ from perf.h:8, |
54 |
+ from builtin-bench.c:18: |
55 |
+/usr/include/linux/swab.h:160:8: error: unknown type name ‘__always_inline’ |
56 |
+ static __always_inline __u16 __swab16p(const __u16 *p) |
57 |
+ |
58 |
+Fix this by replacing the inclusion of linux/compiler.h with |
59 |
+linux/stddef.h to ensure that we pick up that definition if required, |
60 |
+without relying on it's indirect inclusion. compiler.h is then included |
61 |
+indirectly, via stddef.h. |
62 |
+ |
63 |
+Fixes: 283d75737837 ("uapi/linux/stddef.h: Provide __always_inline to userspace headers") |
64 |
+Signed-off-by: Matt Redfearn <matt.redfearn@××××.com> |
65 |
|
66 |
-diff --git a/include/uapi/linux/swab.h b/include/uapi/linux/swab.h |
67 |
-index 7272f85..3736f2f 100644 |
68 |
--- a/include/uapi/linux/swab.h |
69 |
+++ b/include/uapi/linux/swab.h |
70 |
@@ -3,7 +3,7 @@ |
71 |
@@ -22,6 +48,3 @@ index 7272f85..3736f2f 100644 |
72 |
#include <asm/bitsperlong.h> |
73 |
#include <asm/swab.h> |
74 |
|
75 |
--- |
76 |
-2.31.1 |
77 |
- |