[OE-core] [PATCH 2/6] linux-libc-headers: update to 5.x headers
Khem Raj
raj.khem at gmail.com
Thu Mar 7 15:19:23 UTC 2019
Bruce
https://errors.yoctoproject.org/Errors/Details/231923/
seems to be due to this. seems we need to get this define from
elsewhere have you encountered this?
On Wed, Mar 6, 2019 at 8:37 AM <bruce.ashfield at gmail.com> wrote:
>
> 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
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
More information about the Openembedded-core
mailing list