aboutsummaryrefslogtreecommitdiff
path: root/linux/mips
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2017-05-25 16:56:11 -0700
committerElliott Hughes <enh@google.com>2017-05-25 17:06:49 -0700
commit39bac055674d23770b9a724221b728e443196ea7 (patch)
treed9bb3d25790b210e9df18b5300e328def95b7060 /linux/mips
parent304752e0d49253a8409118d948d31ef3a7b2bc6b (diff)
downloadstrace-39bac055674d23770b9a724221b728e443196ea7.tar.gz
Upgrade strace to 4.17.
Noteworthy changes in release 4.17 (2017-05-24) =============================================== * Changes in command line syntax * Syscall classes specified in -e trace= option now have % prefix (like -e trace=%process). Old style class names without leading % are still supported, but considered deprecated now. * Improvements * Optimized syscall filtering. * Improved representation of timestamps. * Enhanced decoding of sched_setattr syscall. * Added -e trace=%stat option for tracing variants of stat syscall. * Added -e trace=%lstat option for tracing variants of lstat syscall. * Added -e trace=%fstat option for tracing variants of fstat and fstatat syscalls. * Added -e trace=%%stat option for tracing syscalls used for querying file status information (stat, lstat, fstat, fstatat, statx, and their variations). * Added -e trace=%statfs option for tracing statfs, statfs64 and statvfs syscalls. * Added -e trace=%fstatfs option for tracing fstatfs, fstatfs64 and fstatvfs syscalls. * Added -e trace=%%statfs option for tracing syscalls used for querying file system statistics information (statfs-like, fstatfs-like and ustat). * Added -e trace=/regex option for filtering syscalls using regular expressions. * Added support for prepending of question mark before syscall qualification in -e trace expressions in order to suppress error in case no syscalls matched the provided qualification. * Implemented decoding of signal mask in rt_sigreturn syscall on alpha, arc, arm, avr32, bfin, cris, hppa, m68k, metag, microblaze, mips, nios2, or1k, powerpc, powerpc64, riscv, sh, sh64, sparc, sparc64, tile, x86, and xtensa architectures. * Implemented decoding of statx syscall. * Implemented decoding of NS_* ioctl commands. * Implemented decoding of the remaining V4L2_BUF_TYPE_* types. * Implemented decoding of VIDIOC_[SG]_TUNER ioctl commands. * Implemented decoding of NLMSG_ERROR netlink messages. * Improved decoding of BPF_PROG_ATTACH command of bpf syscall. * Improved decoding of misplaced parts in DM_* ioctl commands. * Updated lists of ioctl commands from Linux 4.11. * Bug fixes * Fixed decoding of flags argument of preadv2 and pwritev2 syscalls on x32. * Fixed the number of arguments and tracing flags of alpha specific syscalls. * Fixed decoding of old sigsuspend syscall on alpha, cris, mips, powerpc, powerpc64, sh, sh64, sparc, and sparc64. * Fixed decoding of sgetmask and ssetmask syscalls on 64-bit architectures. * Fixed decoding of netlink messages received within struct msghdr. * Worked around a bug in miscompiled aarch64 kernels leading to the 3rd argument of sched_getattr syscall being not quite 32-bit. * Fixed corner cases of printing inaccessible times argument of utimes and futimesat syscalls. Bug: N/A Test: strace date Change-Id: Idc4614a3f16ffe57fdca2a07a05253900d1c52bb
Diffstat (limited to 'linux/mips')
-rw-r--r--linux/mips/arch_rt_sigframe.c31
-rw-r--r--linux/mips/arch_sigreturn.c17
-rw-r--r--linux/mips/rt_sigframe.h39
-rw-r--r--linux/mips/syscallent-compat.h64
-rw-r--r--linux/mips/syscallent-n32-stub.h330
-rw-r--r--linux/mips/syscallent-n32.h19
-rw-r--r--linux/mips/syscallent-n64-stub.h326
-rw-r--r--linux/mips/syscallent-n64.h15
-rw-r--r--linux/mips/syscallent-o32-stub.h366
-rw-r--r--linux/mips/syscallent-o32.h37
10 files changed, 143 insertions, 1101 deletions
diff --git a/linux/mips/arch_rt_sigframe.c b/linux/mips/arch_rt_sigframe.c
new file mode 100644
index 00000000..03acc73f
--- /dev/null
+++ b/linux/mips/arch_rt_sigframe.c
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+FUNC_GET_RT_SIGFRAME_ADDR
+{
+ return mips_REG_SP;
+}
diff --git a/linux/mips/arch_sigreturn.c b/linux/mips/arch_sigreturn.c
index 72f7619b..522b7315 100644
--- a/linux/mips/arch_sigreturn.c
+++ b/linux/mips/arch_sigreturn.c
@@ -1,26 +1,17 @@
static void
arch_sigreturn(struct tcb *tcp)
{
-#if defined LINUX_MIPSO32
+ /* 64-bit ABIs do not have old sigreturn. */
+#ifdef LINUX_MIPSO32
/*
* offsetof(struct sigframe, sf_mask) ==
* sizeof(sf_ass) + sizeof(sf_pad) + sizeof(struct sigcontext)
*/
const kernel_ulong_t addr = mips_REG_SP + 6 * 4 +
sizeof(struct sigcontext);
-#else
- /*
- * This decodes rt_sigreturn.
- * The 64-bit ABIs do not have sigreturn.
- *
- * offsetof(struct rt_sigframe, rs_uc) ==
- * sizeof(sf_ass) + sizeof(sf_pad) + sizeof(struct siginfo)
- */
- const kernel_ulong_t addr = mips_REG_SP + 6 * 4 + 128 +
- offsetof(struct ucontext, uc_sigmask);
-#endif
tprints("{mask=");
- print_sigset_addr_len(tcp, addr, NSIG_BYTES);
+ print_sigset_addr(tcp, addr);
tprints("}");
+#endif
}
diff --git a/linux/mips/rt_sigframe.h b/linux/mips/rt_sigframe.h
new file mode 100644
index 00000000..e07bcd14
--- /dev/null
+++ b/linux/mips/rt_sigframe.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2017 Dmitry V. Levin <ldv@altlinux.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ * derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef STRACE_RT_SIGFRAME_H
+#define STRACE_RT_SIGFRAME_H
+
+#include <signal.h>
+
+typedef struct {
+ uint32_t pad[6];
+ siginfo_t info;
+ ucontext_t uc;
+} struct_rt_sigframe;
+
+#endif /* !STRACE_RT_SIGFRAME_H */
diff --git a/linux/mips/syscallent-compat.h b/linux/mips/syscallent-compat.h
index 82a373b6..d8b309d7 100644
--- a/linux/mips/syscallent-compat.h
+++ b/linux/mips/syscallent-compat.h
@@ -16,7 +16,7 @@
[ 15] = { 0, 0, SEN(printargs), "svr4_chmod" },
[ 16] = { 0, 0, SEN(printargs), "svr4_chown" },
[ 17] = { 0, TM, SEN(printargs), "svr4_sbreak" },
-[ 18] = { 0, 0, SEN(printargs), "svr4_stat" },
+[ 18] = { 0, TF|TST|TSTA,SEN(printargs), "svr4_stat" },
[ 19] = { 0, 0, SEN(printargs), "svr4_lseek" },
[ 20] = { 0, 0, SEN(printargs), "svr4_getpid" },
[ 21] = { 0, 0, SEN(printargs), "svr4_mount" },
@@ -26,17 +26,17 @@
[ 25] = { 0, 0, SEN(printargs), "svr4_stime" },
[ 26] = { 0, 0, SEN(printargs), "svr4_ptrace" },
[ 27] = { 0, 0, SEN(printargs), "svr4_alarm" },
-[ 28] = { 0, 0, SEN(printargs), "svr4_fstat" },
+[ 28] = { 0, TD|TFST|TSTA,SEN(printargs), "svr4_fstat" },
[ 29] = { 0, 0, SEN(printargs), "svr4_pause" },
[ 30] = { 0, 0, SEN(printargs), "svr4_utime" },
[ 31] = { 0, 0, SEN(printargs), "svr4_stty" },
[ 32] = { 0, 0, SEN(printargs), "svr4_gtty" },
[ 33] = { 0, 0, SEN(printargs), "svr4_access" },
[ 34] = { 0, 0, SEN(printargs), "svr4_nice" },
-[ 35] = { 0, 0, SEN(printargs), "svr4_statfs" },
+[ 35] = { 0, TF|TSF|TSFA,SEN(printargs), "svr4_statfs" },
[ 36] = { 0, 0, SEN(printargs), "svr4_sync" },
[ 37] = { 0, 0, SEN(printargs), "svr4_kill" },
-[ 38] = { 0, 0, SEN(printargs), "svr4_fstatfs" },
+[ 38] = { 0, TD|TFSF|TSFA,SEN(printargs), "svr4_fstatfs" },
[ 39] = { 0, 0, SEN(printargs), "svr4_setpgrp" },
[ 40] = { 0, 0, SEN(printargs), "svr4_cxenix" },
[ 41] = { 0, 0, SEN(printargs), "svr4_dup" },
@@ -81,7 +81,7 @@
[ 85] = { 0, 0, SEN(printargs), "svr4_getmsg" },
[ 86] = { 0, 0, SEN(printargs), "svr4_putmsg" },
[ 87] = { 0, 0, SEN(printargs), "svr4_poll" },
-[ 88] = { 0, 0, SEN(printargs), "svr4_lstat" },
+[ 88] = { 0, TF|TLST|TSTA,SEN(printargs), "svr4_lstat" },
[ 89] = { 0, 0, SEN(printargs), "svr4_symlink" },
[ 90] = { 0, 0, SEN(printargs), "svr4_readlink" },
[ 91] = { 0, 0, SEN(printargs), "svr4_setgroups" },
@@ -96,8 +96,8 @@
[ 100] = { 0, 0, SEN(printargs), "svr4_setcontext" },
[ 101] = { 0, 0, SEN(printargs), "svr4_evsys" },
[ 102] = { 0, 0, SEN(printargs), "svr4_evtrapret" },
-[ 103] = { 0, 0, SEN(printargs), "svr4_statvfs" },
-[ 104] = { 0, 0, SEN(printargs), "svr4_fstatvfs" },
+[ 103] = { 0, TF|TSF|TSFA,SEN(printargs), "svr4_statvfs" },
+[ 104] = { 0, TD|TFSF|TSFA,SEN(printargs), "svr4_fstatvfs" },
[ 105] = { },
[ 106] = { 0, 0, SEN(printargs), "svr4_nfssys" },
[ 107] = { 0, 0, SEN(printargs), "svr4_waitid" },
@@ -116,9 +116,9 @@
[ 120] = { 0, 0, SEN(printargs), "svr4_fchdir" },
[ 121] = { 0, 0, SEN(printargs), "svr4_readv" },
[ 122] = { 0, 0, SEN(printargs), "svr4_writev" },
-[ 123] = { 0, 0, SEN(printargs), "svr4_xstat" },
-[ 124] = { 0, 0, SEN(printargs), "svr4_lxstat" },
-[ 125] = { 0, 0, SEN(printargs), "svr4_fxstat" },
+[ 123] = { 0, TF|TST|TSTA,SEN(printargs), "svr4_xstat" },
+[ 124] = { 0, TF|TLST|TSTA,SEN(printargs), "svr4_lxstat" },
+[ 125] = { 0, TD|TFST|TSTA,SEN(printargs), "svr4_fxstat" },
[ 126] = { 0, 0, SEN(printargs), "svr4_xmknod" },
[ 127] = { 0, 0, SEN(printargs), "svr4_clocal" },
[ 128] = { 0, 0, SEN(printargs), "svr4_setrlimit" },
@@ -167,7 +167,7 @@
[1015] = { 0, 0, SEN(printargs), "sysv_chmod" },
[1016] = { 0, 0, SEN(printargs), "sysv_chown" },
[1017] = { 0, TM|SI, SEN(printargs), "sysv_brk" },
-[1018] = { 0, 0, SEN(printargs), "sysv_stat" },
+[1018] = { 0, TF|TST|TSTA,SEN(printargs), "sysv_stat" },
[1019] = { 0, 0, SEN(printargs), "sysv_lseek" },
[1020] = { 0, 0, SEN(printargs), "sysv_getpid" },
[1021] = { 0, 0, SEN(printargs), "sysv_mount" },
@@ -177,17 +177,17 @@
[1025] = { 0, 0, SEN(printargs), "sysv_stime" },
[1026] = { 0, 0, SEN(printargs), "sysv_ptrace" },
[1027] = { 0, 0, SEN(printargs), "sysv_alarm" },
-[1028] = { 0, 0, SEN(printargs), "sysv_fstat" },
+[1028] = { 0, TD|TFST|TSTA,SEN(printargs), "sysv_fstat" },
[1029] = { 0, 0, SEN(printargs), "sysv_pause" },
[1030] = { 0, 0, SEN(printargs), "sysv_utime" },
[1031] = { 0, 0, SEN(printargs), "sysv_stty" },
[1032] = { 0, 0, SEN(printargs), "sysv_gtty" },
[1033] = { 0, 0, SEN(printargs), "sysv_access" },
[1034] = { 0, 0, SEN(printargs), "sysv_nice" },
-[1035] = { 0, 0, SEN(printargs), "sysv_statfs" },
+[1035] = { 0, TF|TSF|TSFA,SEN(printargs), "sysv_statfs" },
[1036] = { 0, 0, SEN(printargs), "sysv_sync" },
[1037] = { 0, 0, SEN(printargs), "sysv_kill" },
-[1038] = { 0, 0, SEN(printargs), "sysv_fstatfs" },
+[1038] = { 0, TD|TFSF|TSFA,SEN(printargs), "sysv_fstatfs" },
[1039] = { 0, 0, SEN(printargs), "sysv_setpgrp" },
[1040] = { 0, 0, SEN(printargs), "sysv_syssgi" },
[1041] = { 0, 0, SEN(printargs), "sysv_dup" },
@@ -261,7 +261,7 @@
[1114] = { 0, 0, SEN(printargs), "sysv_rename" },
[1115] = { 0, 0, SEN(printargs), "sysv_symlink" },
[1116] = { 0, 0, SEN(printargs), "sysv_readlink" },
-[1117] = { 0, 0, SEN(printargs), "sysv_lstat" },
+[1117] = { 0, TF|TLST|TSTA,SEN(printargs), "sysv_lstat" },
[1118] = { 0, 0, SEN(printargs), "sysv_nfsmount" },
[1119] = { 0, 0, SEN(printargs), "sysv_nfssvc" },
[1120] = { 0, 0, SEN(printargs), "sysv_getfh" },
@@ -302,9 +302,9 @@
[1155] = { 0, 0, SEN(printargs), "sysv_socketpair" },
[1156] = { 0, 0, SEN(printargs), "sysv_sysinfo" },
[1157] = { 0, 0, SEN(printargs), "sysv_nuname" },
-[1158] = { 0, 0, SEN(printargs), "sysv_xstat" },
-[1159] = { 0, 0, SEN(printargs), "sysv_lxstat" },
-[1160] = { 0, 0, SEN(printargs), "sysv_fxstat" },
+[1158] = { 0, TF|TST|TSTA,SEN(printargs), "sysv_xstat" },
+[1159] = { 0, TF|TLST|TSTA,SEN(printargs), "sysv_lxstat" },
+[1160] = { 0, TD|TFST|TSTA,SEN(printargs), "sysv_fxstat" },
[1161] = { 0, 0, SEN(printargs), "sysv_xmknod" },
[1162] = { 0, 0, SEN(printargs), "sysv_ksigaction" },
[1163] = { 0, 0, SEN(printargs), "sysv_sigpending" },
@@ -318,8 +318,8 @@
[1171] = { 0, 0, SEN(printargs), "sysv_sigstack" },
[1172] = { 0, 0, SEN(printargs), "sysv_sigaltstack" },
[1173] = { 0, 0, SEN(printargs), "sysv_sigsendset" },
-[1174] = { 0, 0, SEN(printargs), "sysv_statvfs" },
-[1175] = { 0, 0, SEN(printargs), "sysv_fstatvfs" },
+[1174] = { 0, TF|TSF|TSFA,SEN(printargs), "sysv_statvfs" },
+[1175] = { 0, TD|TFSF|TSFA,SEN(printargs), "sysv_fstatvfs" },
[1176] = { 0, 0, SEN(printargs), "sysv_getpmsg" },
[1177] = { 0, 0, SEN(printargs), "sysv_putpmsg" },
[1178] = { 0, 0, SEN(printargs), "sysv_lchown" },
@@ -352,7 +352,7 @@
[2015] = { 0, 0, SEN(printargs), "bsd43_chmod" },
[2016] = { 0, 0, SEN(printargs), "bsd43_chown" },
[2017] = { 0, TM, SEN(printargs), "bsd43_sbreak" },
-[2018] = { 0, 0, SEN(printargs), "bsd43_oldstat" },
+[2018] = { 0, TF|TST|TSTA,SEN(printargs), "bsd43_oldstat" },
[2019] = { 0, 0, SEN(printargs), "bsd43_lseek" },
[2020] = { 0, 0, SEN(printargs), "bsd43_getpid" },
[2021] = { 0, 0, SEN(printargs), "bsd43_oldmount" },
@@ -362,7 +362,7 @@
[2025] = { 0, 0, SEN(printargs), "bsd43_stime" },
[2026] = { 0, 0, SEN(printargs), "bsd43_ptrace" },
[2027] = { 0, 0, SEN(printargs), "bsd43_alarm" },
-[2028] = { 0, 0, SEN(printargs), "bsd43_oldfstat" },
+[2028] = { 0, TD|TFST|TSTA,SEN(printargs), "bsd43_oldfstat" },
[2029] = { 0, 0, SEN(printargs), "bsd43_pause" },
[2030] = { 0, 0, SEN(printargs), "bsd43_utime" },
[2031] = { 0, 0, SEN(printargs), "bsd43_stty" },
@@ -372,9 +372,9 @@
[2035] = { 0, 0, SEN(printargs), "bsd43_ftime" },
[2036] = { 0, 0, SEN(printargs), "bsd43_sync" },
[2037] = { 0, 0, SEN(printargs), "bsd43_kill" },
-[2038] = { 0, 0, SEN(printargs), "bsd43_stat" },
+[2038] = { 0, TF|TST|TSTA,SEN(printargs), "bsd43_stat" },
[2039] = { 0, 0, SEN(printargs), "bsd43_oldsetpgrp" },
-[2040] = { 0, 0, SEN(printargs), "bsd43_lstat" },
+[2040] = { 0, TF|TLST|TSTA,SEN(printargs), "bsd43_lstat" },
[2041] = { 0, 0, SEN(printargs), "bsd43_dup" },
[2042] = { 0, 0, SEN(printargs), "bsd43_pipe" },
[2043] = { 0, 0, SEN(printargs), "bsd43_times" },
@@ -396,7 +396,7 @@
[2059] = { 0, 0, SEN(printargs), "bsd43_execve" },
[2060] = { 0, 0, SEN(printargs), "bsd43_umask" },
[2061] = { 0, 0, SEN(printargs), "bsd43_chroot" },
-[2062] = { 0, 0, SEN(printargs), "bsd43_fstat" },
+[2062] = { 0, TD|TFST|TSTA,SEN(printargs), "bsd43_fstat" },
[2063] = { },
[2064] = { 0, 0, SEN(printargs), "bsd43_getpagesize" },
[2065] = { 0, TM|SI, SEN(printargs), "bsd43_mremap" },
@@ -494,8 +494,8 @@
[2157] = { 0, 0, SEN(printargs), "bsd43_nfs_mount" },
[2158] = { 0, 0, SEN(printargs), "bsd43_nfs_svc" },
[2159] = { 0, 0, SEN(printargs), "bsd43_getdirentries" },
-[2160] = { 0, 0, SEN(printargs), "bsd43_statfs" },
-[2161] = { 0, 0, SEN(printargs), "bsd43_fstatfs" },
+[2160] = { 0, TF|TSF|TSFA,SEN(printargs), "bsd43_statfs" },
+[2161] = { 0, TD|TFSF|TSFA,SEN(printargs), "bsd43_fstatfs" },
[2162] = { 0, 0, SEN(printargs), "bsd43_unmount" },
[2163] = { 0, 0, SEN(printargs), "bsd43_async_daemon" },
[2164] = { 0, 0, SEN(printargs), "bsd43_nfs_getfh" },
@@ -545,7 +545,7 @@
[3015] = { 0, 0, SEN(printargs), "posix_chmod" },
[3016] = { 0, 0, SEN(printargs), "posix_chown" },
[3017] = { 0, TM, SEN(printargs), "posix_sbreak" },
-[3018] = { 0, 0, SEN(printargs), "posix_stat" },
+[3018] = { 0, TF|TST|TSTA,SEN(printargs), "posix_stat" },
[3019] = { 0, 0, SEN(printargs), "posix_lseek" },
[3020] = { 0, 0, SEN(printargs), "posix_getpid" },
[3021] = { 0, 0, SEN(printargs), "posix_mount" },
@@ -555,17 +555,17 @@
[3025] = { 0, 0, SEN(printargs), "posix_stime" },
[3026] = { 0, 0, SEN(printargs), "posix_ptrace" },
[3027] = { 0, 0, SEN(printargs), "posix_alarm" },
-[3028] = { 0, 0, SEN(printargs), "posix_fstat" },
+[3028] = { 0, TD|TFST|TSTA,SEN(printargs), "posix_fstat" },
[3029] = { 0, 0, SEN(printargs), "posix_pause" },
[3030] = { 0, 0, SEN(printargs), "posix_utime" },
[3031] = { 0, 0, SEN(printargs), "posix_stty" },
[3032] = { 0, 0, SEN(printargs), "posix_gtty" },
[3033] = { 0, 0, SEN(printargs), "posix_access" },
[3034] = { 0, 0, SEN(printargs), "posix_nice" },
-[3035] = { 0, 0, SEN(printargs), "posix_statfs" },
+[3035] = { 0, TF|TSF|TSFA,SEN(printargs), "posix_statfs" },
[3036] = { 0, 0, SEN(printargs), "posix_sync" },
[3037] = { 0, 0, SEN(printargs), "posix_kill" },
-[3038] = { 0, 0, SEN(printargs), "posix_fstatfs" },
+[3038] = { 0, TD|TFSF|TSFA,SEN(printargs), "posix_fstatfs" },
[3039] = { 0, 0, SEN(printargs), "posix_getpgrp" },
[3040] = { 0, 0, SEN(printargs), "posix_syssgi" },
[3041] = { 0, 0, SEN(printargs), "posix_dup" },
@@ -639,7 +639,7 @@
[3114] = { 0, 0, SEN(printargs), "posix_rename" },
[3115] = { 0, 0, SEN(printargs), "posix_symlink" },
[3116] = { 0, 0, SEN(printargs), "posix_readlink" },
-[3117] = { 0, 0, SEN(printargs), "posix_lstat" },
+[3117] = { 0, TF|TLST|TSTA,SEN(printargs), "posix_lstat" },
[3118] = { 0, 0, SEN(printargs), "posix_nfs_mount" },
[3119] = { 0, 0, SEN(printargs), "posix_nfs_svc" },
[3120] = { 0, 0, SEN(printargs), "posix_nfs_getfh" },
diff --git a/linux/mips/syscallent-n32-stub.h b/linux/mips/syscallent-n32-stub.h
deleted file mode 100644
index 00b66597..00000000
--- a/linux/mips/syscallent-n32-stub.h
+++ /dev/null
@@ -1,330 +0,0 @@
-[6000] = { 3, TD, SEN(printargs), "n32:read" }, /* start of Linux N32 */
-[6001] = { 3, TD, SEN(printargs), "n32:write" },
-[6002] = { 3, TD|TF, SEN(printargs), "n32:open" },
-[6003] = { 1, TD, SEN(printargs), "n32:close" },
-[6004] = { 2, TF, SEN(printargs), "n32:stat" },
-[6005] = { 2, TD, SEN(printargs), "n32:fstat" },
-[6006] = { 2, TF, SEN(printargs), "n32:lstat" },
-[6007] = { 3, TD, SEN(printargs), "n32:poll" },
-[6008] = { 3, TD, SEN(printargs), "n32:lseek" },
-[6009] = { 6, TD|TM|SI, SEN(printargs), "n32:mmap" },
-[6010] = { 3, TM|SI, SEN(printargs), "n32:mprotect" },
-[6011] = { 2, TM|SI, SEN(printargs), "n32:munmap" },
-[6012] = { 1, TM|SI, SEN(printargs), "n32:brk" },
-[6013] = { 4, TS, SEN(printargs), "n32:rt_sigaction" },
-[6014] = { 4, TS, SEN(printargs), "n32:rt_sigprocmask" },
-[6015] = { 3, TD, SEN(printargs), "n32:ioctl" },
-[6016] = { 4, TD, SEN(printargs), "n32:pread64" },
-[6017] = { 4, TD, SEN(printargs), "n32:pwrite64" },
-[6018] = { 3, TD, SEN(printargs), "n32:readv" },
-[6019] = { 3, TD, SEN(printargs), "n32:writev" },
-[6020] = { 2, TF, SEN(printargs), "n32:access" },
-[6021] = { 0, TD, SEN(printargs), "n32:pipe" },
-[6022] = { 5, TD, SEN(printargs), "n32:_newselect" },
-[6023] = { 0, 0, SEN(printargs), "n32:sched_yield" },
-[6024] = { 5, TM|SI, SEN(printargs), "n32:mremap" },
-[6025] = { 3, TM, SEN(printargs), "n32:msync" },
-[6026] = { 3, TM, SEN(printargs), "n32:mincore" },
-[6027] = { 3, TM, SEN(printargs), "n32:madvise" },
-[6028] = { 3, TI, SEN(printargs), "n32:shmget" },
-[6029] = { 3, TI|TM|SI, SEN(printargs), "n32:shmat" },
-[6030] = { 3, TI, SEN(printargs), "n32:shmctl" },
-[6031] = { 1, TD, SEN(printargs), "n32:dup" },
-[6032] = { 2, TD, SEN(printargs), "n32:dup2" },
-[6033] = { 0, TS, SEN(printargs), "n32:pause" },
-[6034] = { 2, 0, SEN(printargs), "n32:nanosleep" },
-[6035] = { 2, 0, SEN(printargs), "n32:getitimer" },
-[6036] = { 3, 0, SEN(printargs), "n32:setitimer" },
-[6037] = { 1, 0, SEN(printargs), "n32:alarm" },
-[6038] = { 0, NF, SEN(printargs), "n32:getpid" },
-[6039] = { 4, TD|TN, SEN(printargs), "n32:sendfile" },
-[6040] = { 3, TN, SEN(printargs), "n32:socket" },
-[6041] = { 3, TN, SEN(printargs), "n32:connect" },
-[6042] = { 3, TN, SEN(printargs), "n32:accept" },
-[6043] = { 6, TN, SEN(printargs), "n32:sendto" },
-[6044] = { 6, TN, SEN(printargs), "n32:recvfrom" },
-[6045] = { 3, TN, SEN(printargs), "n32:sendmsg" },
-[6046] = { 3, TN, SEN(printargs), "n32:recvmsg" },
-[6047] = { 2, TN, SEN(printargs), "n32:shutdown" },
-[6048] = { 3, TN, SEN(printargs), "n32:bind" },
-[6049] = { 2, TN, SEN(printargs), "n32:listen" },
-[6050] = { 3, TN, SEN(printargs), "n32:getsockname" },
-[6051] = { 3, TN, SEN(printargs), "n32:getpeername" },
-[6052] = { 4, TN, SEN(printargs), "n32:socketpair" },
-[6053] = { 5, TN, SEN(printargs), "n32:setsockopt" },
-[6054] = { 5, TN, SEN(printargs), "n32:getsockopt" },
-[6055] = { 5, TP, SEN(printargs), "n32:clone" },
-[6056] = { 0, TP, SEN(printargs), "n32:fork" },
-[6057] = { 3, TF|TP|SE|SI, SEN(printargs), "n32:execve" },
-[6058] = { 1, TP|SE, SEN(printargs), "n32:exit" },
-[6059] = { 4, TP, SEN(printargs), "n32:wait4" },
-[6060] = { 2, TS, SEN(printargs), "n32:kill" },
-[6061] = { 1, 0, SEN(printargs), "n32:uname" },
-[6062] = { 3, TI, SEN(printargs), "n32:semget" },
-[6063] = { 3, TI, SEN(printargs), "n32:semop" },
-[6064] = { 4, TI, SEN(printargs), "n32:semctl" },
-[6065] = { 1, TI|TM|SI, SEN(printargs), "n32:shmdt" },
-[6066] = { 2, TI, SEN(printargs), "n32:msgget" },
-[6067] = { 4, TI, SEN(printargs), "n32:msgsnd" },
-[6068] = { 5, TI, SEN(printargs), "n32:msgrcv" },
-[6069] = { 3, TI, SEN(printargs), "n32:msgctl" },
-[6070] = { 3, TD, SEN(printargs), "n32:fcntl" },
-[6071] = { 2, TD, SEN(printargs), "n32:flock" },
-[6072] = { 1, TD, SEN(printargs), "n32:fsync" },
-[6073] = { 1, TD, SEN(printargs), "n32:fdatasync" },
-[6074] = { 2, TF, SEN(printargs), "n32:truncate" },
-[6075] = { 2, TD, SEN(printargs), "n32:ftruncate" },
-[6076] = { 3, TD, SEN(printargs), "n32:getdents" },
-[6077] = { 2, TF, SEN(printargs), "n32:getcwd" },
-[6078] = { 1, TF, SEN(printargs), "n32:chdir" },
-[6079] = { 1, TD, SEN(printargs), "n32:fchdir" },
-[6080] = { 2, TF, SEN(printargs), "n32:rename" },
-[6081] = { 2, TF, SEN(printargs), "n32:mkdir" },
-[6082] = { 1, TF, SEN(printargs), "n32:rmdir" },
-[6083] = { 2, TD|TF, SEN(printargs), "n32:creat" },
-[6084] = { 2, TF, SEN(printargs), "n32:link" },
-[6085] = { 1, TF, SEN(printargs), "n32:unlink" },
-[6086] = { 2, TF, SEN(printargs), "n32:symlink" },
-[6087] = { 3, TF, SEN(printargs), "n32:readlink" },
-[6088] = { 2, TF, SEN(printargs), "n32:chmod" },
-[6089] = { 2, TD, SEN(printargs), "n32:fchmod" },
-[6090] = { 3, TF, SEN(printargs), "n32:chown" },
-[6091] = { 3, TD, SEN(printargs), "n32:fchown" },
-[6092] = { 3, TF, SEN(printargs), "n32:lchown" },
-[6093] = { 1, NF, SEN(printargs), "n32:umask" },
-[6094] = { 2, 0, SEN(printargs), "n32:gettimeofday" },
-[6095] = { 2, 0, SEN(printargs), "n32:getrlimit" },
-[6096] = { 2, 0, SEN(printargs), "n32:getrusage" },
-[6097] = { 1, 0, SEN(printargs), "n32:sysinfo" },
-[6098] = { 1, 0, SEN(printargs), "n32:times" },
-[6099] = { 4, 0, SEN(printargs), "n32:ptrace" },
-[6100] = { 0, NF, SEN(printargs), "n32:getuid" },
-[6101] = { 3, 0, SEN(printargs), "n32:syslog" },
-[6102] = { 0, NF, SEN(printargs), "n32:getgid" },
-[6103] = { 1, 0, SEN(printargs), "n32:setuid" },
-[6104] = { 1, 0, SEN(printargs), "n32:setgid" },
-[6105] = { 0, NF, SEN(printargs), "n32:geteuid" },
-[6106] = { 0, NF, SEN(printargs), "n32:getegid" },
-[6107] = { 2, 0, SEN(printargs), "n32:setpgid" },
-[6108] = { 0, NF, SEN(printargs), "n32:getppid" },
-[6109] = { 0, 0, SEN(printargs), "n32:getpgrp" },
-[6110] = { 0, 0, SEN(printargs), "n32:setsid" },
-[6111] = { 2, 0, SEN(printargs), "n32:setreuid" },
-[6112] = { 2, 0, SEN(printargs), "n32:setregid" },
-[6113] = { 2, 0, SEN(printargs), "n32:getgroups" },
-[6114] = { 2, 0, SEN(printargs), "n32:setgroups" },
-[6115] = { 3, 0, SEN(printargs), "n32:setresuid" },
-[6116] = { 3, 0, SEN(printargs), "n32:getresuid" },
-[6117] = { 3, 0, SEN(printargs), "n32:setresgid" },
-[6118] = { 3, 0, SEN(printargs), "n32:getresgid" },
-[6119] = { 1, 0, SEN(printargs), "n32:getpgid" },
-[6120] = { 1, NF, SEN(printargs), "n32:setfsuid" },
-[6121] = { 1, NF, SEN(printargs), "n32:setfsgid" },
-[6122] = { 1, 0, SEN(printargs), "n32:getsid" },
-[6123] = { 2, 0, SEN(printargs), "n32:capget" },
-[6124] = { 2, 0, SEN(printargs), "n32:capset" },
-[6125] = { 2, TS, SEN(printargs), "n32:rt_sigpending" },
-[6126] = { 4, TS, SEN(printargs), "n32:rt_sigtimedwait" },
-[6127] = { 3, TS, SEN(printargs), "n32:rt_sigqueueinfo" },
-[6128] = { 2, TS, SEN(printargs), "n32:rt_sigsuspend" },
-[6129] = { 2, TS, SEN(printargs), "n32:sigaltstack" },
-[6130] = { 2, TF, SEN(printargs), "n32:utime" },
-[6131] = { 3, TF, SEN(printargs), "n32:mknod" },
-[6132] = { 1, NF, SEN(printargs), "n32:personality" },
-[6133] = { 2, 0, SEN(printargs), "n32:ustat" },
-[6134] = { 2, TF, SEN(printargs), "n32:statfs" },
-[6135] = { 2, TD, SEN(printargs), "n32:fstatfs" },
-[6136] = { 3, 0, SEN(printargs), "n32:sysfs" },
-[6137] = { 2, 0, SEN(printargs), "n32:getpriority" },
-[6138] = { 3, 0, SEN(printargs), "n32:setpriority" },
-[6139] = { 2, 0, SEN(printargs), "n32:sched_setparam" },
-[6140] = { 2, 0, SEN(printargs), "n32:sched_getparam" },
-[6141] = { 3, 0, SEN(printargs), "n32:sched_setscheduler" },
-[6142] = { 1, 0, SEN(printargs), "n32:sched_getscheduler" },
-[6143] = { 1, 0, SEN(printargs), "n32:sched_get_priority_max"},
-[6144] = { 1, 0, SEN(printargs), "n32:sched_get_priority_min"},
-[6145] = { 2, 0, SEN(printargs), "n32:sched_rr_get_interval" },
-[6146] = { 2, TM, SEN(printargs), "n32:mlock" },
-[6147] = { 2, TM, SEN(printargs), "n32:munlock" },
-[6148] = { 1, TM, SEN(printargs), "n32:mlockall" },
-[6149] = { 0, TM, SEN(printargs), "n32:munlockall" },
-[6150] = { 0, 0, SEN(printargs), "n32:vhangup" },
-[6151] = { 2, TF, SEN(printargs), "n32:pivot_root" },
-[6152] = { 1, 0, SEN(printargs), "n32:_sysctl" },
-[6153] = { 5, 0, SEN(printargs), "n32:prctl" },
-[6154] = { 1, 0, SEN(printargs), "n32:adjtimex" },
-[6155] = { 2, 0, SEN(printargs), "n32:setrlimit" },
-[6156] = { 1, TF, SEN(printargs), "n32:chroot" },
-[6157] = { 0, 0, SEN(printargs), "n32:sync" },
-[6158] = { 1, TF, SEN(printargs), "n32:acct" },
-[6159] = { 2, 0, SEN(printargs), "n32:settimeofday" },
-[6160] = { 5, TF, SEN(printargs), "n32:mount" },
-[6161] = { 2, TF, SEN(printargs), "n32:umount2" },
-[6162] = { 2, TF, SEN(printargs), "n32:swapon" },
-[6163] = { 1, TF, SEN(printargs), "n32:swapoff" },
-[6164] = { 4, 0, SEN(printargs), "n32:reboot" },
-[6165] = { 2, 0, SEN(printargs), "n32:sethostname" },
-[6166] = { 2, 0, SEN(printargs), "n32:setdomainname" },
-[6167] = { 2, 0, SEN(printargs), "n32:create_module" },
-[6168] = { 3, 0, SEN(printargs), "n32:init_module" },
-[6169] = { 2, 0, SEN(printargs), "n32:delete_module" },
-[6170] = { 1, 0, SEN(printargs), "n32:get_kernel_syms" },
-[6171] = { 5, 0, SEN(printargs), "n32:query_module" },
-[6172] = { 4, TF, SEN(printargs), "n32:quotactl" },
-[6173] = { 3, 0, SEN(printargs), "n32:nfsservctl" },
-[6174] = { 5, TN, SEN(printargs), "n32:getpmsg" },
-[6175] = { 5, TN, SEN(printargs), "n32:putpmsg" },
-[6176] = { 0, 0, SEN(printargs), "n32:afs_syscall" },
-[6177] = { 0, 0, SEN(printargs), "n32:reserved177" },
-[6178] = { 0, NF, SEN(printargs), "n32:gettid" },
-[6179] = { 3, TD, SEN(printargs), "n32:readahead" },
-[6180] = { 5, TF, SEN(printargs), "n32:setxattr" },
-[6181] = { 5, TF, SEN(printargs), "n32:lsetxattr" },
-[6182] = { 5, TD, SEN(printargs), "n32:fsetxattr" },
-[6183] = { 4, TF, SEN(printargs), "n32:getxattr" },
-[6184] = { 4, TF, SEN(printargs), "n32:lgetxattr" },
-[6185] = { 4, TD, SEN(printargs), "n32:fgetxattr" },
-[6186] = { 3, TF, SEN(printargs), "n32:listxattr" },
-[6187] = { 3, TF, SEN(printargs), "n32:llistxattr" },
-[6188] = { 3, TD, SEN(printargs), "n32:flistxattr" },
-[6189] = { 2, TF, SEN(printargs), "n32:removexattr" },
-[6190] = { 2, TF, SEN(printargs), "n32:lremovexattr" },
-[6191] = { 2, TD, SEN(printargs), "n32:fremovexattr" },
-[6192] = { 2, TS, SEN(printargs), "n32:tkill" },
-[6193] = { 1, 0, SEN(printargs), "n32:time" },
-[6194] = { 6, 0, SEN(printargs), "n32:futex" },
-[6195] = { 3, 0, SEN(printargs), "n32:sched_setaffinity" },
-[6196] = { 3, 0, SEN(printargs), "n32:sched_getaffinity" },
-[6197] = { 3, 0, SEN(printargs), "n32:cacheflush" },
-[6198] = { 3, 0, SEN(printargs), "n32:cachectl" },
-[6199] = { 4, 0, SEN(printargs), "n32:sysmips" },
-[6200] = { 2, TM, SEN(printargs), "n32:io_setup" },
-[6201] = { 1, TM, SEN(printargs), "n32:io_destroy" },
-[6202] = { 5, 0, SEN(printargs), "n32:io_getevents" },
-[6203] = { 3, 0, SEN(printargs), "n32:io_submit" },
-[6204] = { 3, 0, SEN(printargs), "n32:io_cancel" },
-[6205] = { 1, TP|SE, SEN(printargs), "n32:exit_group" },
-[6206] = { 3, 0, SEN(printargs), "n32:lookup_dcookie" },
-[6207] = { 1, TD, SEN(printargs), "n32:epoll_create" },
-[6208] = { 4, TD, SEN(printargs), "n32:epoll_ctl" },
-[6209] = { 4, TD, SEN(printargs), "n32:epoll_wait" },
-[6210] = { 5, TM|SI, SEN(printargs), "n32:remap_file_pages" },
-[6211] = { 0, TS, SEN(printargs), "n32:rt_sigreturn" },
-[6212] = { 3, TD, SEN(printargs), "n32:fcntl64" },
-[6213] = { 1, 0, SEN(printargs), "n32:set_tid_address" },
-[6214] = { 0, 0, SEN(printargs), "n32:restart_syscall" },
-[6215] = { 4, TI, SEN(printargs), "n32:semtimedop" },
-[6216] = { 4, TD, SEN(printargs), "n32:fadvise64" },
-[6217] = { 3, TF, SEN(printargs), "n32:statfs64" },
-[6218] = { 3, TD, SEN(printargs), "n32:fstatfs64" },
-[6219] = { 4, TD|TN, SEN(printargs), "n32:sendfile64" },
-[6220] = { 3, 0, SEN(printargs), "n32:timer_create" },
-[6221] = { 4, 0, SEN(printargs), "n32:timer_settime" },
-[6222] = { 2, 0, SEN(printargs), "n32:timer_gettime" },
-[6223] = { 1, 0, SEN(printargs), "n32:timer_getoverrun" },
-[6224] = { 1, 0, SEN(printargs), "n32:timer_delete" },
-[6225] = { 2, 0, SEN(printargs), "n32:clock_settime" },
-[6226] = { 2, 0, SEN(printargs), "n32:clock_gettime" },
-[6227] = { 2, 0, SEN(printargs), "n32:clock_getres" },
-[6228] = { 4, 0, SEN(printargs), "n32:clock_nanosleep" },
-[6229] = { 3, TS, SEN(printargs), "n32:tgkill" },
-[6230] = { 2, TF, SEN(printargs), "n32:utimes" },
-[6231] = { 6, TM, SEN(printargs), "n32:mbind" },
-[6232] = { 5, TM, SEN(printargs), "n32:get_mempolicy" },
-[6233] = { 3, TM, SEN(printargs), "n32:set_mempolicy" },
-[6234] = { 4, 0, SEN(printargs), "n32:mq_open" },
-[6235] = { 1, 0, SEN(printargs), "n32:mq_unlink" },
-[6236] = { 5, 0, SEN(printargs), "n32:mq_timedsend" },
-[6237] = { 5, 0, SEN(printargs), "n32:mq_timedreceive" },
-[6238] = { 2, 0, SEN(printargs), "n32:mq_notify" },
-[6239] = { 3, 0, SEN(printargs), "n32:mq_getsetattr" },
-[6240] = { 5, 0, SEN(printargs), "n32:vserver" },
-[6241] = { 5, TP, SEN(printargs), "n32:waitid" },
-[6242] = { },
-[6243] = { 5, 0, SEN(printargs), "n32:add_key" },
-[6244] = { 4, 0, SEN(printargs), "n32:request_key" },
-[6245] = { 5, 0, SEN(printargs), "n32:keyctl" },
-[6246] = { 1, 0, SEN(printargs), "n32:set_thread_area" },
-[6247] = { 0, TD, SEN(printargs), "n32:inotify_init" },
-[6248] = { 3, TD, SEN(printargs), "n32:inotify_add_watch" },
-[6249] = { 2, TD, SEN(printargs), "n32:inotify_rm_watch" },
-[6250] = { 4, TM, SEN(printargs), "n32:migrate_pages" },
-[6251] = { 4, TD|TF, SEN(printargs), "n32:openat" },
-[6252] = { 3, TD|TF, SEN(printargs), "n32:mkdirat" },
-[6253] = { 4, TD|TF, SEN(printargs), "n32:mknodat" },
-[6254] = { 5, TD|TF, SEN(printargs), "n32:fchownat" },
-[6255] = { 3, TD|TF, SEN(printargs), "n32:futimesat" },
-[6256] = { 4, TD|TF, SEN(printargs), "n32:newfstatat" },
-[6257] = { 3, TD|TF, SEN(printargs), "n32:unlinkat" },
-[6258] = { 4, TD|TF, SEN(printargs), "n32:renameat" },
-[6259] = { 5, TD|TF, SEN(printargs), "n32:linkat" },
-[6260] = { 3, TD|TF, SEN(printargs), "n32:symlinkat" },
-[6261] = { 4, TD|TF, SEN(printargs), "n32:readlinkat" },
-[6262] = { 3, TD|TF, SEN(printargs), "n32:fchmodat" },
-[6263] = { 3, TD|TF, SEN(printargs), "n32:faccessat" },
-[6264] = { 6, TD, SEN(printargs), "n32:pselect6" },
-[6265] = { 5, TD, SEN(printargs), "n32:ppoll" },
-[6266] = { 1, TP, SEN(printargs), "n32:unshare" },
-[6267] = { 6, TD, SEN(printargs), "n32:splice" },
-[6268] = { 4, TD, SEN(printargs), "n32:sync_file_range" },
-[6269] = { 4, TD, SEN(printargs), "n32:tee" },
-[6270] = { 4, TD, SEN(printargs), "n32:vmsplice" },
-[6271] = { 6, TM, SEN(printargs), "n32:move_pages" },
-[6272] = { 2, 0, SEN(printargs), "n32:set_robust_list" },
-[6273] = { 3, 0, SEN(printargs), "n32:get_robust_list" },
-[6274] = { 4, 0, SEN(printargs), "n32:kexec_load" },
-[6275] = { 3, 0, SEN(printargs), "n32:getcpu" },
-[6276] = { 6, TD, SEN(printargs), "n32:epoll_pwait" },
-[6277] = { 3, 0, SEN(printargs), "n32:ioprio_set" },
-[6278] = { 2, 0, SEN(printargs), "n32:ioprio_get" },
-[6279] = { 4, TD|TF, SEN(printargs), "n32:utimensat" },
-[6280] = { 3, TD|TS, SEN(printargs), "n32:signalfd" },
-[6281] = { 4, TD, SEN(printargs), "n32:timerfd" },
-[6282] = { 1, TD, SEN(printargs), "n32:eventfd" },
-[6283] = { 4, TD, SEN(printargs), "n32:fallocate" },
-[6284] = { 2, TD, SEN(printargs), "n32:timerfd_create" },
-[6285] = { 2, TD, SEN(printargs), "n32:timerfd_gettime" },
-[6286] = { 4, TD, SEN(printargs), "n32:timerfd_settime" },
-[6287] = { 4, TD|TS, SEN(printargs), "n32:signalfd4" },
-[6288] = { 2, TD, SEN(printargs), "n32:eventfd2" },
-[6289] = { 1, TD, SEN(printargs), "n32:epoll_create1" },
-[6290] = { 3, TD, SEN(printargs), "n32:dup3" },
-[6291] = { 2, TD, SEN(printargs), "n32:pipe2" },
-[6292] = { 1, TD, SEN(printargs), "n32:inotify_init1" },
-[6293] = { 4, TD, SEN(printargs), "n32:preadv" },
-[6294] = { 4, TD, SEN(printargs), "n32:pwritev" },
-[6295] = { 4, TP|TS, SEN(printargs), "n32:rt_tgsigqueueinfo" },
-[6296] = { 5, TD, SEN(printargs), "n32:perf_event_open" },
-[6297] = { 4, TN, SEN(printargs), "n32:accept4" },
-[6298] = { 5, TN, SEN(printargs), "n32:recvmmsg" },
-[6299] = { 3, TD, SEN(printargs), "n32:getdents64" },
-[6300] = { 2, TD, SEN(printargs), "n32:fanotify_init" },
-[6301] = { 5, TD|TF, SEN(printargs), "n32:fanotify_mark" },
-[6302] = { 4, 0, SEN(printargs), "n32:prlimit64" },
-[6303] = { 5, TD|TF, SEN(printargs), "n32:name_to_handle_at" },
-[6304] = { 3, TD, SEN(printargs), "n32:open_by_handle_at" },
-[6305] = { 2, 0, SEN(printargs), "n32:clock_adjtime" },
-[6306] = { 1, TD, SEN(printargs), "n32:syncfs" },
-[6307] = { 4, TN, SEN(printargs), "n32:sendmmsg" },
-[6308] = { 2, TD, SEN(printargs), "n32:setns" },
-[6309] = { 6, 0, SEN(printargs), "n32:process_vm_readv" },
-[6310] = { 6, 0, SEN(printargs), "n32:process_vm_writev" },
-[6311] = { 5, 0, SEN(printargs), "n32:kcmp" },
-[6312] = { 3, TD, SEN(printargs), "n32:finit_module" },
-[6313] = { 3, 0, SEN(printargs), "n32:sched_setattr" },
-[6314] = { 4, 0, SEN(printargs), "n32:sched_getattr" },
-[6315] = { 5, TD|TF, SEN(printargs), "n32:renameat2" },
-[6316] = { 3, 0, SEN(printargs), "n32:seccomp" },
-[6317] = { 3, 0, SEN(printargs), "n32:getrandom" },
-[6318] = { 2, TD, SEN(printargs), "n32:memfd_create" },
-[6319] = { 3, TD, SEN(printargs), "n32:bpf" },
-[6320] = { 5, TD|TF|TP|SE|SI, SEN(printargs), "n32:execveat" },
-[6321] = { 1, TD, SEN(printargs), "n32:userfaultfd" },
-[6322] = { 2, 0, SEN(printargs), "n32:membarrier" },
-[6323] = { 3, TM, SEN(printargs), "n32:mlock2" },
-[6324] = { 6, TD, SEN(printargs), "n32:copy_file_range" },
-[6325] = { 6, TD, SEN(printargs), "n32:preadv2" },
-[6326] = { 6, TD, SEN(printargs), "n32:pwritev2" },
-[6327] = { 4, TM|SI, SEN(printargs), "n32:pkey_mprotect" },
-[6328] = { 2, 0, SEN(printargs), "n32:pkey_alloc" },
-[6329] = { 1, 0, SEN(printargs), "n32:pkey_free" },
diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h
index c93c33bd..73cbc9b2 100644
--- a/linux/mips/syscallent-n32.h
+++ b/linux/mips/syscallent-n32.h
@@ -4,9 +4,9 @@
[6001] = { 3, TD, SEN(write), "write" },
[6002] = { 3, TD|TF, SEN(open), "open" },
[6003] = { 1, TD, SEN(close), "close" },
-[6004] = { 2, TF, SEN(stat64), "stat" },
-[6005] = { 2, TD, SEN(fstat64), "fstat" },
-[6006] = { 2, TF, SEN(lstat64), "lstat" },
+[6004] = { 2, TF|TST|TSTA, SEN(stat64), "stat" },
+[6005] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat" },
+[6006] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat" },
[6007] = { 3, TD, SEN(poll), "poll" },
[6008] = { 3, TD, SEN(lseek), "lseek" },
[6009] = { 6, TD|TM|SI, SEN(mmap), "mmap" },
@@ -133,9 +133,9 @@
[6130] = { 2, TF, SEN(utime), "utime" },
[6131] = { 3, TF, SEN(mknod), "mknod" },
[6132] = { 1, NF, SEN(personality), "personality" },
-[6133] = { 2, 0, SEN(ustat), "ustat" },
-[6134] = { 2, TF, SEN(statfs), "statfs" },
-[6135] = { 2, TD, SEN(fstatfs), "fstatfs" },
+[6133] = { 2, TSFA, SEN(ustat), "ustat" },
+[6134] = { 2, TF|TSF|TSFA, SEN(statfs), "statfs" },
+[6135] = { 2, TD|TFSF|TSFA, SEN(fstatfs), "fstatfs" },
[6136] = { 3, 0, SEN(sysfs), "sysfs" },
[6137] = { 2, 0, SEN(getpriority), "getpriority" },
[6138] = { 3, 0, SEN(setpriority), "setpriority" },
@@ -217,8 +217,8 @@
[6214] = { 0, 0, SEN(restart_syscall), "restart_syscall" },
[6215] = { 4, TI, SEN(semtimedop), "semtimedop" },
[6216] = { 4, TD, SEN(fadvise64_64), "fadvise64" },
-[6217] = { 3, TF, SEN(statfs64), "statfs64" },
-[6218] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
+[6217] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" },
+[6218] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" },
[6219] = { 4, TD|TN, SEN(sendfile64), "sendfile64" },
[6220] = { 3, 0, SEN(timer_create), "timer_create" },
[6221] = { 4, 0, SEN(timer_settime), "timer_settime" },
@@ -256,7 +256,7 @@
[6253] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[6254] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[6255] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[6256] = { 4, TD|TF, SEN(newfstatat), "newfstatat" },
+[6256] = { 4, TD|TF|TFST|TSTA,SEN(newfstatat), "newfstatat" },
[6257] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[6258] = { 4, TD|TF, SEN(renameat), "renameat" },
[6259] = { 5, TD|TF, SEN(linkat), "linkat" },
@@ -330,6 +330,7 @@
[6327] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" },
[6328] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" },
[6329] = { 1, 0, SEN(pkey_free), "pkey_free" },
+[6330] = { 5, TD|TF|TSTA, SEN(statx), "statx" },
# define SYS_socket_subcall 6400
# include "subcall.h"
diff --git a/linux/mips/syscallent-n64-stub.h b/linux/mips/syscallent-n64-stub.h
deleted file mode 100644
index e7c887e6..00000000
--- a/linux/mips/syscallent-n64-stub.h
+++ /dev/null
@@ -1,326 +0,0 @@
-[5000] = { 3, TD, SEN(printargs), "n64:read" }, /* start of Linux N64 */
-[5001] = { 3, TD, SEN(printargs), "n64:write" },
-[5002] = { 3, TD|TF, SEN(printargs), "n64:open" },
-[5003] = { 1, TD, SEN(printargs), "n64:close" },
-[5004] = { 2, TF, SEN(printargs), "n64:stat" },
-[5005] = { 2, TD, SEN(printargs), "n64:fstat" },
-[5006] = { 2, TF, SEN(printargs), "n64:lstat" },
-[5007] = { 3, TD, SEN(printargs), "n64:poll" },
-[5008] = { 3, TD, SEN(printargs), "n64:lseek" },
-[5009] = { 6, TD|TM|SI, SEN(printargs), "n64:mmap" },
-[5010] = { 3, TM|SI, SEN(printargs), "n64:mprotect" },
-[5011] = { 2, TM|SI, SEN(printargs), "n64:munmap" },
-[5012] = { 1, TM|SI, SEN(printargs), "n64:brk" },
-[5013] = { 4, TS, SEN(printargs), "n64:rt_sigaction" },
-[5014] = { 4, TS, SEN(printargs), "n64:rt_sigprocmask" },
-[5015] = { 3, TD, SEN(printargs), "n64:ioctl" },
-[5016] = { 4, TD, SEN(printargs), "n64:pread64" },
-[5017] = { 4, TD, SEN(printargs), "n64:pwrite64" },
-[5018] = { 3, TD, SEN(printargs), "n64:readv" },
-[5019] = { 3, TD, SEN(printargs), "n64:writev" },
-[5020] = { 2, TF, SEN(printargs), "n64:access" },
-[5021] = { 0, TD, SEN(printargs), "n64:pipe" },
-[5022] = { 5, TD, SEN(printargs), "n64:_newselect" },
-[5023] = { 0, 0, SEN(printargs), "n64:sched_yield" },
-[5024] = { 5, TM|SI, SEN(printargs), "n64:mremap" },
-[5025] = { 3, TM, SEN(printargs), "n64:msync" },
-[5026] = { 3, TM, SEN(printargs), "n64:mincore" },
-[5027] = { 3, TM, SEN(printargs), "n64:madvise" },
-[5028] = { 3, TI, SEN(printargs), "n64:shmget" },
-[5029] = { 3, TI|TM|SI, SEN(printargs), "n64:shmat" },
-[5030] = { 3, TI, SEN(printargs), "n64:shmctl" },
-[5031] = { 1, TD, SEN(printargs), "n64:dup" },
-[5032] = { 2, TD, SEN(printargs), "n64:dup2" },
-[5033] = { 0, TS, SEN(printargs), "n64:pause" },
-[5034] = { 2, 0, SEN(printargs), "n64:nanosleep" },
-[5035] = { 2, 0, SEN(printargs), "n64:getitimer" },
-[5036] = { 3, 0, SEN(printargs), "n64:setitimer" },
-[5037] = { 1, 0, SEN(printargs), "n64:alarm" },
-[5038] = { 0, NF, SEN(printargs), "n64:getpid" },
-[5039] = { 4, TD|TN, SEN(printargs), "n64:sendfile" },
-[5040] = { 3, TN, SEN(printargs), "n64:socket" },
-[5041] = { 3, TN, SEN(printargs), "n64:connect" },
-[5042] = { 3, TN, SEN(printargs), "n64:accept" },
-[5043] = { 6, TN, SEN(printargs), "n64:sendto" },
-[5044] = { 6, TN, SEN(printargs), "n64:recvfrom" },
-[5045] = { 3, TN, SEN(printargs), "n64:sendmsg" },
-[5046] = { 3, TN, SEN(printargs), "n64:recvmsg" },
-[5047] = { 2, TN, SEN(printargs), "n64:shutdown" },
-[5048] = { 3, TN, SEN(printargs), "n64:bind" },
-[5049] = { 2, TN, SEN(printargs), "n64:listen" },
-[5050] = { 3, TN, SEN(printargs), "n64:getsockname" },
-[5051] = { 3, TN, SEN(printargs), "n64:getpeername" },
-[5052] = { 4, TN, SEN(printargs), "n64:socketpair" },
-[5053] = { 5, TN, SEN(printargs), "n64:setsockopt" },
-[5054] = { 5, TN, SEN(printargs), "n64:getsockopt" },
-[5055] = { 5, TP, SEN(printargs), "n64:clone" },
-[5056] = { 0, TP, SEN(printargs), "n64:fork" },
-[5057] = { 3, TF|TP|SE|SI, SEN(printargs), "n64:execve" },
-[5058] = { 1, TP|SE, SEN(printargs), "n64:exit" },
-[5059] = { 4, TP, SEN(printargs), "n64:wait4" },
-[5060] = { 2, TS, SEN(printargs), "n64:kill" },
-[5061] = { 1, 0, SEN(printargs), "n64:uname" },
-[5062] = { 3, TI, SEN(printargs), "n64:semget" },
-[5063] = { 3, TI, SEN(printargs), "n64:semop" },
-[5064] = { 4, TI, SEN(printargs), "n64:semctl" },
-[5065] = { 1, TI|TM|SI, SEN(printargs), "n64:shmdt" },
-[5066] = { 2, TI, SEN(printargs), "n64:msgget" },
-[5067] = { 4, TI, SEN(printargs), "n64:msgsnd" },
-[5068] = { 5, TI, SEN(printargs), "n64:msgrcv" },
-[5069] = { 3, TI, SEN(printargs), "n64:msgctl" },
-[5070] = { 3, TD, SEN(printargs), "n64:fcntl" },
-[5071] = { 2, TD, SEN(printargs), "n64:flock" },
-[5072] = { 1, TD, SEN(printargs), "n64:fsync" },
-[5073] = { 1, TD, SEN(printargs), "n64:fdatasync" },
-[5074] = { 2, TF, SEN(printargs), "n64:truncate" },
-[5075] = { 2, TD, SEN(printargs), "n64:ftruncate" },
-[5076] = { 3, TD, SEN(printargs), "n64:getdents" },
-[5077] = { 2, TF, SEN(printargs), "n64:getcwd" },
-[5078] = { 1, TF, SEN(printargs), "n64:chdir" },
-[5079] = { 1, TD, SEN(printargs), "n64:fchdir" },
-[5080] = { 2, TF, SEN(printargs), "n64:rename" },
-[5081] = { 2, TF, SEN(printargs), "n64:mkdir" },
-[5082] = { 1, TF, SEN(printargs), "n64:rmdir" },
-[5083] = { 2, TD|TF, SEN(printargs), "n64:creat" },
-[5084] = { 2, TF, SEN(printargs), "n64:link" },
-[5085] = { 1, TF, SEN(printargs), "n64:unlink" },
-[5086] = { 2, TF, SEN(printargs), "n64:symlink" },
-[5087] = { 3, TF, SEN(printargs), "n64:readlink" },
-[5088] = { 2, TF, SEN(printargs), "n64:chmod" },
-[5089] = { 2, TD, SEN(printargs), "n64:fchmod" },
-[5090] = { 3, TF, SEN(printargs), "n64:chown" },
-[5091] = { 3, TD, SEN(printargs), "n64:fchown" },
-[5092] = { 3, TF, SEN(printargs), "n64:lchown" },
-[5093] = { 1, NF, SEN(printargs), "n64:umask" },
-[5094] = { 2, 0, SEN(printargs), "n64:gettimeofday" },
-[5095] = { 2, 0, SEN(printargs), "n64:getrlimit" },
-[5096] = { 2, 0, SEN(printargs), "n64:getrusage" },
-[5097] = { 1, 0, SEN(printargs), "n64:sysinfo" },
-[5098] = { 1, 0, SEN(printargs), "n64:times" },
-[5099] = { 4, 0, SEN(printargs), "n64:ptrace" },
-[5100] = { 0, NF, SEN(printargs), "n64:getuid" },
-[5101] = { 3, 0, SEN(printargs), "n64:syslog" },
-[5102] = { 0, NF, SEN(printargs), "n64:getgid" },
-[5103] = { 1, 0, SEN(printargs), "n64:setuid" },
-[5104] = { 1, 0, SEN(printargs), "n64:setgid" },
-[5105] = { 0, NF, SEN(printargs), "n64:geteuid" },
-[5106] = { 0, NF, SEN(printargs), "n64:getegid" },
-[5107] = { 2, 0, SEN(printargs), "n64:setpgid" },
-[5108] = { 0, NF, SEN(printargs), "n64:getppid" },
-[5109] = { 0, 0, SEN(printargs), "n64:getpgrp" },
-[5110] = { 0, 0, SEN(printargs), "n64:setsid" },
-[5111] = { 2, 0, SEN(printargs), "n64:setreuid" },
-[5112] = { 2, 0, SEN(printargs), "n64:setregid" },
-[5113] = { 2, 0, SEN(printargs), "n64:getgroups" },
-[5114] = { 2, 0, SEN(printargs), "n64:setgroups" },
-[5115] = { 3, 0, SEN(printargs), "n64:setresuid" },
-[5116] = { 3, 0, SEN(printargs), "n64:getresuid" },
-[5117] = { 3, 0, SEN(printargs), "n64:setresgid" },
-[5118] = { 3, 0, SEN(printargs), "n64:getresgid" },
-[5119] = { 1, 0, SEN(printargs), "n64:getpgid" },
-[5120] = { 1, NF, SEN(printargs), "n64:setfsuid" },
-[5121] = { 1, NF, SEN(printargs), "n64:setfsgid" },
-[5122] = { 1, 0, SEN(printargs), "n64:getsid" },
-[5123] = { 2, 0, SEN(printargs), "n64:capget" },
-[5124] = { 2, 0, SEN(printargs), "n64:capset" },
-[5125] = { 2, TS, SEN(printargs), "n64:rt_sigpending" },
-[5126] = { 4, TS, SEN(printargs), "n64:rt_sigtimedwait" },
-[5127] = { 3, TS, SEN(printargs), "n64:rt_sigqueueinfo" },
-[5128] = { 2, TS, SEN(printargs), "n64:rt_sigsuspend" },
-[5129] = { 2, TS, SEN(printargs), "n64:sigaltstack" },
-[5130] = { 2, TF, SEN(printargs), "n64:utime" },
-[5131] = { 3, TF, SEN(printargs), "n64:mknod" },
-[5132] = { 1, NF, SEN(printargs), "n64:personality" },
-[5133] = { 2, 0, SEN(printargs), "n64:ustat" },
-[5134] = { 2, TF, SEN(printargs), "n64:statfs" },
-[5135] = { 2, TD, SEN(printargs), "n64:fstatfs" },
-[5136] = { 3, 0, SEN(printargs), "n64:sysfs" },
-[5137] = { 2, 0, SEN(printargs), "n64:getpriority" },
-[5138] = { 3, 0, SEN(printargs), "n64:setpriority" },
-[5139] = { 2, 0, SEN(printargs), "n64:sched_setparam" },
-[5140] = { 2, 0, SEN(printargs), "n64:sched_getparam" },
-[5141] = { 3, 0, SEN(printargs), "n64:sched_setscheduler" },
-[5142] = { 1, 0, SEN(printargs), "n64:sched_getscheduler" },
-[5143] = { 1, 0, SEN(printargs), "n64:sched_get_priority_max"},
-[5144] = { 1, 0, SEN(printargs), "n64:sched_get_priority_min"},
-[5145] = { 2, 0, SEN(printargs), "n64:sched_rr_get_interval" },
-[5146] = { 2, TM, SEN(printargs), "n64:mlock" },
-[5147] = { 2, TM, SEN(printargs), "n64:munlock" },
-[5148] = { 1, TM, SEN(printargs), "n64:mlockall" },
-[5149] = { 0, TM, SEN(printargs), "n64:munlockall" },
-[5150] = { 0, 0, SEN(printargs), "n64:vhangup" },
-[5151] = { 2, TF, SEN(printargs), "n64:pivot_root" },
-[5152] = { 1, 0, SEN(printargs), "n64:_sysctl" },
-[5153] = { 5, 0, SEN(printargs), "n64:prctl" },
-[5154] = { 1, 0, SEN(printargs), "n64:adjtimex" },
-[5155] = { 2, 0, SEN(printargs), "n64:setrlimit" },
-[5156] = { 1, TF, SEN(printargs), "n64:chroot" },
-[5157] = { 0, 0, SEN(printargs), "n64:sync" },
-[5158] = { 1, TF, SEN(printargs), "n64:acct" },
-[5159] = { 2, 0, SEN(printargs), "n64:settimeofday" },
-[5160] = { 5, TF, SEN(printargs), "n64:mount" },
-[5161] = { 2, TF, SEN(printargs), "n64:umount2" },
-[5162] = { 2, TF, SEN(printargs), "n64:swapon" },
-[5163] = { 1, TF, SEN(printargs), "n64:swapoff" },
-[5164] = { 4, 0, SEN(printargs), "n64:reboot" },
-[5165] = { 2, 0, SEN(printargs), "n64:sethostname" },
-[5166] = { 2, 0, SEN(printargs), "n64:setdomainname" },
-[5167] = { 2, 0, SEN(printargs), "n64:create_module" },
-[5168] = { 3, 0, SEN(printargs), "n64:init_module" },
-[5169] = { 2, 0, SEN(printargs), "n64:delete_module" },
-[5170] = { 1, 0, SEN(printargs), "n64:get_kernel_syms" },
-[5171] = { 5, 0, SEN(printargs), "n64:query_module" },
-[5172] = { 4, TF, SEN(printargs), "n64:quotactl" },
-[5173] = { 3, 0, SEN(printargs), "n64:nfsservctl" },
-[5174] = { 5, TN, SEN(printargs), "n64:getpmsg" },
-[5175] = { 5, TN, SEN(printargs), "n64:putpmsg" },
-[5176] = { 0, 0, SEN(printargs), "n64:afs_syscall" },
-[5177] = { 0, 0, SEN(printargs), "n64:reserved177" },
-[5178] = { 0, NF, SEN(printargs), "n64:gettid" },
-[5179] = { 3, TD, SEN(printargs), "n64:readahead" },
-[5180] = { 5, TF, SEN(printargs), "n64:setxattr" },
-[5181] = { 5, TF, SEN(printargs), "n64:lsetxattr" },
-[5182] = { 5, TD, SEN(printargs), "n64:fsetxattr" },
-[5183] = { 4, TF, SEN(printargs), "n64:getxattr" },
-[5184] = { 4, TF, SEN(printargs), "n64:lgetxattr" },
-[5185] = { 4, TD, SEN(printargs), "n64:fgetxattr" },
-[5186] = { 3, TF, SEN(printargs), "n64:listxattr" },
-[5187] = { 3, TF, SEN(printargs), "n64:llistxattr" },
-[5188] = { 3, TD, SEN(printargs), "n64:flistxattr" },
-[5189] = { 2, TF, SEN(printargs), "n64:removexattr" },
-[5190] = { 2, TF, SEN(printargs), "n64:lremovexattr" },
-[5191] = { 2, TD, SEN(printargs), "n64:fremovexattr" },
-[5192] = { 2, TS, SEN(printargs), "n64:tkill" },
-[5193] = { 1, 0, SEN(printargs), "n64:time" },
-[5194] = { 6, 0, SEN(printargs), "n64:futex" },
-[5195] = { 3, 0, SEN(printargs), "n64:sched_setaffinity" },
-[5196] = { 3, 0, SEN(printargs), "n64:sched_getaffinity" },
-[5197] = { 3, 0, SEN(printargs), "n64:cacheflush" },
-[5198] = { 3, 0, SEN(printargs), "n64:cachectl" },
-[5199] = { 4, 0, SEN(printargs), "n64:sysmips" },
-[5200] = { 2, TM, SEN(printargs), "n64:io_setup" },
-[5201] = { 1, TM, SEN(printargs), "n64:io_destroy" },
-[5202] = { 5, 0, SEN(printargs), "n64:io_getevents" },
-[5203] = { 3, 0, SEN(printargs), "n64:io_submit" },
-[5204] = { 3, 0, SEN(printargs), "n64:io_cancel" },
-[5205] = { 1, TP|SE, SEN(printargs), "n64:exit_group" },
-[5206] = { 3, 0, SEN(printargs), "n64:lookup_dcookie" },
-[5207] = { 1, TD, SEN(printargs), "n64:epoll_create" },
-[5208] = { 4, TD, SEN(printargs), "n64:epoll_ctl" },
-[5209] = { 4, TD, SEN(printargs), "n64:epoll_wait" },
-[5210] = { 5, TM|SI, SEN(printargs), "n64:remap_file_pages" },
-[5211] = { 0, TS, SEN(printargs), "n64:rt_sigreturn" },
-[5212] = { 1, 0, SEN(printargs), "n64:set_tid_address" },
-[5213] = { 0, 0, SEN(printargs), "n64:restart_syscall" },
-[5214] = { 4, TI, SEN(printargs), "n64:semtimedop" },
-[5215] = { 4, TD, SEN(printargs), "n64:fadvise64" },
-[5216] = { 3, 0, SEN(printargs), "n64:timer_create" },
-[5217] = { 4, 0, SEN(printargs), "n64:timer_settime" },
-[5218] = { 2, 0, SEN(printargs), "n64:timer_gettime" },
-[5219] = { 1, 0, SEN(printargs), "n64:timer_getoverrun" },
-[5220] = { 1, 0, SEN(printargs), "n64:timer_delete" },
-[5221] = { 2, 0, SEN(printargs), "n64:clock_settime" },
-[5222] = { 2, 0, SEN(printargs), "n64:clock_gettime" },
-[5223] = { 2, 0, SEN(printargs), "n64:clock_getres" },
-[5224] = { 4, 0, SEN(printargs), "n64:clock_nanosleep" },
-[5225] = { 3, TS, SEN(printargs), "n64:tgkill" },
-[5226] = { 2, TF, SEN(printargs), "n64:utimes" },
-[5227] = { 6, TM, SEN(printargs), "n64:mbind" },
-[5228] = { 5, TM, SEN(printargs), "n64:get_mempolicy" },
-[5229] = { 3, TM, SEN(printargs), "n64:set_mempolicy" },
-[5230] = { 4, 0, SEN(printargs), "n64:mq_open" },
-[5231] = { 1, 0, SEN(printargs), "n64:mq_unlink" },
-[5232] = { 5, 0, SEN(printargs), "n64:mq_timedsend" },
-[5233] = { 5, 0, SEN(printargs), "n64:mq_timedreceive" },
-[5234] = { 2, 0, SEN(printargs), "n64:mq_notify" },
-[5235] = { 3, 0, SEN(printargs), "n64:mq_getsetattr" },
-[5236] = { 5, 0, SEN(printargs), "n64:vserver" },
-[5237] = { 5, TP, SEN(printargs), "n64:waitid" },
-[5238] = { },
-[5239] = { 5, 0, SEN(printargs), "n64:add_key" },
-[5240] = { 4, 0, SEN(printargs), "n64:request_key" },
-[5241] = { 5, 0, SEN(printargs), "n64:keyctl" },
-[5242] = { 1, 0, SEN(printargs), "n64:set_thread_area" },
-[5243] = { 0, TD, SEN(printargs), "n64:inotify_init" },
-[5244] = { 3, TD, SEN(printargs), "n64:inotify_add_watch" },
-[5245] = { 2, TD, SEN(printargs), "n64:inotify_rm_watch" },
-[5246] = { 4, TM, SEN(printargs), "n64:migrate_pages" },
-[5247] = { 4, TD|TF, SEN(printargs), "n64:openat" },
-[5248] = { 3, TD|TF, SEN(printargs), "n64:mkdirat" },
-[5249] = { 4, TD|TF, SEN(printargs), "n64:mknodat" },
-[5250] = { 5, TD|TF, SEN(printargs), "n64:fchownat" },
-[5251] = { 3, TD|TF, SEN(printargs), "n64:futimesat" },
-[5252] = { 4, TD|TF, SEN(printargs), "n64:newfstatat" },
-[5253] = { 3, TD|TF, SEN(printargs), "n64:unlinkat" },
-[5254] = { 4, TD|TF, SEN(printargs), "n64:renameat" },
-[5255] = { 5, TD|TF, SEN(printargs), "n64:linkat" },
-[5256] = { 3, TD|TF, SEN(printargs), "n64:symlinkat" },
-[5257] = { 4, TD|TF, SEN(printargs), "n64:readlinkat" },
-[5258] = { 3, TD|TF, SEN(printargs), "n64:fchmodat" },
-[5259] = { 3, TD|TF, SEN(printargs), "n64:faccessat" },
-[5260] = { 6, TD, SEN(printargs), "n64:pselect6" },
-[5261] = { 5, TD, SEN(printargs), "n64:ppoll" },
-[5262] = { 1, TP, SEN(printargs), "n64:unshare" },
-[5263] = { 6, TD, SEN(printargs), "n64:splice" },
-[5264] = { 4, TD, SEN(printargs), "n64:sync_file_range" },
-[5265] = { 4, TD, SEN(printargs), "n64:tee" },
-[5266] = { 4, TD, SEN(printargs), "n64:vmsplice" },
-[5267] = { 6, TM, SEN(printargs), "n64:move_pages" },
-[5268] = { 2, 0, SEN(printargs), "n64:set_robust_list" },
-[5269] = { 3, 0, SEN(printargs), "n64:get_robust_list" },
-[5270] = { 4, 0, SEN(printargs), "n64:kexec_load" },
-[5271] = { 3, 0, SEN(printargs), "n64:getcpu" },
-[5272] = { 6, TD, SEN(printargs), "n64:epoll_pwait" },
-[5273] = { 3, 0, SEN(printargs), "n64:ioprio_set" },
-[5274] = { 2, 0, SEN(printargs), "n64:ioprio_get" },
-[5275] = { 4, TD|TF, SEN(printargs), "n64:utimensat" },
-[5276] = { 3, TD|TS, SEN(printargs), "n64:signalfd" },
-[5277] = { 4, TD, SEN(printargs), "n64:timerfd" },
-[5278] = { 1, TD, SEN(printargs), "n64:eventfd" },
-[5279] = { 4, TD, SEN(printargs), "n64:fallocate" },
-[5280] = { 2, TD, SEN(printargs), "n64:timerfd_create" },
-[5281] = { 2, TD, SEN(printargs), "n64:timerfd_gettime" },
-[5282] = { 4, TD, SEN(printargs), "n64:timerfd_settime" },
-[5283] = { 4, TD|TS, SEN(printargs), "n64:signalfd4" },
-[5284] = { 2, TD, SEN(printargs), "n64:eventfd2" },
-[5285] = { 1, TD, SEN(printargs), "n64:epoll_create1" },
-[5286] = { 3, TD, SEN(printargs), "n64:dup3" },
-[5287] = { 2, TD, SEN(printargs), "n64:pipe2" },
-[5288] = { 1, TD, SEN(printargs), "n64:inotify_init1" },
-[5289] = { 4, TD, SEN(printargs), "n64:preadv" },
-[5290] = { 4, TD, SEN(printargs), "n64:pwritev" },
-[5291] = { 4, TP|TS, SEN(printargs), "n64:rt_tgsigqueueinfo" },
-[5292] = { 5, TD, SEN(printargs), "n64:perf_event_open" },
-[5293] = { 4, TN, SEN(printargs), "n64:accept4" },
-[5294] = { 5, TN, SEN(printargs), "n64:recvmmsg" },
-[5295] = { 2, TD, SEN(printargs), "n64:fanotify_init" },
-[5296] = { 5, TD|TF, SEN(printargs), "n64:fanotify_mark" },
-[5297] = { 4, 0, SEN(printargs), "n64:prlimit64" },
-[5298] = { 5, TD|TF, SEN(printargs), "n64:name_to_handle_at" },
-[5299] = { 3, TD, SEN(printargs), "n64:open_by_handle_at" },
-[5300] = { 2, 0, SEN(printargs), "n64:clock_adjtime" },
-[5301] = { 1, TD, SEN(printargs), "n64:syncfs" },
-[5302] = { 4, TN, SEN(printargs), "n64:sendmmsg" },
-[5303] = { 2, TD, SEN(printargs), "n64:setns" },
-[5304] = { 6, 0, SEN(printargs), "n64:process_vm_readv" },
-[5305] = { 6, 0, SEN(printargs), "n64:process_vm_writev" },
-[5306] = { 5, 0, SEN(printargs), "n64:kcmp" },
-[5307] = { 3, TD, SEN(printargs), "n64:finit_module" },
-[5308] = { 3, TD, SEN(printargs), "n64:getdents64" },
-[5309] = { 3, 0, SEN(printargs), "n64:sched_setattr" },
-[5310] = { 4, 0, SEN(printargs), "n64:sched_getattr" },
-[5311] = { 5, TD|TF, SEN(printargs), "n64:renameat2" },
-[5312] = { 3, 0, SEN(printargs), "n64:seccomp" },
-[5313] = { 3, 0, SEN(printargs), "n64:getrandom" },
-[5314] = { 2, TD, SEN(printargs), "n64:memfd_create" },
-[5315] = { 3, TD, SEN(printargs), "n64:bpf" },
-[5316] = { 5, TD|TF|TP|SE|SI, SEN(printargs), "n64:execveat" },
-[5317] = { 1, TD, SEN(printargs), "n64:userfaultfd" },
-[5318] = { 2, 0, SEN(printargs), "n64:membarrier" },
-[5319] = { 3, TM, SEN(printargs), "n64:mlock2" },
-[5320] = { 6, TD, SEN(printargs), "n64:copy_file_range" },
-[5321] = { 6, TD, SEN(printargs), "n64:preadv2" },
-[5322] = { 6, TD, SEN(printargs), "n64:pwritev2" },
-[5323] = { 4, TM|SI, SEN(printargs), "n64:pkey_mprotect" },
-[5324] = { 2, 0, SEN(printargs), "n64:pkey_alloc" },
-[5325] = { 1, 0, SEN(printargs), "n64:pkey_free" },
diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h
index f14eebfa..6e9b00a0 100644
--- a/linux/mips/syscallent-n64.h
+++ b/linux/mips/syscallent-n64.h
@@ -4,9 +4,9 @@
[5001] = { 3, TD, SEN(write), "write" },
[5002] = { 3, TD|TF, SEN(open), "open" },
[5003] = { 1, TD, SEN(close), "close" },
-[5004] = { 2, TF, SEN(stat), "stat" },
-[5005] = { 2, TD, SEN(fstat), "fstat" },
-[5006] = { 2, TF, SEN(lstat), "lstat" },
+[5004] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
+[5005] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
+[5006] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[5007] = { 3, TD, SEN(poll), "poll" },
[5008] = { 3, TD, SEN(lseek), "lseek" },
[5009] = { 6, TD|TM|SI, SEN(mmap), "mmap" },
@@ -133,9 +133,9 @@
[5130] = { 2, TF, SEN(utime), "utime" },
[5131] = { 3, TF, SEN(mknod), "mknod" },
[5132] = { 1, NF, SEN(personality), "personality" },
-[5133] = { 2, 0, SEN(ustat), "ustat" },
-[5134] = { 2, TF, SEN(statfs), "statfs" },
-[5135] = { 2, TD, SEN(fstatfs), "fstatfs" },
+[5133] = { 2, TSFA, SEN(ustat), "ustat" },
+[5134] = { 2, TF|TSF|TSFA, SEN(statfs), "statfs" },
+[5135] = { 2, TD|TFSF|TSFA, SEN(fstatfs), "fstatfs" },
[5136] = { 3, 0, SEN(sysfs), "sysfs" },
[5137] = { 2, 0, SEN(getpriority), "getpriority" },
[5138] = { 3, 0, SEN(setpriority), "setpriority" },
@@ -252,7 +252,7 @@
[5249] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[5250] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[5251] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[5252] = { 4, TD|TF, SEN(newfstatat), "newfstatat" },
+[5252] = { 4, TD|TF|TFST|TSTA,SEN(newfstatat), "newfstatat" },
[5253] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[5254] = { 4, TD|TF, SEN(renameat), "renameat" },
[5255] = { 5, TD|TF, SEN(linkat), "linkat" },
@@ -326,6 +326,7 @@
[5323] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" },
[5324] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" },
[5325] = { 1, 0, SEN(pkey_free), "pkey_free" },
+[5326] = { 5, TD|TF|TSTA, SEN(statx), "statx" },
# define SYS_socket_subcall 5400
# include "subcall.h"
diff --git a/linux/mips/syscallent-o32-stub.h b/linux/mips/syscallent-o32-stub.h
deleted file mode 100644
index f8604c74..00000000
--- a/linux/mips/syscallent-o32-stub.h
+++ /dev/null
@@ -1,366 +0,0 @@
-[4000] = { MA, 0, SEN(printargs), "o32:syscall" }, /* start of Linux o32 */
-[4001] = { 1, TP|SE, SEN(printargs), "o32:exit" },
-[4002] = { 0, TP, SEN(printargs), "o32:fork" },
-[4003] = { 3, TD, SEN(printargs), "o32:read" },
-[4004] = { 3, TD, SEN(printargs), "o32:write" },
-[4005] = { 3, TD|TF, SEN(printargs), "o32:open" },
-[4006] = { 1, TD, SEN(printargs), "o32:close" },
-[4007] = { 3, TP, SEN(printargs), "o32:waitpid" },
-[4008] = { 2, TD|TF, SEN(printargs), "o32:creat" },
-[4009] = { 2, TF, SEN(printargs), "o32:link" },
-[4010] = { 1, TF, SEN(printargs), "o32:unlink" },
-[4011] = { 3, TF|TP|SE|SI, SEN(printargs), "o32:execve" },
-[4012] = { 1, TF, SEN(printargs), "o32:chdir" },
-[4013] = { 1, 0, SEN(printargs), "o32:time" },
-[4014] = { 3, TF, SEN(printargs), "o32:mknod" },
-[4015] = { 2, TF, SEN(printargs), "o32:chmod" },
-[4016] = { 3, TF, SEN(printargs), "o32:lchown" },
-[4017] = { 0, TM, SEN(printargs), "o32:break" },
-[4018] = { 2, TF, SEN(printargs), "o32:oldstat" },
-[4019] = { 3, TD, SEN(printargs), "o32:lseek" },
-[4020] = { 0, NF, SEN(printargs), "o32:getpid" },
-[4021] = { 5, TF, SEN(printargs), "o32:mount" },
-[4022] = { 1, TF, SEN(printargs), "o32:umount" },
-[4023] = { 1, 0, SEN(printargs), "o32:setuid" },
-[4024] = { 0, NF, SEN(printargs), "o32:getuid" },
-[4025] = { 1, 0, SEN(printargs), "o32:stime" },
-[4026] = { 4, 0, SEN(printargs), "o32:ptrace" },
-[4027] = { 1, 0, SEN(printargs), "o32:alarm" },
-[4028] = { 2, TD, SEN(printargs), "o32:oldfstat" },
-[4029] = { 0, TS, SEN(printargs), "o32:pause" },
-[4030] = { 2, TF, SEN(printargs), "o32:utime" },
-[4031] = { 0, 0, SEN(printargs), "o32:stty" },
-[4032] = { 0, 0, SEN(printargs), "o32:gtty" },
-[4033] = { 2, TF, SEN(printargs), "o32:access" },
-[4034] = { 1, 0, SEN(printargs), "o32:nice" },
-[4035] = { 1, 0, SEN(printargs), "o32:ftime" },
-[4036] = { 0, 0, SEN(printargs), "o32:sync" },
-[4037] = { 2, TS, SEN(printargs), "o32:kill" },
-[4038] = { 2, TF, SEN(printargs), "o32:rename" },
-[4039] = { 2, TF, SEN(printargs), "o32:mkdir" },
-[4040] = { 1, TF, SEN(printargs), "o32:rmdir" },
-[4041] = { 1, TD, SEN(printargs), "o32:dup" },
-[4042] = { 0, TD, SEN(printargs), "o32:pipe" },
-[4043] = { 1, 0, SEN(printargs), "o32:times" },
-[4044] = { 0, 0, SEN(printargs), "o32:prof" },
-[4045] = { 1, TM|SI, SEN(printargs), "o32:brk" },
-[4046] = { 1, 0, SEN(printargs), "o32:setgid" },
-[4047] = { 0, NF, SEN(printargs), "o32:getgid" },
-[4048] = { 2, TS, SEN(printargs), "o32:signal" },
-[4049] = { 0, NF, SEN(printargs), "o32:geteuid" },
-[4050] = { 0, NF, SEN(printargs), "o32:getegid" },
-[4051] = { 1, TF, SEN(printargs), "o32:acct" },
-[4052] = { 2, TF, SEN(printargs), "o32:umount2" },
-[4053] = { 0, 0, SEN(printargs), "o32:lock" },
-[4054] = { 3, TD, SEN(printargs), "o32:ioctl" },
-[4055] = { 3, TD, SEN(printargs), "o32:fcntl" },
-[4056] = { 0, 0, SEN(printargs), "o32:mpx" },
-[4057] = { 2, 0, SEN(printargs), "o32:setpgid" },
-[4058] = { 0, 0, SEN(printargs), "o32:ulimit" },
-[4059] = { 1, 0, SEN(printargs), "o32:oldolduname" },
-[4060] = { 1, NF, SEN(printargs), "o32:umask" },
-[4061] = { 1, TF, SEN(printargs), "o32:chroot" },
-[4062] = { 2, 0, SEN(printargs), "o32:ustat" },
-[4063] = { 2, TD, SEN(printargs), "o32:dup2" },
-[4064] = { 0, NF, SEN(printargs), "o32:getppid" },
-[4065] = { 0, 0, SEN(printargs), "o32:getpgrp" },
-[4066] = { 0, 0, SEN(printargs), "o32:setsid" },
-[4067] = { 3, TS, SEN(printargs), "o32:sigaction" },
-[4068] = { 0, TS, SEN(printargs), "o32:sgetmask" },
-[4069] = { 1, TS, SEN(printargs), "o32:ssetmask" },
-[4070] = { 2, 0, SEN(printargs), "o32:setreuid" },
-[4071] = { 2, 0, SEN(printargs), "o32:setregid" },
-[4072] = { 3, TS, SEN(printargs), "o32:sigsuspend" },
-[4073] = { 1, TS, SEN(printargs), "o32:sigpending" },
-[4074] = { 2, 0, SEN(printargs), "o32:sethostname" },
-[4075] = { 2, 0, SEN(printargs), "o32:setrlimit" },
-[4076] = { 2, 0, SEN(printargs), "o32:getrlimit" },
-[4077] = { 2, 0, SEN(printargs), "o32:getrusage" },
-[4078] = { 2, 0, SEN(printargs), "o32:gettimeofday" },
-[4079] = { 2, 0, SEN(printargs), "o32:settimeofday" },
-[4080] = { 2, 0, SEN(printargs), "o32:getgroups" },
-[4081] = { 2, 0, SEN(printargs), "o32:setgroups" },
-[4082] = { 0, 0, SEN(printargs), "o32:reserved82" },
-[4083] = { 2, TF, SEN(printargs), "o32:symlink" },
-[4084] = { 2, TF, SEN(printargs), "o32:oldlstat" },
-[4085] = { 3, TF, SEN(printargs), "o32:readlink" },
-[4086] = { 1, TF, SEN(printargs), "o32:uselib" },
-[4087] = { 2, TF, SEN(printargs), "o32:swapon" },
-[4088] = { 4, 0, SEN(printargs), "o32:reboot" },
-[4089] = { 3, TD, SEN(printargs), "o32:readdir" },
-[4090] = { 6, TD|TM|SI, SEN(printargs), "o32:mmap" },
-[4091] = { 2, TM|SI, SEN(printargs), "o32:munmap" },
-[4092] = { 2, TF, SEN(printargs), "o32:truncate" },
-[4093] = { 2, TD, SEN(printargs), "o32:ftruncate" },
-[4094] = { 2, TD, SEN(printargs), "o32:fchmod" },
-[4095] = { 3, TD, SEN(printargs), "o32:fchown" },
-[4096] = { 2, 0, SEN(printargs), "o32:getpriority" },
-[4097] = { 3, 0, SEN(printargs), "o32:setpriority" },
-[4098] = { 0, 0, SEN(printargs), "o32:profil" },
-[4099] = { 2, TF, SEN(printargs), "o32:statfs" },
-[4100] = { 2, TD, SEN(printargs), "o32:fstatfs" },
-[4101] = { 3, 0, SEN(printargs), "o32:ioperm" },
-[4102] = { 2, TD, SEN(printargs), "o32:socketcall" },
-[4103] = { 3, 0, SEN(printargs), "o32:syslog" },
-[4104] = { 3, 0, SEN(printargs), "o32:setitimer" },
-[4105] = { 2, 0, SEN(printargs), "o32:getitimer" },
-[4106] = { 2, TF, SEN(printargs), "o32:stat" },
-[4107] = { 2, TF, SEN(printargs), "o32:lstat" },
-[4108] = { 2, TD, SEN(printargs), "o32:fstat" },
-[4109] = { 1, 0, SEN(printargs), "o32:olduname" },
-[4110] = { 1, 0, SEN(printargs), "o32:iopl" },
-[4111] = { 0, 0, SEN(printargs), "o32:vhangup" },
-[4112] = { 0, 0, SEN(printargs), "o32:idle" },
-[4113] = { 5, 0, SEN(printargs), "o32:vm86" },
-[4114] = { 4, TP, SEN(printargs), "o32:wait4" },
-[4115] = { 1, TF, SEN(printargs), "o32:swapoff" },
-[4116] = { 1, 0, SEN(printargs), "o32:sysinfo" },
-[4117] = { 6, TI, SEN(printargs), "o32:ipc" },
-[4118] = { 1, TD, SEN(printargs), "o32:fsync" },
-[4119] = { 0, TS, SEN(printargs), "o32:sigreturn" },
-[4120] = { 5, TP, SEN(printargs), "o32:clone" },
-[4121] = { 2, 0, SEN(printargs), "o32:setdomainname" },
-[4122] = { 1, 0, SEN(printargs), "o32:uname" },
-[4123] = { 0, 0, SEN(printargs), "o32:modify_ldt" },
-[4124] = { 1, 0, SEN(printargs), "o32:adjtimex" },
-[4125] = { 3, TM|SI, SEN(printargs), "o32:mprotect" },
-[4126] = { 3, TS, SEN(printargs), "o32:sigprocmask" },
-[4127] = { 2, 0, SEN(printargs), "o32:create_module" },
-[4128] = { 3, 0, SEN(printargs), "o32:init_module" },
-[4129] = { 2, 0, SEN(printargs), "o32:delete_module" },
-[4130] = { 1, 0, SEN(printargs), "o32:get_kernel_syms" },
-[4131] = { 4, TF, SEN(printargs), "o32:quotactl" },
-[4132] = { 1, 0, SEN(printargs), "o32:getpgid" },
-[4133] = { 1, TD, SEN(printargs), "o32:fchdir" },
-[4134] = { 2, 0, SEN(printargs), "o32:bdflush" },
-[4135] = { 3, 0, SEN(printargs), "o32:sysfs" },
-[4136] = { 1, NF, SEN(printargs), "o32:personality" },
-[4137] = { 0, 0, SEN(printargs), "o32:afs_syscall" },
-[4138] = { 1, NF, SEN(printargs), "o32:setfsuid" },
-[4139] = { 1, NF, SEN(printargs), "o32:setfsgid" },
-[4140] = { 5, TD, SEN(printargs), "o32:_llseek" },
-[4141] = { 3, TD, SEN(printargs), "o32:getdents" },
-[4142] = { 5, TD, SEN(printargs), "o32:_newselect" },
-[4143] = { 2, TD, SEN(printargs), "o32:flock" },
-[4144] = { 3, TM, SEN(printargs), "o32:msync" },
-[4145] = { 3, TD, SEN(printargs), "o32:readv" },
-[4146] = { 3, TD, SEN(printargs), "o32:writev" },
-[4147] = { 3, 0, SEN(printargs), "o32:cacheflush" },
-[4148] = { 3, 0, SEN(printargs), "o32:cachectl" },
-[4149] = { 4, 0, SEN(printargs), "o32:sysmips" },
-[4150] = { 0, 0, SEN(printargs), "o32:setup" },
-[4151] = { 1, 0, SEN(printargs), "o32:getsid" },
-[4152] = { 1, TD, SEN(printargs), "o32:fdatasync" },
-[4153] = { 1, 0, SEN(printargs), "o32:_sysctl" },
-[4154] = { 2, TM, SEN(printargs), "o32:mlock" },
-[4155] = { 2, TM, SEN(printargs), "o32:munlock" },
-[4156] = { 1, TM, SEN(printargs), "o32:mlockall" },
-[4157] = { 0, TM, SEN(printargs), "o32:munlockall" },
-[4158] = { 2, 0, SEN(printargs), "o32:sched_setparam" },
-[4159] = { 2, 0, SEN(printargs), "o32:sched_getparam" },
-[4160] = { 3, 0, SEN(printargs), "o32:sched_setscheduler" },
-[4161] = { 1, 0, SEN(printargs), "o32:sched_getscheduler" },
-[4162] = { 0, 0, SEN(printargs), "o32:sched_yield" },
-[4163] = { 1, 0, SEN(printargs), "o32:sched_get_priority_max"},
-[4164] = { 1, 0, SEN(printargs), "o32:sched_get_priority_min"},
-[4165] = { 2, 0, SEN(printargs), "o32:sched_rr_get_interval" },
-[4166] = { 2, 0, SEN(printargs), "o32:nanosleep" },
-[4167] = { 5, TM|SI, SEN(printargs), "o32:mremap" },
-[4168] = { 3, TN, SEN(printargs), "o32:accept" },
-[4169] = { 3, TN, SEN(printargs), "o32:bind" },
-[4170] = { 3, TN, SEN(printargs), "o32:connect" },
-[4171] = { 3, TN, SEN(printargs), "o32:getpeername" },
-[4172] = { 3, TN, SEN(printargs), "o32:getsockname" },
-[4173] = { 5, TN, SEN(printargs), "o32:getsockopt" },
-[4174] = { 2, TN, SEN(printargs), "o32:listen" },
-[4175] = { 4, TN, SEN(printargs), "o32:recv" },
-[4176] = { 6, TN, SEN(printargs), "o32:recvfrom" },
-[4177] = { 3, TN, SEN(printargs), "o32:recvmsg" },
-[4178] = { 4, TN, SEN(printargs), "o32:send" },
-[4179] = { 3, TN, SEN(printargs), "o32:sendmsg" },
-[4180] = { 6, TN, SEN(printargs), "o32:sendto" },
-[4181] = { 5, TN, SEN(printargs), "o32:setsockopt" },
-[4182] = { 2, TN, SEN(printargs), "o32:shutdown" },
-[4183] = { 3, TN, SEN(printargs), "o32:socket" },
-[4184] = { 4, TN, SEN(printargs), "o32:socketpair" },
-[4185] = { 3, 0, SEN(printargs), "o32:setresuid" },
-[4186] = { 3, 0, SEN(printargs), "o32:getresuid" },
-[4187] = { 5, 0, SEN(printargs), "o32:query_module" },
-[4188] = { 3, TD, SEN(printargs), "o32:poll" },
-[4189] = { 3, 0, SEN(printargs), "o32:nfsservctl" },
-[4190] = { 3, 0, SEN(printargs), "o32:setresgid" },
-[4191] = { 3, 0, SEN(printargs), "o32:getresgid" },
-[4192] = { 5, 0, SEN(printargs), "o32:prctl" },
-[4193] = { 0, TS, SEN(printargs), "o32:rt_sigreturn" },
-[4194] = { 4, TS, SEN(printargs), "o32:rt_sigaction" },
-[4195] = { 4, TS, SEN(printargs), "o32:rt_sigprocmask" },
-[4196] = { 2, TS, SEN(printargs), "o32:rt_sigpending" },
-[4197] = { 4, TS, SEN(printargs), "o32:rt_sigtimedwait" },
-[4198] = { 3, TS, SEN(printargs), "o32:rt_sigqueueinfo" },
-[4199] = { 2, TS, SEN(printargs), "o32:rt_sigsuspend" },
-[4200] = { 6, TD, SEN(printargs), "o32:pread64" },
-[4201] = { 6, TD, SEN(printargs), "o32:pwrite64" },
-[4202] = { 3, TF, SEN(printargs), "o32:chown" },
-[4203] = { 2, TF, SEN(printargs), "o32:getcwd" },
-[4204] = { 2, 0, SEN(printargs), "o32:capget" },
-[4205] = { 2, 0, SEN(printargs), "o32:capset" },
-[4206] = { 2, TS, SEN(printargs), "o32:sigaltstack" },
-[4207] = { 4, TD|TN, SEN(printargs), "o32:sendfile" },
-[4208] = { 5, TN, SEN(printargs), "o32:getpmsg" },
-[4209] = { 5, TN, SEN(printargs), "o32:putpmsg" },
-[4210] = { 6, TD|TM|SI, SEN(printargs), "o32:mmap2" },
-[4211] = { 4, TF, SEN(printargs), "o32:truncate64" },
-[4212] = { 4, TD, SEN(printargs), "o32:ftruncate64" },
-[4213] = { 2, TF, SEN(printargs), "o32:stat64" },
-[4214] = { 2, TF, SEN(printargs), "o32:lstat64" },
-[4215] = { 2, TD, SEN(printargs), "o32:fstat64" },
-[4216] = { 2, TF, SEN(printargs), "o32:pivot_root" },
-[4217] = { 3, TM, SEN(printargs), "o32:mincore" },
-[4218] = { 3, TM, SEN(printargs), "o32:madvise" },
-[4219] = { 3, TD, SEN(printargs), "o32:getdents64" },
-[4220] = { 3, TD, SEN(printargs), "o32:fcntl64" },
-[4221] = { },
-[4222] = { 0, NF, SEN(printargs), "o32:gettid" },
-[4223] = { 5, TD, SEN(printargs), "o32:readahead" },
-[4224] = { 5, TF, SEN(printargs), "o32:setxattr" },
-[4225] = { 5, TF, SEN(printargs), "o32:lsetxattr" },
-[4226] = { 5, TD, SEN(printargs), "o32:fsetxattr" },
-[4227] = { 4, TF, SEN(printargs), "o32:getxattr" },
-[4228] = { 4, TF, SEN(printargs), "o32:lgetxattr" },
-[4229] = { 4, TD, SEN(printargs), "o32:fgetxattr" },
-[4230] = { 3, TF, SEN(printargs), "o32:listxattr" },
-[4231] = { 3, TF, SEN(printargs), "o32:llistxattr" },
-[4232] = { 3, TD, SEN(printargs), "o32:flistxattr" },
-[4233] = { 2, TF, SEN(printargs), "o32:removexattr" },
-[4234] = { 2, TF, SEN(printargs), "o32:lremovexattr" },
-[4235] = { 2, TD, SEN(printargs), "o32:fremovexattr" },
-[4236] = { 2, TS, SEN(printargs), "o32:tkill" },
-[4237] = { 4, TD|TN, SEN(printargs), "o32:sendfile64" },
-[4238] = { 6, 0, SEN(printargs), "o32:futex" },
-[4239] = { 3, 0, SEN(printargs), "o32:sched_setaffinity" },
-[4240] = { 3, 0, SEN(printargs), "o32:sched_getaffinity" },
-[4241] = { 2, TM, SEN(printargs), "o32:io_setup" },
-[4242] = { 1, TM, SEN(printargs), "o32:io_destroy" },
-[4243] = { 5, 0, SEN(printargs), "o32:io_getevents" },
-[4244] = { 3, 0, SEN(printargs), "o32:io_submit" },
-[4245] = { 3, 0, SEN(printargs), "o32:io_cancel" },
-[4246] = { 1, TP|SE, SEN(printargs), "o32:exit_group" },
-[4247] = { 4, 0, SEN(printargs), "o32:lookup_dcookie" },
-[4248] = { 1, TD, SEN(printargs), "o32:epoll_create" },
-[4249] = { 4, TD, SEN(printargs), "o32:epoll_ctl" },
-[4250] = { 4, TD, SEN(printargs), "o32:epoll_wait" },
-[4251] = { 5, TM|SI, SEN(printargs), "o32:remap_file_pages" },
-[4252] = { 1, 0, SEN(printargs), "o32:set_tid_address" },
-[4253] = { 0, 0, SEN(printargs), "o32:restart_syscall" },
-[4254] = { 7, TD, SEN(printargs), "o32:fadvise64" },
-[4255] = { 3, TF, SEN(printargs), "o32:statfs64" },
-[4256] = { 3, TD, SEN(printargs), "o32:fstatfs64" },
-[4257] = { 3, 0, SEN(printargs), "o32:timer_create" },
-[4258] = { 4, 0, SEN(printargs), "o32:timer_settime" },
-[4259] = { 2, 0, SEN(printargs), "o32:timer_gettime" },
-[4260] = { 1, 0, SEN(printargs), "o32:timer_getoverrun" },
-[4261] = { 1, 0, SEN(printargs), "o32:timer_delete" },
-[4262] = { 2, 0, SEN(printargs), "o32:clock_settime" },
-[4263] = { 2, 0, SEN(printargs), "o32:clock_gettime" },
-[4264] = { 2, 0, SEN(printargs), "o32:clock_getres" },
-[4265] = { 4, 0, SEN(printargs), "o32:clock_nanosleep" },
-[4266] = { 3, TS, SEN(printargs), "o32:tgkill" },
-[4267] = { 2, TF, SEN(printargs), "o32:utimes" },
-[4268] = { 6, TM, SEN(printargs), "o32:mbind" },
-[4269] = { 5, TM, SEN(printargs), "o32:get_mempolicy" },
-[4270] = { 3, TM, SEN(printargs), "o32:set_mempolicy" },
-[4271] = { 4, 0, SEN(printargs), "o32:mq_open" },
-[4272] = { 1, 0, SEN(printargs), "o32:mq_unlink" },
-[4273] = { 5, 0, SEN(printargs), "o32:mq_timedsend" },
-[4274] = { 5, 0, SEN(printargs), "o32:mq_timedreceive" },
-[4275] = { 2, 0, SEN(printargs), "o32:mq_notify" },
-[4276] = { 3, 0, SEN(printargs), "o32:mq_getsetattr" },
-[4277] = { 5, 0, SEN(printargs), "o32:vserver" },
-[4278] = { 5, TP, SEN(printargs), "o32:waitid" },
-[4279] = { },
-[4280] = { 5, 0, SEN(printargs), "o32:add_key" },
-[4281] = { 4, 0, SEN(printargs), "o32:request_key" },
-[4282] = { 5, 0, SEN(printargs), "o32:keyctl" },
-[4283] = { 1, 0, SEN(printargs), "o32:set_thread_area" },
-[4284] = { 0, TD, SEN(printargs), "o32:inotify_init" },
-[4285] = { 3, TD, SEN(printargs), "o32:inotify_add_watch" },
-[4286] = { 2, TD, SEN(printargs), "o32:inotify_rm_watch" },
-[4287] = { 4, TM, SEN(printargs), "o32:migrate_pages" },
-[4288] = { 4, TD|TF, SEN(printargs), "o32:openat" },
-[4289] = { 3, TD|TF, SEN(printargs), "o32:mkdirat" },
-[4290] = { 4, TD|TF, SEN(printargs), "o32:mknodat" },
-[4291] = { 5, TD|TF, SEN(printargs), "o32:fchownat" },
-[4292] = { 3, TD|TF, SEN(printargs), "o32:futimesat" },
-[4293] = { 4, TD|TF, SEN(printargs), "o32:fstatat64" },
-[4294] = { 3, TD|TF, SEN(printargs), "o32:unlinkat" },
-[4295] = { 4, TD|TF, SEN(printargs), "o32:renameat" },
-[4296] = { 5, TD|TF, SEN(printargs), "o32:linkat" },
-[4297] = { 3, TD|TF, SEN(printargs), "o32:symlinkat" },
-[4298] = { 4, TD|TF, SEN(printargs), "o32:readlinkat" },
-[4299] = { 3, TD|TF, SEN(printargs), "o32:fchmodat" },
-[4300] = { 3, TD|TF, SEN(printargs), "o32:faccessat" },
-[4301] = { 6, TD, SEN(printargs), "o32:pselect6" },
-[4302] = { 5, TD, SEN(printargs), "o32:ppoll" },
-[4303] = { 1, TP, SEN(printargs), "o32:unshare" },
-[4304] = { 6, TD, SEN(printargs), "o32:splice" },
-[4305] = { 7, TD, SEN(printargs), "o32:sync_file_range" },
-[4306] = { 4, TD, SEN(printargs), "o32:tee" },
-[4307] = { 4, TD, SEN(printargs), "o32:vmsplice" },
-[4308] = { 6, TM, SEN(printargs), "o32:move_pages" },
-[4309] = { 2, 0, SEN(printargs), "o32:set_robust_list" },
-[4310] = { 3, 0, SEN(printargs), "o32:get_robust_list" },
-[4311] = { 4, 0, SEN(printargs), "o32:kexec_load" },
-[4312] = { 3, 0, SEN(printargs), "o32:getcpu" },
-[4313] = { 6, TD, SEN(printargs), "o32:epoll_pwait" },
-[4314] = { 3, 0, SEN(printargs), "o32:ioprio_set" },
-[4315] = { 2, 0, SEN(printargs), "o32:ioprio_get" },
-[4316] = { 4, TD|TF, SEN(printargs), "o32:utimensat" },
-[4317] = { 3, TD|TS, SEN(printargs), "o32:signalfd" },
-[4318] = { 4, TD, SEN(printargs), "o32:timerfd" },
-[4319] = { 1, TD, SEN(printargs), "o32:eventfd" },
-[4320] = { 6, TD, SEN(printargs), "o32:fallocate" },
-[4321] = { 2, TD, SEN(printargs), "o32:timerfd_create" },
-[4322] = { 2, TD, SEN(printargs), "o32:timerfd_gettime" },
-[4323] = { 4, TD, SEN(printargs), "o32:timerfd_settime" },
-[4324] = { 4, TD|TS, SEN(printargs), "o32:signalfd4" },
-[4325] = { 2, TD, SEN(printargs), "o32:eventfd2" },
-[4326] = { 1, TD, SEN(printargs), "o32:epoll_create1" },
-[4327] = { 3, TD, SEN(printargs), "o32:dup3" },
-[4328] = { 2, TD, SEN(printargs), "o32:pipe2" },
-[4329] = { 1, TD, SEN(printargs), "o32:inotify_init1" },
-[4330] = { 5, TD, SEN(printargs), "o32:preadv" },
-[4331] = { 5, TD, SEN(printargs), "o32:pwritev" },
-[4332] = { 4, TP|TS, SEN(printargs), "o32:rt_tgsigqueueinfo" },
-[4333] = { 5, TD, SEN(printargs), "o32:perf_event_open" },
-[4334] = { 4, TN, SEN(printargs), "o32:accept4" },
-[4335] = { 5, TN, SEN(printargs), "o32:recvmmsg" },
-[4336] = { 2, TD, SEN(printargs), "o32:fanotify_init" },
-[4337] = { 6, TD|TF, SEN(printargs), "o32:fanotify_mark" },
-[4338] = { 4, 0, SEN(printargs), "o32:prlimit64" },
-[4339] = { 5, TD|TF, SEN(printargs), "o32:name_to_handle_at" },
-[4340] = { 3, TD, SEN(printargs), "o32:open_by_handle_at" },
-[4341] = { 2, 0, SEN(printargs), "o32:clock_adjtime" },
-[4342] = { 1, TD, SEN(printargs), "o32:syncfs" },
-[4343] = { 4, TN, SEN(printargs), "o32:sendmmsg" },
-[4344] = { 2, TD, SEN(printargs), "o32:setns" },
-[4345] = { 6, 0, SEN(printargs), "o32:process_vm_readv" },
-[4346] = { 6, 0, SEN(printargs), "o32:process_vm_writev" },
-[4347] = { 5, 0, SEN(printargs), "o32:kcmp" },
-[4348] = { 3, TD, SEN(printargs), "o32:finit_module" },
-[4349] = { 3, 0, SEN(printargs), "o32:sched_setattr" },
-[4350] = { 4, 0, SEN(printargs), "o32:sched_getattr" },
-[4351] = { 5, TD|TF, SEN(printargs), "o32:renameat2" },
-[4352] = { 3, 0, SEN(printargs), "o32:seccomp" },
-[4353] = { 3, 0, SEN(printargs), "o32:getrandom" },
-[4354] = { 2, TD, SEN(printargs), "o32:memfd_create" },
-[4355] = { 3, TD, SEN(printargs), "o32:bpf" },
-[4356] = { 5, TD|TF|TP|SE|SI, SEN(printargs), "o32:execveat" },
-[4357] = { 1, TD, SEN(printargs), "o32:userfaultfd" },
-[4358] = { 2, 0, SEN(printargs), "o32:membarrier" },
-[4359] = { 3, TM, SEN(printargs), "o32:mlock2" },
-[4360] = { 6, TD, SEN(printargs), "o32:copy_file_range" },
-[4361] = { 6, TD, SEN(printargs), "o32:preadv2" },
-[4362] = { 6, TD, SEN(printargs), "o32:pwritev2" },
-[4363] = { 4, TM|SI, SEN(printargs), "o32:pkey_mprotect" },
-[4364] = { 2, 0, SEN(printargs), "o32:pkey_alloc" },
-[4365] = { 1, 0, SEN(printargs), "o32:pkey_free" },
diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h
index 780d3bc0..9b84c483 100644
--- a/linux/mips/syscallent-o32.h
+++ b/linux/mips/syscallent-o32.h
@@ -18,7 +18,7 @@
[4015] = { 2, TF, SEN(chmod), "chmod" },
[4016] = { 3, TF, SEN(chown), "lchown" },
[4017] = { 0, TM, SEN(break), "break" },
-[4018] = { 2, TF, SEN(oldstat), "oldstat" },
+[4018] = { 2, TF|TST|TSTA, SEN(oldstat), "oldstat" },
[4019] = { 3, TD, SEN(lseek), "lseek" },
[4020] = { 0, NF, SEN(getpid), "getpid" },
[4021] = { 5, TF, SEN(mount), "mount" },
@@ -28,7 +28,7 @@
[4025] = { 1, 0, SEN(stime), "stime" },
[4026] = { 4, 0, SEN(ptrace), "ptrace" },
[4027] = { 1, 0, SEN(alarm), "alarm" },
-[4028] = { 2, TD, SEN(oldfstat), "oldfstat" },
+[4028] = { 2, TD|TFST|TSTA, SEN(oldfstat), "oldfstat" },
[4029] = { 0, TS, SEN(pause), "pause" },
[4030] = { 2, TF, SEN(utime), "utime" },
[4031] = { 0, 0, SEN(stty), "stty" },
@@ -62,17 +62,17 @@
[4059] = { 1, 0, SEN(oldolduname), "oldolduname" },
[4060] = { 1, NF, SEN(umask), "umask" },
[4061] = { 1, TF, SEN(chroot), "chroot" },
-[4062] = { 2, 0, SEN(ustat), "ustat" },
+[4062] = { 2, TSFA, SEN(ustat), "ustat" },
[4063] = { 2, TD, SEN(dup2), "dup2" },
[4064] = { 0, NF, SEN(getppid), "getppid" },
[4065] = { 0, 0, SEN(getpgrp), "getpgrp" },
[4066] = { 0, 0, SEN(setsid), "setsid" },
[4067] = { 3, TS, SEN(sigaction), "sigaction" },
-[4068] = { 0, TS, SEN(siggetmask), "sgetmask" },
-[4069] = { 1, TS, SEN(sigsetmask), "ssetmask" },
+[4068] = { 0, TS, SEN(sgetmask), "sgetmask" },
+[4069] = { 1, TS, SEN(ssetmask), "ssetmask" },
[4070] = { 2, 0, SEN(setreuid), "setreuid" },
[4071] = { 2, 0, SEN(setregid), "setregid" },
-[4072] = { 3, TS, SEN(sigsuspend), "sigsuspend" },
+[4072] = { 1, TS, SEN(sigsuspend), "sigsuspend" },
[4073] = { 1, TS, SEN(sigpending), "sigpending" },
[4074] = { 2, 0, SEN(sethostname), "sethostname" },
[4075] = { 2, 0, SEN(setrlimit), "setrlimit" },
@@ -84,7 +84,7 @@
[4081] = { 2, 0, SEN(setgroups), "setgroups" },
[4082] = { 0, 0, SEN(printargs), "reserved82" },
[4083] = { 2, TF, SEN(symlink), "symlink" },
-[4084] = { 2, TF, SEN(oldlstat), "oldlstat" },
+[4084] = { 2, TF|TLST|TSTA, SEN(oldlstat), "oldlstat" },
[4085] = { 3, TF, SEN(readlink), "readlink" },
[4086] = { 1, TF, SEN(uselib), "uselib" },
[4087] = { 2, TF, SEN(swapon), "swapon" },
@@ -99,16 +99,16 @@
[4096] = { 2, 0, SEN(getpriority), "getpriority" },
[4097] = { 3, 0, SEN(setpriority), "setpriority" },
[4098] = { 0, 0, SEN(profil), "profil" },
-[4099] = { 2, TF, SEN(statfs), "statfs" },
-[4100] = { 2, TD, SEN(fstatfs), "fstatfs" },
+[4099] = { 2, TF|TSF|TSFA, SEN(statfs), "statfs" },
+[4100] = { 2, TD|TFSF|TSFA, SEN(fstatfs), "fstatfs" },
[4101] = { 3, 0, SEN(ioperm), "ioperm" },
[4102] = { 2, TD, SEN(socketcall), "socketcall" },
[4103] = { 3, 0, SEN(syslog), "syslog" },
[4104] = { 3, 0, SEN(setitimer), "setitimer" },
[4105] = { 2, 0, SEN(getitimer), "getitimer" },
-[4106] = { 2, TF, SEN(stat), "stat" },
-[4107] = { 2, TF, SEN(lstat), "lstat" },
-[4108] = { 2, TD, SEN(fstat), "fstat" },
+[4106] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
+[4107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
+[4108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[4109] = { 1, 0, SEN(olduname), "olduname" },
[4110] = { 1, 0, SEN(iopl), "iopl" },
[4111] = { 0, 0, SEN(vhangup), "vhangup" },
@@ -213,9 +213,9 @@
[4210] = { 6, TD|TM|SI, SEN(mmap_4koff), "mmap2" },
[4211] = { 4, TF, SEN(truncate64), "truncate64" },
[4212] = { 4, TD, SEN(ftruncate64), "ftruncate64" },
-[4213] = { 2, TF, SEN(stat64), "stat64" },
-[4214] = { 2, TF, SEN(lstat64), "lstat64" },
-[4215] = { 2, TD, SEN(fstat64), "fstat64" },
+[4213] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
+[4214] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
+[4215] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[4216] = { 2, TF, SEN(pivotroot), "pivot_root" },
[4217] = { 3, TM, SEN(mincore), "mincore" },
[4218] = { 3, TM, SEN(madvise), "madvise" },
@@ -255,8 +255,8 @@
[4252] = { 1, 0, SEN(set_tid_address), "set_tid_address" },
[4253] = { 0, 0, SEN(restart_syscall), "restart_syscall" },
[4254] = { 7, TD, SEN(fadvise64_64), "fadvise64" },
-[4255] = { 3, TF, SEN(statfs64), "statfs64" },
-[4256] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
+[4255] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" },
+[4256] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" },
[4257] = { 3, 0, SEN(timer_create), "timer_create" },
[4258] = { 4, 0, SEN(timer_settime), "timer_settime" },
[4259] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
@@ -293,7 +293,7 @@
[4290] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[4291] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[4292] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[4293] = { 4, TD|TF, SEN(fstatat64), "fstatat64" },
+[4293] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[4294] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[4295] = { 4, TD|TF, SEN(renameat), "renameat" },
[4296] = { 5, TD|TF, SEN(linkat), "linkat" },
@@ -366,6 +366,7 @@
[4363] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" },
[4364] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" },
[4365] = { 1, 0, SEN(pkey_free), "pkey_free" },
+[4366] = { 5, TD|TF|TSTA, SEN(statx), "statx" },
# define SYS_socket_subcall 4400
# include "subcall.h"