v2 looks good to me.

I have a full linux-libc-headers from 5.2 just about ready to go, so
I'll make sure to test and drop this patch as part of that work.

Cheers,

Bruce

On Wed, Jul 24, 2019 at 2:56 AM Khem Raj <[email protected]> wrote:
>
> This is a backport from 5.2 release upstream, it fixes long standing
> build failure on musl/aarch64
>
> Signed-off-by: Khem Raj <[email protected]>
> ---
> v2: Drop unused patch
>
>  ...sm-ptrace.h-should-not-depend-on-uap.patch | 62 +++++++++++++++++++
>  .../linux-libc-headers_5.0.bb                 |  1 +
>  2 files changed, 63 insertions(+)
>  create mode 100644 
> meta/recipes-kernel/linux-libc-headers/linux-libc-headers/0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch
>
> 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 @@
> +From 35341ca0614ab13e1ef34ad4f29a39e15ef31fa8 Mon Sep 17 00:00:00 2001
> +From: Anisse Astier <[email protected]>
> +Date: Mon, 17 Jun 2019 15:22:22 +0200
> +Subject: [PATCH] arm64/sve: <uapi/asm/ptrace.h> should not depend on
> + <uapi/linux/prctl.h>
> +
> +Pulling linux/prctl.h into asm/ptrace.h in the arm64 UAPI headers causes
> +userspace build issues for any program (e.g. strace and qemu) that
> +includes both <sys/prctl.h> and <linux/ptrace.h> when using musl libc:
> +
> +  | error: redefinition of 'struct prctl_mm_map'
> +  |  struct prctl_mm_map {
> +
> +See 
> https://github.com/foundriesio/meta-lmp/commit/6d4a106e191b5d79c41b9ac78fd321316d3013c0
> +for a public example of people working around this issue.
> +
> +Although it's a bit grotty, fix this breakage by duplicating the prctl
> +constant definitions. Since these are part of the kernel ABI, they
> +cannot be changed in future and so it's not the end of the world to have
> +them open-coded.
> +
> +Fixes: 43d4da2c45b2 ("arm64/sve: ptrace and ELF coredump support")
> +
> +Upstream-Status: Backport 
> [https://github.com/torvalds/linux/commit/35341ca0614ab13e1ef34ad4f29a39e15ef31fa8]
> +Cc: [email protected]
> +Acked-by: Dave Martin <[email protected]>
> +Signed-off-by: Anisse Astier <[email protected]>
> +Signed-off-by: Will Deacon <[email protected]>
> +---
> + arch/arm64/include/uapi/asm/ptrace.h | 8 +++-----
> + 1 file changed, 3 insertions(+), 5 deletions(-)
> +
> +diff --git a/arch/arm64/include/uapi/asm/ptrace.h 
> b/arch/arm64/include/uapi/asm/ptrace.h
> +index 97c53203150b..e932284993d4 100644
> +--- a/arch/arm64/include/uapi/asm/ptrace.h
> ++++ b/arch/arm64/include/uapi/asm/ptrace.h
> +@@ -65,8 +65,6 @@
> +
> + #ifndef __ASSEMBLY__
> +
> +-#include <linux/prctl.h>
> +-
> + /*
> +  * User structures for general purpose, floating point and debug registers.
> +  */
> +@@ -113,10 +111,10 @@ struct user_sve_header {
> +
> + /*
> +  * Common SVE_PT_* flags:
> +- * These must be kept in sync with prctl interface in <linux/ptrace.h>
> ++ * These must be kept in sync with prctl interface in <linux/prctl.h>
> +  */
> +-#define SVE_PT_VL_INHERIT             (PR_SVE_VL_INHERIT >> 16)
> +-#define SVE_PT_VL_ONEXEC              (PR_SVE_SET_VL_ONEXEC >> 16)
> ++#define SVE_PT_VL_INHERIT             ((1 << 17) /* PR_SVE_VL_INHERIT */ >> 
> 16)
> ++#define SVE_PT_VL_ONEXEC              ((1 << 18) /* PR_SVE_SET_VL_ONEXEC */ 
> >> 16)
> +
> +
> + /*
> +--
> +2.22.0
> +
> 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 = "\
>  SRC_URI_append = "\
>      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://0001-arm64-sve-uapi-asm-ptrace.h-should-not-depend-on-uap.patch \
>  "
>
>  SRC_URI[md5sum] = "7381ce8aac80a01448e065ce795c19c0"
> --
> 2.22.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> [email protected]
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to