summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux-libc-headers
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-07-23 23:56:15 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-07-26 08:41:38 +0100
commit385c1ccc189088d78b6c15575c7eb5e2bb78b097 (patch)
treeae50ae6e4837989168658c7ae23c1fa525c196e7 /meta/recipes-kernel/linux-libc-headers
parent74f23b863f8935f3d7d1f07150ab3ea37c1bb6de (diff)
downloadpoky-385c1ccc189088d78b6c15575c7eb5e2bb78b097.tar.gz
linux-libc-header: Fix ptrace.h and prctl.h conflict on aarch64
This is a backport from 5.2 release upstream, it fixes long standing build failure on musl/aarch64 (From OE-Core rev: eff0a21a835808c5e2862b820a1ebb200ff100db) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-kernel/linux-libc-headers')
-rw-r--r--meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch62
-rw-r--r--meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb1
2 files changed, 63 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch
new file mode 100644
index 0000000000..5ea46e9590
--- /dev/null
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch
@@ -0,0 +1,62 @@
1From 35341ca0614ab13e1ef34ad4f29a39e15ef31fa8 Mon Sep 17 00:00:00 2001
2From: Anisse Astier <aastier@freebox.fr>
3Date: Mon, 17 Jun 2019 15:22:22 +0200
4Subject: [PATCH] arm64/sve: <uapi/asm/ptrace.h> should not depend on
5 <uapi/linux/prctl.h>
6
7Pulling linux/prctl.h into asm/ptrace.h in the arm64 UAPI headers causes
8userspace build issues for any program (e.g. strace and qemu) that
9includes both <sys/prctl.h> and <linux/ptrace.h> when using musl libc:
10
11 | error: redefinition of 'struct prctl_mm_map'
12 | struct prctl_mm_map {
13
14See https://github.com/foundriesio/meta-lmp/commit/6d4a106e191b5d79c41b9ac78fd321316d3013c0
15for a public example of people working around this issue.
16
17Although it's a bit grotty, fix this breakage by duplicating the prctl
18constant definitions. Since these are part of the kernel ABI, they
19cannot be changed in future and so it's not the end of the world to have
20them open-coded.
21
22Fixes: 43d4da2c45b2 ("arm64/sve: ptrace and ELF coredump support")
23
24Upstream-Status: Backport [https://github.com/torvalds/linux/commit/35341ca0614ab13e1ef34ad4f29a39e15ef31fa8]
25Cc: stable@vger.kernel.org
26Acked-by: Dave Martin <Dave.Martin@arm.com>
27Signed-off-by: Anisse Astier <aastier@freebox.fr>
28Signed-off-by: Will Deacon <will.deacon@arm.com>
29---
30 arch/arm64/include/uapi/asm/ptrace.h | 8 +++-----
31 1 file changed, 3 insertions(+), 5 deletions(-)
32
33diff --git a/arch/arm64/include/uapi/asm/ptrace.h b/arch/arm64/include/uapi/asm/ptrace.h
34index 97c53203150b..e932284993d4 100644
35--- a/arch/arm64/include/uapi/asm/ptrace.h
36+++ b/arch/arm64/include/uapi/asm/ptrace.h
37@@ -65,8 +65,6 @@
38
39 #ifndef __ASSEMBLY__
40
41-#include <linux/prctl.h>
42-
43 /*
44 * User structures for general purpose, floating point and debug registers.
45 */
46@@ -113,10 +111,10 @@ struct user_sve_header {
47
48 /*
49 * Common SVE_PT_* flags:
50- * These must be kept in sync with prctl interface in <linux/ptrace.h>
51+ * These must be kept in sync with prctl interface in <linux/prctl.h>
52 */
53-#define SVE_PT_VL_INHERIT (PR_SVE_VL_INHERIT >> 16)
54-#define SVE_PT_VL_ONEXEC (PR_SVE_SET_VL_ONEXEC >> 16)
55+#define SVE_PT_VL_INHERIT ((1 << 17) /* PR_SVE_VL_INHERIT */ >> 16)
56+#define SVE_PT_VL_ONEXEC ((1 << 18) /* PR_SVE_SET_VL_ONEXEC */ >> 16)
57
58
59 /*
60--
612.22.0
62
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb
index e76120c5b8..473688d95f 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb
@@ -12,6 +12,7 @@ SRC_URI_append_libc-musl = "\
12SRC_URI_append = "\ 12SRC_URI_append = "\
13 file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \ 13 file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \
14 file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \ 14 file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \
15 file://0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch \
15" 16"
16 17
17SRC_URI[md5sum] = "7381ce8aac80a01448e065ce795c19c0" 18SRC_URI[md5sum] = "7381ce8aac80a01448e065ce795c19c0"