Update syscall lists for Linux 5.5

Message ID alpine.DEB.2.21.2002070031280.818@digraph.polyomino.org.uk
State Committed
Headers

Commit Message

Joseph Myers Feb. 7, 2020, 12:31 a.m. UTC
  Linux 5.5 has no new syscalls to add to syscall-names.list, but it
does newly enable the clone3 syscall for AArch64.  This patch updates
the kernel version listed in syscall-names.list and regenerates the
AArch64 arch-syscall.h.

Tested with build-many-glibcs.py.
  

Comments

Siddhesh Poyarekar Feb. 7, 2020, 2:30 a.m. UTC | #1
On 07/02/20 06:01, Joseph Myers wrote:
> Linux 5.5 has no new syscalls to add to syscall-names.list, but it
> does newly enable the clone3 syscall for AArch64.  This patch updates
> the kernel version listed in syscall-names.list and regenerates the
> AArch64 arch-syscall.h.
> 
> Tested with build-many-glibcs.py.
> 

LGTM.

Siddhesh
  
Florian Weimer Feb. 7, 2020, 8:20 a.m. UTC | #2
* Joseph Myers:

> Linux 5.5 has no new syscalls to add to syscall-names.list, but it
> does newly enable the clone3 syscall for AArch64.  This patch updates
> the kernel version listed in syscall-names.list and regenerates the
> AArch64 arch-syscall.h.

Have you been able to use build-many-glibcs.py for the update?  Does
the update-syscalls subcommand fit your needs?
  
Joseph Myers Feb. 7, 2020, 2 p.m. UTC | #3
On Fri, 7 Feb 2020, Florian Weimer wrote:

> * Joseph Myers:
> 
> > Linux 5.5 has no new syscalls to add to syscall-names.list, but it
> > does newly enable the clone3 syscall for AArch64.  This patch updates
> > the kernel version listed in syscall-names.list and regenerates the
> > AArch64 arch-syscall.h.
> 
> Have you been able to use build-many-glibcs.py for the update?  Does
> the update-syscalls subcommand fit your needs?

I used update-syscalls successfully for the regeneration (I only named 
aarch64-linux-gnu on the update-syscalls run since there weren't any new 
all-architectures syscalls, so haven't tested the case of an 
all-architectures update).
  
Aurelien Jarno March 12, 2020, 10:29 a.m. UTC | #4
On 2020-02-07 00:31, Joseph Myers wrote:
> Linux 5.5 has no new syscalls to add to syscall-names.list, but it
> does newly enable the clone3 syscall for AArch64.  This patch updates

In practice clone3 has also been enabled in Linux 5.4.12. This cause the 
misc/tst-glibcsyscalls test to fail when building glibc 2.31 with Linux
kernel headers >= 5.4.12:

original exit status 1
error: kernel syscall 'clone3' (435) not known to glibc
info: glibc tables are based on kernel version 5.4
info: installed kernel headers are version 5.4

Therefore should we backport this commit into the 2.31 stable branch?
  
Florian Weimer March 12, 2020, 1:44 p.m. UTC | #5
* Aurelien Jarno:

> On 2020-02-07 00:31, Joseph Myers wrote:
>> Linux 5.5 has no new syscalls to add to syscall-names.list, but it
>> does newly enable the clone3 syscall for AArch64.  This patch updates
>
> In practice clone3 has also been enabled in Linux 5.4.12. This cause the 
> misc/tst-glibcsyscalls test to fail when building glibc 2.31 with Linux
> kernel headers >= 5.4.12:
>
> original exit status 1
> error: kernel syscall 'clone3' (435) not known to glibc
> info: glibc tables are based on kernel version 5.4
> info: installed kernel headers are version 5.4
>
> Therefore should we backport this commit into the 2.31 stable branch?

Yes, we should.  Thanks.
  

Patch

diff --git a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h
index 9378387..c847194 100644
--- a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h
+++ b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h
@@ -17,6 +17,7 @@ 
 #define __NR_clock_nanosleep 115
 #define __NR_clock_settime 112
 #define __NR_clone 220
+#define __NR_clone3 435
 #define __NR_close 57
 #define __NR_connect 203
 #define __NR_copy_file_range 285
diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list
index 36e087d..3d89814 100644
--- a/sysdeps/unix/sysv/linux/syscall-names.list
+++ b/sysdeps/unix/sysv/linux/syscall-names.list
@@ -21,8 +21,8 @@ 
 # This file can list all potential system calls.  The names are only
 # used if the installed kernel headers also provide them.
 
-# The list of system calls is current as of Linux 5.4.
-kernel 5.4
+# The list of system calls is current as of Linux 5.5.
+kernel 5.5
 
 FAST_atomic_update
 FAST_cmpxchg