GNU C Library master sources branch master updated. glibc-2.28.9000-503-g0b9c849
Mon Dec 31 17:31:00 GMT 2018

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  0b9c84906f653978fb8768c7ebd0ee14a47e662e (commit)
      from  01047fa6d066fdfe44d36042fe9bd033bda64d70 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------;a=commitdiff;h=0b9c84906f653978fb8768c7ebd0ee14a47e662e

commit 0b9c84906f653978fb8768c7ebd0ee14a47e662e
Author: H.J. Lu <>
Date:   Mon Dec 31 09:26:42 2018 -0800

    riscv: Use __has_include__ to include <asm/syscalls.h> [BZ #24022]
    <asm/syscalls.h> has been removed by
    commit 27f8899d6002e11a6e2d995e29b8deab5aa9cc25
    Author: David Abdurachmanov <>
    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
        - 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
    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 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.

diff --git a/ChangeLog b/ChangeLog
index 711ecda..3edcb83 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2018-12-31  H.J. Lu  <>
+	[BZ #24022]
+	* sysdeps/unix/sysv/linux/riscv/flush-icache.c: Check if
+	<asm/syscalls.h> exists with __has_include__ before including it.
 2018-12-31  Joseph Myers  <>
 	* scripts/ (Context.checkout): Default Linux
diff --git a/sysdeps/unix/sysv/linux/riscv/flush-icache.c b/sysdeps/unix/sysv/linux/riscv/flush-icache.c
index d612ef4..0b20426 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>
-#include <asm/syscalls.h>
+#if __has_include__ (<asm/syscalls.h>)
+# include <asm/syscalls.h>
+# include <asm/unistd.h>
 typedef int (*func_type) (void *, void *, unsigned long int);


Summary of changes:
 ChangeLog                                    |    6 ++++++
 sysdeps/unix/sysv/linux/riscv/flush-icache.c |    6 +++++-
 2 files changed, 11 insertions(+), 1 deletions(-)

GNU C Library master sources

More information about the Glibc-cvs mailing list