* [Buildroot] [PATCH 1/1] package/glibc: fix include of syscalls.h for RISC-V architecture
@ 2019-01-02 14:17 Mark Corbin
2019-01-02 14:59 ` Yann E. MORIN
0 siblings, 1 reply; 2+ messages in thread
From: Mark Corbin @ 2019-01-02 14:17 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>
---
| 67 +++++++++++++++++++
1 file changed, 67 insertions(+)
create mode 100644 package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
--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..a740018e12
--- /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/ml/libc-alpha/2018-12/msg00875.html]
+
+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] 2+ messages in thread
* [Buildroot] [PATCH 1/1] package/glibc: fix include of syscalls.h for RISC-V architecture
2019-01-02 14:17 [Buildroot] [PATCH 1/1] package/glibc: fix include of syscalls.h for RISC-V architecture Mark Corbin
@ 2019-01-02 14:59 ` Yann E. MORIN
0 siblings, 0 replies; 2+ messages in thread
From: Yann E. MORIN @ 2019-01-02 14:59 UTC (permalink / raw)
To: buildroot
Mark, All,
On 2019-01-02 14:17 +0000, Mark Corbin spake thusly:
> 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..a740018e12
> --- /dev/null
> +++ b/package/glibc/glibc-2.28-50-gb8dd0f42780a3133c02f064a2c0c5c4e7ab61aaa/0002-fix-syscalls-header-for-riscv.patch
> @@ -0,0 +1,67 @@
[--SNIP--]
> +[Mark: patch retrieved from
> +https://sourceware.org/ml/libc-alpha/2018-12/msg00875.html]
I'd prefer you point to the git commit:
https://sourceware.org/git/?p=glibc.git;a=commit;h=0b9c84906f653978fb8768c7ebd0ee14a47e662e
Regards,
Yann E. MORIN.
> +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
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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] 2+ messages in thread
end of thread, other threads:[~2019-01-02 14:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-01-02 14:17 [Buildroot] [PATCH 1/1] package/glibc: fix include of syscalls.h for RISC-V architecture Mark Corbin
2019-01-02 14:59 ` Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox