From patchwork Thu Nov 4 20:39:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Joseph Myers X-Patchwork-Id: 47075 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 041B03857820 for ; Thu, 4 Nov 2021 20:39:38 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from esa4.mentor.iphmx.com (esa4.mentor.iphmx.com [68.232.137.252]) by sourceware.org (Postfix) with ESMTPS id 4A1E53858439 for ; Thu, 4 Nov 2021 20:39:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 4A1E53858439 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com IronPort-SDR: ocEKnbBqWtN3q8UAL24DkweDj7UAD+hU5HLcbRgJwnmgC+LguuEssdgw+ycDL2edylOM2Ow0UM 1iF9mc3NZyAgj1T04OHskg+VRUSZV/9/42b13VTDQ2yvc0T+gVk8KHlyiLFZMzOpYS6rxAsntf Xb96LPntDSwgVauWaM3aQXOFuUxdT+r1PbxsLUYXpKqxDmIOQTrxFL0FWzhPXgvCFbJTp9VAH1 8VrqWxquFaOHPGrgbTS4EZtRVW1wUs87UupezuD0uX3RbIqg8/8fiynidiixE76i3bj9qzELBN CPmj1NKZxt+DH8gYQz4j23Yt X-IronPort-AV: E=Sophos;i="5.87,209,1631606400"; d="scan'208";a="68085539" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa4.mentor.iphmx.com with ESMTP; 04 Nov 2021 12:39:19 -0800 IronPort-SDR: W4o3w1qNNuPEyweM8skWvFanhyll2rR24EnZiA2PEhl32A/xWbIazA+joL1Ir3mmUEqJ3WgARq 8Tc/V8eDK1tyJVD9BZxzjHEqFuUJTEb/Hxbb9KKOaQYj1tdkYX4I3yDr3D2BBIxgHM8++dt111 mVtnv34VrexA2FfYUeVDj4vSYD7h2mBcI6eMXrmDqlkgYsC5hdjPM1LM3xwwuv2fV+WfLgxanz xRGRybdvjOR5LSaMAFMBdVfCnm/wX55ZIcYgkwAbIb5DRezyoDJKhkvQs5pvBP7HT94fCRb0d3 Huo= Date: Thu, 4 Nov 2021 20:39:14 +0000 From: Joseph Myers X-X-Sender: jsm28@digraph.polyomino.org.uk To: Subject: Update syscall lists for Linux 5.15 Message-ID: User-Agent: Alpine 2.22 (DEB 394 2020-01-19) MIME-Version: 1.0 X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-02.mgc.mentorg.com (139.181.222.2) To svr-ies-mbx-01.mgc.mentorg.com (139.181.222.1) X-Spam-Status: No, score=-3122.8 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, KAM_NUMSUBJECT, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" Linux 5.15 has one new syscall, process_mrelease (and also enables the clone3 syscall for RV32). It also has a macro __NR_SYSCALL_MASK for Arm, which is not a syscall but matches the pattern used for syscall macro names. Add __NR_SYSCALL_MASK to the names filtered out in the code dealing with syscall lists, update syscall-names.list for the new syscall and regenerate the arch-syscall.h headers with build-many-glibcs.py update-syscalls. Tested with build-many-glibcs.py. diff --git a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h index bedab1a..74a8095 100644 --- a/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/aarch64/arch-syscall.h @@ -180,6 +180,7 @@ #define __NR_preadv2 286 #define __NR_prlimit64 261 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 270 #define __NR_process_vm_writev 271 #define __NR_pselect6 72 diff --git a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h index 91354ed..6fc0a23 100644 --- a/sysdeps/unix/sysv/linux/alpha/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/alpha/arch-syscall.h @@ -328,6 +328,7 @@ #define __NR_preadv2 520 #define __NR_prlimit64 496 #define __NR_process_madvise 550 +#define __NR_process_mrelease 558 #define __NR_process_vm_readv 504 #define __NR_process_vm_writev 505 #define __NR_pselect6 463 diff --git a/sysdeps/unix/sysv/linux/arc/arch-syscall.h b/sysdeps/unix/sysv/linux/arc/arch-syscall.h index ff5c7eb..0c66762 100644 --- a/sysdeps/unix/sysv/linux/arc/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/arc/arch-syscall.h @@ -182,6 +182,7 @@ #define __NR_preadv2 286 #define __NR_prlimit64 261 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 270 #define __NR_process_vm_writev 271 #define __NR_pselect6_time64 413 diff --git a/sysdeps/unix/sysv/linux/arm/arch-syscall.h b/sysdeps/unix/sysv/linux/arm/arch-syscall.h index 5772333..c41a864 100644 --- a/sysdeps/unix/sysv/linux/arm/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/arm/arch-syscall.h @@ -235,6 +235,7 @@ #define __NR_preadv2 392 #define __NR_prlimit64 369 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 376 #define __NR_process_vm_writev 377 #define __NR_pselect6 335 diff --git a/sysdeps/unix/sysv/linux/csky/arch-syscall.h b/sysdeps/unix/sysv/linux/csky/arch-syscall.h index 4af6d62..863ffa3 100644 --- a/sysdeps/unix/sysv/linux/csky/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/csky/arch-syscall.h @@ -190,6 +190,7 @@ #define __NR_preadv2 286 #define __NR_prlimit64 261 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 270 #define __NR_process_vm_writev 271 #define __NR_pselect6 72 diff --git a/sysdeps/unix/sysv/linux/filter-nr-syscalls.awk b/sysdeps/unix/sysv/linux/filter-nr-syscalls.awk index dddfd51..85b0179 100644 --- a/sysdeps/unix/sysv/linux/filter-nr-syscalls.awk +++ b/sysdeps/unix/sysv/linux/filter-nr-syscalls.awk @@ -22,7 +22,7 @@ } # Skip pseudo-system calls which describe ranges. -/^#define __NR_(syscalls|arch_specific_syscall|(OABI_)?SYSCALL_BASE) / { +/^#define __NR_(syscalls|arch_specific_syscall|(OABI_)?SYSCALL_BASE|SYSCALL_MASK) / { next; } /^#define __NR_(|64_|[NO]32_)Linux(_syscalls)? / { diff --git a/sysdeps/unix/sysv/linux/glibcsyscalls.py b/sysdeps/unix/sysv/linux/glibcsyscalls.py index 621a202..fe7896e 100644 --- a/sysdeps/unix/sysv/linux/glibcsyscalls.py +++ b/sysdeps/unix/sysv/linux/glibcsyscalls.py @@ -41,7 +41,7 @@ RE_PSEUDO_SYSCALL = re.compile(r"""__NR_( (unused|reserved)[0-9]+ # Pseudo-system call which describes a range. - |(syscalls|arch_specific_syscall|(OABI_)?SYSCALL_BASE) + |(syscalls|arch_specific_syscall|(OABI_)?SYSCALL_BASE|SYSCALL_MASK) |(|64_|[NO]32_)Linux(_syscalls)? )""", re.X) diff --git a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h index b07fc85..6cf27cd 100644 --- a/sysdeps/unix/sysv/linux/hppa/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/hppa/arch-syscall.h @@ -222,6 +222,7 @@ #define __NR_preadv2 347 #define __NR_prlimit64 321 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 330 #define __NR_process_vm_writev 331 #define __NR_pselect6 273 diff --git a/sysdeps/unix/sysv/linux/i386/arch-syscall.h b/sysdeps/unix/sysv/linux/i386/arch-syscall.h index 6e42646..2512508 100644 --- a/sysdeps/unix/sysv/linux/i386/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/i386/arch-syscall.h @@ -254,6 +254,7 @@ #define __NR_preadv2 378 #define __NR_prlimit64 340 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 347 #define __NR_process_vm_writev 348 #define __NR_prof 44 diff --git a/sysdeps/unix/sysv/linux/ia64/arch-syscall.h b/sysdeps/unix/sysv/linux/ia64/arch-syscall.h index 1ca706d..4a0c737 100644 --- a/sysdeps/unix/sysv/linux/ia64/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/ia64/arch-syscall.h @@ -209,6 +209,7 @@ #define __NR_preadv2 1348 #define __NR_prlimit64 1325 #define __NR_process_madvise 1464 +#define __NR_process_mrelease 1472 #define __NR_process_vm_readv 1332 #define __NR_process_vm_writev 1333 #define __NR_pselect6 1294 diff --git a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h index 2f10f71..e310eb5 100644 --- a/sysdeps/unix/sysv/linux/m68k/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/m68k/arch-syscall.h @@ -243,6 +243,7 @@ #define __NR_preadv2 377 #define __NR_prlimit64 339 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 345 #define __NR_process_vm_writev 346 #define __NR_pselect6 301 diff --git a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h index 0607a4d..b4ecad0 100644 --- a/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/microblaze/arch-syscall.h @@ -253,6 +253,7 @@ #define __NR_preadv2 393 #define __NR_prlimit64 370 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 377 #define __NR_process_vm_writev 378 #define __NR_prof 44 diff --git a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h index 0055eec..7e3d138 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/mips/mips32/arch-syscall.h @@ -238,6 +238,7 @@ #define __NR_preadv2 4361 #define __NR_prlimit64 4338 #define __NR_process_madvise 4440 +#define __NR_process_mrelease 4448 #define __NR_process_vm_readv 4345 #define __NR_process_vm_writev 4346 #define __NR_prof 4044 diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h index 8e8e9f9..7e9e232 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/arch-syscall.h @@ -221,6 +221,7 @@ #define __NR_preadv2 6325 #define __NR_prlimit64 6302 #define __NR_process_madvise 6440 +#define __NR_process_mrelease 6448 #define __NR_process_vm_readv 6309 #define __NR_process_vm_writev 6310 #define __NR_pselect6 6264 diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h index ebd1545..f9e7ef7 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/arch-syscall.h @@ -209,6 +209,7 @@ #define __NR_preadv2 5321 #define __NR_prlimit64 5297 #define __NR_process_madvise 5440 +#define __NR_process_mrelease 5448 #define __NR_process_vm_readv 5304 #define __NR_process_vm_writev 5305 #define __NR_pselect6 5260 diff --git a/sysdeps/unix/sysv/linux/nios2/arch-syscall.h b/sysdeps/unix/sysv/linux/nios2/arch-syscall.h index 2b530b1..afd73fc 100644 --- a/sysdeps/unix/sysv/linux/nios2/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/nios2/arch-syscall.h @@ -189,6 +189,7 @@ #define __NR_preadv2 286 #define __NR_prlimit64 261 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 270 #define __NR_process_vm_writev 271 #define __NR_pselect6 72 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h index a32984a..0ac2992 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/arch-syscall.h @@ -247,6 +247,7 @@ #define __NR_preadv2 380 #define __NR_prlimit64 325 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 351 #define __NR_process_vm_writev 352 #define __NR_prof 44 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h index b01e464..c890bc6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/arch-syscall.h @@ -231,6 +231,7 @@ #define __NR_preadv2 380 #define __NR_prlimit64 325 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 351 #define __NR_process_vm_writev 352 #define __NR_prof 44 diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h index 24d0a2c..cd336d7 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/riscv/rv32/arch-syscall.h @@ -16,6 +16,7 @@ #define __NR_clock_nanosleep_time64 407 #define __NR_clock_settime64 404 #define __NR_clone 220 +#define __NR_clone3 435 #define __NR_close 57 #define __NR_close_range 436 #define __NR_connect 203 @@ -171,6 +172,7 @@ #define __NR_preadv2 286 #define __NR_prlimit64 261 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 270 #define __NR_process_vm_writev 271 #define __NR_pselect6_time64 413 diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h index e526c89..8edd216 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/riscv/rv64/arch-syscall.h @@ -179,6 +179,7 @@ #define __NR_preadv2 286 #define __NR_prlimit64 261 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 270 #define __NR_process_vm_writev 271 #define __NR_pselect6 72 diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h index d4c7b10..1a4873f 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/s390/s390-32/arch-syscall.h @@ -240,6 +240,7 @@ #define __NR_preadv2 376 #define __NR_prlimit64 334 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 340 #define __NR_process_vm_writev 341 #define __NR_pselect6 301 diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h index bd8c78d..2af4607 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/s390/s390-64/arch-syscall.h @@ -211,6 +211,7 @@ #define __NR_preadv2 376 #define __NR_prlimit64 334 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 340 #define __NR_process_vm_writev 341 #define __NR_pselect6 301 diff --git a/sysdeps/unix/sysv/linux/sh/arch-syscall.h b/sysdeps/unix/sysv/linux/sh/arch-syscall.h index 3b6ac3d..7b422ce 100644 --- a/sysdeps/unix/sysv/linux/sh/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/sh/arch-syscall.h @@ -237,6 +237,7 @@ #define __NR_preadv2 381 #define __NR_prlimit64 339 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 365 #define __NR_process_vm_writev 366 #define __NR_pselect6 308 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h index 35221a7..77c3cc6 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/arch-syscall.h @@ -242,6 +242,7 @@ #define __NR_preadv2 358 #define __NR_prlimit64 331 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 338 #define __NR_process_vm_writev 339 #define __NR_pselect6 297 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h index 5ba2b20..7ad50bc 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/arch-syscall.h @@ -222,6 +222,7 @@ #define __NR_preadv2 358 #define __NR_prlimit64 331 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 338 #define __NR_process_vm_writev 339 #define __NR_pselect6 297 diff --git a/sysdeps/unix/sysv/linux/syscall-names.list b/sysdeps/unix/sysv/linux/syscall-names.list index fd98893..1a74d09 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.14. -kernel 5.14 +# The list of system calls is current as of Linux 5.15. +kernel 5.15 FAST_atomic_update FAST_cmpxchg @@ -440,6 +440,7 @@ preadv preadv2 prlimit64 process_madvise +process_mrelease process_vm_readv process_vm_writev prof diff --git a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h index 26d6ac6..3ce2a1f 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/x86_64/64/arch-syscall.h @@ -215,6 +215,7 @@ #define __NR_preadv2 327 #define __NR_prlimit64 302 #define __NR_process_madvise 440 +#define __NR_process_mrelease 448 #define __NR_process_vm_readv 310 #define __NR_process_vm_writev 311 #define __NR_pselect6 270 diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h index 3684778..9e87e89 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h +++ b/sysdeps/unix/sysv/linux/x86_64/x32/arch-syscall.h @@ -208,6 +208,7 @@ #define __NR_preadv2 1073742370 #define __NR_prlimit64 1073742126 #define __NR_process_madvise 1073742264 +#define __NR_process_mrelease 1073742272 #define __NR_process_vm_readv 1073742363 #define __NR_process_vm_writev 1073742364 #define __NR_pselect6 1073742094