diff mbox series

linux-libc-header: Fix ptrace.h and prctl.h conflict on aarch64

Message ID 20190724055607.30927-1-raj.khem@gmail.com
State Superseded
Headers show
Series linux-libc-header: Fix ptrace.h and prctl.h conflict on aarch64 | expand

Commit Message

Khem Raj July 24, 2019, 5:56 a.m. UTC
This is a backport from 5.2 release upstream, it fixes long standing
build failure on musl/aarch64

Signed-off-by: Khem Raj <raj.khem@gmail.com>

---
 ...sm-ptrace.h-should-not-depend-on-uap.patch | 62 +++++++++++++++++++
 .../linux-libc-headers_5.0.bb                 |  1 +
 ...ttribute-alias-with-Wattribute-alias.patch | 43 +++++++++++++
 3 files changed, 106 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
 create mode 100644 meta/recipes-kernel/linux/files/0001-Replace-Wattribute-alias-with-Wattribute-alias.patch

-- 
2.22.0

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Comments

Anuj Mittal July 24, 2019, 6:27 a.m. UTC | #1
On Tue, 2019-07-23 at 22:56 -0700, Khem Raj wrote:
> This is a backport from 5.2 release upstream, it fixes long standing

> build failure on musl/aarch64

> 

> Signed-off-by: Khem Raj <raj.khem@gmail.com>

> ---

>  ...sm-ptrace.h-should-not-depend-on-uap.patch | 62

> +++++++++++++++++++

>  .../linux-libc-headers_5.0.bb                 |  1 +

>  ...ttribute-alias-with-Wattribute-alias.patch | 43 +++++++++++++

>  3 files changed, 106 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

>  create mode 100644 meta/recipes-kernel/linux/files/0001-Replace-

> Wattribute-alias-with-Wattribute-alias.patch

> 


This second patch looks unrelated to this commit.

Thanks,
Anuj

> 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 <aastier@freebox.fr>

> +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: stable@vger.kernel.org

> +Acked-by: Dave Martin <Dave.Martin@arm.com>

> +Signed-off-by: Anisse Astier <aastier@freebox.fr>

> +Signed-off-by: Will Deacon <will.deacon@arm.com>

> +---

> + 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"

> diff --git a/meta/recipes-kernel/linux/files/0001-Replace-Wattribute-

> alias-with-Wattribute-alias.patch b/meta/recipes-

> kernel/linux/files/0001-Replace-Wattribute-alias-with-Wattribute-

> alias.patch

> new file mode 100644

> index 0000000000..b41b277bb4

> --- /dev/null

> +++ b/meta/recipes-kernel/linux/files/0001-Replace-Wattribute-alias-

> with-Wattribute-alias.patch

> @@ -0,0 +1,43 @@

> +From 229c673813b7dff90f82f1062724319dfeb6861a Mon Sep 17 00:00:00

> 2001

> +From: Khem Raj <raj.khem@gmail.com>

> +Date: Fri, 21 Dec 2018 15:57:35 -0800

> +Subject: [PATCH] Replace "-Wattribute-alias" with "-Wattribute-

> alias="

> +

> +makes gcc9 happy but makes gcc8 sad :(

> +I guess I cant end world hunger

> +

> +Signed-off-by: Khem Raj <raj.khem@gmail.com>

> +---

> + include/linux/compat.h   | 2 +-

> + include/linux/syscalls.h | 2 +-

> + 2 files changed, 2 insertions(+), 2 deletions(-)

> +

> +diff --git a/include/linux/compat.h b/include/linux/compat.h

> +index de0c13bdcd2c..95d1192da1f5 100644

> +--- a/include/linux/compat.h

> ++++ b/include/linux/compat.h

> +@@ -73,7 +73,7 @@

> + #ifndef COMPAT_SYSCALL_DEFINEx

> + #define COMPAT_SYSCALL_DEFINEx(x, name, ...)			

> 		\

> + 	__diag_push();							

> 	\

> +-	__diag_ignore(GCC, 8, "-Wattribute-alias",			

> 	\

> ++	__diag_ignore(GCC, 8, "-Wattribute-alias=",			

> 	\

> + 		      "Type aliasing is used to sanitize syscall

> arguments");\

> + 	asmlinkage long

> compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));	\

> + 	asmlinkage long

> compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))	\

> +diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h

> +index 2ff814c92f7f..58f761d2c9e9 100644

> +--- a/include/linux/syscalls.h

> ++++ b/include/linux/syscalls.h

> +@@ -234,7 +234,7 @@ static inline int is_syscall_trace_event(struct

> trace_event_call *tp_event)

> + #ifndef __SYSCALL_DEFINEx

> + #define __SYSCALL_DEFINEx(x, name, ...)				

> 	\

> + 	__diag_push();							

> \

> +-	__diag_ignore(GCC, 8, "-Wattribute-alias",			

> \

> ++	__diag_ignore(GCC, 8, "-Wattribute-alias=",			

> \

> + 		      "Type aliasing is used to sanitize syscall

> arguments");\

> + 	asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))	\

> + 		__attribute__((alias(__stringify(__se_sys##name))));	

> \

> +-- 

> +2.20.1

> +

> -- 

> 2.22.0

> 


-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Khem Raj July 24, 2019, 6:53 a.m. UTC | #2
On 7/23/19 11:27 PM, Mittal, Anuj wrote:
> On Tue, 2019-07-23 at 22:56 -0700, Khem Raj wrote:

>> This is a backport from 5.2 release upstream, it fixes long standing

>> build failure on musl/aarch64

>>

>> Signed-off-by: Khem Raj <raj.khem@gmail.com>

>> ---

>>   ...sm-ptrace.h-should-not-depend-on-uap.patch | 62

>> +++++++++++++++++++

>>   .../linux-libc-headers_5.0.bb                 |  1 +

>>   ...ttribute-alias-with-Wattribute-alias.patch | 43 +++++++++++++

>>   3 files changed, 106 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

>>   create mode 100644 meta/recipes-kernel/linux/files/0001-Replace-

>> Wattribute-alias-with-Wattribute-alias.patch

>>

> This second patch looks unrelated to this commit.



indeed


>

> Thanks,

> Anuj

>

>> 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 <aastier@freebox.fr>

>> +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: stable@vger.kernel.org

>> +Acked-by: Dave Martin <Dave.Martin@arm.com>

>> +Signed-off-by: Anisse Astier <aastier@freebox.fr>

>> +Signed-off-by: Will Deacon <will.deacon@arm.com>

>> +---

>> + 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"

>> diff --git a/meta/recipes-kernel/linux/files/0001-Replace-Wattribute-

>> alias-with-Wattribute-alias.patch b/meta/recipes-

>> kernel/linux/files/0001-Replace-Wattribute-alias-with-Wattribute-

>> alias.patch

>> new file mode 100644

>> index 0000000000..b41b277bb4

>> --- /dev/null

>> +++ b/meta/recipes-kernel/linux/files/0001-Replace-Wattribute-alias-

>> with-Wattribute-alias.patch

>> @@ -0,0 +1,43 @@

>> +From 229c673813b7dff90f82f1062724319dfeb6861a Mon Sep 17 00:00:00

>> 2001

>> +From: Khem Raj <raj.khem@gmail.com>

>> +Date: Fri, 21 Dec 2018 15:57:35 -0800

>> +Subject: [PATCH] Replace "-Wattribute-alias" with "-Wattribute-

>> alias="

>> +

>> +makes gcc9 happy but makes gcc8 sad :(

>> +I guess I cant end world hunger

>> +

>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>

>> +---

>> + include/linux/compat.h   | 2 +-

>> + include/linux/syscalls.h | 2 +-

>> + 2 files changed, 2 insertions(+), 2 deletions(-)

>> +

>> +diff --git a/include/linux/compat.h b/include/linux/compat.h

>> +index de0c13bdcd2c..95d1192da1f5 100644

>> +--- a/include/linux/compat.h

>> ++++ b/include/linux/compat.h

>> +@@ -73,7 +73,7 @@

>> + #ifndef COMPAT_SYSCALL_DEFINEx

>> + #define COMPAT_SYSCALL_DEFINEx(x, name, ...)			

>> 		\

>> + 	__diag_push();							

>> 	\

>> +-	__diag_ignore(GCC, 8, "-Wattribute-alias",			

>> 	\

>> ++	__diag_ignore(GCC, 8, "-Wattribute-alias=",			

>> 	\

>> + 		      "Type aliasing is used to sanitize syscall

>> arguments");\

>> + 	asmlinkage long

>> compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));	\

>> + 	asmlinkage long

>> compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))	\

>> +diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h

>> +index 2ff814c92f7f..58f761d2c9e9 100644

>> +--- a/include/linux/syscalls.h

>> ++++ b/include/linux/syscalls.h

>> +@@ -234,7 +234,7 @@ static inline int is_syscall_trace_event(struct

>> trace_event_call *tp_event)

>> + #ifndef __SYSCALL_DEFINEx

>> + #define __SYSCALL_DEFINEx(x, name, ...)				

>> 	\

>> + 	__diag_push();							

>> \

>> +-	__diag_ignore(GCC, 8, "-Wattribute-alias",			

>> \

>> ++	__diag_ignore(GCC, 8, "-Wattribute-alias=",			

>> \

>> + 		      "Type aliasing is used to sanitize syscall

>> arguments");\

>> + 	asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))	\

>> + 		__attribute__((alias(__stringify(__se_sys##name))));	

>> \

>> +--

>> +2.20.1

>> +

>> -- 

>> 2.22.0

>>

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
diff mbox series

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 <aastier@freebox.fr>
+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: stable@vger.kernel.org
+Acked-by: Dave Martin <Dave.Martin@arm.com>
+Signed-off-by: Anisse Astier <aastier@freebox.fr>
+Signed-off-by: Will Deacon <will.deacon@arm.com>
+---
+ 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"
diff --git a/meta/recipes-kernel/linux/files/0001-Replace-Wattribute-alias-with-Wattribute-alias.patch b/meta/recipes-kernel/linux/files/0001-Replace-Wattribute-alias-with-Wattribute-alias.patch
new file mode 100644
index 0000000000..b41b277bb4
--- /dev/null
+++ b/meta/recipes-kernel/linux/files/0001-Replace-Wattribute-alias-with-Wattribute-alias.patch
@@ -0,0 +1,43 @@ 
+From 229c673813b7dff90f82f1062724319dfeb6861a Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 21 Dec 2018 15:57:35 -0800
+Subject: [PATCH] Replace "-Wattribute-alias" with "-Wattribute-alias="
+
+makes gcc9 happy but makes gcc8 sad :(
+I guess I cant end world hunger
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ include/linux/compat.h   | 2 +-
+ include/linux/syscalls.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/linux/compat.h b/include/linux/compat.h
+index de0c13bdcd2c..95d1192da1f5 100644
+--- a/include/linux/compat.h
++++ b/include/linux/compat.h
+@@ -73,7 +73,7 @@
+ #ifndef COMPAT_SYSCALL_DEFINEx
+ #define COMPAT_SYSCALL_DEFINEx(x, name, ...)					\
+ 	__diag_push();								\
+-	__diag_ignore(GCC, 8, "-Wattribute-alias",				\
++	__diag_ignore(GCC, 8, "-Wattribute-alias=",				\
+ 		      "Type aliasing is used to sanitize syscall arguments");\
+ 	asmlinkage long compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));	\
+ 	asmlinkage long compat_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))	\
+diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h
+index 2ff814c92f7f..58f761d2c9e9 100644
+--- a/include/linux/syscalls.h
++++ b/include/linux/syscalls.h
+@@ -234,7 +234,7 @@ static inline int is_syscall_trace_event(struct trace_event_call *tp_event)
+ #ifndef __SYSCALL_DEFINEx
+ #define __SYSCALL_DEFINEx(x, name, ...)					\
+ 	__diag_push();							\
+-	__diag_ignore(GCC, 8, "-Wattribute-alias",			\
++	__diag_ignore(GCC, 8, "-Wattribute-alias=",			\
+ 		      "Type aliasing is used to sanitize syscall arguments");\
+ 	asmlinkage long sys##name(__MAP(x,__SC_DECL,__VA_ARGS__))	\
+ 		__attribute__((alias(__stringify(__se_sys##name))));	\
+-- 
+2.20.1
+