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

Khem Raj raj.khem at gmail.com
Thu Mar 7 15:20:15 UTC 2019


another one I forgot
https://errors.yoctoproject.org/Errors/Details/231924/

On Thu, Mar 7, 2019 at 7:19 AM Khem Raj <raj.khem at gmail.com> wrote:
>
> 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