[OE-core] [PATCH 2/6] linux-libc-headers: update to 5.x headers

bruce.ashfield at gmail.com bruce.ashfield at gmail.com
Wed Mar 6 16:37:10 UTC 2019


From: Bruce Ashfield <bruce.ashfield at gmail.com>

Updating the linux-libc-headers to the 5.x kernel variant to match
the latest reference kernel in the 2.7 release.

We have two patches refreshed for context changes, and three patches
dropped since they have been merged to the mainline kernel and are
no longer necessary.

Signed-off-by: Bruce Ashfield <bruce.ashfield at gmail.com>
---
 meta/conf/distro/include/tcmode-default.inc   |   2 +-
 .../linux-libc-headers/linux-libc-headers.inc |   2 +
 ...kernel_clockid_t-in-uapi-net_stamp.h.patch |  49 ---
 ...d-input-and-output-files-instead-of-.patch |  11 +-
 ...ce-Fix-SVE_PT_REGS_OFFSET-definition.patch |  43 ---
 ...angle-uapi-asm-ptrace.h-from-uapi-as.patch | 289 ------------------
 ...ders_4.19.bb => linux-libc-headers_5.0.bb} |   7 +-
 7 files changed, 10 insertions(+), 393 deletions(-)
 delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-net-Use-__kernel_clockid_t-in-uapi-net_stamp.h.patch
 delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0002-arm64-sve-ptrace-Fix-SVE_PT_REGS_OFFSET-definition.patch
 delete mode 100644 meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-arm64-sve-Disentangle-uapi-asm-ptrace.h-from-uapi-as.patch
 rename meta/recipes-kernel/linux-libc-headers/{linux-libc-headers_4.19.bb => linux-libc-headers_5.0.bb} (65%)

diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index 5d71825889..12d3901ee1 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -23,7 +23,7 @@ SDKGCCVERSION ?= "${GCCVERSION}"
 BINUVERSION ?= "2.32%"
 GDBVERSION ?= "8.2%"
 GLIBCVERSION ?= "2.29%"
-LINUXLIBCVERSION ?= "4.19%"
+LINUXLIBCVERSION ?= "5.0%"
 QEMUVERSION ?= "3.1%"
 GOVERSION ?= "1.11%"
 
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
index be215af9b9..7f838f623e 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers.inc
@@ -38,6 +38,8 @@ python __anonymous () {
         d.setVar("HEADER_FETCH_VER", "3.0")
     elif major == "4":
         d.setVar("HEADER_FETCH_VER", "4.x")
+    elif major == "5":
+        d.setVar("HEADER_FETCH_VER", "5.x")
     else:
         d.setVar("HEADER_FETCH_VER", "2.6")
 }
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-net-Use-__kernel_clockid_t-in-uapi-net_stamp.h.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-net-Use-__kernel_clockid_t-in-uapi-net_stamp.h.patch
deleted file mode 100644
index 3684cc21bf..0000000000
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-net-Use-__kernel_clockid_t-in-uapi-net_stamp.h.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From e2c4cf7f98a519eb4d95532bfa06bcaf3562fed5 Mon Sep 17 00:00:00 2001
-From: Davide Caratti <dcaratti at redhat.com>
-Date: Mon, 17 Dec 2018 11:26:38 +0100
-Subject: [PATCH] net: Use __kernel_clockid_t in uapi net_stamp.h
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Herton reports the following error when building a userspace program that
-includes net_stamp.h:
-
- In file included from foo.c:2:
- /usr/include/linux/net_tstamp.h:158:2: error: unknown type name
- ‘clockid_t’
-   clockid_t clockid; /* reference clockid */
-   ^~~~~~~~~
-
-Fix it by using __kernel_clockid_t in place of clockid_t.
-
-Fixes: 80b14dee2bea ("net: Add a new socket option for a future transmit time.")
-Cc: Timothy Redaelli <tredaelli at redhat.com>
-Reported-by: Herton R. Krzesinski <herton at redhat.com>
-Signed-off-by: Davide Caratti <dcaratti at redhat.com>
-Tested-by: Paolo Abeni <pabeni at redhat.com>
-Signed-off-by: David S. Miller <davem at davemloft.net>
----
-Upstream-Status: Backport [https://github.com/torvalds/linux/commit/e2c4cf7f98a519eb4d95532bfa06bcaf3562fed5]
-
- include/uapi/linux/net_tstamp.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/include/uapi/linux/net_tstamp.h b/include/uapi/linux/net_tstamp.h
-index 97ff3c17ec4d..e5b39721c6e4 100644
---- a/include/uapi/linux/net_tstamp.h
-+++ b/include/uapi/linux/net_tstamp.h
-@@ -155,8 +155,8 @@ enum txtime_flags {
- };
- 
- struct sock_txtime {
--	clockid_t	clockid;	/* reference clockid */
--	__u32		flags;		/* as defined by enum txtime_flags */
-+	__kernel_clockid_t	clockid;/* reference clockid */
-+	__u32			flags;	/* as defined by enum txtime_flags */
- };
- 
- #endif /* _NET_TIMESTAMPING_H */
--- 
-2.20.1
-
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch
index 9ba1c076e8..a5ded602e5 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch
@@ -1,8 +1,7 @@
 From 694eba7bb974f6b8bd308804cb24350150108b2b Mon Sep 17 00:00:00 2001
 From: He Zhe <zhe.he at windriver.com>
 Date: Wed, 21 Nov 2018 15:12:43 +0800
-Subject: [PATCH] scripts: Use fixed input and output files instead of pipe for
- here-doc
+Subject: [PATCH] scripts: Use fixed input and output files instead of pipe for here-doc
 
 There was a bug of "as" in binutils that when it checks if the input file and
 output file are the same one, it would not check if they are on the same block
@@ -44,14 +43,14 @@ Signed-off-by: He Zhe <zhe.he at windriver.com>
  1 file changed, 4 insertions(+), 1 deletion(-)
 
 diff --git a/scripts/gcc-goto.sh b/scripts/gcc-goto.sh
-index 083c526..8dfac55 100755
+index 8b980fb22..d256a9438 100755
 --- a/scripts/gcc-goto.sh
 +++ b/scripts/gcc-goto.sh
 @@ -3,7 +3,7 @@
  # Test for gcc 'asm goto' support
  # Copyright (C) 2010, Jason Baron <jbaron at redhat.com>
  
--cat << "END" | $@ -x c - -c -o /dev/null >/dev/null 2>&1 && echo "y"
+-cat << "END" | $@ -x c - -fno-PIE -c -o /dev/null
 +cat << "END" > ./input
  int main(void)
  {
@@ -61,8 +60,8 @@ index 083c526..8dfac55 100755
  }
  END
 +
-+$@ -x c ./input -c -o ./output && echo "y"
++$@ -x c ./input -fno-PIE -c -o ./output
 +rm ./input ./output
 -- 
-2.7.4
+2.19.1
 
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0002-arm64-sve-ptrace-Fix-SVE_PT_REGS_OFFSET-definition.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0002-arm64-sve-ptrace-Fix-SVE_PT_REGS_OFFSET-definition.patch
deleted file mode 100644
index 462fdba2ed..0000000000
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0002-arm64-sve-ptrace-Fix-SVE_PT_REGS_OFFSET-definition.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 0dede80d25ae2005f8af7235809fc09a7c47c62e Mon Sep 17 00:00:00 2001
-From: Dave Martin <Dave.Martin at arm.com>
-Date: Tue, 11 Dec 2018 19:26:46 +0000
-Subject: [PATCH 2/3] arm64/sve: ptrace: Fix SVE_PT_REGS_OFFSET definition
-
-SVE_PT_REGS_OFFSET is supposed to indicate the offset for skipping
-over the ptrace NT_ARM_SVE header (struct user_sve_header) to the
-start of the SVE register data proper.
-
-However, currently SVE_PT_REGS_OFFSET is defined in terms of struct
-sve_context, which is wrong: that structure describes the SVE
-header in the signal frame, not in the ptrace regset.
-
-This patch fixes the definition to use the ptrace header structure
-struct user_sve_header instead.
-
-By good fortune, the to structures are the same size anyway, so
-there is no functional or ABI change.
-
-Signed-off-by: Dave Martin <Dave.Martin at arm.com>
-Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>
-
-Upstream-Status: Submitted [https://www.spinics.net/lists/arm-kernel/msg694800.html]
----
- arch/arm64/include/uapi/asm/ptrace.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/arch/arm64/include/uapi/asm/ptrace.h b/arch/arm64/include/uapi/asm/ptrace.h
-index 98c4ce55d9c3..ad64d2c92ef5 100644
---- a/arch/arm64/include/uapi/asm/ptrace.h
-+++ b/arch/arm64/include/uapi/asm/ptrace.h
-@@ -130,7 +130,7 @@ struct user_sve_header {
- 
- /* Offset from the start of struct user_sve_header to the register data */
- #define SVE_PT_REGS_OFFSET					\
--	((sizeof(struct sve_context) + (SVE_VQ_BYTES - 1))	\
-+	((sizeof(struct user_sve_header) + (SVE_VQ_BYTES - 1))	\
- 		/ SVE_VQ_BYTES * SVE_VQ_BYTES)
- 
- /*
--- 
-2.5.0
-
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-arm64-sve-Disentangle-uapi-asm-ptrace.h-from-uapi-as.patch b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-arm64-sve-Disentangle-uapi-asm-ptrace.h-from-uapi-as.patch
deleted file mode 100644
index 0423f0f2cc..0000000000
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0003-arm64-sve-Disentangle-uapi-asm-ptrace.h-from-uapi-as.patch
+++ /dev/null
@@ -1,289 +0,0 @@
-From 1114697c04b9699112e78dd8fc6ec849609ca1cb Mon Sep 17 00:00:00 2001
-From: Dave Martin <Dave.Martin at arm.com>
-Date: Tue, 11 Dec 2018 19:26:47 +0000
-Subject: [PATCH 3/3] arm64/sve: Disentangle <uapi/asm/ptrace.h> from
- <uapi/asm/sigcontext.h>
-
-Currently, <uapi/asm/sigcontext.h> provides common definitions for
-describing SVE context structures that are also used by the ptrace
-definitions in <uapi/asm/ptrace.h>.
-
-For this reason, a #include of <asm/sigcontext.h> was added in
-ptrace.h, but it this turns out that this can interact badly with
-userspace code that tries to include ptrace.h on top of the libc
-headers (which may provide their own shadow definitions for
-sigcontext.h).
-
-To make the headers easier for userspace to consume, this patch
-bounces the common definitions into an __SVE_* namespace and moves
-them to a backend header <uapi/asm/sve_context.h> that can be
-included by the other headers as appropriate.  This should allow
-ptrace.h to be used alongside libc's sigcontext.h (if any) without
-ill effects.
-
-This should make the situation unambiguous: <asm/sigcontext.h> is
-the header to include for the sigframe-specific definitions, while
-<asm/ptrace.h> is the header to include for ptrace-specific
-definitions.
-
-To avoid conflicting with existing usage, <asm/sigcontext.h>
-remains the canonical way to get the common definitions for
-SVE_VQ_MIN, sve_vq_from_vl() etc., both in userspace and in the
-kernel: relying on these being defined as a side effect of
-including just <asm/ptrace.h> was never intended to be safe.
-
-Signed-off-by: Dave Martin <Dave.Martin at arm.com>
-Signed-off-by: Bruce Ashfield <bruce.ashfield at windriver.com>
-
-Upstream-Status: Submitted [https://www.spinics.net/lists/arm-kernel/msg694800.html]
----
- arch/arm64/include/uapi/asm/ptrace.h      | 39 ++++++++++-----------
- arch/arm64/include/uapi/asm/sigcontext.h  | 56 +++++++++++++++----------------
- arch/arm64/include/uapi/asm/sve_context.h | 50 +++++++++++++++++++++++++++
- 3 files changed, 96 insertions(+), 49 deletions(-)
- create mode 100644 arch/arm64/include/uapi/asm/sve_context.h
-
-diff --git a/arch/arm64/include/uapi/asm/ptrace.h b/arch/arm64/include/uapi/asm/ptrace.h
-index ad64d2c92ef5..81547c3a95a3 100644
---- a/arch/arm64/include/uapi/asm/ptrace.h
-+++ b/arch/arm64/include/uapi/asm/ptrace.h
-@@ -23,7 +23,7 @@
- #include <linux/types.h>
- 
- #include <asm/hwcap.h>
--#include <asm/sigcontext.h>
-+#include <asm/sve_context.h>
- 
- 
- /*
-@@ -129,9 +129,9 @@ struct user_sve_header {
-  */
- 
- /* Offset from the start of struct user_sve_header to the register data */
--#define SVE_PT_REGS_OFFSET					\
--	((sizeof(struct user_sve_header) + (SVE_VQ_BYTES - 1))	\
--		/ SVE_VQ_BYTES * SVE_VQ_BYTES)
-+#define SVE_PT_REGS_OFFSET						\
-+	((sizeof(struct user_sve_header) + (__SVE_VQ_BYTES - 1))	\
-+		/ __SVE_VQ_BYTES * __SVE_VQ_BYTES)
- 
- /*
-  * The register data content and layout depends on the value of the
-@@ -177,39 +177,36 @@ struct user_sve_header {
-  * Additional data might be appended in the future.
-  */
- 
--#define SVE_PT_SVE_ZREG_SIZE(vq)	SVE_SIG_ZREG_SIZE(vq)
--#define SVE_PT_SVE_PREG_SIZE(vq)	SVE_SIG_PREG_SIZE(vq)
--#define SVE_PT_SVE_FFR_SIZE(vq)		SVE_SIG_FFR_SIZE(vq)
-+#define SVE_PT_SVE_ZREG_SIZE(vq)	__SVE_ZREG_SIZE(vq)
-+#define SVE_PT_SVE_PREG_SIZE(vq)	__SVE_PREG_SIZE(vq)
-+#define SVE_PT_SVE_FFR_SIZE(vq)		__SVE_FFR_SIZE(vq)
- #define SVE_PT_SVE_FPSR_SIZE		sizeof(__u32)
- #define SVE_PT_SVE_FPCR_SIZE		sizeof(__u32)
- 
--#define __SVE_SIG_TO_PT(offset) \
--	((offset) - SVE_SIG_REGS_OFFSET + SVE_PT_REGS_OFFSET)
--
- #define SVE_PT_SVE_OFFSET		SVE_PT_REGS_OFFSET
- 
- #define SVE_PT_SVE_ZREGS_OFFSET \
--	__SVE_SIG_TO_PT(SVE_SIG_ZREGS_OFFSET)
-+	(SVE_PT_REGS_OFFSET + __SVE_ZREGS_OFFSET)
- #define SVE_PT_SVE_ZREG_OFFSET(vq, n) \
--	__SVE_SIG_TO_PT(SVE_SIG_ZREG_OFFSET(vq, n))
-+	(SVE_PT_REGS_OFFSET + __SVE_ZREG_OFFSET(vq, n))
- #define SVE_PT_SVE_ZREGS_SIZE(vq) \
--	(SVE_PT_SVE_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_PT_SVE_ZREGS_OFFSET)
-+	(SVE_PT_SVE_ZREG_OFFSET(vq, __SVE_NUM_ZREGS) - SVE_PT_SVE_ZREGS_OFFSET)
- 
- #define SVE_PT_SVE_PREGS_OFFSET(vq) \
--	__SVE_SIG_TO_PT(SVE_SIG_PREGS_OFFSET(vq))
-+	(SVE_PT_REGS_OFFSET + __SVE_PREGS_OFFSET(vq))
- #define SVE_PT_SVE_PREG_OFFSET(vq, n) \
--	__SVE_SIG_TO_PT(SVE_SIG_PREG_OFFSET(vq, n))
-+	(SVE_PT_REGS_OFFSET + __SVE_PREG_OFFSET(vq, n))
- #define SVE_PT_SVE_PREGS_SIZE(vq) \
--	(SVE_PT_SVE_PREG_OFFSET(vq, SVE_NUM_PREGS) - \
-+	(SVE_PT_SVE_PREG_OFFSET(vq, __SVE_NUM_PREGS) - \
- 		SVE_PT_SVE_PREGS_OFFSET(vq))
- 
- #define SVE_PT_SVE_FFR_OFFSET(vq) \
--	__SVE_SIG_TO_PT(SVE_SIG_FFR_OFFSET(vq))
-+	(SVE_PT_REGS_OFFSET + __SVE_FFR_OFFSET(vq))
- 
- #define SVE_PT_SVE_FPSR_OFFSET(vq)				\
- 	((SVE_PT_SVE_FFR_OFFSET(vq) + SVE_PT_SVE_FFR_SIZE(vq) +	\
--			(SVE_VQ_BYTES - 1))			\
--		/ SVE_VQ_BYTES * SVE_VQ_BYTES)
-+			(__SVE_VQ_BYTES - 1))			\
-+		/ __SVE_VQ_BYTES * __SVE_VQ_BYTES)
- #define SVE_PT_SVE_FPCR_OFFSET(vq) \
- 	(SVE_PT_SVE_FPSR_OFFSET(vq) + SVE_PT_SVE_FPSR_SIZE)
- 
-@@ -220,8 +217,8 @@ struct user_sve_header {
- 
- #define SVE_PT_SVE_SIZE(vq, flags)					\
- 	((SVE_PT_SVE_FPCR_OFFSET(vq) + SVE_PT_SVE_FPCR_SIZE		\
--			- SVE_PT_SVE_OFFSET + (SVE_VQ_BYTES - 1))	\
--		/ SVE_VQ_BYTES * SVE_VQ_BYTES)
-+			- SVE_PT_SVE_OFFSET + (__SVE_VQ_BYTES - 1))	\
-+		/ __SVE_VQ_BYTES * __SVE_VQ_BYTES)
- 
- #define SVE_PT_SIZE(vq, flags)						\
- 	 (((flags) & SVE_PT_REGS_MASK) == SVE_PT_REGS_SVE ?		\
-diff --git a/arch/arm64/include/uapi/asm/sigcontext.h b/arch/arm64/include/uapi/asm/sigcontext.h
-index dca8f8b5168b..5f3c0cec5af9 100644
---- a/arch/arm64/include/uapi/asm/sigcontext.h
-+++ b/arch/arm64/include/uapi/asm/sigcontext.h
-@@ -130,6 +130,8 @@ struct sve_context {
- 
- #endif /* !__ASSEMBLY__ */
- 
-+#include <asm/sve_context.h>
-+
- /*
-  * The SVE architecture leaves space for future expansion of the
-  * vector length beyond its initial architectural limit of 2048 bits
-@@ -138,21 +140,20 @@ struct sve_context {
-  * See linux/Documentation/arm64/sve.txt for a description of the VL/VQ
-  * terminology.
-  */
--#define SVE_VQ_BYTES		16	/* number of bytes per quadword */
-+#define SVE_VQ_BYTES		__SVE_VQ_BYTES	/* bytes per quadword */
- 
--#define SVE_VQ_MIN		1
--#define SVE_VQ_MAX		512
-+#define SVE_VQ_MIN		__SVE_VQ_MIN
-+#define SVE_VQ_MAX		__SVE_VQ_MAX
- 
--#define SVE_VL_MIN		(SVE_VQ_MIN * SVE_VQ_BYTES)
--#define SVE_VL_MAX		(SVE_VQ_MAX * SVE_VQ_BYTES)
-+#define SVE_VL_MIN		__SVE_VL_MIN
-+#define SVE_VL_MAX		__SVE_VL_MAX
- 
--#define SVE_NUM_ZREGS		32
--#define SVE_NUM_PREGS		16
-+#define SVE_NUM_ZREGS		__SVE_NUM_ZREGS
-+#define SVE_NUM_PREGS		__SVE_NUM_PREGS
- 
--#define sve_vl_valid(vl) \
--	((vl) % SVE_VQ_BYTES == 0 && (vl) >= SVE_VL_MIN && (vl) <= SVE_VL_MAX)
--#define sve_vq_from_vl(vl)	((vl) / SVE_VQ_BYTES)
--#define sve_vl_from_vq(vq)	((vq) * SVE_VQ_BYTES)
-+#define sve_vl_valid(vl)	__sve_vl_valid(vl)
-+#define sve_vq_from_vl(vl)	__sve_vq_from_vl(vl)
-+#define sve_vl_from_vq(vq)	__sve_vl_from_vq(vq)
- 
- /*
-  * If the SVE registers are currently live for the thread at signal delivery,
-@@ -205,34 +206,33 @@ struct sve_context {
-  * Additional data might be appended in the future.
-  */
- 
--#define SVE_SIG_ZREG_SIZE(vq)	((__u32)(vq) * SVE_VQ_BYTES)
--#define SVE_SIG_PREG_SIZE(vq)	((__u32)(vq) * (SVE_VQ_BYTES / 8))
--#define SVE_SIG_FFR_SIZE(vq)	SVE_SIG_PREG_SIZE(vq)
-+#define SVE_SIG_ZREG_SIZE(vq)	__SVE_ZREG_SIZE(vq)
-+#define SVE_SIG_PREG_SIZE(vq)	__SVE_PREG_SIZE(vq)
-+#define SVE_SIG_FFR_SIZE(vq)	__SVE_FFR_SIZE(vq)
- 
- #define SVE_SIG_REGS_OFFSET					\
--	((sizeof(struct sve_context) + (SVE_VQ_BYTES - 1))	\
--		/ SVE_VQ_BYTES * SVE_VQ_BYTES)
-+	((sizeof(struct sve_context) + (__SVE_VQ_BYTES - 1))	\
-+		/ __SVE_VQ_BYTES * __SVE_VQ_BYTES)
- 
--#define SVE_SIG_ZREGS_OFFSET	SVE_SIG_REGS_OFFSET
-+#define SVE_SIG_ZREGS_OFFSET \
-+		(SVE_SIG_REGS_OFFSET + __SVE_ZREGS_OFFSET)
- #define SVE_SIG_ZREG_OFFSET(vq, n) \
--	(SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREG_SIZE(vq) * (n))
--#define SVE_SIG_ZREGS_SIZE(vq) \
--	(SVE_SIG_ZREG_OFFSET(vq, SVE_NUM_ZREGS) - SVE_SIG_ZREGS_OFFSET)
-+		(SVE_SIG_REGS_OFFSET + __SVE_ZREG_OFFSET(vq, n))
-+#define SVE_SIG_ZREGS_SIZE(vq) __SVE_ZREGS_SIZE(vq)
- 
- #define SVE_SIG_PREGS_OFFSET(vq) \
--	(SVE_SIG_ZREGS_OFFSET + SVE_SIG_ZREGS_SIZE(vq))
-+		(SVE_SIG_REGS_OFFSET + __SVE_PREGS_OFFSET(vq))
- #define SVE_SIG_PREG_OFFSET(vq, n) \
--	(SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREG_SIZE(vq) * (n))
--#define SVE_SIG_PREGS_SIZE(vq) \
--	(SVE_SIG_PREG_OFFSET(vq, SVE_NUM_PREGS) - SVE_SIG_PREGS_OFFSET(vq))
-+		(SVE_SIG_REGS_OFFSET + __SVE_PREG_OFFSET(vq, n))
-+#define SVE_SIG_PREGS_SIZE(vq) __SVE_PREGS_SIZE(vq)
- 
- #define SVE_SIG_FFR_OFFSET(vq) \
--	(SVE_SIG_PREGS_OFFSET(vq) + SVE_SIG_PREGS_SIZE(vq))
-+		(SVE_SIG_REGS_OFFSET + __SVE_FFR_OFFSET(vq))
- 
- #define SVE_SIG_REGS_SIZE(vq) \
--	(SVE_SIG_FFR_OFFSET(vq) + SVE_SIG_FFR_SIZE(vq) - SVE_SIG_REGS_OFFSET)
--
--#define SVE_SIG_CONTEXT_SIZE(vq) (SVE_SIG_REGS_OFFSET + SVE_SIG_REGS_SIZE(vq))
-+		(__SVE_FFR_OFFSET(vq) + __SVE_FFR_SIZE(vq))
- 
-+#define SVE_SIG_CONTEXT_SIZE(vq) \
-+		(SVE_SIG_REGS_OFFSET + SVE_SIG_REGS_SIZE(vq))
- 
- #endif /* _UAPI__ASM_SIGCONTEXT_H */
-diff --git a/arch/arm64/include/uapi/asm/sve_context.h b/arch/arm64/include/uapi/asm/sve_context.h
-new file mode 100644
-index 000000000000..140f14c318a5
---- /dev/null
-+++ b/arch/arm64/include/uapi/asm/sve_context.h
-@@ -0,0 +1,50 @@
-+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
-+/* Copyright (C) 2017-2018 ARM Limited */
-+
-+#if !defined(_UAPI__ASM_PTRACE_H) && !defined(_UAPI__ASM_SIGCONTEXT_H)
-+#error "Do not include this header or use its definitions directly."
-+#endif
-+
-+#ifndef _UAPI__ASM_SVE_CONTEXT_H
-+#define _UAPI__ASM_SVE_CONTEXT_H
-+
-+#define __SVE_VQ_BYTES		16	/* number of bytes per quadword */
-+
-+#define __SVE_VQ_MIN		1
-+#define __SVE_VQ_MAX		512
-+
-+#define __SVE_VL_MIN		(__SVE_VQ_MIN * __SVE_VQ_BYTES)
-+#define __SVE_VL_MAX		(__SVE_VQ_MAX * __SVE_VQ_BYTES)
-+
-+#define __SVE_NUM_ZREGS		32
-+#define __SVE_NUM_PREGS		16
-+
-+#define __sve_vl_valid(vl)			\
-+	((vl) % __SVE_VQ_BYTES == 0 &&		\
-+	 (vl) >= __SVE_VL_MIN &&		\
-+	 (vl) <= __SVE_VL_MAX)
-+
-+#define __sve_vq_from_vl(vl)	((vl) / __SVE_VQ_BYTES)
-+#define __sve_vl_from_vq(vq)	((vq) * __SVE_VQ_BYTES)
-+
-+#define __SVE_ZREG_SIZE(vq)	((__u32)(vq) * __SVE_VQ_BYTES)
-+#define __SVE_PREG_SIZE(vq)	((__u32)(vq) * (__SVE_VQ_BYTES / 8))
-+#define __SVE_FFR_SIZE(vq)	__SVE_PREG_SIZE(vq)
-+
-+#define __SVE_ZREGS_OFFSET	0
-+#define __SVE_ZREG_OFFSET(vq, n) \
-+	(__SVE_ZREGS_OFFSET + __SVE_ZREG_SIZE(vq) * (n))
-+#define __SVE_ZREGS_SIZE(vq) \
-+	(__SVE_ZREG_OFFSET(vq, __SVE_NUM_ZREGS) - __SVE_ZREGS_OFFSET)
-+
-+#define __SVE_PREGS_OFFSET(vq) \
-+	(__SVE_ZREGS_OFFSET + __SVE_ZREGS_SIZE(vq))
-+#define __SVE_PREG_OFFSET(vq, n) \
-+	(__SVE_PREGS_OFFSET(vq) + __SVE_PREG_SIZE(vq) * (n))
-+#define __SVE_PREGS_SIZE(vq) \
-+	(__SVE_PREG_OFFSET(vq, __SVE_NUM_PREGS) - __SVE_PREGS_OFFSET(vq))
-+
-+#define __SVE_FFR_OFFSET(vq) \
-+	(__SVE_PREGS_OFFSET(vq) + __SVE_PREGS_SIZE(vq))
-+
-+#endif /* ! _UAPI__ASM_SVE_CONTEXT_H */
--- 
-2.5.0
-
diff --git a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.19.bb b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb
similarity index 65%
rename from meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.19.bb
rename to meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb
index 48f25ebc1a..e76120c5b8 100644
--- a/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_4.19.bb
+++ b/meta/recipes-kernel/linux-libc-headers/linux-libc-headers_5.0.bb
@@ -10,12 +10,9 @@ SRC_URI_append_libc-musl = "\
    "
 
 SRC_URI_append = "\
-    file://0001-net-Use-__kernel_clockid_t-in-uapi-net_stamp.h.patch \
     file://0001-scripts-Use-fixed-input-and-output-files-instead-of-.patch \
     file://0001-kbuild-install_headers.sh-Strip-_UAPI-from-if-define.patch \
-    file://0002-arm64-sve-ptrace-Fix-SVE_PT_REGS_OFFSET-definition.patch \
-    file://0003-arm64-sve-Disentangle-uapi-asm-ptrace.h-from-uapi-as.patch \
 "
 
-SRC_URI[md5sum] = "740a90cf810c2105df8ee12e5d0bb900"
-SRC_URI[sha256sum] = "0c68f5655528aed4f99dae71a5b259edc93239fa899e2df79c055275c21749a1"
+SRC_URI[md5sum] = "7381ce8aac80a01448e065ce795c19c0"
+SRC_URI[sha256sum] = "437b141a6499159f5a7282d5eb4b2be055f8e862ccce44d7464e8759c31a2e43"
-- 
2.19.1



More information about the Openembedded-core mailing list