All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/1] package/glibc: fix include of syscalls.h for RISC-V architecture
@ 2019-01-02 15:15 Mark Corbin
  2019-01-02 15:15 ` Mark Corbin
  0 siblings, 1 reply; 7+ messages in thread
From: Mark Corbin @ 2019-01-02 15:15 UTC (permalink / raw)
  To: buildroot

UAPI header file asm/syscalls.h has been merged into the UAPI
asm/unistd.h header file for the RISC-V architecture in the
4.20 kernel. This causes the glibc 2.28 build to break.

This commit applies the upstream glibc patch for this issue.

Fixes:
  http://autobuild.buildroot.net/results/8190eb74b2b97911e03671138487d747fcb22cba/

Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>

---
Changes v1 -> v2:
  - referenced the commit rather than the mailing list message as the
    source of the upstream patch (Yann)
---
 .../0002-fix-syscalls-header-for-riscv.patch  | 67 +++++++++++++++++++
 1 file changed, 67 insertions(+)
 create mode 100644 package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch

diff --git a/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch b/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
new file mode 100644
index 0000000000..2fc666dfdc
--- /dev/null
+++ b/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
@@ -0,0 +1,67 @@
+<asm/syscalls.h> has been removed by
+
+commit 27f8899d6002e11a6e2d995e29b8deab5aa9cc25
+Author: David Abdurachmanov <david.abdurachmanov@gmail.com>
+Date:   Thu Nov 8 20:02:39 2018 +0100
+
+    riscv: add asm/unistd.h UAPI header
+
+    Marcin Juszkiewicz reported issues while generating syscall table for riscv
+    using 4.20-rc1. The patch refactors our unistd.h files to match some other
+    architectures.
+
+    - Add asm/unistd.h UAPI header, which has __ARCH_WANT_NEW_STAT only for 64-bit
+    - Remove asm/syscalls.h UAPI header and merge to asm/unistd.h
+    - Adjust kernel asm/unistd.h
+
+    So now asm/unistd.h UAPI header should show all syscalls for riscv.
+
+<asm/syscalls.h> may be restored by
+
+Subject: [PATCH] riscv: restore asm/syscalls.h UAPI header
+Date: Tue, 11 Dec 2018 09:09:35 +0100
+
+UAPI header asm/syscalls.h was merged into UAPI asm/unistd.h header,
+which did resolve issue with missing syscalls macros resulting in
+glibc (2.28) build failure. It also broke glibc in a different way:
+asm/syscalls.h is being used by glibc. I noticed this while doing
+Fedora 30/Rawhide mass rebuild.
+
+The patch returns asm/syscalls.h header and incl. it into asm/unistd.h.
+I plan to send a patch to glibc to use asm/unistd.h instead of
+asm/syscalls.h
+
+In the meantime, we use __has_include__, which was added to GCC 5, to
+check if <asm/syscalls.h> exists before including it.  Tested with
+build-many-glibcs.py for riscv against kernel 4.19.12 and 4.20-rc7.
+
+	[BZ #24022]
+	* sysdeps/unix/sysv/linux/riscv/flush-icache.c: Check if
+	<asm/syscalls.h> exists with __has_include__ before including it.
+
+[Mark: patch retrieved from
+https://sourceware.org/git/?p=glibc.git;a=commit;h=0b9c84906f653978fb8768c7ebd0ee14a47e662e]
+
+Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>
+---
+ sysdeps/unix/sysv/linux/riscv/flush-icache.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/sysdeps/unix/sysv/linux/riscv/flush-icache.c b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
+index d612ef4c6c..d0ecec5107 100644
+--- a/sysdeps/unix/sysv/linux/riscv/flush-icache.c
++++ b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
+@@ -21,7 +21,11 @@
+ #include <stdlib.h>
+ #include <atomic.h>
+ #include <sys/cachectl.h>
++#if __has_include__ (<asm/syscalls.h>)
+ #include <asm/syscalls.h>
++#else
++#include <asm/unistd.h>
++#endif
+ 
+ typedef int (*func_type) (void *, void *, unsigned long int);
+ 
+-- 
+2.19.2
-- 
2.19.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/glibc: fix include of syscalls.h for RISC-V architecture
  2019-01-02 15:15 [Buildroot] [PATCH v2 1/1] package/glibc: fix include of syscalls.h for RISC-V architecture Mark Corbin
@ 2019-01-02 15:15 ` Mark Corbin
  2019-01-02 15:21   ` Mark Corbin
  2019-01-02 19:51   ` Romain Naour
  0 siblings, 2 replies; 7+ messages in thread
From: Mark Corbin @ 2019-01-02 15:15 UTC (permalink / raw)
  To: buildroot

UAPI header file asm/syscalls.h has been merged into the UAPI
asm/unistd.h header file for the RISC-V architecture in the
4.20 kernel. This causes the glibc 2.28 build to break.

This commit applies the upstream glibc patch for this issue.

Fixes:
  http://autobuild.buildroot.net/results/8190eb74b2b97911e03671138487d747fcb22cba/
Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>
---
 .../0002-fix-syscalls-header-for-riscv.patch  | 67 +++++++++++++++++++
 1 file changed, 67 insertions(+)
 create mode 100644 package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch

diff --git a/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch b/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
new file mode 100644
index 0000000000..2fc666dfdc
--- /dev/null
+++ b/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
@@ -0,0 +1,67 @@
+<asm/syscalls.h> has been removed by
+
+commit 27f8899d6002e11a6e2d995e29b8deab5aa9cc25
+Author: David Abdurachmanov <david.abdurachmanov@gmail.com>
+Date:   Thu Nov 8 20:02:39 2018 +0100
+
+    riscv: add asm/unistd.h UAPI header
+
+    Marcin Juszkiewicz reported issues while generating syscall table for riscv
+    using 4.20-rc1. The patch refactors our unistd.h files to match some other
+    architectures.
+
+    - Add asm/unistd.h UAPI header, which has __ARCH_WANT_NEW_STAT only for 64-bit
+    - Remove asm/syscalls.h UAPI header and merge to asm/unistd.h
+    - Adjust kernel asm/unistd.h
+
+    So now asm/unistd.h UAPI header should show all syscalls for riscv.
+
+<asm/syscalls.h> may be restored by
+
+Subject: [PATCH] riscv: restore asm/syscalls.h UAPI header
+Date: Tue, 11 Dec 2018 09:09:35 +0100
+
+UAPI header asm/syscalls.h was merged into UAPI asm/unistd.h header,
+which did resolve issue with missing syscalls macros resulting in
+glibc (2.28) build failure. It also broke glibc in a different way:
+asm/syscalls.h is being used by glibc. I noticed this while doing
+Fedora 30/Rawhide mass rebuild.
+
+The patch returns asm/syscalls.h header and incl. it into asm/unistd.h.
+I plan to send a patch to glibc to use asm/unistd.h instead of
+asm/syscalls.h
+
+In the meantime, we use __has_include__, which was added to GCC 5, to
+check if <asm/syscalls.h> exists before including it.  Tested with
+build-many-glibcs.py for riscv against kernel 4.19.12 and 4.20-rc7.
+
+	[BZ #24022]
+	* sysdeps/unix/sysv/linux/riscv/flush-icache.c: Check if
+	<asm/syscalls.h> exists with __has_include__ before including it.
+
+[Mark: patch retrieved from
+https://sourceware.org/git/?p=glibc.git;a=commit;h=0b9c84906f653978fb8768c7ebd0ee14a47e662e]
+
+Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>
+---
+ sysdeps/unix/sysv/linux/riscv/flush-icache.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/sysdeps/unix/sysv/linux/riscv/flush-icache.c b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
+index d612ef4c6c..d0ecec5107 100644
+--- a/sysdeps/unix/sysv/linux/riscv/flush-icache.c
++++ b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
+@@ -21,7 +21,11 @@
+ #include <stdlib.h>
+ #include <atomic.h>
+ #include <sys/cachectl.h>
++#if __has_include__ (<asm/syscalls.h>)
+ #include <asm/syscalls.h>
++#else
++#include <asm/unistd.h>
++#endif
+ 
+ typedef int (*func_type) (void *, void *, unsigned long int);
+ 
+-- 
+2.19.2
-- 
2.19.1

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/glibc: fix include of syscalls.h for RISC-V architecture
  2019-01-02 15:15 ` Mark Corbin
@ 2019-01-02 15:21   ` Mark Corbin
  2019-01-02 19:51   ` Romain Naour
  1 sibling, 0 replies; 7+ messages in thread
From: Mark Corbin @ 2019-01-02 15:21 UTC (permalink / raw)
  To: buildroot

Please ignore this version - it is a backup copy of the v2 patch sent by
accident.

On 02/01/2019 15:15, Mark Corbin wrote:
> UAPI header file asm/syscalls.h has been merged into the UAPI
> asm/unistd.h header file for the RISC-V architecture in the
> 4.20 kernel. This causes the glibc 2.28 build to break.
>
> This commit applies the upstream glibc patch for this issue.
>
> Fixes:
>   http://autobuild.buildroot.net/results/8190eb74b2b97911e03671138487d747fcb22cba/
> Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>
> ---
>  .../0002-fix-syscalls-header-for-riscv.patch  | 67 +++++++++++++++++++
>  1 file changed, 67 insertions(+)
>  create mode 100644 package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
>
> diff --git a/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch b/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
> new file mode 100644
> index 0000000000..2fc666dfdc
> --- /dev/null
> +++ b/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
> @@ -0,0 +1,67 @@
> +<asm/syscalls.h> has been removed by
> +
> +commit 27f8899d6002e11a6e2d995e29b8deab5aa9cc25
> +Author: David Abdurachmanov <david.abdurachmanov@gmail.com>
> +Date:   Thu Nov 8 20:02:39 2018 +0100
> +
> +    riscv: add asm/unistd.h UAPI header
> +
> +    Marcin Juszkiewicz reported issues while generating syscall table for riscv
> +    using 4.20-rc1. The patch refactors our unistd.h files to match some other
> +    architectures.
> +
> +    - Add asm/unistd.h UAPI header, which has __ARCH_WANT_NEW_STAT only for 64-bit
> +    - Remove asm/syscalls.h UAPI header and merge to asm/unistd.h
> +    - Adjust kernel asm/unistd.h
> +
> +    So now asm/unistd.h UAPI header should show all syscalls for riscv.
> +
> +<asm/syscalls.h> may be restored by
> +
> +Subject: [PATCH] riscv: restore asm/syscalls.h UAPI header
> +Date: Tue, 11 Dec 2018 09:09:35 +0100
> +
> +UAPI header asm/syscalls.h was merged into UAPI asm/unistd.h header,
> +which did resolve issue with missing syscalls macros resulting in
> +glibc (2.28) build failure. It also broke glibc in a different way:
> +asm/syscalls.h is being used by glibc. I noticed this while doing
> +Fedora 30/Rawhide mass rebuild.
> +
> +The patch returns asm/syscalls.h header and incl. it into asm/unistd.h.
> +I plan to send a patch to glibc to use asm/unistd.h instead of
> +asm/syscalls.h
> +
> +In the meantime, we use __has_include__, which was added to GCC 5, to
> +check if <asm/syscalls.h> exists before including it.  Tested with
> +build-many-glibcs.py for riscv against kernel 4.19.12 and 4.20-rc7.
> +
> +	[BZ #24022]
> +	* sysdeps/unix/sysv/linux/riscv/flush-icache.c: Check if
> +	<asm/syscalls.h> exists with __has_include__ before including it.
> +
> +[Mark: patch retrieved from
> +https://sourceware.org/git/?p=glibc.git;a=commit;h=0b9c84906f653978fb8768c7ebd0ee14a47e662e]
> +
> +Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>
> +---
> + sysdeps/unix/sysv/linux/riscv/flush-icache.c | 4 ++++
> + 1 file changed, 4 insertions(+)
> +
> +diff --git a/sysdeps/unix/sysv/linux/riscv/flush-icache.c b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> +index d612ef4c6c..d0ecec5107 100644
> +--- a/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> ++++ b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> +@@ -21,7 +21,11 @@
> + #include <stdlib.h>
> + #include <atomic.h>
> + #include <sys/cachectl.h>
> ++#if __has_include__ (<asm/syscalls.h>)
> + #include <asm/syscalls.h>
> ++#else
> ++#include <asm/unistd.h>
> ++#endif
> + 
> + typedef int (*func_type) (void *, void *, unsigned long int);
> + 
> +-- 
> +2.19.2

-- 
Mark Corbin
Embecosm Ltd.
https://www.embecosm.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/glibc: fix include of syscalls.h for RISC-V architecture
  2019-01-02 15:15 ` Mark Corbin
  2019-01-02 15:21   ` Mark Corbin
@ 2019-01-02 19:51   ` Romain Naour
  2019-01-02 21:18     ` Yann E. MORIN
  1 sibling, 1 reply; 7+ messages in thread
From: Romain Naour @ 2019-01-02 19:51 UTC (permalink / raw)
  To: buildroot

Hi Mark, All,

Le 02/01/2019 ? 16:15, Mark Corbin a ?crit?:
> UAPI header file asm/syscalls.h has been merged into the UAPI
> asm/unistd.h header file for the RISC-V architecture in the
> 4.20 kernel. This causes the glibc 2.28 build to break.
> 
> This commit applies the upstream glibc patch for this issue.

Can you ask upstream to backport this patch to the glibc 2.28 stable branch?
When it's done you can just bump the glibc version up to the backported patch.

Best regards,
Romain

> 
> Fixes:
>   http://autobuild.buildroot.net/results/8190eb74b2b97911e03671138487d747fcb22cba/
> Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>
> ---
>  .../0002-fix-syscalls-header-for-riscv.patch  | 67 +++++++++++++++++++
>  1 file changed, 67 insertions(+)
>  create mode 100644 package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
> 
> diff --git a/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch b/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
> new file mode 100644
> index 0000000000..2fc666dfdc
> --- /dev/null
> +++ b/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
> @@ -0,0 +1,67 @@
> +<asm/syscalls.h> has been removed by
> +
> +commit 27f8899d6002e11a6e2d995e29b8deab5aa9cc25
> +Author: David Abdurachmanov <david.abdurachmanov@gmail.com>
> +Date:   Thu Nov 8 20:02:39 2018 +0100
> +
> +    riscv: add asm/unistd.h UAPI header
> +
> +    Marcin Juszkiewicz reported issues while generating syscall table for riscv
> +    using 4.20-rc1. The patch refactors our unistd.h files to match some other
> +    architectures.
> +
> +    - Add asm/unistd.h UAPI header, which has __ARCH_WANT_NEW_STAT only for 64-bit
> +    - Remove asm/syscalls.h UAPI header and merge to asm/unistd.h
> +    - Adjust kernel asm/unistd.h
> +
> +    So now asm/unistd.h UAPI header should show all syscalls for riscv.
> +
> +<asm/syscalls.h> may be restored by
> +
> +Subject: [PATCH] riscv: restore asm/syscalls.h UAPI header
> +Date: Tue, 11 Dec 2018 09:09:35 +0100
> +
> +UAPI header asm/syscalls.h was merged into UAPI asm/unistd.h header,
> +which did resolve issue with missing syscalls macros resulting in
> +glibc (2.28) build failure. It also broke glibc in a different way:
> +asm/syscalls.h is being used by glibc. I noticed this while doing
> +Fedora 30/Rawhide mass rebuild.
> +
> +The patch returns asm/syscalls.h header and incl. it into asm/unistd.h.
> +I plan to send a patch to glibc to use asm/unistd.h instead of
> +asm/syscalls.h
> +
> +In the meantime, we use __has_include__, which was added to GCC 5, to
> +check if <asm/syscalls.h> exists before including it.  Tested with
> +build-many-glibcs.py for riscv against kernel 4.19.12 and 4.20-rc7.
> +
> +	[BZ #24022]
> +	* sysdeps/unix/sysv/linux/riscv/flush-icache.c: Check if
> +	<asm/syscalls.h> exists with __has_include__ before including it.
> +
> +[Mark: patch retrieved from
> +https://sourceware.org/git/?p=glibc.git;a=commit;h=0b9c84906f653978fb8768c7ebd0ee14a47e662e]
> +
> +Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>
> +---
> + sysdeps/unix/sysv/linux/riscv/flush-icache.c | 4 ++++
> + 1 file changed, 4 insertions(+)
> +
> +diff --git a/sysdeps/unix/sysv/linux/riscv/flush-icache.c b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> +index d612ef4c6c..d0ecec5107 100644
> +--- a/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> ++++ b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> +@@ -21,7 +21,11 @@
> + #include <stdlib.h>
> + #include <atomic.h>
> + #include <sys/cachectl.h>
> ++#if __has_include__ (<asm/syscalls.h>)
> + #include <asm/syscalls.h>
> ++#else
> ++#include <asm/unistd.h>
> ++#endif
> + 
> + typedef int (*func_type) (void *, void *, unsigned long int);
> + 
> +-- 
> +2.19.2
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/glibc: fix include of syscalls.h for RISC-V architecture
  2019-01-02 19:51   ` Romain Naour
@ 2019-01-02 21:18     ` Yann E. MORIN
  2019-01-03 20:16       ` Mark Corbin
  0 siblings, 1 reply; 7+ messages in thread
From: Yann E. MORIN @ 2019-01-02 21:18 UTC (permalink / raw)
  To: buildroot

Romain, All,

On 2019-01-02 20:51 +0100, Romain Naour spake thusly:
> Le 02/01/2019 ? 16:15, Mark Corbin a ?crit?:
> > UAPI header file asm/syscalls.h has been merged into the UAPI
> > asm/unistd.h header file for the RISC-V architecture in the
> > 4.20 kernel. This causes the glibc 2.28 build to break.
> > 
> > This commit applies the upstream glibc patch for this issue.
> 
> Can you ask upstream to backport this patch to the glibc 2.28 stable branch?
> When it's done you can just bump the glibc version up to the backported patch.

Well, we already have another patch that we backported from master, but
that upstream has not backported. Sigh...

So, even if updating would solve Mark's case, we'd still be missing a
fix we'd stil have to carry.

Regards,
Yann E. MORIN.

> Best regards,
> Romain
> 
> > 
> > Fixes:
> >   http://autobuild.buildroot.net/results/8190eb74b2b97911e03671138487d747fcb22cba/
> > Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>
> > ---
> >  .../0002-fix-syscalls-header-for-riscv.patch  | 67 +++++++++++++++++++
> >  1 file changed, 67 insertions(+)
> >  create mode 100644 package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
> > 
> > diff --git a/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch b/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
> > new file mode 100644
> > index 0000000000..2fc666dfdc
> > --- /dev/null
> > +++ b/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
> > @@ -0,0 +1,67 @@
> > +<asm/syscalls.h> has been removed by
> > +
> > +commit 27f8899d6002e11a6e2d995e29b8deab5aa9cc25
> > +Author: David Abdurachmanov <david.abdurachmanov@gmail.com>
> > +Date:   Thu Nov 8 20:02:39 2018 +0100
> > +
> > +    riscv: add asm/unistd.h UAPI header
> > +
> > +    Marcin Juszkiewicz reported issues while generating syscall table for riscv
> > +    using 4.20-rc1. The patch refactors our unistd.h files to match some other
> > +    architectures.
> > +
> > +    - Add asm/unistd.h UAPI header, which has __ARCH_WANT_NEW_STAT only for 64-bit
> > +    - Remove asm/syscalls.h UAPI header and merge to asm/unistd.h
> > +    - Adjust kernel asm/unistd.h
> > +
> > +    So now asm/unistd.h UAPI header should show all syscalls for riscv.
> > +
> > +<asm/syscalls.h> may be restored by
> > +
> > +Subject: [PATCH] riscv: restore asm/syscalls.h UAPI header
> > +Date: Tue, 11 Dec 2018 09:09:35 +0100
> > +
> > +UAPI header asm/syscalls.h was merged into UAPI asm/unistd.h header,
> > +which did resolve issue with missing syscalls macros resulting in
> > +glibc (2.28) build failure. It also broke glibc in a different way:
> > +asm/syscalls.h is being used by glibc. I noticed this while doing
> > +Fedora 30/Rawhide mass rebuild.
> > +
> > +The patch returns asm/syscalls.h header and incl. it into asm/unistd.h.
> > +I plan to send a patch to glibc to use asm/unistd.h instead of
> > +asm/syscalls.h
> > +
> > +In the meantime, we use __has_include__, which was added to GCC 5, to
> > +check if <asm/syscalls.h> exists before including it.  Tested with
> > +build-many-glibcs.py for riscv against kernel 4.19.12 and 4.20-rc7.
> > +
> > +	[BZ #24022]
> > +	* sysdeps/unix/sysv/linux/riscv/flush-icache.c: Check if
> > +	<asm/syscalls.h> exists with __has_include__ before including it.
> > +
> > +[Mark: patch retrieved from
> > +https://sourceware.org/git/?p=glibc.git;a=commit;h=0b9c84906f653978fb8768c7ebd0ee14a47e662e]
> > +
> > +Signed-off-by: Mark Corbin <mark.corbin@embecosm.com>
> > +---
> > + sysdeps/unix/sysv/linux/riscv/flush-icache.c | 4 ++++
> > + 1 file changed, 4 insertions(+)
> > +
> > +diff --git a/sysdeps/unix/sysv/linux/riscv/flush-icache.c b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> > +index d612ef4c6c..d0ecec5107 100644
> > +--- a/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> > ++++ b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
> > +@@ -21,7 +21,11 @@
> > + #include <stdlib.h>
> > + #include <atomic.h>
> > + #include <sys/cachectl.h>
> > ++#if __has_include__ (<asm/syscalls.h>)
> > + #include <asm/syscalls.h>
> > ++#else
> > ++#include <asm/unistd.h>
> > ++#endif
> > + 
> > + typedef int (*func_type) (void *, void *, unsigned long int);
> > + 
> > +-- 
> > +2.19.2
> > 
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/glibc: fix include of syscalls.h for RISC-V architecture
  2019-01-02 21:18     ` Yann E. MORIN
@ 2019-01-03 20:16       ` Mark Corbin
  2019-01-03 21:47         ` Romain Naour
  0 siblings, 1 reply; 7+ messages in thread
From: Mark Corbin @ 2019-01-03 20:16 UTC (permalink / raw)
  To: buildroot

Hello

On 02/01/2019 21:18, Yann E. MORIN wrote:
> Romain, All,
>
> On 2019-01-02 20:51 +0100, Romain Naour spake thusly:
>> Le 02/01/2019 ? 16:15, Mark Corbin a ?crit?:
>>> UAPI header file asm/syscalls.h has been merged into the UAPI
>>> asm/unistd.h header file for the RISC-V architecture in the
>>> 4.20 kernel. This causes the glibc 2.28 build to break.
>>>
>>> This commit applies the upstream glibc patch for this issue.
>> Can you ask upstream to backport this patch to the glibc 2.28 stable branch?
>> When it's done you can just bump the glibc version up to the backported patch.
> Well, we already have another patch that we backported from master, but
> that upstream has not backported. Sigh...
>
> So, even if updating would solve Mark's case, we'd still be missing a
> fix we'd stil have to carry.
I managed to persuade the glibc developers to backport both fixes today :-)

I've just posted a new patch to bump the glibc version accordingly.

Kind regards

Mark

-- 
Mark Corbin
Embecosm Ltd.
https://www.embecosm.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/glibc: fix include of syscalls.h for RISC-V architecture
  2019-01-03 20:16       ` Mark Corbin
@ 2019-01-03 21:47         ` Romain Naour
  0 siblings, 0 replies; 7+ messages in thread
From: Romain Naour @ 2019-01-03 21:47 UTC (permalink / raw)
  To: buildroot

Hi Mark,

Le 03/01/2019 ? 21:16, Mark Corbin a ?crit?:
> Hello
> 
> On 02/01/2019 21:18, Yann E. MORIN wrote:
>> Romain, All,
>>
>> On 2019-01-02 20:51 +0100, Romain Naour spake thusly:
>>> Le 02/01/2019 ? 16:15, Mark Corbin a ?crit?:
>>>> UAPI header file asm/syscalls.h has been merged into the UAPI
>>>> asm/unistd.h header file for the RISC-V architecture in the
>>>> 4.20 kernel. This causes the glibc 2.28 build to break.
>>>>
>>>> This commit applies the upstream glibc patch for this issue.
>>> Can you ask upstream to backport this patch to the glibc 2.28 stable branch?
>>> When it's done you can just bump the glibc version up to the backported patch.
>> Well, we already have another patch that we backported from master, but
>> that upstream has not backported. Sigh...
>>
>> So, even if updating would solve Mark's case, we'd still be missing a
>> fix we'd stil have to carry.
> I managed to persuade the glibc developers to backport both fixes today :-)
> 
> I've just posted a new patch to bump the glibc version accordingly.

Great, thanks!

Best regards,
Romain

> 
> Kind regards
> 
> Mark
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-01-03 21:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-01-02 15:15 [Buildroot] [PATCH v2 1/1] package/glibc: fix include of syscalls.h for RISC-V architecture Mark Corbin
2019-01-02 15:15 ` Mark Corbin
2019-01-02 15:21   ` Mark Corbin
2019-01-02 19:51   ` Romain Naour
2019-01-02 21:18     ` Yann E. MORIN
2019-01-03 20:16       ` Mark Corbin
2019-01-03 21:47         ` Romain Naour

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.