* [LTP] [PATCH v4 0/4] Automatically generate syscalls.h
@ 2024-10-09 9:45 Andrea Cervesato
2024-10-09 9:45 ` [LTP] [PATCH v4 1/4] Refactor regen.sh script to generate syscalls Andrea Cervesato
` (3 more replies)
0 siblings, 4 replies; 20+ messages in thread
From: Andrea Cervesato @ 2024-10-09 9:45 UTC (permalink / raw)
To: ltp
The problem we have at the moment is that all syscalls input files must
be changed by hand each time we need to test a new syscall. The idea is
to simplify this process, providing a script that is able to read from
kernel sources and to generate all syscalls files we need.
This patch set adds a new command inside the syscalls folder and
it refactors the previous regen.sh code.
The new way we have to generate the syscalls.h file is the following:
include/lapi/syscalls/generate_arch.sh path/to/kernel/source
include/lapi/syscalls/generate_syscalls.sh path/to/syscalls.h
Scripts are independent and they can be run separately.
generate_syscalls.sh is the equivalent of regen.sh, but its code has
been cleaned up.
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
Changes in v4:
- remove blacklist file
- update syscalls files
- Link to v3: https://lore.kernel.org/r/20240930-generate_syscalls-v3-0-e56ede4bc7f5@suse.com
Changes in v3:
- fix generate_arch.sh to work properly for all architectures
- rename some arch .in files and handle renaming inside
generate_syscalls.sh using the right gcc directives
- Link to v2: https://lore.kernel.org/r/20240927-generate_syscalls-v2-0-108f5f2ad318@suse.com
Changes in v2:
- refactor regen.sh
- split syscalls.h and syscalls .in files creation
- updated syscalls .in files
- Link to v1: https://lore.kernel.org/r/20240924-generate_syscalls-v1-0-941507a9cdac@suse.com
---
Andrea Cervesato (4):
Refactor regen.sh script to generate syscalls
Add script to generate arch(s) dependant syscalls
Delete obsolete strip_syscall.awk file
Update syscalls files
configure.ac | 2 +-
include/lapi/syscalls/arc.in | 41 +-
include/lapi/syscalls/arm.in | 819 +++++++++++----------
include/lapi/syscalls/{loongarch.in => arm64.in} | 12 +-
include/lapi/syscalls/generate_arch.sh | 205 ++++++
include/lapi/syscalls/generate_syscalls.sh | 118 +++
include/lapi/syscalls/hppa.in | 52 --
include/lapi/syscalls/i386.in | 18 +-
include/lapi/syscalls/ia64.in | 10 +-
.../lapi/syscalls/{aarch64.in => loongarch64.in} | 20 +-
include/lapi/syscalls/{mips_n64.in => mips64.in} | 13 +-
.../lapi/syscalls/{mips_n32.in => mips64n32.in} | 13 +-
include/lapi/syscalls/{mips_o32.in => mipso32.in} | 19 +-
include/lapi/syscalls/parisc.in | 397 ++++++++++
include/lapi/syscalls/powerpc.in | 19 +-
include/lapi/syscalls/powerpc64.in | 47 +-
include/lapi/syscalls/regen.sh | 129 ----
include/lapi/syscalls/s390.in | 15 +-
include/lapi/syscalls/s390x.in | 15 +-
include/lapi/syscalls/sh.in | 15 +-
include/lapi/syscalls/sparc.in | 14 +-
include/lapi/syscalls/sparc64.in | 16 +-
include/lapi/syscalls/strip_syscall.awk | 19 -
.../lapi/syscalls/{order => supported-arch.txt} | 12 +-
include/lapi/syscalls/x86_64.in | 51 +-
25 files changed, 1356 insertions(+), 735 deletions(-)
---
base-commit: 701212f08d6e850457cc2b10238f28662ef48471
change-id: 20240923-generate_syscalls-780dc2227bdb
Best regards,
--
Andrea Cervesato <andrea.cervesato@suse.com>
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* [LTP] [PATCH v4 1/4] Refactor regen.sh script to generate syscalls
2024-10-09 9:45 [LTP] [PATCH v4 0/4] Automatically generate syscalls.h Andrea Cervesato
@ 2024-10-09 9:45 ` Andrea Cervesato
2024-10-14 12:45 ` Li Wang
2024-10-25 10:03 ` Petr Vorel
2024-10-09 9:45 ` [LTP] [PATCH v4 2/4] Add script to generate arch(s) dependant syscalls Andrea Cervesato
` (2 subsequent siblings)
3 siblings, 2 replies; 20+ messages in thread
From: Andrea Cervesato @ 2024-10-09 9:45 UTC (permalink / raw)
To: ltp
From: Andrea Cervesato <andrea.cervesato@suse.com>
Rename regen.sh into a more meaningful generate_syscalls.sh name, rename
order into a more meaningful supported-syscalls.txt name and rewrite
part of the regen.sh script code in order to execute it from anywhere in
the filesystem, without need to be in its own folder. The new code is
also more clear and concise, using native sh features which are
simplifying the code.
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
configure.ac | 2 +-
include/lapi/syscalls/generate_syscalls.sh | 115 ++++++++++++++++++
include/lapi/syscalls/regen.sh | 129 ---------------------
.../lapi/syscalls/{order => supported-arch.txt} | 0
4 files changed, 116 insertions(+), 130 deletions(-)
diff --git a/configure.ac b/configure.ac
index ebbf49e28..45f92477f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -384,7 +384,7 @@ else
AC_SUBST([WITH_REALTIME_TESTSUITE],["no"])
fi
-AC_CONFIG_COMMANDS([syscalls.h], [cd ${ac_top_srcdir}/include/lapi/syscalls; ./regen.sh])
+AC_CONFIG_COMMANDS([syscalls.h], [cd ${ac_top_srcdir}/include/lapi/syscalls; ./generate_syscalls.sh ../syscalls.h])
# custom functions
# NOTE: don't create custom functions for simple checks, put them into this file
diff --git a/include/lapi/syscalls/generate_syscalls.sh b/include/lapi/syscalls/generate_syscalls.sh
new file mode 100755
index 000000000..863f52253
--- /dev/null
+++ b/include/lapi/syscalls/generate_syscalls.sh
@@ -0,0 +1,115 @@
+#!/bin/sh
+#
+# Generate the syscalls.h file, merging all architectures syscalls input file
+# which are in the current folder and defined inside supported-arch.txt file.
+
+SYSCALLS_FILE="${1}"
+
+if [ -z "${SYSCALLS_FILE}" ]; then
+ echo "Please provide the syscalls.h directory:"
+ echo ""
+ echo "$0 path/of/syscalls.h"
+ echo ""
+ exit 1
+fi
+
+SCRIPT_DIR="$(realpath $(dirname "$0"))"
+SUPPORTED_ARCH="${SCRIPT_DIR}/supported-arch.txt"
+
+merge_syscalls() {
+ echo '
+/************************************************
+* GENERATED FILE: DO NOT EDIT/PATCH THIS FILE *
+* change your arch specific .in file instead *
+************************************************/
+
+/*
+kj* Here we stick all the ugly *fallback* logic for linux
+* system call numbers (those __NR_ thingies).
+*
+* Licensed under the GPLv2 or later, see the COPYING file.
+*/
+
+#ifndef LAPI_SYSCALLS_H__
+#define LAPI_SYSCALLS_H__
+
+#include <errno.h>
+#include <sys/syscall.h>
+#include <asm/unistd.h>
+
+#ifdef TST_TEST_H__
+#define TST_SYSCALL_BRK__(NR, SNR) ({ \
+tst_brk(TCONF, \
+ "syscall(%d) " SNR " not supported on your arch", NR); \
+})
+#else
+inline static void dummy_cleanup(void) {}
+
+#define TST_SYSCALL_BRK__(NR, SNR) ({ \
+tst_brkm(TCONF, dummy_cleanup, \
+ "syscall(%d) " SNR " not supported on your arch", NR); \
+})
+#endif
+
+#define tst_syscall(NR, ...) ({ \
+intptr_t tst_ret; \
+if (NR == __LTP__NR_INVALID_SYSCALL) { \
+ errno = ENOSYS; \
+ tst_ret = -1; \
+} else { \
+ tst_ret = syscall(NR, ##__VA_ARGS__); \
+} \
+if (tst_ret == -1 && errno == ENOSYS) { \
+ TST_SYSCALL_BRK__(NR, #NR); \
+} \
+tst_ret; \
+})
+
+#define __LTP__NR_INVALID_SYSCALL -1' >${SYSCALLS_FILE}
+
+ while IFS= read -r arch; do
+ (
+ echo
+ case ${arch} in
+ sparc64) echo "#if defined(__sparc__) && defined(__arch64__)" ;;
+ sparc) echo "#if defined(__sparc__) && !defined(__arch64__)" ;;
+ s390) echo "#if defined(__s390__) && !defined(__s390x__)" ;;
+ mips_n32) echo "#if defined(__mips__) && defined(_ABIN32)" ;;
+ mips_n64) echo "#if defined(__mips__) && defined(_ABI64)" ;;
+ mips_o32) echo "#if defined(__mips__) && defined(_ABIO32) && _MIPS_SZLONG == 32" ;;
+ *) echo "#ifdef __${arch}__" ;;
+ esac
+
+ while read -r line; do
+ set -- ${line}
+ syscall_nr="__NR_$1"
+ shift
+
+ echo "# ifndef ${syscall_nr}"
+ echo "# define ${syscall_nr} $*"
+ echo "# endif"
+ done <"${SCRIPT_DIR}/${arch}.in"
+ echo "#endif"
+ echo
+ ) >>${SYSCALLS_FILE}
+ done <${SUPPORTED_ARCH}
+
+ (
+ echo
+ echo "/* Common stubs */"
+ while IFS= read -r arch; do
+ while IFS= read -r line; do
+ set -- ${line}
+ syscall_nr="__NR_$1"
+ shift
+
+ echo "# ifndef ${syscall_nr}"
+ echo "# define ${syscall_nr} __LTP__NR_INVALID_SYSCALL"
+ echo "# endif"
+ done <"${SCRIPT_DIR}/${arch}.in"
+ done <${SUPPORTED_ARCH}
+ echo "#endif"
+ ) >>${SYSCALLS_FILE}
+}
+
+merge_syscalls
diff --git a/include/lapi/syscalls/regen.sh b/include/lapi/syscalls/regen.sh
deleted file mode 100755
index 663ce4458..000000000
--- a/include/lapi/syscalls/regen.sh
+++ /dev/null
@@ -1,129 +0,0 @@
-#!/bin/sh
-
-output="syscalls.h"
-rm -f "${output}".[1-9]*
-output_pid="${output}.$$"
-
-max_jobs=$(getconf _NPROCESSORS_ONLN 2>/dev/null)
-: ${max_jobs:=1}
-
-srcdir=${0%/*}
-
-err() {
- echo "$*" 1>&2
- exit 1
-}
-
-cat << EOF > "${output_pid}"
-/************************************************
- * GENERATED FILE: DO NOT EDIT/PATCH THIS FILE *
- * change your arch specific .in file instead *
- ************************************************/
-
-/*
- * Here we stick all the ugly *fallback* logic for linux
- * system call numbers (those __NR_ thingies).
- *
- * Licensed under the GPLv2 or later, see the COPYING file.
- */
-
-#ifndef LAPI_SYSCALLS_H__
-#define LAPI_SYSCALLS_H__
-
-#include <errno.h>
-#include <sys/syscall.h>
-#include <asm/unistd.h>
-
-#ifdef TST_TEST_H__
-#define TST_SYSCALL_BRK__(NR, SNR) ({ \\
- tst_brk(TCONF, \\
- "syscall(%d) " SNR " not supported on your arch", NR); \\
-})
-#else
-inline static void dummy_cleanup(void) {}
-
-#define TST_SYSCALL_BRK__(NR, SNR) ({ \\
- tst_brkm(TCONF, dummy_cleanup, \\
- "syscall(%d) " SNR " not supported on your arch", NR); \\
-})
-#endif
-
-#define tst_syscall(NR, ...) ({ \\
- intptr_t tst_ret; \\
- if (NR == __LTP__NR_INVALID_SYSCALL) { \\
- errno = ENOSYS; \\
- tst_ret = -1; \\
- } else { \\
- tst_ret = syscall(NR, ##__VA_ARGS__); \\
- } \\
- if (tst_ret == -1 && errno == ENOSYS) { \\
- TST_SYSCALL_BRK__(NR, #NR); \\
- } \\
- tst_ret; \\
-})
-
-EOF
-
-jobs=0
-for arch in $(cat "${srcdir}/order") ; do
- (
- echo "Generating data for arch $arch ... "
-
- (
- echo
- case ${arch} in
- sparc64) echo "#if defined(__sparc__) && defined(__arch64__)" ;;
- sparc) echo "#if defined(__sparc__) && !defined(__arch64__)" ;;
- s390) echo "#if defined(__s390__) && !defined(__s390x__)" ;;
- mips_n32) echo "#if defined(__mips__) && defined(_ABIN32)" ;;
- mips_n64) echo "#if defined(__mips__) && defined(_ABI64)" ;;
- mips_o32) echo "#if defined(__mips__) && defined(_ABIO32) && _MIPS_SZLONG == 32" ;;
- *) echo "#ifdef __${arch}__" ;;
- esac
- while read line ; do
- set -- ${line}
- nr="__NR_$1"
- shift
- if [ $# -eq 0 ] ; then
- err "invalid line found: $line"
- fi
- echo "# ifndef ${nr}"
- echo "# define ${nr} $*"
- echo "# endif"
- done < "${srcdir}/${arch}.in"
- echo "#endif"
- echo
- ) >> "${output_pid}.${arch}"
-
- ) &
-
- jobs=$(( jobs + 1 ))
- if [ ${jobs} -ge ${max_jobs} ] ; then
- wait || exit 1
- jobs=0
- fi
-done
-
-echo "Generating stub list ... "
-(
-echo
-echo "/* Common stubs */"
-echo "#define __LTP__NR_INVALID_SYSCALL -1" >> "${output_pid}"
-for nr in $(awk '{print $1}' "${srcdir}/"*.in | sort -u) ; do
- nr="__NR_${nr}"
- echo "# ifndef ${nr}"
- echo "# define ${nr} __LTP__NR_INVALID_SYSCALL"
- echo "# endif"
-done
-echo "#endif"
-) >> "${output_pid}._footer"
-
-wait || exit 1
-
-printf "Combining them all ... "
-for arch in $(cat "${srcdir}/order") _footer ; do
- cat "${output_pid}.${arch}"
-done >> "${output_pid}"
-mv "${output_pid}" "../${output}"
-rm -f "${output_pid}"*
-echo "OK!"
diff --git a/include/lapi/syscalls/order b/include/lapi/syscalls/supported-arch.txt
similarity index 100%
rename from include/lapi/syscalls/order
rename to include/lapi/syscalls/supported-arch.txt
--
2.43.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [LTP] [PATCH v4 2/4] Add script to generate arch(s) dependant syscalls
2024-10-09 9:45 [LTP] [PATCH v4 0/4] Automatically generate syscalls.h Andrea Cervesato
2024-10-09 9:45 ` [LTP] [PATCH v4 1/4] Refactor regen.sh script to generate syscalls Andrea Cervesato
@ 2024-10-09 9:45 ` Andrea Cervesato
2024-10-15 8:12 ` Li Wang
2024-10-25 10:20 ` Petr Vorel
2024-10-09 9:45 ` [LTP] [PATCH v4 3/4] Delete obsolete strip_syscall.awk file Andrea Cervesato
2024-10-09 9:45 ` [LTP] [PATCH v4 4/4] Update syscalls files Andrea Cervesato
3 siblings, 2 replies; 20+ messages in thread
From: Andrea Cervesato @ 2024-10-09 9:45 UTC (permalink / raw)
To: ltp
From: Andrea Cervesato <andrea.cervesato@suse.com>
Add generate_arch.sh script which can be used to generate arch(s)
dependant syscalls file. The way it works is pretty simple: for each
architecture defined into supported-arch.txt, compile kernel headers,
extract the list of syscalls and generate a .in file containing all of
them, associated with their own syscall's number.
The way syscalls files are generated, passes through a C application
which is automatically checking the availability of the syscalls in
the user space environment.
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
include/lapi/syscalls/{aarch64.in => arm64.in} | 0
include/lapi/syscalls/generate_arch.sh | 205 +++++++++++++++++++++
include/lapi/syscalls/generate_syscalls.sh | 9 +-
.../lapi/syscalls/{loongarch.in => loongarch64.in} | 0
include/lapi/syscalls/{mips_n64.in => mips64.in} | 0
.../lapi/syscalls/{mips_n32.in => mips64n32.in} | 0
include/lapi/syscalls/{mips_o32.in => mipso32.in} | 0
include/lapi/syscalls/{hppa.in => parisc.in} | 0
include/lapi/syscalls/supported-arch.txt | 12 +-
9 files changed, 217 insertions(+), 9 deletions(-)
diff --git a/include/lapi/syscalls/aarch64.in b/include/lapi/syscalls/arm64.in
similarity index 100%
rename from include/lapi/syscalls/aarch64.in
rename to include/lapi/syscalls/arm64.in
diff --git a/include/lapi/syscalls/generate_arch.sh b/include/lapi/syscalls/generate_arch.sh
new file mode 100755
index 000000000..abdb52256
--- /dev/null
+++ b/include/lapi/syscalls/generate_arch.sh
@@ -0,0 +1,205 @@
+#!/bin/sh
+#
+# This is an adaptation of the update-tables.sh script, included in the
+# syscalls-table project (https://github.com/hrw/syscalls-table) and released
+# under the MIT license.
+#
+# Author: Andrea Cervesato <andrea.cervesato@suse.com>
+
+KERNELSRC=$1
+
+# to keep sorting in order
+export LC_ALL=C
+
+if [ -z $KERNELSRC ]; then
+ echo "Please provide kernel sources:"
+ echo ""
+ echo "$0 path/to/Linux/kernel/sources"
+ echo ""
+ exit 1
+fi
+
+if [ ! -e ${KERNELSRC}/Makefile ]; then
+ echo "No Makefile in $KERNELSRC directory"
+ exit 1
+fi
+
+TEMP=$(mktemp -d)
+KVER=$(make -C ${KERNELSRC} kernelversion -s)
+
+SCRIPT_DIR="$(realpath $(dirname "$0"))"
+SUPPORTED_ARCH="${SCRIPT_DIR}/supported-arch.txt"
+LINUX_HEADERS="${TEMP}/headers"
+
+grab_syscall_names_from_tables()
+{
+ for tbl_file in $(find ${KERNELSRC}/arch -name syscall*.tbl); do
+ grep -E -v "(^#|^$|sys_ni_syscall)" $tbl_file |
+ awk '{ print $3 }' >> ${TEMP}/syscall-names.tosort
+ done
+
+ drop_bad_entries
+}
+
+grab_syscall_names_from_unistd_h()
+{
+ grep -E -h "^#define __NR_" \
+ ${LINUX_HEADERS}/usr/include/asm/unistd*.h \
+ ${LINUX_HEADERS}/usr/include/asm-generic/unistd.h \
+ >${TEMP}/syscall-names.tosort
+
+ drop_bad_entries
+}
+
+drop_bad_entries()
+{
+ grep -E -v "(unistd.h|NR3264|__NR_syscall|__SC_COMP|__NR_.*Linux|__NR_FAST)" \
+ ${TEMP}/syscall-names.tosort |
+ grep -E -v "(__SYSCALL|SYSCALL_BASE|SYSCALL_MASK)" |
+ sed -e "s/#define\s*__NR_//g" -e "s/\s.*//g" |
+ sort -u >${TEMP}/syscall-names.txt
+}
+
+generate_table()
+{
+ echo "- $arch"
+
+ if [ $bits == 32 ]; then
+ extraflags="${extraflags} -D__BITS_PER_LONG=32"
+ fi
+
+ local uppercase_arch=$(echo "$arch" | tr '[:lower:]' '[:upper:]')
+
+ gcc ${TEMP}/list-syscalls.c -U__LP64__ -U__ILP32__ -U__i386__ \
+ -D${uppercase_arch} \
+ -D__${arch}__ ${extraflags} \
+ -I ${LINUX_HEADERS}/usr/include/ \
+ -o ${TEMP}/list-syscalls &>/dev/null
+
+ ${TEMP}/list-syscalls > "${TEMP}/${arch}.in.tosort"
+
+ sort -k2,2n "${TEMP}/${arch}.in.tosort" > "${TEMP}/${arch}.in"
+}
+
+generate_list_syscalls_c()
+{
+ (
+ echo
+ echo "
+ #include <stdio.h>
+ #include <asm/unistd.h>
+
+ int main(void)
+ {
+ "
+ for syscall in $(cat ${TEMP}/syscall-names.txt); do
+ echo "
+ #ifdef __NR_$syscall
+ printf(\"$syscall %d\\n\", __NR_$syscall);
+ #endif
+ "
+ done
+ echo " return 0;
+ }"
+ ) > ${TEMP}/list-syscalls.c
+}
+
+export_headers()
+{
+ make -s -C ${KERNELSRC} ARCH=${arch} O=${LINUX_HEADERS} \
+ headers_install &>/dev/null
+}
+
+do_all_tables()
+{
+ for archdir in ${KERNELSRC}/arch/*; do
+ arch=$(basename $archdir)
+
+ bits=64
+ extraflags=
+
+ case ${arch} in
+ Kconfig)
+ continue
+ ;;
+ um)
+ continue
+ ;;
+ esac
+
+ export_headers
+ grab_syscall_names_from_unistd_h
+
+ case ${arch} in
+ arm)
+ bits=32
+ arch=armoabi extraflags= generate_table
+ arch=arm extraflags=-D__ARM_EABI__ generate_table
+ ;;
+ loongarch)
+ # 32-bit variant of loongarch may appear
+ arch=loongarch64 extraflags=-D_LOONGARCH_SZLONG=64 generate_table
+ ;;
+ mips)
+ arch=mips64 extraflags=-D_MIPS_SIM=_MIPS_SIM_ABI64 generate_table
+ bits=32
+ arch=mipso32 extraflags=-D_MIPS_SIM=_MIPS_SIM_ABI32 generate_table
+ arch=mips64n32 extraflags=-D_MIPS_SIM=_MIPS_SIM_NABI32 generate_table
+ ;;
+ powerpc)
+ generate_table
+ arch=powerpc64 generate_table
+ ;;
+ riscv)
+ arch=riscv64 extraflags=-D__LP64__ generate_table
+ bits=32
+ arch=riscv32 extraflags=-D__SIZEOF_POINTER__=4 generate_table
+ ;;
+ s390)
+ bits=32
+ generate_table
+ bits=64
+ arch=s390x generate_table
+ ;;
+ sparc)
+ bits=32
+ extraflags=-D__32bit_syscall_numbers__ generate_table
+ bits=64
+ arch=sparc64 extraflags=-D__arch64__ generate_table
+ ;;
+ x86)
+ arch=x86_64 extraflags=-D__LP64__ generate_table
+ bits=32
+ arch=i386 generate_table
+ arch=x32 extraflags=-D__ILP32__ generate_table
+ ;;
+ arc | csky | hexagon | m68k | microblaze | nios2 | openrisc | sh | xtensa)
+ bits=32 generate_table
+ ;;
+ *)
+ generate_table
+ ;;
+ esac
+ done
+}
+
+copy_supported_arch()
+{
+ while IFS= read -r arch; do
+ if [ -f "${TEMP}/${arch}.in" ]; then
+ echo "- ${arch}"
+ cp "${TEMP}/${arch}.in" "${SCRIPT_DIR}/${arch}.in"
+ fi
+ done < ${SUPPORTED_ARCH}
+}
+
+echo "Temporary directory ${TEMP}"
+echo "Extracting syscalls"
+
+grab_syscall_names_from_tables
+generate_list_syscalls_c
+
+do_all_tables
+
+echo "Copying supported syscalls"
+copy_supported_arch
diff --git a/include/lapi/syscalls/generate_syscalls.sh b/include/lapi/syscalls/generate_syscalls.sh
index 863f52253..05f3d6e24 100755
--- a/include/lapi/syscalls/generate_syscalls.sh
+++ b/include/lapi/syscalls/generate_syscalls.sh
@@ -74,9 +74,12 @@ tst_ret; \
sparc64) echo "#if defined(__sparc__) && defined(__arch64__)" ;;
sparc) echo "#if defined(__sparc__) && !defined(__arch64__)" ;;
s390) echo "#if defined(__s390__) && !defined(__s390x__)" ;;
- mips_n32) echo "#if defined(__mips__) && defined(_ABIN32)" ;;
- mips_n64) echo "#if defined(__mips__) && defined(_ABI64)" ;;
- mips_o32) echo "#if defined(__mips__) && defined(_ABIO32) && _MIPS_SZLONG == 32" ;;
+ mips64n32) echo "#if defined(__mips__) && defined(_ABIN32)" ;;
+ mips64) echo "#if defined(__mips__) && defined(_ABI64)" ;;
+ mipso32) echo "#if defined(__mips__) && defined(_ABIO32) && _MIPS_SZLONG == 32" ;;
+ parisc) echo "#ifdef __hppa__" ;;
+ loongarch64) echo "#ifdef __loongarch__" ;;
+ arm64) echo "#ifdef __aarch64__" ;;
*) echo "#ifdef __${arch}__" ;;
esac
diff --git a/include/lapi/syscalls/loongarch.in b/include/lapi/syscalls/loongarch64.in
similarity index 100%
rename from include/lapi/syscalls/loongarch.in
rename to include/lapi/syscalls/loongarch64.in
diff --git a/include/lapi/syscalls/mips_n64.in b/include/lapi/syscalls/mips64.in
similarity index 100%
rename from include/lapi/syscalls/mips_n64.in
rename to include/lapi/syscalls/mips64.in
diff --git a/include/lapi/syscalls/mips_n32.in b/include/lapi/syscalls/mips64n32.in
similarity index 100%
rename from include/lapi/syscalls/mips_n32.in
rename to include/lapi/syscalls/mips64n32.in
diff --git a/include/lapi/syscalls/mips_o32.in b/include/lapi/syscalls/mipso32.in
similarity index 100%
rename from include/lapi/syscalls/mips_o32.in
rename to include/lapi/syscalls/mipso32.in
diff --git a/include/lapi/syscalls/hppa.in b/include/lapi/syscalls/parisc.in
similarity index 100%
rename from include/lapi/syscalls/hppa.in
rename to include/lapi/syscalls/parisc.in
diff --git a/include/lapi/syscalls/supported-arch.txt b/include/lapi/syscalls/supported-arch.txt
index c18aa38cf..c5c5191ac 100644
--- a/include/lapi/syscalls/supported-arch.txt
+++ b/include/lapi/syscalls/supported-arch.txt
@@ -1,13 +1,13 @@
-aarch64
arc
+arm64
arm
-hppa
i386
ia64
-loongarch
-mips_n32
-mips_n64
-mips_o32
+loongarch64
+mips64n32
+mips64
+mipso32
+parisc
powerpc64
powerpc
s390x
--
2.43.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [LTP] [PATCH v4 3/4] Delete obsolete strip_syscall.awk file
2024-10-09 9:45 [LTP] [PATCH v4 0/4] Automatically generate syscalls.h Andrea Cervesato
2024-10-09 9:45 ` [LTP] [PATCH v4 1/4] Refactor regen.sh script to generate syscalls Andrea Cervesato
2024-10-09 9:45 ` [LTP] [PATCH v4 2/4] Add script to generate arch(s) dependant syscalls Andrea Cervesato
@ 2024-10-09 9:45 ` Andrea Cervesato
2024-10-15 8:10 ` Li Wang
2024-10-25 10:23 ` Petr Vorel
2024-10-09 9:45 ` [LTP] [PATCH v4 4/4] Update syscalls files Andrea Cervesato
3 siblings, 2 replies; 20+ messages in thread
From: Andrea Cervesato @ 2024-10-09 9:45 UTC (permalink / raw)
To: ltp
From: Andrea Cervesato <andrea.cervesato@suse.com>
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
include/lapi/syscalls/strip_syscall.awk | 19 -------------------
1 file changed, 19 deletions(-)
diff --git a/include/lapi/syscalls/strip_syscall.awk b/include/lapi/syscalls/strip_syscall.awk
deleted file mode 100755
index e8dff422e..000000000
--- a/include/lapi/syscalls/strip_syscall.awk
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/usr/bin/awk -f
-#
-# Dumb script that can be used to strip all of the syscall information from
-# the arch-respective unistd*.h.
-#
-# Examples:
-#
-# 1. Grab the i386 32-bit syscalls from unistd_32.h and put them in i386.in
-# strip_syscall.awk arch/x86/include/asm/unistd_32.h > i386.in
-#
-
-/^#define[[:space:]]+__NR_[0-9a-z]+/ {
-
- sub (/#define[[:space:]]+__NR_/, "", $0);
- sub (/[[:space:]]*(\/\*.*)/, "", $0);
- sub (/[[:space:]]+/, " ", $0);
-
- print
-}
--
2.43.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 20+ messages in thread
* [LTP] [PATCH v4 4/4] Update syscalls files
2024-10-09 9:45 [LTP] [PATCH v4 0/4] Automatically generate syscalls.h Andrea Cervesato
` (2 preceding siblings ...)
2024-10-09 9:45 ` [LTP] [PATCH v4 3/4] Delete obsolete strip_syscall.awk file Andrea Cervesato
@ 2024-10-09 9:45 ` Andrea Cervesato
2024-10-15 6:49 ` Li Wang
3 siblings, 1 reply; 20+ messages in thread
From: Andrea Cervesato @ 2024-10-09 9:45 UTC (permalink / raw)
To: ltp
From: Andrea Cervesato <andrea.cervesato@suse.com>
Update syscalls .in files to the newest kernel development branch at
commit 75b607fab38d.
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
include/lapi/syscalls/arc.in | 41 +-
include/lapi/syscalls/arm.in | 819 ++++++++++++++++++-----------------
include/lapi/syscalls/arm64.in | 18 +-
include/lapi/syscalls/i386.in | 18 +-
include/lapi/syscalls/ia64.in | 10 +-
include/lapi/syscalls/loongarch64.in | 16 +-
include/lapi/syscalls/mips64.in | 13 +-
include/lapi/syscalls/mips64n32.in | 13 +-
include/lapi/syscalls/mipso32.in | 19 +-
include/lapi/syscalls/parisc.in | 373 +++++++++++++++-
include/lapi/syscalls/powerpc.in | 19 +-
include/lapi/syscalls/powerpc64.in | 47 +-
include/lapi/syscalls/s390.in | 15 +-
include/lapi/syscalls/s390x.in | 15 +-
include/lapi/syscalls/sh.in | 15 +-
include/lapi/syscalls/sparc.in | 14 +-
include/lapi/syscalls/sparc64.in | 16 +-
include/lapi/syscalls/x86_64.in | 51 +--
18 files changed, 989 insertions(+), 543 deletions(-)
diff --git a/include/lapi/syscalls/arc.in b/include/lapi/syscalls/arc.in
index 752cc54fd..f680d4119 100644
--- a/include/lapi/syscalls/arc.in
+++ b/include/lapi/syscalls/arc.in
@@ -23,7 +23,7 @@ epoll_ctl 21
epoll_pwait 22
dup 23
dup3 24
-fcntl 25
+fcntl64 25
inotify_init1 26
inotify_add_watch 27
inotify_rm_watch 28
@@ -41,10 +41,10 @@ umount2 39
mount 40
pivot_root 41
nfsservctl 42
-statfs 43
-fstatfs 44
-truncate 45
-ftruncate 46
+statfs64 43
+fstatfs64 44
+truncate64 45
+ftruncate64 46
fallocate 47
faccessat 48
chdir 49
@@ -60,7 +60,7 @@ vhangup 58
pipe2 59
quotactl 60
getdents64 61
-lseek 62
+llseek 62
read 63
write 64
readv 65
@@ -69,7 +69,7 @@ pread64 67
pwrite64 68
preadv 69
pwritev 70
-sendfile 71
+sendfile64 71
pselect6 72
ppoll 73
signalfd4 74
@@ -77,12 +77,11 @@ vmsplice 75
splice 76
tee 77
readlinkat 78
-fstatat 79
-fstat 80
+fstatat64 79
+fstat64 80
sync 81
fsync 82
fdatasync 83
-sync_file_range2 84
sync_file_range 84
timerfd_create 85
timerfd_settime 86
@@ -221,8 +220,8 @@ request_key 218
keyctl 219
clone 220
execve 221
-mmap 222
-fadvise64 223
+mmap2 222
+fadvise64_64 223
swapon 224
swapoff 225
mprotect 226
@@ -261,6 +260,11 @@ sendmmsg 269
process_vm_readv 270
process_vm_writev 271
kcmp 272
+finit_module 273
+sched_setattr 274
+sched_getattr 275
+renameat2 276
+seccomp 277
getrandom 278
memfd_create 279
bpf 280
@@ -314,12 +318,25 @@ close_range 436
openat2 437
pidfd_getfd 438
faccessat2 439
+process_madvise 440
epoll_pwait2 441
+mount_setattr 442
quotactl_fd 443
landlock_create_ruleset 444
landlock_add_rule 445
landlock_restrict_self 446
+process_mrelease 448
futex_waitv 449
+set_mempolicy_home_node 450
cachestat 451
fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
mseal 462
diff --git a/include/lapi/syscalls/arm.in b/include/lapi/syscalls/arm.in
index 84203ca4d..32e48b215 100644
--- a/include/lapi/syscalls/arm.in
+++ b/include/lapi/syscalls/arm.in
@@ -1,404 +1,415 @@
-restart_syscall (__NR_SYSCALL_BASE+ 0)
-exit (__NR_SYSCALL_BASE+ 1)
-fork (__NR_SYSCALL_BASE+ 2)
-read (__NR_SYSCALL_BASE+ 3)
-write (__NR_SYSCALL_BASE+ 4)
-open (__NR_SYSCALL_BASE+ 5)
-close (__NR_SYSCALL_BASE+ 6)
-creat (__NR_SYSCALL_BASE+ 8)
-link (__NR_SYSCALL_BASE+ 9)
-unlink (__NR_SYSCALL_BASE+ 10)
-execve (__NR_SYSCALL_BASE+ 11)
-chdir (__NR_SYSCALL_BASE+ 12)
-mknod (__NR_SYSCALL_BASE+ 14)
-chmod (__NR_SYSCALL_BASE+ 15)
-lchown (__NR_SYSCALL_BASE+ 16)
-lseek (__NR_SYSCALL_BASE+ 19)
-getpid (__NR_SYSCALL_BASE+ 20)
-mount (__NR_SYSCALL_BASE+ 21)
-setuid (__NR_SYSCALL_BASE+ 23)
-getuid (__NR_SYSCALL_BASE+ 24)
-ptrace (__NR_SYSCALL_BASE+ 26)
-pause (__NR_SYSCALL_BASE+ 29)
-access (__NR_SYSCALL_BASE+ 33)
-nice (__NR_SYSCALL_BASE+ 34)
-sync (__NR_SYSCALL_BASE+ 36)
-kill (__NR_SYSCALL_BASE+ 37)
-rename (__NR_SYSCALL_BASE+ 38)
-mkdir (__NR_SYSCALL_BASE+ 39)
-rmdir (__NR_SYSCALL_BASE+ 40)
-dup (__NR_SYSCALL_BASE+ 41)
-pipe (__NR_SYSCALL_BASE+ 42)
-times (__NR_SYSCALL_BASE+ 43)
-brk (__NR_SYSCALL_BASE+ 45)
-setgid (__NR_SYSCALL_BASE+ 46)
-getgid (__NR_SYSCALL_BASE+ 47)
-geteuid (__NR_SYSCALL_BASE+ 49)
-getegid (__NR_SYSCALL_BASE+ 50)
-acct (__NR_SYSCALL_BASE+ 51)
-umount2 (__NR_SYSCALL_BASE+ 52)
-ioctl (__NR_SYSCALL_BASE+ 54)
-fcntl (__NR_SYSCALL_BASE+ 55)
-setpgid (__NR_SYSCALL_BASE+ 57)
-umask (__NR_SYSCALL_BASE+ 60)
-chroot (__NR_SYSCALL_BASE+ 61)
-ustat (__NR_SYSCALL_BASE+ 62)
-dup2 (__NR_SYSCALL_BASE+ 63)
-getppid (__NR_SYSCALL_BASE+ 64)
-getpgrp (__NR_SYSCALL_BASE+ 65)
-setsid (__NR_SYSCALL_BASE+ 66)
-sigaction (__NR_SYSCALL_BASE+ 67)
-setreuid (__NR_SYSCALL_BASE+ 70)
-setregid (__NR_SYSCALL_BASE+ 71)
-sigsuspend (__NR_SYSCALL_BASE+ 72)
-sigpending (__NR_SYSCALL_BASE+ 73)
-sethostname (__NR_SYSCALL_BASE+ 74)
-setrlimit (__NR_SYSCALL_BASE+ 75)
-getrusage (__NR_SYSCALL_BASE+ 77)
-gettimeofday (__NR_SYSCALL_BASE+ 78)
-settimeofday (__NR_SYSCALL_BASE+ 79)
-getgroups (__NR_SYSCALL_BASE+ 80)
-setgroups (__NR_SYSCALL_BASE+ 81)
-symlink (__NR_SYSCALL_BASE+ 83)
-readlink (__NR_SYSCALL_BASE+ 85)
-uselib (__NR_SYSCALL_BASE+ 86)
-swapon (__NR_SYSCALL_BASE+ 87)
-reboot (__NR_SYSCALL_BASE+ 88)
-munmap (__NR_SYSCALL_BASE+ 91)
-truncate (__NR_SYSCALL_BASE+ 92)
-ftruncate (__NR_SYSCALL_BASE+ 93)
-fchmod (__NR_SYSCALL_BASE+ 94)
-fchown (__NR_SYSCALL_BASE+ 95)
-getpriority (__NR_SYSCALL_BASE+ 96)
-setpriority (__NR_SYSCALL_BASE+ 97)
-statfs (__NR_SYSCALL_BASE+ 99)
-fstatfs (__NR_SYSCALL_BASE+100)
-syslog (__NR_SYSCALL_BASE+103)
-setitimer (__NR_SYSCALL_BASE+104)
-getitimer (__NR_SYSCALL_BASE+105)
-stat (__NR_SYSCALL_BASE+106)
-lstat (__NR_SYSCALL_BASE+107)
-fstat (__NR_SYSCALL_BASE+108)
-vhangup (__NR_SYSCALL_BASE+111)
-wait4 (__NR_SYSCALL_BASE+114)
-swapoff (__NR_SYSCALL_BASE+115)
-sysinfo (__NR_SYSCALL_BASE+116)
-fsync (__NR_SYSCALL_BASE+118)
-sigreturn (__NR_SYSCALL_BASE+119)
-clone (__NR_SYSCALL_BASE+120)
-setdomainname (__NR_SYSCALL_BASE+121)
-uname (__NR_SYSCALL_BASE+122)
-adjtimex (__NR_SYSCALL_BASE+124)
-mprotect (__NR_SYSCALL_BASE+125)
-sigprocmask (__NR_SYSCALL_BASE+126)
-init_module (__NR_SYSCALL_BASE+128)
-delete_module (__NR_SYSCALL_BASE+129)
-quotactl (__NR_SYSCALL_BASE+131)
-getpgid (__NR_SYSCALL_BASE+132)
-fchdir (__NR_SYSCALL_BASE+133)
-bdflush (__NR_SYSCALL_BASE+134)
-sysfs (__NR_SYSCALL_BASE+135)
-personality (__NR_SYSCALL_BASE+136)
-setfsuid (__NR_SYSCALL_BASE+138)
-setfsgid (__NR_SYSCALL_BASE+139)
-_llseek (__NR_SYSCALL_BASE+140)
-getdents (__NR_SYSCALL_BASE+141)
-_newselect (__NR_SYSCALL_BASE+142)
-flock (__NR_SYSCALL_BASE+143)
-msync (__NR_SYSCALL_BASE+144)
-readv (__NR_SYSCALL_BASE+145)
-writev (__NR_SYSCALL_BASE+146)
-getsid (__NR_SYSCALL_BASE+147)
-fdatasync (__NR_SYSCALL_BASE+148)
-_sysctl (__NR_SYSCALL_BASE+149)
-mlock (__NR_SYSCALL_BASE+150)
-munlock (__NR_SYSCALL_BASE+151)
-mlockall (__NR_SYSCALL_BASE+152)
-munlockall (__NR_SYSCALL_BASE+153)
-sched_setparam (__NR_SYSCALL_BASE+154)
-sched_getparam (__NR_SYSCALL_BASE+155)
-sched_setscheduler (__NR_SYSCALL_BASE+156)
-sched_getscheduler (__NR_SYSCALL_BASE+157)
-sched_yield (__NR_SYSCALL_BASE+158)
-sched_get_priority_max (__NR_SYSCALL_BASE+159)
-sched_get_priority_min (__NR_SYSCALL_BASE+160)
-sched_rr_get_interval (__NR_SYSCALL_BASE+161)
-nanosleep (__NR_SYSCALL_BASE+162)
-mremap (__NR_SYSCALL_BASE+163)
-setresuid (__NR_SYSCALL_BASE+164)
-getresuid (__NR_SYSCALL_BASE+165)
-poll (__NR_SYSCALL_BASE+168)
-nfsservctl (__NR_SYSCALL_BASE+169)
-setresgid (__NR_SYSCALL_BASE+170)
-getresgid (__NR_SYSCALL_BASE+171)
-prctl (__NR_SYSCALL_BASE+172)
-rt_sigreturn (__NR_SYSCALL_BASE+173)
-rt_sigaction (__NR_SYSCALL_BASE+174)
-rt_sigprocmask (__NR_SYSCALL_BASE+175)
-rt_sigpending (__NR_SYSCALL_BASE+176)
-rt_sigtimedwait (__NR_SYSCALL_BASE+177)
-rt_sigqueueinfo (__NR_SYSCALL_BASE+178)
-rt_sigsuspend (__NR_SYSCALL_BASE+179)
-pread64 (__NR_SYSCALL_BASE+180)
-pwrite64 (__NR_SYSCALL_BASE+181)
-chown (__NR_SYSCALL_BASE+182)
-getcwd (__NR_SYSCALL_BASE+183)
-capget (__NR_SYSCALL_BASE+184)
-capset (__NR_SYSCALL_BASE+185)
-sigaltstack (__NR_SYSCALL_BASE+186)
-sendfile (__NR_SYSCALL_BASE+187)
-vfork (__NR_SYSCALL_BASE+190)
-ugetrlimit (__NR_SYSCALL_BASE+191)
-mmap2 (__NR_SYSCALL_BASE+192)
-truncate64 (__NR_SYSCALL_BASE+193)
-ftruncate64 (__NR_SYSCALL_BASE+194)
-stat64 (__NR_SYSCALL_BASE+195)
-lstat64 (__NR_SYSCALL_BASE+196)
-fstat64 (__NR_SYSCALL_BASE+197)
-lchown32 (__NR_SYSCALL_BASE+198)
-getuid32 (__NR_SYSCALL_BASE+199)
-getgid32 (__NR_SYSCALL_BASE+200)
-geteuid32 (__NR_SYSCALL_BASE+201)
-getegid32 (__NR_SYSCALL_BASE+202)
-setreuid32 (__NR_SYSCALL_BASE+203)
-setregid32 (__NR_SYSCALL_BASE+204)
-getgroups32 (__NR_SYSCALL_BASE+205)
-setgroups32 (__NR_SYSCALL_BASE+206)
-fchown32 (__NR_SYSCALL_BASE+207)
-setresuid32 (__NR_SYSCALL_BASE+208)
-getresuid32 (__NR_SYSCALL_BASE+209)
-setresgid32 (__NR_SYSCALL_BASE+210)
-getresgid32 (__NR_SYSCALL_BASE+211)
-chown32 (__NR_SYSCALL_BASE+212)
-setuid32 (__NR_SYSCALL_BASE+213)
-setgid32 (__NR_SYSCALL_BASE+214)
-setfsuid32 (__NR_SYSCALL_BASE+215)
-setfsgid32 (__NR_SYSCALL_BASE+216)
-getdents64 (__NR_SYSCALL_BASE+217)
-pivot_root (__NR_SYSCALL_BASE+218)
-mincore (__NR_SYSCALL_BASE+219)
-madvise (__NR_SYSCALL_BASE+220)
-fcntl64 (__NR_SYSCALL_BASE+221)
-gettid (__NR_SYSCALL_BASE+224)
-readahead (__NR_SYSCALL_BASE+225)
-setxattr (__NR_SYSCALL_BASE+226)
-lsetxattr (__NR_SYSCALL_BASE+227)
-fsetxattr (__NR_SYSCALL_BASE+228)
-getxattr (__NR_SYSCALL_BASE+229)
-lgetxattr (__NR_SYSCALL_BASE+230)
-fgetxattr (__NR_SYSCALL_BASE+231)
-listxattr (__NR_SYSCALL_BASE+232)
-llistxattr (__NR_SYSCALL_BASE+233)
-flistxattr (__NR_SYSCALL_BASE+234)
-removexattr (__NR_SYSCALL_BASE+235)
-lremovexattr (__NR_SYSCALL_BASE+236)
-fremovexattr (__NR_SYSCALL_BASE+237)
-tkill (__NR_SYSCALL_BASE+238)
-sendfile64 (__NR_SYSCALL_BASE+239)
-futex (__NR_SYSCALL_BASE+240)
-sched_setaffinity (__NR_SYSCALL_BASE+241)
-sched_getaffinity (__NR_SYSCALL_BASE+242)
-io_setup (__NR_SYSCALL_BASE+243)
-io_destroy (__NR_SYSCALL_BASE+244)
-io_getevents (__NR_SYSCALL_BASE+245)
-io_submit (__NR_SYSCALL_BASE+246)
-io_cancel (__NR_SYSCALL_BASE+247)
-exit_group (__NR_SYSCALL_BASE+248)
-lookup_dcookie (__NR_SYSCALL_BASE+249)
-epoll_create (__NR_SYSCALL_BASE+250)
-epoll_ctl (__NR_SYSCALL_BASE+251)
-epoll_wait (__NR_SYSCALL_BASE+252)
-remap_file_pages (__NR_SYSCALL_BASE+253)
-set_tid_address (__NR_SYSCALL_BASE+256)
-timer_create (__NR_SYSCALL_BASE+257)
-timer_settime (__NR_SYSCALL_BASE+258)
-timer_gettime (__NR_SYSCALL_BASE+259)
-timer_getoverrun (__NR_SYSCALL_BASE+260)
-timer_delete (__NR_SYSCALL_BASE+261)
-clock_settime (__NR_SYSCALL_BASE+262)
-clock_gettime (__NR_SYSCALL_BASE+263)
-clock_getres (__NR_SYSCALL_BASE+264)
-clock_nanosleep (__NR_SYSCALL_BASE+265)
-statfs64 (__NR_SYSCALL_BASE+266)
-fstatfs64 (__NR_SYSCALL_BASE+267)
-tgkill (__NR_SYSCALL_BASE+268)
-utimes (__NR_SYSCALL_BASE+269)
-arm_fadvise64_64 (__NR_SYSCALL_BASE+270)
-pciconfig_iobase (__NR_SYSCALL_BASE+271)
-pciconfig_read (__NR_SYSCALL_BASE+272)
-pciconfig_write (__NR_SYSCALL_BASE+273)
-mq_open (__NR_SYSCALL_BASE+274)
-mq_unlink (__NR_SYSCALL_BASE+275)
-mq_timedsend (__NR_SYSCALL_BASE+276)
-mq_timedreceive (__NR_SYSCALL_BASE+277)
-mq_notify (__NR_SYSCALL_BASE+278)
-mq_getsetattr (__NR_SYSCALL_BASE+279)
-waitid (__NR_SYSCALL_BASE+280)
-socket (__NR_SYSCALL_BASE+281)
-bind (__NR_SYSCALL_BASE+282)
-connect (__NR_SYSCALL_BASE+283)
-listen (__NR_SYSCALL_BASE+284)
-accept (__NR_SYSCALL_BASE+285)
-getsockname (__NR_SYSCALL_BASE+286)
-getpeername (__NR_SYSCALL_BASE+287)
-socketpair (__NR_SYSCALL_BASE+288)
-send (__NR_SYSCALL_BASE+289)
-sendto (__NR_SYSCALL_BASE+290)
-recv (__NR_SYSCALL_BASE+291)
-recvfrom (__NR_SYSCALL_BASE+292)
-shutdown (__NR_SYSCALL_BASE+293)
-setsockopt (__NR_SYSCALL_BASE+294)
-getsockopt (__NR_SYSCALL_BASE+295)
-sendmsg (__NR_SYSCALL_BASE+296)
-recvmsg (__NR_SYSCALL_BASE+297)
-semop (__NR_SYSCALL_BASE+298)
-semget (__NR_SYSCALL_BASE+299)
-semctl (__NR_SYSCALL_BASE+300)
-msgsnd (__NR_SYSCALL_BASE+301)
-msgrcv (__NR_SYSCALL_BASE+302)
-msgget (__NR_SYSCALL_BASE+303)
-msgctl (__NR_SYSCALL_BASE+304)
-shmat (__NR_SYSCALL_BASE+305)
-shmdt (__NR_SYSCALL_BASE+306)
-shmget (__NR_SYSCALL_BASE+307)
-shmctl (__NR_SYSCALL_BASE+308)
-add_key (__NR_SYSCALL_BASE+309)
-request_key (__NR_SYSCALL_BASE+310)
-keyctl (__NR_SYSCALL_BASE+311)
-semtimedop (__NR_SYSCALL_BASE+312)
-vserver (__NR_SYSCALL_BASE+313)
-ioprio_set (__NR_SYSCALL_BASE+314)
-ioprio_get (__NR_SYSCALL_BASE+315)
-inotify_init (__NR_SYSCALL_BASE+316)
-inotify_add_watch (__NR_SYSCALL_BASE+317)
-inotify_rm_watch (__NR_SYSCALL_BASE+318)
-mbind (__NR_SYSCALL_BASE+319)
-get_mempolicy (__NR_SYSCALL_BASE+320)
-set_mempolicy (__NR_SYSCALL_BASE+321)
-openat (__NR_SYSCALL_BASE+322)
-mkdirat (__NR_SYSCALL_BASE+323)
-mknodat (__NR_SYSCALL_BASE+324)
-fchownat (__NR_SYSCALL_BASE+325)
-futimesat (__NR_SYSCALL_BASE+326)
-fstatat64 (__NR_SYSCALL_BASE+327)
-unlinkat (__NR_SYSCALL_BASE+328)
-renameat (__NR_SYSCALL_BASE+329)
-linkat (__NR_SYSCALL_BASE+330)
-symlinkat (__NR_SYSCALL_BASE+331)
-readlinkat (__NR_SYSCALL_BASE+332)
-fchmodat (__NR_SYSCALL_BASE+333)
-faccessat (__NR_SYSCALL_BASE+334)
-pselect6 (__NR_SYSCALL_BASE+335)
-ppoll (__NR_SYSCALL_BASE+336)
-unshare (__NR_SYSCALL_BASE+337)
-set_robust_list (__NR_SYSCALL_BASE+338)
-get_robust_list (__NR_SYSCALL_BASE+339)
-splice (__NR_SYSCALL_BASE+340)
-arm_sync_file_range (__NR_SYSCALL_BASE+341)
-sync_file_range2 __NR_arm_sync_file_range
-tee (__NR_SYSCALL_BASE+342)
-vmsplice (__NR_SYSCALL_BASE+343)
-move_pages (__NR_SYSCALL_BASE+344)
-getcpu (__NR_SYSCALL_BASE+345)
-epoll_pwait (__NR_SYSCALL_BASE+346)
-kexec_load (__NR_SYSCALL_BASE+347)
-utimensat (__NR_SYSCALL_BASE+348)
-signalfd (__NR_SYSCALL_BASE+349)
-timerfd_create (__NR_SYSCALL_BASE+350)
-eventfd (__NR_SYSCALL_BASE+351)
-fallocate (__NR_SYSCALL_BASE+352)
-timerfd_settime (__NR_SYSCALL_BASE+353)
-timerfd_gettime (__NR_SYSCALL_BASE+354)
-signalfd4 (__NR_SYSCALL_BASE+355)
-eventfd2 (__NR_SYSCALL_BASE+356)
-epoll_create1 (__NR_SYSCALL_BASE+357)
-dup3 (__NR_SYSCALL_BASE+358)
-pipe2 (__NR_SYSCALL_BASE+359)
-inotify_init1 (__NR_SYSCALL_BASE+360)
-preadv (__NR_SYSCALL_BASE+361)
-pwritev (__NR_SYSCALL_BASE+362)
-rt_tgsigqueueinfo (__NR_SYSCALL_BASE+363)
-perf_event_open (__NR_SYSCALL_BASE+364)
-recvmmsg (__NR_SYSCALL_BASE+365)
-accept4 (__NR_SYSCALL_BASE+366)
-fanotify_init (__NR_SYSCALL_BASE+367)
-fanotify_mark (__NR_SYSCALL_BASE+368)
-prlimit64 (__NR_SYSCALL_BASE+369)
-name_to_handle_at (__NR_SYSCALL_BASE+370)
-open_by_handle_at (__NR_SYSCALL_BASE+371)
-clock_adjtime (__NR_SYSCALL_BASE+372)
-syncfs (__NR_SYSCALL_BASE+373)
-sendmmsg (__NR_SYSCALL_BASE+374)
-setns (__NR_SYSCALL_BASE+375)
-process_vm_readv (__NR_SYSCALL_BASE+376)
-process_vm_writev (__NR_SYSCALL_BASE+377)
-kcmp (__NR_SYSCALL_BASE+378)
-finit_module (__NR_SYSCALL_BASE+379)
-sched_setattr (__NR_SYSCALL_BASE+380)
-sched_getattr (__NR_SYSCALL_BASE+381)
-renameat2 (__NR_SYSCALL_BASE+382)
-seccomp (__NR_SYSCALL_BASE+383)
-getrandom (__NR_SYSCALL_BASE+384)
-memfd_create (__NR_SYSCALL_BASE+385)
-bpf (__NR_SYSCALL_BASE+386)
-execveat (__NR_SYSCALL_BASE+387)
-userfaultfd (__NR_SYSCALL_BASE+388)
-membarrier (__NR_SYSCALL_BASE+389)
-mlock2 (__NR_SYSCALL_BASE+390)
-copy_file_range (__NR_SYSCALL_BASE+391)
-preadv2 (__NR_SYSCALL_BASE+392)
-pwritev2 (__NR_SYSCALL_BASE+393)
-pkey_mprotect (__NR_SYSCALL_BASE+394)
-pkey_alloc (__NR_SYSCALL_BASE+395)
-pkey_free (__NR_SYSCALL_BASE+396)
-statx (__NR_SYSCALL_BASE+397)
-rseq (__NR_SYSCALL_BASE+398)
-io_pgetevents (__NR_SYSCALL_BASE+399)
-migrate_pages (__NR_SYSCALL_BASE+400)
-kexec_file_load (__NR_SYSCALL_BASE+401)
-clock_gettime64 (__NR_SYSCALL_BASE+403)
-clock_settime64 (__NR_SYSCALL_BASE+404)
-clock_adjtime64 (__NR_SYSCALL_BASE+405)
-clock_getres_time64 (__NR_SYSCALL_BASE+406)
-clock_nanosleep_time64 (__NR_SYSCALL_BASE+407)
-timer_gettime64 (__NR_SYSCALL_BASE+408)
-timer_settime64 (__NR_SYSCALL_BASE+409)
-timerfd_gettime64 (__NR_SYSCALL_BASE+410)
-timerfd_settime64 (__NR_SYSCALL_BASE+411)
-utimensat_time64 (__NR_SYSCALL_BASE+412)
-pselect6_time64 (__NR_SYSCALL_BASE+413)
-ppoll_time64 (__NR_SYSCALL_BASE+414)
-io_pgetevents_time64 (__NR_SYSCALL_BASE+416)
-recvmmsg_time64 (__NR_SYSCALL_BASE+417)
-mq_timedsend_time64 (__NR_SYSCALL_BASE+418)
-mq_timedreceive_time64 (__NR_SYSCALL_BASE+419)
-semtimedop_time64 (__NR_SYSCALL_BASE+420)
-rt_sigtimedwait_time64 (__NR_SYSCALL_BASE+421)
-futex_time64 (__NR_SYSCALL_BASE+422)
-sched_rr_get_interval_time64 (__NR_SYSCALL_BASE+423)
-pidfd_send_signal (__NR_SYSCALL_BASE+424)
-io_uring_setup (__NR_SYSCALL_BASE+425)
-io_uring_enter (__NR_SYSCALL_BASE+426)
-io_uring_register (__NR_SYSCALL_BASE+427)
-open_tree (__NR_SYSCALL_BASE+428)
-move_mount (__NR_SYSCALL_BASE+429)
-fsopen (__NR_SYSCALL_BASE+430)
-fsconfig (__NR_SYSCALL_BASE+431)
-fsmount (__NR_SYSCALL_BASE+432)
-fspick (__NR_SYSCALL_BASE+433)
-pidfd_open (__NR_SYSCALL_BASE+434)
-clone3 (__NR_SYSCALL_BASE+435)
-close_range (__NR_SYSCALL_BASE+436)
-openat2 (__NR_SYSCALL_BASE+437)
-pidfd_getfd (__NR_SYSCALL_BASE+438)
-faccessat2 (__NR_SYSCALL_BASE+439)
-epoll_pwait2 (__NR_SYSCALL_BASE+441)
-quotactl_fd (__NR_SYSCALL_BASE+443)
-landlock_create_ruleset (__NR_SYSCALL_BASE+444)
-landlock_add_rule (__NR_SYSCALL_BASE+445)
-landlock_restrict_self (__NR_SYSCALL_BASE+446)
-memfd_secret (__NR_SYSCALL_BASE+447)
-futex_waitv (__NR_SYSCALL_BASE+449)
-cachestat (__NR_SYSCALL_BASE+451)
-fchmodat2 (__NR_SYSCALL_BASE+452)
-mseal (__NR_SYSCALL_BASE+462)
+restart_syscall 0
+exit 1
+fork 2
+read 3
+write 4
+open 5
+close 6
+creat 8
+link 9
+unlink 10
+execve 11
+chdir 12
+mknod 14
+chmod 15
+lchown 16
+lseek 19
+getpid 20
+mount 21
+setuid 23
+getuid 24
+ptrace 26
+pause 29
+access 33
+nice 34
+sync 36
+kill 37
+rename 38
+mkdir 39
+rmdir 40
+dup 41
+pipe 42
+times 43
+brk 45
+setgid 46
+getgid 47
+geteuid 49
+getegid 50
+acct 51
+umount2 52
+ioctl 54
+fcntl 55
+setpgid 57
+umask 60
+chroot 61
+ustat 62
+dup2 63
+getppid 64
+getpgrp 65
+setsid 66
+sigaction 67
+setreuid 70
+setregid 71
+sigsuspend 72
+sigpending 73
+sethostname 74
+setrlimit 75
+getrusage 77
+gettimeofday 78
+settimeofday 79
+getgroups 80
+setgroups 81
+symlink 83
+readlink 85
+uselib 86
+swapon 87
+reboot 88
+munmap 91
+truncate 92
+ftruncate 93
+fchmod 94
+fchown 95
+getpriority 96
+setpriority 97
+statfs 99
+fstatfs 100
+syslog 103
+setitimer 104
+getitimer 105
+stat 106
+lstat 107
+fstat 108
+vhangup 111
+wait4 114
+swapoff 115
+sysinfo 116
+fsync 118
+sigreturn 119
+clone 120
+setdomainname 121
+uname 122
+adjtimex 124
+mprotect 125
+sigprocmask 126
+init_module 128
+delete_module 129
+quotactl 131
+getpgid 132
+fchdir 133
+sysfs 135
+personality 136
+setfsuid 138
+setfsgid 139
+_llseek 140
+getdents 141
+_newselect 142
+flock 143
+msync 144
+readv 145
+writev 146
+getsid 147
+fdatasync 148
+_sysctl 149
+mlock 150
+munlock 151
+mlockall 152
+munlockall 153
+sched_setparam 154
+sched_getparam 155
+sched_setscheduler 156
+sched_getscheduler 157
+sched_yield 158
+sched_get_priority_max 159
+sched_get_priority_min 160
+sched_rr_get_interval 161
+nanosleep 162
+mremap 163
+setresuid 164
+getresuid 165
+poll 168
+nfsservctl 169
+setresgid 170
+getresgid 171
+prctl 172
+rt_sigreturn 173
+rt_sigaction 174
+rt_sigprocmask 175
+rt_sigpending 176
+rt_sigtimedwait 177
+rt_sigqueueinfo 178
+rt_sigsuspend 179
+pread64 180
+pwrite64 181
+chown 182
+getcwd 183
+capget 184
+capset 185
+sigaltstack 186
+sendfile 187
+vfork 190
+ugetrlimit 191
+mmap2 192
+truncate64 193
+ftruncate64 194
+stat64 195
+lstat64 196
+fstat64 197
+lchown32 198
+getuid32 199
+getgid32 200
+geteuid32 201
+getegid32 202
+setreuid32 203
+setregid32 204
+getgroups32 205
+setgroups32 206
+fchown32 207
+setresuid32 208
+getresuid32 209
+setresgid32 210
+getresgid32 211
+chown32 212
+setuid32 213
+setgid32 214
+setfsuid32 215
+setfsgid32 216
+getdents64 217
+pivot_root 218
+mincore 219
+madvise 220
+fcntl64 221
+gettid 224
+readahead 225
+setxattr 226
+lsetxattr 227
+fsetxattr 228
+getxattr 229
+lgetxattr 230
+fgetxattr 231
+listxattr 232
+llistxattr 233
+flistxattr 234
+removexattr 235
+lremovexattr 236
+fremovexattr 237
+tkill 238
+sendfile64 239
+futex 240
+sched_setaffinity 241
+sched_getaffinity 242
+io_setup 243
+io_destroy 244
+io_getevents 245
+io_submit 246
+io_cancel 247
+exit_group 248
+lookup_dcookie 249
+epoll_create 250
+epoll_ctl 251
+epoll_wait 252
+remap_file_pages 253
+set_tid_address 256
+timer_create 257
+timer_settime 258
+timer_gettime 259
+timer_getoverrun 260
+timer_delete 261
+clock_settime 262
+clock_gettime 263
+clock_getres 264
+clock_nanosleep 265
+statfs64 266
+fstatfs64 267
+tgkill 268
+utimes 269
+arm_fadvise64_64 270
+pciconfig_iobase 271
+pciconfig_read 272
+pciconfig_write 273
+mq_open 274
+mq_unlink 275
+mq_timedsend 276
+mq_timedreceive 277
+mq_notify 278
+mq_getsetattr 279
+waitid 280
+socket 281
+bind 282
+connect 283
+listen 284
+accept 285
+getsockname 286
+getpeername 287
+socketpair 288
+send 289
+sendto 290
+recv 291
+recvfrom 292
+shutdown 293
+setsockopt 294
+getsockopt 295
+sendmsg 296
+recvmsg 297
+semop 298
+semget 299
+semctl 300
+msgsnd 301
+msgrcv 302
+msgget 303
+msgctl 304
+shmat 305
+shmdt 306
+shmget 307
+shmctl 308
+add_key 309
+request_key 310
+keyctl 311
+semtimedop 312
+vserver 313
+ioprio_set 314
+ioprio_get 315
+inotify_init 316
+inotify_add_watch 317
+inotify_rm_watch 318
+mbind 319
+get_mempolicy 320
+set_mempolicy 321
+openat 322
+mkdirat 323
+mknodat 324
+fchownat 325
+futimesat 326
+fstatat64 327
+unlinkat 328
+renameat 329
+linkat 330
+symlinkat 331
+readlinkat 332
+fchmodat 333
+faccessat 334
+pselect6 335
+ppoll 336
+unshare 337
+set_robust_list 338
+get_robust_list 339
+splice 340
+arm_sync_file_range 341
+sync_file_range2 341
+tee 342
+vmsplice 343
+move_pages 344
+getcpu 345
+epoll_pwait 346
+kexec_load 347
+utimensat 348
+signalfd 349
+timerfd_create 350
+eventfd 351
+fallocate 352
+timerfd_settime 353
+timerfd_gettime 354
+signalfd4 355
+eventfd2 356
+epoll_create1 357
+dup3 358
+pipe2 359
+inotify_init1 360
+preadv 361
+pwritev 362
+rt_tgsigqueueinfo 363
+perf_event_open 364
+recvmmsg 365
+accept4 366
+fanotify_init 367
+fanotify_mark 368
+prlimit64 369
+name_to_handle_at 370
+open_by_handle_at 371
+clock_adjtime 372
+syncfs 373
+sendmmsg 374
+setns 375
+process_vm_readv 376
+process_vm_writev 377
+kcmp 378
+finit_module 379
+sched_setattr 380
+sched_getattr 381
+renameat2 382
+seccomp 383
+getrandom 384
+memfd_create 385
+bpf 386
+execveat 387
+userfaultfd 388
+membarrier 389
+mlock2 390
+copy_file_range 391
+preadv2 392
+pwritev2 393
+pkey_mprotect 394
+pkey_alloc 395
+pkey_free 396
+statx 397
+rseq 398
+io_pgetevents 399
+migrate_pages 400
+kexec_file_load 401
+clock_gettime64 403
+clock_settime64 404
+clock_adjtime64 405
+clock_getres_time64 406
+clock_nanosleep_time64 407
+timer_gettime64 408
+timer_settime64 409
+timerfd_gettime64 410
+timerfd_settime64 411
+utimensat_time64 412
+pselect6_time64 413
+ppoll_time64 414
+io_pgetevents_time64 416
+recvmmsg_time64 417
+mq_timedsend_time64 418
+mq_timedreceive_time64 419
+semtimedop_time64 420
+rt_sigtimedwait_time64 421
+futex_time64 422
+sched_rr_get_interval_time64 423
+pidfd_send_signal 424
+io_uring_setup 425
+io_uring_enter 426
+io_uring_register 427
+open_tree 428
+move_mount 429
+fsopen 430
+fsconfig 431
+fsmount 432
+fspick 433
+pidfd_open 434
+clone3 435
+close_range 436
+openat2 437
+pidfd_getfd 438
+faccessat2 439
+process_madvise 440
+epoll_pwait2 441
+mount_setattr 442
+quotactl_fd 443
+landlock_create_ruleset 444
+landlock_add_rule 445
+landlock_restrict_self 446
+process_mrelease 448
+futex_waitv 449
+set_mempolicy_home_node 450
+cachestat 451
+fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
+mseal 462
diff --git a/include/lapi/syscalls/arm64.in b/include/lapi/syscalls/arm64.in
index 61d4450bf..be7e9df64 100644
--- a/include/lapi/syscalls/arm64.in
+++ b/include/lapi/syscalls/arm64.in
@@ -77,12 +77,11 @@ vmsplice 75
splice 76
tee 77
readlinkat 78
-fstatat 79
+newfstatat 79
fstat 80
sync 81
fsync 82
fdatasync 83
-sync_file_range2 84
sync_file_range 84
timerfd_create 85
timerfd_settime 86
@@ -294,13 +293,26 @@ close_range 436
openat2 437
pidfd_getfd 438
faccessat2 439
+process_madvise 440
epoll_pwait2 441
+mount_setattr 442
quotactl_fd 443
landlock_create_ruleset 444
landlock_add_rule 445
landlock_restrict_self 446
+memfd_secret 447
+process_mrelease 448
futex_waitv 449
+set_mempolicy_home_node 450
cachestat 451
fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
mseal 462
-_sysctl 1078
diff --git a/include/lapi/syscalls/i386.in b/include/lapi/syscalls/i386.in
index f6e8c7258..13f72e795 100644
--- a/include/lapi/syscalls/i386.in
+++ b/include/lapi/syscalls/i386.in
@@ -111,7 +111,6 @@ olduname 109
iopl 110
vhangup 111
idle 112
-vm86old 113
wait4 114
swapoff 115
sysinfo 116
@@ -132,7 +131,6 @@ get_kernel_syms 130
quotactl 131
getpgid 132
fchdir 133
-bdflush 134
sysfs 135
personality 136
afs_syscall 137
@@ -164,7 +162,6 @@ nanosleep 162
mremap 163
setresuid 164
getresuid 165
-vm86 166
query_module 167
poll 168
nfsservctl 169
@@ -218,7 +215,6 @@ setfsgid32 216
pivot_root 217
mincore 218
madvise 219
-madvise1 219
getdents64 220
fcntl64 221
gettid 224
@@ -428,12 +424,26 @@ close_range 436
openat2 437
pidfd_getfd 438
faccessat2 439
+process_madvise 440
epoll_pwait2 441
+mount_setattr 442
quotactl_fd 443
landlock_create_ruleset 444
landlock_add_rule 445
landlock_restrict_self 446
+memfd_secret 447
+process_mrelease 448
futex_waitv 449
+set_mempolicy_home_node 450
cachestat 451
fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
mseal 462
diff --git a/include/lapi/syscalls/ia64.in b/include/lapi/syscalls/ia64.in
index 8f55029a9..b958d4cd9 100644
--- a/include/lapi/syscalls/ia64.in
+++ b/include/lapi/syscalls/ia64.in
@@ -18,6 +18,7 @@ lseek 1040
getpid 1041
getppid 1042
mount 1043
+umount 1044
umount2 1044
setuid 1045
getuid 1046
@@ -109,7 +110,6 @@ quotactl 1137
bdflush 1138
sysfs 1139
personality 1140
-afs_syscall 1141
setfsuid 1142
setfsgid 1143
getdents 1144
@@ -143,7 +143,6 @@ old_getpagesize 1171
mmap2 1172
pciconfig_read 1173
pciconfig_write 1174
-perfmonctl 1175
sigaltstack 1176
rt_sigaction 1177
rt_sigpending 1178
@@ -157,7 +156,6 @@ capget 1185
capset 1186
sendfile 1187
getpmsg 1188
-putpmsg 1189
socket 1190
bind 1191
connect 1192
@@ -237,7 +235,6 @@ mq_timedreceive 1265
mq_notify 1266
mq_getsetattr 1267
kexec_load 1268
-vserver 1269
waitid 1270
add_key 1271
request_key 1272
@@ -341,12 +338,15 @@ close_range 1460
openat2 1461
pidfd_getfd 1462
faccessat2 1463
+process_madvise 1464
epoll_pwait2 1465
+mount_setattr 1466
quotactl_fd 1467
landlock_create_ruleset 1468
landlock_add_rule 1469
landlock_restrict_self 1470
+process_mrelease 1472
futex_waitv 1473
+set_mempolicy_home_node 1474
cachestat 1475
fchmodat2 1476
-mseal 1486
diff --git a/include/lapi/syscalls/loongarch64.in b/include/lapi/syscalls/loongarch64.in
index 3df354fce..2c1ecd7ae 100644
--- a/include/lapi/syscalls/loongarch64.in
+++ b/include/lapi/syscalls/loongarch64.in
@@ -36,7 +36,6 @@ mkdirat 34
unlinkat 35
symlinkat 36
linkat 37
-renameat 38
umount2 39
mount 40
pivot_root 41
@@ -77,12 +76,11 @@ vmsplice 75
splice 76
tee 77
readlinkat 78
-fstatat 79
+newfstatat 79
fstat 80
sync 81
fsync 82
fdatasync 83
-sync_file_range2 84
sync_file_range 84
timerfd_create 85
timerfd_settime 86
@@ -162,8 +160,6 @@ setgroups 159
uname 160
sethostname 161
setdomainname 162
-getrlimit 163
-setrlimit 164
getrusage 165
umask 166
prctl 167
@@ -301,10 +297,18 @@ quotactl_fd 443
landlock_create_ruleset 444
landlock_add_rule 445
landlock_restrict_self 446
-memfd_secret 447
process_mrelease 448
futex_waitv 449
set_mempolicy_home_node 450
cachestat 451
fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
mseal 462
diff --git a/include/lapi/syscalls/mips64.in b/include/lapi/syscalls/mips64.in
index c34a85bbe..8be734158 100644
--- a/include/lapi/syscalls/mips64.in
+++ b/include/lapi/syscalls/mips64.in
@@ -175,7 +175,6 @@ nfsservctl 5173
getpmsg 5174
putpmsg 5175
afs_syscall 5176
-reserved177 5177
gettid 5178
readahead 5179
setxattr 5180
@@ -191,7 +190,6 @@ removexattr 5189
lremovexattr 5190
fremovexattr 5191
tkill 5192
-reserved193 5193
futex 5194
sched_setaffinity 5195
sched_getaffinity 5196
@@ -349,7 +347,18 @@ quotactl_fd 5443
landlock_create_ruleset 5444
landlock_add_rule 5445
landlock_restrict_self 5446
+process_mrelease 5448
futex_waitv 5449
+set_mempolicy_home_node 5450
cachestat 5451
fchmodat2 5452
+map_shadow_stack 5453
+futex_wake 5454
+futex_wait 5455
+futex_requeue 5456
+statmount 5457
+listmount 5458
+lsm_get_self_attr 5459
+lsm_set_self_attr 5460
+lsm_list_modules 5461
mseal 5462
diff --git a/include/lapi/syscalls/mips64n32.in b/include/lapi/syscalls/mips64n32.in
index d85c567c7..153fe50bf 100644
--- a/include/lapi/syscalls/mips64n32.in
+++ b/include/lapi/syscalls/mips64n32.in
@@ -175,7 +175,6 @@ nfsservctl 6173
getpmsg 6174
putpmsg 6175
afs_syscall 6176
-reserved177 6177
gettid 6178
readahead 6179
setxattr 6180
@@ -191,7 +190,6 @@ removexattr 6189
lremovexattr 6190
fremovexattr 6191
tkill 6192
-reserved193 6193
futex 6194
sched_setaffinity 6195
sched_getaffinity 6196
@@ -373,7 +371,18 @@ quotactl_fd 6443
landlock_create_ruleset 6444
landlock_add_rule 6445
landlock_restrict_self 6446
+process_mrelease 6448
futex_waitv 6449
+set_mempolicy_home_node 6450
cachestat 6451
fchmodat2 6452
+map_shadow_stack 6453
+futex_wake 6454
+futex_wait 6455
+futex_requeue 6456
+statmount 6457
+listmount 6458
+lsm_get_self_attr 6459
+lsm_set_self_attr 6460
+lsm_list_modules 6461
mseal 6462
diff --git a/include/lapi/syscalls/mipso32.in b/include/lapi/syscalls/mipso32.in
index 10d77787b..1ed74c1ec 100644
--- a/include/lapi/syscalls/mipso32.in
+++ b/include/lapi/syscalls/mipso32.in
@@ -16,7 +16,6 @@ mknod 4014
chmod 4015
lchown 4016
break 4017
-unused18 4018
lseek 4019
getpid 4020
mount 4021
@@ -26,7 +25,6 @@ getuid 4024
stime 4025
ptrace 4026
alarm 4027
-unused28 4028
pause 4029
utime 4030
stty 4031
@@ -80,9 +78,7 @@ gettimeofday 4078
settimeofday 4079
getgroups 4080
setgroups 4081
-reserved82 4082
symlink 4083
-unused84 4084
readlink 4085
uselib 4086
swapon 4087
@@ -111,7 +107,6 @@ unused109 4109
iopl 4110
vhangup 4111
idle 4112
-vm86 4113
wait4 4114
swapoff 4115
sysinfo 4116
@@ -132,7 +127,6 @@ get_kernel_syms 4130
quotactl 4131
getpgid 4132
fchdir 4133
-bdflush 4134
sysfs 4135
personality 4136
afs_syscall 4137
@@ -148,7 +142,6 @@ writev 4146
cacheflush 4147
cachectl 4148
sysmips 4149
-unused150 4150
getsid 4151
fdatasync 4152
_sysctl 4153
@@ -219,7 +212,6 @@ mincore 4217
madvise 4218
getdents64 4219
fcntl64 4220
-reserved221 4221
gettid 4222
readahead 4223
setxattr 4224
@@ -419,7 +411,18 @@ quotactl_fd 4443
landlock_create_ruleset 4444
landlock_add_rule 4445
landlock_restrict_self 4446
+process_mrelease 4448
futex_waitv 4449
+set_mempolicy_home_node 4450
cachestat 4451
fchmodat2 4452
+map_shadow_stack 4453
+futex_wake 4454
+futex_wait 4455
+futex_requeue 4456
+statmount 4457
+listmount 4458
+lsm_get_self_attr 4459
+lsm_set_self_attr 4460
+lsm_list_modules 4461
mseal 4462
diff --git a/include/lapi/syscalls/parisc.in b/include/lapi/syscalls/parisc.in
index 8240c69ce..662bfea44 100644
--- a/include/lapi/syscalls/parisc.in
+++ b/include/lapi/syscalls/parisc.in
@@ -1,33 +1,362 @@
+restart_syscall 0
+exit 1
+fork 2
+read 3
+write 4
+open 5
+close 6
+waitpid 7
+creat 8
+link 9
+unlink 10
+execve 11
+chdir 12
+time 13
+mknod 14
+chmod 15
+lchown 16
+socket 17
+stat 18
+lseek 19
+getpid 20
+mount 21
+bind 22
+setuid 23
+getuid 24
+stime 25
+ptrace 26
+alarm 27
+fstat 28
+pause 29
+utime 30
+connect 31
+listen 32
+access 33
+nice 34
+accept 35
+sync 36
+kill 37
+rename 38
+mkdir 39
+rmdir 40
+dup 41
+pipe 42
+times 43
+getsockname 44
+brk 45
+setgid 46
+getgid 47
+signal 48
+geteuid 49
+getegid 50
+acct 51
+umount2 52
+getpeername 53
+ioctl 54
+fcntl 55
+socketpair 56
+setpgid 57
+send 58
+uname 59
+umask 60
+chroot 61
+ustat 62
+dup2 63
+getppid 64
+getpgrp 65
+setsid 66
+pivot_root 67
+sgetmask 68
+ssetmask 69
+setreuid 70
+setregid 71
+mincore 72
+sigpending 73
+sethostname 74
+setrlimit 75
+getrlimit 76
+getrusage 77
+gettimeofday 78
+settimeofday 79
+getgroups 80
+setgroups 81
+sendto 82
+symlink 83
+lstat 84
+readlink 85
+uselib 86
+swapon 87
+reboot 88
+mmap2 89
+mmap 90
+munmap 91
+truncate 92
+ftruncate 93
+fchmod 94
+fchown 95
+getpriority 96
+setpriority 97
+recv 98
+statfs 99
+fstatfs 100
+stat64 101
+syslog 103
+setitimer 104
+getitimer 105
+capget 106
+capset 107
+pread64 108
+pwrite64 109
+getcwd 110
+vhangup 111
+fstat64 112
+vfork 113
+wait4 114
+swapoff 115
+sysinfo 116
+shutdown 117
+fsync 118
+madvise 119
+clone 120
+setdomainname 121
+sendfile 122
+recvfrom 123
+adjtimex 124
+mprotect 125
+sigprocmask 126
+init_module 128
+delete_module 129
+quotactl 131
+getpgid 132
+fchdir 133
+sysfs 135
+personality 136
+setfsuid 138
+setfsgid 139
+_llseek 140
+getdents 141
+_newselect 142
+flock 143
+msync 144
+readv 145
+writev 146
+getsid 147
+fdatasync 148
_sysctl 149
+mlock 150
+munlock 151
+mlockall 152
+munlockall 153
+sched_setparam 154
+sched_getparam 155
+sched_setscheduler 156
+sched_getscheduler 157
+sched_yield 158
+sched_get_priority_max 159
+sched_get_priority_min 160
+sched_rr_get_interval 161
+nanosleep 162
+mremap 163
+setresuid 164
+getresuid 165
+sigaltstack 166
+poll 168
+setresgid 170
+getresgid 171
+prctl 172
+rt_sigreturn 173
+rt_sigaction 174
+rt_sigprocmask 175
+rt_sigpending 176
+rt_sigtimedwait 177
+rt_sigqueueinfo 178
+rt_sigsuspend 179
+chown 180
+setsockopt 181
+getsockopt 182
+sendmsg 183
+recvmsg 184
+semop 185
+semget 186
+semctl 187
+msgsnd 188
+msgrcv 189
+msgget 190
+msgctl 191
+shmat 192
+shmdt 193
+shmget 194
+shmctl 195
+lstat64 198
+truncate64 199
+ftruncate64 200
+getdents64 201
+fcntl64 202
+gettid 206
+readahead 207
+tkill 208
+sendfile64 209
+futex 210
+sched_setaffinity 211
+sched_getaffinity 212
+io_setup 215
+io_destroy 216
+io_getevents 217
+io_submit 218
+io_cancel 219
+exit_group 222
+lookup_dcookie 223
+epoll_create 224
+epoll_ctl 225
+epoll_wait 226
+remap_file_pages 227
+semtimedop 228
+mq_open 229
+mq_unlink 230
+mq_timedsend 231
+mq_timedreceive 232
+mq_notify 233
+mq_getsetattr 234
+waitid 235
+fadvise64_64 236
+set_tid_address 237
+setxattr 238
+lsetxattr 239
+fsetxattr 240
+getxattr 241
+lgetxattr 242
+fgetxattr 243
+listxattr 244
+llistxattr 245
+flistxattr 246
+removexattr 247
+lremovexattr 248
+fremovexattr 249
+timer_create 250
+timer_settime 251
+timer_gettime 252
+timer_getoverrun 253
+timer_delete 254
+clock_settime 255
+clock_gettime 256
+clock_getres 257
+clock_nanosleep 258
+tgkill 259
+mbind 260
+get_mempolicy 261
+set_mempolicy 262
+add_key 264
+request_key 265
+keyctl 266
+ioprio_set 267
+ioprio_get 268
+inotify_init 269
+inotify_add_watch 270
+inotify_rm_watch 271
+migrate_pages 272
+pselect6 273
+ppoll 274
openat 275
-mkdirat (__NR_openat + 1)
-mknodat (__NR_openat + 2)
-fchownat (__NR_openat + 3)
-futimesat (__NR_openat + 4)
-newfstatat (__NR_openat + 5)
-fstatat64 (__NR_openat + 5)
-unlinkat (__NR_openat + 6)
-renameat (__NR_openat + 7)
-linkat (__NR_openat + 8)
-symlinkat (__NR_openat + 9)
-readlinkat (__NR_openat + 10)
-fchmodat (__NR_openat + 11)
-faccessat (__NR_openat + 12)
+mkdirat 276
+mknodat 277
+fchownat 278
+futimesat 279
+fstatat64 280
+unlinkat 281
+renameat 282
+linkat 283
+symlinkat 284
+readlinkat 285
+fchmodat 286
+faccessat 287
+unshare 288
+set_robust_list 289
+get_robust_list 290
splice 291
+sync_file_range 292
tee 293
vmsplice 294
+move_pages 295
+getcpu 296
+epoll_pwait 297
+statfs64 298
+fstatfs64 299
+kexec_load 300
+utimensat 301
+signalfd 302
+eventfd 304
+fallocate 305
+timerfd_create 306
+timerfd_settime 307
+timerfd_gettime 308
+signalfd4 309
+eventfd2 310
+epoll_create1 311
+dup3 312
+pipe2 313
+inotify_init1 314
+preadv 315
+pwritev 316
+rt_tgsigqueueinfo 317
+perf_event_open 318
+recvmmsg 319
+accept4 320
+prlimit64 321
+fanotify_init 322
+fanotify_mark 323
+clock_adjtime 324
+name_to_handle_at 325
+open_by_handle_at 326
syncfs 327
setns 328
+sendmmsg 329
process_vm_readv 330
process_vm_writev 331
+kcmp 332
+finit_module 333
+sched_setattr 334
+sched_getattr 335
+utimes 336
+renameat2 337
+seccomp 338
+getrandom 339
memfd_create 340
-membarrier 343
+bpf 341
execveat 342
+membarrier 343
+userfaultfd 344
mlock2 345
copy_file_range 346
preadv2 347
pwritev2 348
+statx 349
io_pgetevents 350
+pkey_mprotect 351
+pkey_alloc 352
+pkey_free 353
+rseq 354
+kexec_file_load 355
+cacheflush 356
+clock_gettime64 403
+clock_settime64 404
+clock_adjtime64 405
+clock_getres_time64 406
+clock_nanosleep_time64 407
+timer_gettime64 408
+timer_settime64 409
+timerfd_gettime64 410
+timerfd_settime64 411
+utimensat_time64 412
+pselect6_time64 413
+ppoll_time64 414
+io_pgetevents_time64 416
+recvmmsg_time64 417
+mq_timedsend_time64 418
+mq_timedreceive_time64 419
+semtimedop_time64 420
+rt_sigtimedwait_time64 421
+futex_time64 422
+sched_rr_get_interval_time64 423
pidfd_send_signal 424
io_uring_setup 425
io_uring_enter 426
@@ -39,14 +368,30 @@ fsconfig 431
fsmount 432
fspick 433
pidfd_open 434
+clone3 435
close_range 436
+openat2 437
+pidfd_getfd 438
faccessat2 439
+process_madvise 440
epoll_pwait2 441
+mount_setattr 442
quotactl_fd 443
landlock_create_ruleset 444
landlock_add_rule 445
landlock_restrict_self 446
+process_mrelease 448
futex_waitv 449
+set_mempolicy_home_node 450
cachestat 451
fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
mseal 462
diff --git a/include/lapi/syscalls/powerpc.in b/include/lapi/syscalls/powerpc.in
index af3ae5c90..faaa75883 100644
--- a/include/lapi/syscalls/powerpc.in
+++ b/include/lapi/syscalls/powerpc.in
@@ -111,7 +111,6 @@ olduname 109
iopl 110
vhangup 111
idle 112
-vm86 113
wait4 114
swapoff 115
sysinfo 116
@@ -132,7 +131,6 @@ get_kernel_syms 130
quotactl 131
getpgid 132
fchdir 133
-bdflush 134
sysfs 135
personality 136
afs_syscall 137
@@ -199,7 +197,6 @@ fstat64 197
pciconfig_read 198
pciconfig_write 199
pciconfig_iobase 200
-multiplexer 201
getdents64 202
pivot_root 203
fcntl64 204
@@ -253,7 +250,6 @@ statfs64 252
fstatfs64 253
fadvise64_64 254
rtas 255
-sys_debug_setcontext 256
migrate_pages 258
mbind 259
get_mempolicy 260
@@ -287,7 +283,6 @@ mkdirat 287
mknodat 288
fchownat 289
futimesat 290
-newfstatat 291
fstatat64 291
unlinkat 292
renameat 293
@@ -374,7 +369,6 @@ pkey_free 385
pkey_mprotect 386
rseq 387
io_pgetevents 388
-semtimedop 392
semget 393
semctl 394
shmget 395
@@ -421,12 +415,25 @@ close_range 436
openat2 437
pidfd_getfd 438
faccessat2 439
+process_madvise 440
epoll_pwait2 441
+mount_setattr 442
quotactl_fd 443
landlock_create_ruleset 444
landlock_add_rule 445
landlock_restrict_self 446
+process_mrelease 448
futex_waitv 449
+set_mempolicy_home_node 450
cachestat 451
fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
mseal 462
diff --git a/include/lapi/syscalls/powerpc64.in b/include/lapi/syscalls/powerpc64.in
index af3ae5c90..23b65e784 100644
--- a/include/lapi/syscalls/powerpc64.in
+++ b/include/lapi/syscalls/powerpc64.in
@@ -111,7 +111,6 @@ olduname 109
iopl 110
vhangup 111
idle 112
-vm86 113
wait4 114
swapoff 115
sysinfo 116
@@ -132,7 +131,6 @@ get_kernel_syms 130
quotactl 131
getpgid 132
fchdir 133
-bdflush 134
sysfs 135
personality 136
afs_syscall 137
@@ -190,19 +188,11 @@ putpmsg 188
vfork 189
ugetrlimit 190
readahead 191
-mmap2 192
-truncate64 193
-ftruncate64 194
-stat64 195
-lstat64 196
-fstat64 197
pciconfig_read 198
pciconfig_write 199
pciconfig_iobase 200
-multiplexer 201
getdents64 202
pivot_root 203
-fcntl64 204
madvise 205
mincore 206
gettid 207
@@ -223,7 +213,6 @@ futex 221
sched_setaffinity 222
sched_getaffinity 223
tuxcall 225
-sendfile64 226
io_setup 227
io_destroy 228
io_getevents 229
@@ -251,9 +240,7 @@ tgkill 250
utimes 251
statfs64 252
fstatfs64 253
-fadvise64_64 254
rtas 255
-sys_debug_setcontext 256
migrate_pages 258
mbind 259
get_mempolicy 260
@@ -288,7 +275,6 @@ mknodat 288
fchownat 289
futimesat 290
newfstatat 291
-fstatat64 291
unlinkat 292
renameat 293
linkat 294
@@ -385,26 +371,6 @@ msgget 399
msgsnd 400
msgrcv 401
msgctl 402
-clock_gettime64 403
-clock_settime64 404
-clock_adjtime64 405
-clock_getres_time64 406
-clock_nanosleep_time64 407
-timer_gettime64 408
-timer_settime64 409
-timerfd_gettime64 410
-timerfd_settime64 411
-utimensat_time64 412
-pselect6_time64 413
-ppoll_time64 414
-io_pgetevents_time64 416
-recvmmsg_time64 417
-mq_timedsend_time64 418
-mq_timedreceive_time64 419
-semtimedop_time64 420
-rt_sigtimedwait_time64 421
-futex_time64 422
-sched_rr_get_interval_time64 423
pidfd_send_signal 424
io_uring_setup 425
io_uring_enter 426
@@ -421,12 +387,25 @@ close_range 436
openat2 437
pidfd_getfd 438
faccessat2 439
+process_madvise 440
epoll_pwait2 441
+mount_setattr 442
quotactl_fd 443
landlock_create_ruleset 444
landlock_add_rule 445
landlock_restrict_self 446
+process_mrelease 448
futex_waitv 449
+set_mempolicy_home_node 450
cachestat 451
fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
mseal 462
diff --git a/include/lapi/syscalls/s390.in b/include/lapi/syscalls/s390.in
index e8e7fff0b..69d7408b7 100644
--- a/include/lapi/syscalls/s390.in
+++ b/include/lapi/syscalls/s390.in
@@ -112,7 +112,6 @@ get_kernel_syms 130
quotactl 131
getpgid 132
fchdir 133
-bdflush 134
sysfs 135
personality 136
afs_syscall 137
@@ -408,12 +407,26 @@ close_range 436
openat2 437
pidfd_getfd 438
faccessat2 439
+process_madvise 440
epoll_pwait2 441
+mount_setattr 442
quotactl_fd 443
landlock_create_ruleset 444
landlock_add_rule 445
landlock_restrict_self 446
+memfd_secret 447
+process_mrelease 448
futex_waitv 449
+set_mempolicy_home_node 450
cachestat 451
fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
mseal 462
diff --git a/include/lapi/syscalls/s390x.in b/include/lapi/syscalls/s390x.in
index 0ee3bd897..fa98054c7 100644
--- a/include/lapi/syscalls/s390x.in
+++ b/include/lapi/syscalls/s390x.in
@@ -96,7 +96,6 @@ get_kernel_syms 130
quotactl 131
getpgid 132
fchdir 133
-bdflush 134
sysfs 135
personality 136
afs_syscall 137
@@ -356,12 +355,26 @@ close_range 436
openat2 437
pidfd_getfd 438
faccessat2 439
+process_madvise 440
epoll_pwait2 441
+mount_setattr 442
quotactl_fd 443
landlock_create_ruleset 444
landlock_add_rule 445
landlock_restrict_self 446
+memfd_secret 447
+process_mrelease 448
futex_waitv 449
+set_mempolicy_home_node 450
cachestat 451
fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
mseal 462
diff --git a/include/lapi/syscalls/sh.in b/include/lapi/syscalls/sh.in
index 5701f2285..2e584253c 100644
--- a/include/lapi/syscalls/sh.in
+++ b/include/lapi/syscalls/sh.in
@@ -115,7 +115,6 @@ delete_module 129
quotactl 131
getpgid 132
fchdir 133
-bdflush 134
sysfs 135
personality 136
setfsuid 138
@@ -357,6 +356,7 @@ pkey_mprotect 384
pkey_alloc 385
pkey_free 386
rseq 387
+sync_file_range2 388
semget 393
semctl 394
shmget 395
@@ -402,12 +402,25 @@ close_range 436
openat2 437
pidfd_getfd 438
faccessat2 439
+process_madvise 440
epoll_pwait2 441
+mount_setattr 442
quotactl_fd 443
landlock_create_ruleset 444
landlock_add_rule 445
landlock_restrict_self 446
+process_mrelease 448
futex_waitv 449
+set_mempolicy_home_node 450
cachestat 451
fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
mseal 462
diff --git a/include/lapi/syscalls/sparc.in b/include/lapi/syscalls/sparc.in
index 172969f60..fcdb9b812 100644
--- a/include/lapi/syscalls/sparc.in
+++ b/include/lapi/syscalls/sparc.in
@@ -221,7 +221,6 @@ create_module 221
delete_module 222
get_kernel_syms 223
getpgid 224
-bdflush 225
sysfs 226
afs_syscall 227
setfsuid 228
@@ -407,12 +406,25 @@ close_range 436
openat2 437
pidfd_getfd 438
faccessat2 439
+process_madvise 440
epoll_pwait2 441
+mount_setattr 442
quotactl_fd 443
landlock_create_ruleset 444
landlock_add_rule 445
landlock_restrict_self 446
+process_mrelease 448
futex_waitv 449
+set_mempolicy_home_node 450
cachestat 451
fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
mseal 462
diff --git a/include/lapi/syscalls/sparc64.in b/include/lapi/syscalls/sparc64.in
index 5b667f10f..4256aaf77 100644
--- a/include/lapi/syscalls/sparc64.in
+++ b/include/lapi/syscalls/sparc64.in
@@ -29,8 +29,6 @@ alarm 27
sigaltstack 28
pause 29
utime 30
-lchown32 31
-fchown32 32
access 33
nice 34
sync 36
@@ -206,7 +204,6 @@ create_module 221
delete_module 222
get_kernel_syms 223
getpgid 224
-bdflush 225
sysfs 226
afs_syscall 227
setfsuid 228
@@ -372,12 +369,25 @@ close_range 436
openat2 437
pidfd_getfd 438
faccessat2 439
+process_madvise 440
epoll_pwait2 441
+mount_setattr 442
quotactl_fd 443
landlock_create_ruleset 444
landlock_add_rule 445
landlock_restrict_self 446
+process_mrelease 448
futex_waitv 449
+set_mempolicy_home_node 450
cachestat 451
fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
mseal 462
diff --git a/include/lapi/syscalls/x86_64.in b/include/lapi/syscalls/x86_64.in
index 1993f343a..e6c0a3b40 100644
--- a/include/lapi/syscalls/x86_64.in
+++ b/include/lapi/syscalls/x86_64.in
@@ -333,6 +333,7 @@ pkey_free 331
statx 332
io_pgetevents 333
rseq 334
+uretprobe 335
pidfd_send_signal 424
io_uring_setup 425
io_uring_enter 426
@@ -349,48 +350,26 @@ close_range 436
openat2 437
pidfd_getfd 438
faccessat2 439
+process_madvise 440
epoll_pwait2 441
+mount_setattr 442
quotactl_fd 443
landlock_create_ruleset 444
landlock_add_rule 445
landlock_restrict_self 446
+memfd_secret 447
+process_mrelease 448
futex_waitv 449
+set_mempolicy_home_node 450
cachestat 451
fchmodat2 452
+map_shadow_stack 453
+futex_wake 454
+futex_wait 455
+futex_requeue 456
+statmount 457
+listmount 458
+lsm_get_self_attr 459
+lsm_set_self_attr 460
+lsm_list_modules 461
mseal 462
-rt_sigaction 512
-rt_sigreturn 513
-ioctl 514
-readv 515
-writev 516
-recvfrom 517
-sendmsg 518
-recvmsg 519
-execve 520
-ptrace 521
-rt_sigpending 522
-rt_sigtimedwait 523
-rt_sigqueueinfo 524
-sigaltstack 525
-timer_create 526
-mq_notify 527
-kexec_load 528
-waitid 529
-set_robust_list 530
-get_robust_list 531
-vmsplice 532
-move_pages 533
-preadv 534
-pwritev 535
-rt_tgsigqueueinfo 536
-recvmmsg 537
-sendmmsg 538
-process_vm_readv 539
-process_vm_writev 540
-setsockopt 541
-getsockopt 542
-io_setup 543
-io_submit 544
-execveat 545
-preadv2 546
-pwritev2 547
--
2.43.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 1/4] Refactor regen.sh script to generate syscalls
2024-10-09 9:45 ` [LTP] [PATCH v4 1/4] Refactor regen.sh script to generate syscalls Andrea Cervesato
@ 2024-10-14 12:45 ` Li Wang
2024-10-25 10:03 ` Petr Vorel
1 sibling, 0 replies; 20+ messages in thread
From: Li Wang @ 2024-10-14 12:45 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: ltp
On Wed, Oct 9, 2024 at 5:45 PM Andrea Cervesato <andrea.cervesato@suse.de>
wrote:
> From: Andrea Cervesato <andrea.cervesato@suse.com>
>
> Rename regen.sh into a more meaningful generate_syscalls.sh name, rename
> order into a more meaningful supported-syscalls.txt name and rewrite
> part of the regen.sh script code in order to execute it from anywhere in
> the filesystem, without need to be in its own folder. The new code is
> also more clear and concise, using native sh features which are
> simplifying the code.
>
> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
> ---
> configure.ac | 2 +-
> include/lapi/syscalls/generate_syscalls.sh | 115
> ++++++++++++++++++
> include/lapi/syscalls/regen.sh | 129
> ---------------------
> .../lapi/syscalls/{order => supported-arch.txt} | 0
> 4 files changed, 116 insertions(+), 130 deletions(-)
>
> diff --git a/configure.ac b/configure.ac
> index ebbf49e28..45f92477f 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -384,7 +384,7 @@ else
> AC_SUBST([WITH_REALTIME_TESTSUITE],["no"])
> fi
>
> -AC_CONFIG_COMMANDS([syscalls.h], [cd
> ${ac_top_srcdir}/include/lapi/syscalls; ./regen.sh])
> +AC_CONFIG_COMMANDS([syscalls.h], [cd
> ${ac_top_srcdir}/include/lapi/syscalls; ./generate_syscalls.sh
> ../syscalls.h])
>
You probably need to rebase this line if Zhijian's patch gets applied first.
https://lists.linux.it/pipermail/ltp/2024-October/040574.html
Otherwise, this one looks pretty good.
Reviewed-by: Li Wang <liwang@redhat.com>
--
Regards,
Li Wang
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 4/4] Update syscalls files
2024-10-09 9:45 ` [LTP] [PATCH v4 4/4] Update syscalls files Andrea Cervesato
@ 2024-10-15 6:49 ` Li Wang
2024-10-15 7:04 ` Li Wang
2024-10-23 12:11 ` Andrea Cervesato via ltp
0 siblings, 2 replies; 20+ messages in thread
From: Li Wang @ 2024-10-15 6:49 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: ltp
Andrea Cervesato <andrea.cervesato@suse.de> wrote:
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
> ---
> include/lapi/syscalls/arc.in | 41 +-
> include/lapi/syscalls/arm.in | 819
> ++++++++++++++++++-----------------
> include/lapi/syscalls/arm64.in | 18 +-
> include/lapi/syscalls/i386.in | 18 +-
> include/lapi/syscalls/ia64.in | 10 +-
>
The mainline kernel has dropped support for Itanium IA-64 from kernel-v6.7.
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cf8e8658100d4eae80ce9b21f7a81cb024dd5057
I'm wondering if we should remove IA64 support for LTP as well.
But whatever LTP keeps the code for IA64 or not, maybe we don't
need these update for ia64, right?
--
Regards,
Li Wang
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 4/4] Update syscalls files
2024-10-15 6:49 ` Li Wang
@ 2024-10-15 7:04 ` Li Wang
2024-10-15 17:17 ` Petr Vorel
2024-10-23 12:11 ` Andrea Cervesato via ltp
1 sibling, 1 reply; 20+ messages in thread
From: Li Wang @ 2024-10-15 7:04 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: ltp
Hi All,
On Tue, Oct 15, 2024 at 2:49 PM Li Wang <liwang@redhat.com> wrote:
>
> Andrea Cervesato <andrea.cervesato@suse.de> wrote:
>
> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
>> ---
>> include/lapi/syscalls/arc.in | 41 +-
>> include/lapi/syscalls/arm.in | 819
>> ++++++++++++++++++-----------------
>> include/lapi/syscalls/arm64.in | 18 +-
>> include/lapi/syscalls/i386.in | 18 +-
>> include/lapi/syscalls/ia64.in | 10 +-
>>
>
>
> The mainline kernel has dropped support for Itanium IA-64 from kernel-v6.7
> .
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cf8e8658100d4eae80ce9b21f7a81cb024dd5057
>
> I'm wondering if we should remove IA64 support for LTP as well.
>
> But whatever LTP keeps the code for IA64 or not, maybe we don't
> need these update for ia64, right?
>
BTW, The below link here may not be directly relevant to your patch,
but I think of we have discussed cleaning up the IA64 code in LTP before.
https://lists.linux.it/pipermail/ltp/2024-January/036611.html
--
Regards,
Li Wang
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 3/4] Delete obsolete strip_syscall.awk file
2024-10-09 9:45 ` [LTP] [PATCH v4 3/4] Delete obsolete strip_syscall.awk file Andrea Cervesato
@ 2024-10-15 8:10 ` Li Wang
2024-10-25 10:23 ` Petr Vorel
1 sibling, 0 replies; 20+ messages in thread
From: Li Wang @ 2024-10-15 8:10 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: ltp
On Wed, Oct 9, 2024 at 5:46 PM Andrea Cervesato <andrea.cervesato@suse.de>
wrote:
> From: Andrea Cervesato <andrea.cervesato@suse.com>
>
> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
>
Reviewed-by: Li Wang <liwang@redhat.com>
> ---
> include/lapi/syscalls/strip_syscall.awk | 19 -------------------
> 1 file changed, 19 deletions(-)
>
> diff --git a/include/lapi/syscalls/strip_syscall.awk
> b/include/lapi/syscalls/strip_syscall.awk
> deleted file mode 100755
> index e8dff422e..000000000
> --- a/include/lapi/syscalls/strip_syscall.awk
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -#!/usr/bin/awk -f
> -#
> -# Dumb script that can be used to strip all of the syscall information
> from
> -# the arch-respective unistd*.h.
> -#
> -# Examples:
> -#
> -# 1. Grab the i386 32-bit syscalls from unistd_32.h and put them in
> i386.in
> -# strip_syscall.awk arch/x86/include/asm/unistd_32.h > i386.in
> -#
> -
> -/^#define[[:space:]]+__NR_[0-9a-z]+/ {
> -
> - sub (/#define[[:space:]]+__NR_/, "", $0);
> - sub (/[[:space:]]*(\/\*.*)/, "", $0);
> - sub (/[[:space:]]+/, " ", $0);
> -
> - print
> -}
>
> --
> 2.43.0
>
>
> --
> Mailing list info: https://lists.linux.it/listinfo/ltp
>
>
--
Regards,
Li Wang
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 2/4] Add script to generate arch(s) dependant syscalls
2024-10-09 9:45 ` [LTP] [PATCH v4 2/4] Add script to generate arch(s) dependant syscalls Andrea Cervesato
@ 2024-10-15 8:12 ` Li Wang
2024-10-25 10:20 ` Petr Vorel
1 sibling, 0 replies; 20+ messages in thread
From: Li Wang @ 2024-10-15 8:12 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: ltp
Andrea Cervesato <andrea.cervesato@suse.de> wrote:
> Add generate_arch.sh script which can be used to generate arch(s)
> dependant syscalls file. The way it works is pretty simple: for each
> architecture defined into supported-arch.txt, compile kernel headers,
> extract the list of syscalls and generate a .in file containing all of
> them, associated with their own syscall's number.
> The way syscalls files are generated, passes through a C application
> which is automatically checking the availability of the syscalls in
> the user space environment.
>
This is a great idea, thanks for achieving it.
Reviewed-by: Li Wang <liwang@redhat.com>
--
Regards,
Li Wang
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 4/4] Update syscalls files
2024-10-15 7:04 ` Li Wang
@ 2024-10-15 17:17 ` Petr Vorel
2024-10-23 12:34 ` Andrea Cervesato via ltp
0 siblings, 1 reply; 20+ messages in thread
From: Petr Vorel @ 2024-10-15 17:17 UTC (permalink / raw)
To: Li Wang; +Cc: ltp
Hi Andrea, Li, all,
> Hi All,
> On Tue, Oct 15, 2024 at 2:49 PM Li Wang <liwang@redhat.com> wrote:
> > Andrea Cervesato <andrea.cervesato@suse.de> wrote:
> > Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
> >> ---
> >> include/lapi/syscalls/arc.in | 41 +-
> >> include/lapi/syscalls/arm.in | 819
> >> ++++++++++++++++++-----------------
> >> include/lapi/syscalls/arm64.in | 18 +-
> >> include/lapi/syscalls/i386.in | 18 +-
> >> include/lapi/syscalls/ia64.in | 10 +-
> > The mainline kernel has dropped support for Itanium IA-64 from kernel-v6.7
> > .
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cf8e8658100d4eae80ce9b21f7a81cb024dd5057
> > I'm wondering if we should remove IA64 support for LTP as well.
> > But whatever LTP keeps the code for IA64 or not, maybe we don't
> > need these update for ia64, right?
> BTW, The below link here may not be directly relevant to your patch,
> but I think of we have discussed cleaning up the IA64 code in LTP before.
> https://lists.linux.it/pipermail/ltp/2024-January/036611.html
Yes, it's time to drop IA64 code (as a separate effort, there are #ifdef).
It would be cleaner if you instead of modifying ia64.in just remove the file in
a separate commit before (unrelated change). But I'm ok also with single commit
if you're not going to send another version.
I also wonder if we should add PA-RISC, HP stop supporting servers in 2013 [1].
Sure, kernel is still contains this arch, but I doubt anybody uses LTP for
testing. The arch is IMHO not supported directly by any distro (it was dropped
from Debian 6 squeeze [2], which was released 2011 and EOL 2016), moved to
Debian ports [3]. The community is still somehow active, but few people just
fight to fix compilation issues [4].
Sure, it's jut a single file (parisc.in) and we have other legacy architectures
which are passing away but not yet removed from kernel tree due few people using
them (at least sh, s390, sparc). Having these files we suggest somebody is
actually taking care about these archs. But as I said, probably nobody is using
LTP to test them, thus many tests will be broken.
[1] https://en.wikipedia.org/wiki/PA-RISC
[2] https://www.debian.org/ports/hppa/
[3] https://lists.debian.org/debian-hppa/
[4] https://lists.debian.org/debian-hppa/2024/09/threads.html
Also, this 4th patch also does not apply. Unlike first commit there are more
conflicts (applying of course on the top of the 3 previous patches):
Description: [v4,4/4] Update syscalls files
Applying: Update syscalls files
error: patch failed: include/lapi/syscalls/arm.in:1
error: include/lapi/syscalls/arm.in: patch does not apply
error: patch failed: include/lapi/syscalls/arm64.in:294
error: include/lapi/syscalls/arm64.in: patch does not apply
error: patch failed: include/lapi/syscalls/ia64.in:341
error: include/lapi/syscalls/ia64.in: patch does not apply
error: patch failed: include/lapi/syscalls/x86_64.in:349
error: include/lapi/syscalls/x86_64.in: patch does not apply
Patch failed at 0001 Update syscalls files
Kind regards,
Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 4/4] Update syscalls files
2024-10-15 6:49 ` Li Wang
2024-10-15 7:04 ` Li Wang
@ 2024-10-23 12:11 ` Andrea Cervesato via ltp
1 sibling, 0 replies; 20+ messages in thread
From: Andrea Cervesato via ltp @ 2024-10-23 12:11 UTC (permalink / raw)
To: Li Wang, Andrea Cervesato; +Cc: ltp
Hi Li,
On 10/15/24 08:49, Li Wang wrote:
>
> Andrea Cervesato <andrea.cervesato@suse.de> wrote:
>
> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
> ---
> include/lapi/syscalls/arc.in <http://arc.in> | 41 +-
> include/lapi/syscalls/arm.in <http://arm.in> | 819
> ++++++++++++++++++-----------------
> include/lapi/syscalls/arm64.in <http://arm64.in> | 18 +-
> include/lapi/syscalls/i386.in <http://i386.in> | 18 +-
> include/lapi/syscalls/ia64.in <http://ia64.in> | 10 +-
>
>
>
> The mainline kernel has dropped support for Itanium IA-64
> from kernel-v6.7.
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cf8e8658100d4eae80ce9b21f7a81cb024dd5057
>
> I'm wondering if we should remove IA64 support for LTP as well.
>
> But whatever LTP keeps the code for IA64 or not, maybe we don't
> need these update for ia64, right?
I don't know if it's a good idea, since we still support older kernel
versions.
>
>
> --
> Regards,
> Li Wang
Andrea
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 4/4] Update syscalls files
2024-10-15 17:17 ` Petr Vorel
@ 2024-10-23 12:34 ` Andrea Cervesato via ltp
2024-10-23 12:57 ` Petr Vorel
0 siblings, 1 reply; 20+ messages in thread
From: Andrea Cervesato via ltp @ 2024-10-23 12:34 UTC (permalink / raw)
To: Petr Vorel, Li Wang; +Cc: ltp
Hi Petr,
On 10/15/24 19:17, Petr Vorel wrote:
> Hi Andrea, Li, all,
>
>> Hi All,
>> On Tue, Oct 15, 2024 at 2:49 PM Li Wang <liwang@redhat.com> wrote:
>
>>> Andrea Cervesato <andrea.cervesato@suse.de> wrote:
>>> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
>>>> ---
>>>> include/lapi/syscalls/arc.in | 41 +-
>>>> include/lapi/syscalls/arm.in | 819
>>>> ++++++++++++++++++-----------------
>>>> include/lapi/syscalls/arm64.in | 18 +-
>>>> include/lapi/syscalls/i386.in | 18 +-
>>>> include/lapi/syscalls/ia64.in | 10 +-
>
>
>>> The mainline kernel has dropped support for Itanium IA-64 from kernel-v6.7
>>> .
>>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cf8e8658100d4eae80ce9b21f7a81cb024dd5057
>>> I'm wondering if we should remove IA64 support for LTP as well.
>>> But whatever LTP keeps the code for IA64 or not, maybe we don't
>>> need these update for ia64, right?
>
>> BTW, The below link here may not be directly relevant to your patch,
>> but I think of we have discussed cleaning up the IA64 code in LTP before.
>> https://lists.linux.it/pipermail/ltp/2024-January/036611.html
> Yes, it's time to drop IA64 code (as a separate effort, there are #ifdef).
>
> It would be cleaner if you instead of modifying ia64.in just remove the file in
> a separate commit before (unrelated change). But I'm ok also with single commit
> if you're not going to send another version.
Ok, now I see the point. Well, we can make a decision around it then,
but it will probably need more people involved.
> I also wonder if we should add PA-RISC, HP stop supporting servers in 2013 [1].
> Sure, kernel is still contains this arch, but I doubt anybody uses LTP for
> testing. The arch is IMHO not supported directly by any distro (it was dropped
> from Debian 6 squeeze [2], which was released 2011 and EOL 2016), moved to
> Debian ports [3]. The community is still somehow active, but few people just
> fight to fix compilation issues [4].
>
> Sure, it's jut a single file (parisc.in) and we have other legacy architectures
> which are passing away but not yet removed from kernel tree due few people using
> them (at least sh, s390, sparc). Having these files we suggest somebody is
> actually taking care about these archs. But as I said, probably nobody is using
> LTP to test them, thus many tests will be broken.
>
> [1] https://en.wikipedia.org/wiki/PA-RISC
> [2] https://www.debian.org/ports/hppa/
> [3] https://lists.debian.org/debian-hppa/
> [4] https://lists.debian.org/debian-hppa/2024/09/threads.html
>
> Also, this 4th patch also does not apply. Unlike first commit there are more
> conflicts (applying of course on the top of the 3 previous patches):
>
> Description: [v4,4/4] Update syscalls files
> Applying: Update syscalls files
> error: patch failed: include/lapi/syscalls/arm.in:1
> error: include/lapi/syscalls/arm.in: patch does not apply
> error: patch failed: include/lapi/syscalls/arm64.in:294
> error: include/lapi/syscalls/arm64.in: patch does not apply
> error: patch failed: include/lapi/syscalls/ia64.in:341
> error: include/lapi/syscalls/ia64.in: patch does not apply
> error: patch failed: include/lapi/syscalls/x86_64.in:349
> error: include/lapi/syscalls/x86_64.in: patch does not apply
> Patch failed at 0001 Update syscalls files
This is really strange. It's not happening for me even with the latest
HEAD. Did you rebase first?
> Kind regards,
> Petr
Andrea
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 4/4] Update syscalls files
2024-10-23 12:34 ` Andrea Cervesato via ltp
@ 2024-10-23 12:57 ` Petr Vorel
2024-10-23 14:30 ` Andrea Cervesato via ltp
0 siblings, 1 reply; 20+ messages in thread
From: Petr Vorel @ 2024-10-23 12:57 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: ltp
Hi Andrea,
> Hi Petr,
...
> > Also, this 4th patch also does not apply. Unlike first commit there are more
> > conflicts (applying of course on the top of the 3 previous patches):
> > Description: [v4,4/4] Update syscalls files
> > Applying: Update syscalls files
> > error: patch failed: include/lapi/syscalls/arm.in:1
> > error: include/lapi/syscalls/arm.in: patch does not apply
> > error: patch failed: include/lapi/syscalls/arm64.in:294
> > error: include/lapi/syscalls/arm64.in: patch does not apply
> > error: patch failed: include/lapi/syscalls/ia64.in:341
> > error: include/lapi/syscalls/ia64.in: patch does not apply
> > error: patch failed: include/lapi/syscalls/x86_64.in:349
> > error: include/lapi/syscalls/x86_64.in: patch does not apply
> > Patch failed at 0001 Update syscalls files
> This is really strange. It's not happening for me even with the latest HEAD.
> Did you rebase first?
I was applying to the master (as I wrote first I need to adjust first patch
which also didn't apply, but that's just a single line). Don't bother if the
problem is really on my side. But pushing the patchset to your fork would help
me to actually test the code.
Kind regards,
Petr
> > Kind regards,
> > Petr
> Andrea
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 4/4] Update syscalls files
2024-10-23 12:57 ` Petr Vorel
@ 2024-10-23 14:30 ` Andrea Cervesato via ltp
2024-10-25 9:37 ` Petr Vorel
0 siblings, 1 reply; 20+ messages in thread
From: Andrea Cervesato via ltp @ 2024-10-23 14:30 UTC (permalink / raw)
To: Petr Vorel; +Cc: ltp
On 10/23/24 14:57, Petr Vorel wrote:
> Hi Andrea,
>
>> Hi Petr,
> ...
>>> Also, this 4th patch also does not apply. Unlike first commit there are more
>>> conflicts (applying of course on the top of the 3 previous patches):
>>> Description: [v4,4/4] Update syscalls files
>>> Applying: Update syscalls files
>>> error: patch failed: include/lapi/syscalls/arm.in:1
>>> error: include/lapi/syscalls/arm.in: patch does not apply
>>> error: patch failed: include/lapi/syscalls/arm64.in:294
>>> error: include/lapi/syscalls/arm64.in: patch does not apply
>>> error: patch failed: include/lapi/syscalls/ia64.in:341
>>> error: include/lapi/syscalls/ia64.in: patch does not apply
>>> error: patch failed: include/lapi/syscalls/x86_64.in:349
>>> error: include/lapi/syscalls/x86_64.in: patch does not apply
>>> Patch failed at 0001 Update syscalls files
>> This is really strange. It's not happening for me even with the latest HEAD.
>> Did you rebase first?
> I was applying to the master (as I wrote first I need to adjust first patch
> which also didn't apply, but that's just a single line). Don't bother if the
> problem is really on my side. But pushing the patchset to your fork would help
> me to actually test the code.
You can check it out here:
https://github.com/acerv/ltp/actions/runs/11480881574
Andrea
>
> Kind regards,
> Petr
>
>>> Kind regards,
>>> Petr
>> Andrea
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 4/4] Update syscalls files
2024-10-23 14:30 ` Andrea Cervesato via ltp
@ 2024-10-25 9:37 ` Petr Vorel
0 siblings, 0 replies; 20+ messages in thread
From: Petr Vorel @ 2024-10-25 9:37 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: ltp
Hi Andrea,
> On 10/23/24 14:57, Petr Vorel wrote:
> > Hi Andrea,
> > > Hi Petr,
> > ...
> > > > Also, this 4th patch also does not apply. Unlike first commit there are more
> > > > conflicts (applying of course on the top of the 3 previous patches):
> > > > Description: [v4,4/4] Update syscalls files
> > > > Applying: Update syscalls files
> > > > error: patch failed: include/lapi/syscalls/arm.in:1
> > > > error: include/lapi/syscalls/arm.in: patch does not apply
> > > > error: patch failed: include/lapi/syscalls/arm64.in:294
> > > > error: include/lapi/syscalls/arm64.in: patch does not apply
> > > > error: patch failed: include/lapi/syscalls/ia64.in:341
> > > > error: include/lapi/syscalls/ia64.in: patch does not apply
> > > > error: patch failed: include/lapi/syscalls/x86_64.in:349
> > > > error: include/lapi/syscalls/x86_64.in: patch does not apply
> > > > Patch failed at 0001 Update syscalls files
> > > This is really strange. It's not happening for me even with the latest HEAD.
> > > Did you rebase first?
> > I was applying to the master (as I wrote first I need to adjust first patch
> > which also didn't apply, but that's just a single line). Don't bother if the
> > problem is really on my side. But pushing the patchset to your fork would help
> > me to actually test the code.
> You can check it out here:
> https://github.com/acerv/ltp/actions/runs/11480881574
thanks, but the run points to the b4/generate_syscalls branch [1], which is not the
same as you post as v4. It has 4 commits, but 1st of them "Automatically
generate syscalls.h" [2] is a cover letter without change. And it does not have
the 4th commit [3] which I was unable to apply (the error reported, it's in few
lines above in the email).
Anyway, you got a review from Li, thus feel free just merge what you sent as v4,
no need to resent a new version just because it's not applicable.
I try to have a quick look on v4, but you don't have to wait for me.
Kind regards,
Petr
[1] https://github.com/acerv/ltp/commits/refs/heads/b4/generate_syscalls/
[2] https://github.com/acerv/ltp/commit/7544e1faa28cced4fdd6c47dc81ee5b84fb2ae01
[3] https://lore.kernel.org/ltp/20241009-generate_syscalls-v4-4-5328a785bbad@suse.com/
> Andrea
> > Kind regards,
> > Petr
> > > > Kind regards,
> > > > Petr
> > > Andrea
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 1/4] Refactor regen.sh script to generate syscalls
2024-10-09 9:45 ` [LTP] [PATCH v4 1/4] Refactor regen.sh script to generate syscalls Andrea Cervesato
2024-10-14 12:45 ` Li Wang
@ 2024-10-25 10:03 ` Petr Vorel
1 sibling, 0 replies; 20+ messages in thread
From: Petr Vorel @ 2024-10-25 10:03 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: ltp
Hi Andrea,
nice improvement.
TL;DR typo "kj" + missing SPDX and copyright would be worth to fix before merge.
Below are other minor notes, feel free to ignore.
Reviewed-by: Petr Vorel <pvorel@suse.cz>
> Rename regen.sh into a more meaningful generate_syscalls.sh name, rename
> order into a more meaningful supported-syscalls.txt name and rewrite
> part of the regen.sh script code in order to execute it from anywhere in
> the filesystem, without need to be in its own folder. The new code is
> also more clear and concise, using native sh features which are
> simplifying the code.
> Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
> ---
> configure.ac | 2 +-
> include/lapi/syscalls/generate_syscalls.sh | 115 ++++++++++++++++++
> include/lapi/syscalls/regen.sh | 129 ---------------------
> .../lapi/syscalls/{order => supported-arch.txt} | 0
> 4 files changed, 116 insertions(+), 130 deletions(-)
> diff --git a/configure.ac b/configure.ac
> index ebbf49e28..45f92477f 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -384,7 +384,7 @@ else
> AC_SUBST([WITH_REALTIME_TESTSUITE],["no"])
> fi
> -AC_CONFIG_COMMANDS([syscalls.h], [cd ${ac_top_srcdir}/include/lapi/syscalls; ./regen.sh])
> +AC_CONFIG_COMMANDS([syscalls.h], [cd ${ac_top_srcdir}/include/lapi/syscalls; ./generate_syscalls.sh ../syscalls.h])
As Li noted, this will need to be rebased
AC_CONFIG_COMMANDS([syscalls.h], [cd ${ac_top_srcdir}/include/lapi/syscalls; ./generate_syscalls.sh; cd - >/dev/null])
But as you don't do cd, that fix "cd - > /dev/null" can be again removed.
> # custom functions
> # NOTE: don't create custom functions for simple checks, put them into this file
> diff --git a/include/lapi/syscalls/generate_syscalls.sh b/include/lapi/syscalls/generate_syscalls.sh
> new file mode 100755
> index 000000000..863f52253
> --- /dev/null
> +++ b/include/lapi/syscalls/generate_syscalls.sh
> @@ -0,0 +1,115 @@
> +#!/bin/sh
The script should have SPDX + some copyright, right?
# SPDX-License-Identifier: GPL-2.0-or-later
> +#
> +# Generate the syscalls.h file, merging all architectures syscalls input file
> +# which are in the current folder and defined inside supported-arch.txt file.
> +
> +SYSCALLS_FILE="${1}"
nit: {} are not needed
SYSCALLS_FILE="$1"
I would personally use ${..} only when needed (IMHO everywhere in the script
just $... can be used (readability).
> +
> +if [ -z "${SYSCALLS_FILE}" ]; then
> + echo "Please provide the syscalls.h directory:"
> + echo ""
> + echo "$0 path/of/syscalls.h"
> + echo ""
> + exit 1
> +fi
> +
> +SCRIPT_DIR="$(realpath $(dirname "$0"))"
> +SUPPORTED_ARCH="${SCRIPT_DIR}/supported-arch.txt"
> +
> +merge_syscalls() {
> + echo '
> +/************************************************
> +* GENERATED FILE: DO NOT EDIT/PATCH THIS FILE *
> +* change your arch specific .in file instead *
> +************************************************/
> +
> +/*
> +kj* Here we stick all the ugly *fallback* logic for linux
typo "kj", can you please remove it?
> +* system call numbers (those __NR_ thingies).
> +*
> +* Licensed under the GPLv2 or later, see the COPYING file.
> +*/
> +
> +#ifndef LAPI_SYSCALLS_H__
> +#define LAPI_SYSCALLS_H__
> +
> +#include <errno.h>
> +#include <sys/syscall.h>
> +#include <asm/unistd.h>
> +
> +#ifdef TST_TEST_H__
> +#define TST_SYSCALL_BRK__(NR, SNR) ({ \
> +tst_brk(TCONF, \
> + "syscall(%d) " SNR " not supported on your arch", NR); \
> +})
> +#else
> +inline static void dummy_cleanup(void) {}
> +
> +#define TST_SYSCALL_BRK__(NR, SNR) ({ \
> +tst_brkm(TCONF, dummy_cleanup, \
> + "syscall(%d) " SNR " not supported on your arch", NR); \
> +})
> +#endif
> +
> +#define tst_syscall(NR, ...) ({ \
> +intptr_t tst_ret; \
> +if (NR == __LTP__NR_INVALID_SYSCALL) { \
> + errno = ENOSYS; \
> + tst_ret = -1; \
> +} else { \
> + tst_ret = syscall(NR, ##__VA_ARGS__); \
> +} \
> +if (tst_ret == -1 && errno == ENOSYS) { \
> + TST_SYSCALL_BRK__(NR, #NR); \
> +} \
> +tst_ret; \
> +})
> +
> +#define __LTP__NR_INVALID_SYSCALL -1' >${SYSCALLS_FILE}
> +
> + while IFS= read -r arch; do
> + (
> + echo
> + case ${arch} in
> + sparc64) echo "#if defined(__sparc__) && defined(__arch64__)" ;;
> + sparc) echo "#if defined(__sparc__) && !defined(__arch64__)" ;;
> + s390) echo "#if defined(__s390__) && !defined(__s390x__)" ;;
> + mips_n32) echo "#if defined(__mips__) && defined(_ABIN32)" ;;
> + mips_n64) echo "#if defined(__mips__) && defined(_ABI64)" ;;
> + mips_o32) echo "#if defined(__mips__) && defined(_ABIO32) && _MIPS_SZLONG == 32" ;;
> + *) echo "#ifdef __${arch}__" ;;
> + esac
> +
> + while read -r line; do
> + set -- ${line}
> + syscall_nr="__NR_$1"
> + shift
> +
> + echo "# ifndef ${syscall_nr}"
> + echo "# define ${syscall_nr} $*"
> + echo "# endif"
> + done <"${SCRIPT_DIR}/${arch}.in"
> + echo "#endif"
> + echo
> + ) >>${SYSCALLS_FILE}
> + done <${SUPPORTED_ARCH}
nit: I would either don't define any function at all (have everything as
inline, thus save 1 indent) or, have this part of the code as a function.
Kind regards,
Petr
> +
> + (
> + echo
> + echo "/* Common stubs */"
> + while IFS= read -r arch; do
> + while IFS= read -r line; do
> + set -- ${line}
> + syscall_nr="__NR_$1"
> + shift
> +
> + echo "# ifndef ${syscall_nr}"
> + echo "# define ${syscall_nr} __LTP__NR_INVALID_SYSCALL"
> + echo "# endif"
> + done <"${SCRIPT_DIR}/${arch}.in"
> + done <${SUPPORTED_ARCH}
> + echo "#endif"
> + ) >>${SYSCALLS_FILE}
> +}
> +
> +merge_syscalls
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 2/4] Add script to generate arch(s) dependant syscalls
2024-10-09 9:45 ` [LTP] [PATCH v4 2/4] Add script to generate arch(s) dependant syscalls Andrea Cervesato
2024-10-15 8:12 ` Li Wang
@ 2024-10-25 10:20 ` Petr Vorel
2024-10-30 8:40 ` Andrea Cervesato via ltp
1 sibling, 1 reply; 20+ messages in thread
From: Petr Vorel @ 2024-10-25 10:20 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: ltp
Hi Andrea,
> Add generate_arch.sh script which can be used to generate arch(s)
> dependant syscalls file. The way it works is pretty simple: for each
> architecture defined into supported-arch.txt, compile kernel headers,
> extract the list of syscalls and generate a .in file containing all of
> them, associated with their own syscall's number.
Nice improvement, thanks!
> The way syscalls files are generated, passes through a C application
> which is automatically checking the availability of the syscalls in
> the user space environment.
This C application is in the Linux kernel and we only consume the result right?
If the C app was needed to be run for LTP, that would broke LTP cross compilation.
(There are people compiling LTP with cross compilation, e.g. arm folks in yocto
and Buildroot, riscv64 on openSUSE Tumbleweed).
> diff --git a/include/lapi/syscalls/generate_arch.sh b/include/lapi/syscalls/generate_arch.sh
> new file mode 100755
> index 000000000..abdb52256
> --- /dev/null
> +++ b/include/lapi/syscalls/generate_arch.sh
> @@ -0,0 +1,205 @@
> +#!/bin/sh
> +#
> +# This is an adaptation of the update-tables.sh script, included in the
> +# syscalls-table project (https://github.com/hrw/syscalls-table) and released
> +# under the MIT license.
> +#
> +# Author: Andrea Cervesato <andrea.cervesato@suse.com>
nit: I would still use some SPDX + copyright here.
> +
> +KERNELSRC=$1
Generally all shell variables should be quoted to avoid problems with space.
Feel free to do that before merge.
KERNELSRC="$1"
> +
> +# to keep sorting in order
> +export LC_ALL=C
> +
> +if [ -z $KERNELSRC ]; then
Also here and on other places.
if [ -z "$KERNELSRC" ]; then
Try run script with:
KERNELSRC="foo bar"
[: aa: unexpected operator
Kind regards,
Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 3/4] Delete obsolete strip_syscall.awk file
2024-10-09 9:45 ` [LTP] [PATCH v4 3/4] Delete obsolete strip_syscall.awk file Andrea Cervesato
2024-10-15 8:10 ` Li Wang
@ 2024-10-25 10:23 ` Petr Vorel
1 sibling, 0 replies; 20+ messages in thread
From: Petr Vorel @ 2024-10-25 10:23 UTC (permalink / raw)
To: Andrea Cervesato; +Cc: ltp
Hi Andrea,
obviously correct.
Reviewed-by: Petr Vorel <pvorel@suse.cz>
Kind regards,
Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re: [LTP] [PATCH v4 2/4] Add script to generate arch(s) dependant syscalls
2024-10-25 10:20 ` Petr Vorel
@ 2024-10-30 8:40 ` Andrea Cervesato via ltp
0 siblings, 0 replies; 20+ messages in thread
From: Andrea Cervesato via ltp @ 2024-10-30 8:40 UTC (permalink / raw)
To: Petr Vorel, Andrea Cervesato; +Cc: ltp
Hi Petr,
On 10/25/24 12:20, Petr Vorel wrote:
> Hi Andrea,
>
>> Add generate_arch.sh script which can be used to generate arch(s)
>> dependant syscalls file. The way it works is pretty simple: for each
>> architecture defined into supported-arch.txt, compile kernel headers,
>> extract the list of syscalls and generate a .in file containing all of
>> them, associated with their own syscall's number.
> Nice improvement, thanks!
>
>> The way syscalls files are generated, passes through a C application
>> which is automatically checking the availability of the syscalls in
>> the user space environment.
> This C application is in the Linux kernel and we only consume the result right?
>
> If the C app was needed to be run for LTP, that would broke LTP cross compilation.
> (There are people compiling LTP with cross compilation, e.g. arm folks in yocto
> and Buildroot, riscv64 on openSUSE Tumbleweed).
The application is auto generated and compiled by this script during
syscalls files generation. It's the same approach syscalls-table project
is using
https://github.com/hrw/syscalls-table/blob/master/scripts/update-tables.sh#L69
>> diff --git a/include/lapi/syscalls/generate_arch.sh b/include/lapi/syscalls/generate_arch.sh
>> new file mode 100755
>> index 000000000..abdb52256
>> --- /dev/null
>> +++ b/include/lapi/syscalls/generate_arch.sh
>> @@ -0,0 +1,205 @@
>> +#!/bin/sh
>> +#
>> +# This is an adaptation of the update-tables.sh script, included in the
>> +# syscalls-table project (https://github.com/hrw/syscalls-table) and released
>> +# under the MIT license.
>> +#
>> +# Author: Andrea Cervesato <andrea.cervesato@suse.com>
> nit: I would still use some SPDX + copyright here.
Sure
>
>> +
>> +KERNELSRC=$1
> Generally all shell variables should be quoted to avoid problems with space.
> Feel free to do that before merge.
>
> KERNELSRC="$1"
>
>> +
>> +# to keep sorting in order
>> +export LC_ALL=C
>> +
>> +if [ -z $KERNELSRC ]; then
> Also here and on other places.
>
> if [ -z "$KERNELSRC" ]; then
>
> Try run script with:
> KERNELSRC="foo bar"
>
> [: aa: unexpected operator
>
> Kind regards,
> Petr
Good point.
Andrea
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2024-10-30 8:40 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-09 9:45 [LTP] [PATCH v4 0/4] Automatically generate syscalls.h Andrea Cervesato
2024-10-09 9:45 ` [LTP] [PATCH v4 1/4] Refactor regen.sh script to generate syscalls Andrea Cervesato
2024-10-14 12:45 ` Li Wang
2024-10-25 10:03 ` Petr Vorel
2024-10-09 9:45 ` [LTP] [PATCH v4 2/4] Add script to generate arch(s) dependant syscalls Andrea Cervesato
2024-10-15 8:12 ` Li Wang
2024-10-25 10:20 ` Petr Vorel
2024-10-30 8:40 ` Andrea Cervesato via ltp
2024-10-09 9:45 ` [LTP] [PATCH v4 3/4] Delete obsolete strip_syscall.awk file Andrea Cervesato
2024-10-15 8:10 ` Li Wang
2024-10-25 10:23 ` Petr Vorel
2024-10-09 9:45 ` [LTP] [PATCH v4 4/4] Update syscalls files Andrea Cervesato
2024-10-15 6:49 ` Li Wang
2024-10-15 7:04 ` Li Wang
2024-10-15 17:17 ` Petr Vorel
2024-10-23 12:34 ` Andrea Cervesato via ltp
2024-10-23 12:57 ` Petr Vorel
2024-10-23 14:30 ` Andrea Cervesato via ltp
2024-10-25 9:37 ` Petr Vorel
2024-10-23 12:11 ` Andrea Cervesato via ltp
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox