* Improvements
* Optimized syscall filtering.
* Enhanced decoding of sched_setattr 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).
[ 76] = { 6, TD, SEN(splice), "splice" },
[ 77] = { 4, TD, SEN(tee), "tee" },
[ 78] = { 4, TD|TF, SEN(readlinkat), "readlinkat" },
-[ 79] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
-[ 80] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[ 79] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
+[ 80] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[ 81] = { 0, 0, SEN(sync), "sync" },
[ 82] = { 1, TD, SEN(fsync), "fsync" },
[ 83] = { 1, TD, SEN(fdatasync), "fdatasync" },
[ 76] = { 6, TD, SEN(splice), "splice" },
[ 77] = { 4, TD, SEN(tee), "tee" },
[ 78] = { 4, TD|TF, SEN(readlinkat), "readlinkat" },
-[ 79] = { 4, TD|TF|TSTA, SEN(newfstatat), "newfstatat" },
-[ 80] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[ 79] = { 4, TD|TF|TFST|TSTA,SEN(newfstatat), "newfstatat" },
+[ 80] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[ 81] = { 0, 0, SEN(sync), "sync" },
[ 82] = { 1, TD, SEN(fsync), "fsync" },
[ 83] = { 1, TD, SEN(fdatasync), "fdatasync" },
[1048] = { 2, TF, SEN(truncate), "truncate" },
[1049] = { 2, TF|TSTA, SEN(stat), "stat" },
[1050] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[1051] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[1051] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[1052] = { 3, TD, SEN(fcntl), "fcntl" },
[1053] = { 4, TD, SEN(fadvise64), "fadvise64" },
-[1054] = { 4, TD|TF|TSTA, SEN(newfstatat), "newfstatat" },
+[1054] = { 4, TD|TF|TFST|TSTA,SEN(newfstatat), "newfstatat" },
[1055] = { 2, TD|TFSF|TSFA, SEN(fstatfs), "fstatfs" },
[1056] = { 2, TF|TSF|TSFA, SEN(statfs), "statfs" },
[1057] = { 3, TD, SEN(lseek), "lseek" },
[ 59] = { 3, TF|TP|SE|SI, SEN(execve), "execve" },
[ 60] = { 1, NF, SEN(umask), "umask" },
[ 61] = { 1, TF, SEN(chroot), "chroot" },
-[ 62] = { 5, TD|TSTA, SEN(printargs), "osf_old_fstat" }, /* not implemented */
+[ 62] = { 5, TD|TFST|TSTA, SEN(printargs), "osf_old_fstat" }, /* not implemented */
[ 63] = { 0, 0, SEN(getpgrp), "getpgrp" },
[ 64] = { 0, 0, SEN(getpagesize), "getpagesize" },
[ 65] = { 5, TM, SEN(printargs), "osf_mremap" }, /* not implemented */
[ 88] = { 2, 0, SEN(sethostname), "sethostname" },
[ 89] = { 0, 0, SEN(getdtablesize), "getdtablesize" },
[ 90] = { 2, TD, SEN(dup2), "dup2" },
-[ 91] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[ 91] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[ 92] = { 3, TD, SEN(fcntl), "fcntl" },
[ 93] = { 5, TD, SEN(osf_select), "osf_select" },
[ 94] = { 3, TD, SEN(poll), "poll" },
[223] = { 5, 0, SEN(printargs), "osf_kloadcall" }, /* not implemented */
[224] = { 2, TF|TSTA, SEN(printargs), "osf_stat" },
[225] = { 2, TF|TSTA, SEN(printargs), "osf_lstat" },
-[226] = { 2, TD|TSTA, SEN(printargs), "osf_fstat" },
+[226] = { 2, TD|TFST|TSTA, SEN(printargs), "osf_fstat" },
[227] = { 3, TF|TSF|TSFA, SEN(osf_statfs), "osf_statfs64" },
[228] = { 3, TD|TFSF|TSFA, SEN(osf_fstatfs), "osf_fstatfs64" },
[229 ... 232] = { },
[424] = { 3, TS, SEN(tgkill), "tgkill" },
[425] = { 2, TF|TSTA, SEN(stat64), "stat64" },
[426] = { 2, TF|TSTA, SEN(lstat64), "lstat64" },
-[427] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[427] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[428] = { 5, 0, SEN(vserver), "vserver" }, /* not implemented */
[429] = { 6, TM, SEN(mbind), "mbind" }, /* not implemented */
[430] = { 5, TM, SEN(get_mempolicy), "get_mempolicy" }, /* not implemented */
[452] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[453] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[454] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[455] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[455] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[456] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[457] = { 4, TD|TF, SEN(renameat), "renameat" },
[458] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 25] = { 1, 0, SEN(stime), "stime" },
[ 26] = { 4, 0, SEN(ptrace), "ptrace" },
[ 27] = { 1, 0, SEN(alarm), "alarm" },
-[ 28] = { 2, TD|TSTA, SEN(oldfstat), "oldfstat" },
+[ 28] = { 2, TD|TFST|TSTA, SEN(oldfstat), "oldfstat" },
[ 29] = { 0, TS, SEN(pause), "pause" },
[ 30] = { 2, TF, SEN(utime), "utime" },
[ 31] = { 2, 0, SEN(stty), "stty" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
[106] = { 2, TF|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[108] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[110] = { 1, 0, SEN(iopl), "iopl" },
[111] = { 0, 0, SEN(vhangup), "vhangup" },
[194] = { 4, TD, SEN(ftruncate64), "ftruncate64" },
[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" },
-[197] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[199] = { 0, NF, SEN(getuid), "getuid32" },
[200] = { 0, NF, SEN(getgid), "getgid32" },
[324] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[325] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[326] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[327] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[327] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[328] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[329] = { 4, TD|TF, SEN(renameat), "renameat" },
[330] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 28] = { 0, TS, SEN(pause), "pause" },
[ 29] = { 2, TF, SEN(utime), "utime" },
[ 30] = { 2, TF|TSTA, SEN(stat), "stat" },
-[ 31] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[ 31] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[ 32] = { 2, TF|TSTA, SEN(lstat), "lstat" },
[ 33] = { 2, TF, SEN(access), "access" },
[ 34] = { 1, TF, SEN(chroot), "chroot" },
[167] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
[168] = { 2, TF|TSTA, SEN(stat64), "stat64" },
[169] = { 2, TF|TSTA, SEN(lstat64), "lstat64" },
-[170] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[170] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[171] = { 2, TF, SEN(pivotroot), "pivot_root" },
[172] = { 3, TM, SEN(mincore), "mincore" },
[173] = { 3, TM, SEN(madvise), "madvise" },
[245] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[246] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[247] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[248] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[248] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[249] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[250] = { 4, TD|TF, SEN(renameat), "renameat" },
[251] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 25] = { 1, 0, SEN(stime), "stime" },
[ 26] = { 4, 0, SEN(ptrace), "ptrace" },
[ 27] = { 1, 0, SEN(alarm), "alarm" },
-[ 28] = { 2, TD|TSTA, SEN(oldfstat), "oldfstat" },
+[ 28] = { 2, TD|TFST|TSTA, SEN(oldfstat), "oldfstat" },
[ 29] = { 0, TS, SEN(pause), "pause" },
[ 30] = { 2, TF, SEN(utime), "utime" },
[ 31] = { 2, 0, SEN(stty), "stty" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
[106] = { 2, TF|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[108] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[110] = { 1, 0, SEN(iopl), "iopl" },
[111] = { 0, 0, SEN(vhangup), "vhangup" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" },
-[197] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "chown32" },
[199] = { 0, NF, SEN(getuid), "getuid32" },
[200] = { 0, NF, SEN(getgid), "getgid32" },
[297] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[298] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[299] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[300] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[300] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[301] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[302] = { 4, TD|TF, SEN(renameat), "renameat" },
[303] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 25] = { 1, 0, SEN(stime), "stime" },
[ 26] = { 4, 0, SEN(ptrace), "ptrace" },
[ 27] = { 1, 0, SEN(alarm), "alarm" },
-[ 28] = { 2, TD|TSTA, SEN(oldfstat), "oldfstat" },
+[ 28] = { 2, TD|TFST|TSTA, SEN(oldfstat), "oldfstat" },
[ 29] = { 0, TS, SEN(pause), "pause" },
[ 30] = { 2, TF, SEN(utime), "utime" },
[ 31] = { 2, 0, SEN(stty), "stty" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
[106] = { 2, TF|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[108] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[110] = { 1, 0, SEN(iopl), "iopl" },
[111] = { 0, 0, SEN(vhangup), "vhangup" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" },
-[197] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[199] = { 0, NF, SEN(getuid), "getuid32" },
[200] = { 0, NF, SEN(getgid), "getgid32" },
[297] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[298] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[299] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[300] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[300] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[301] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[302] = { 4, TD|TF, SEN(renameat), "renameat" },
[303] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 25] = { 1, 0, SEN(stime), "stime" },
[ 26] = { 4, 0, SEN(ptrace), "ptrace" },
[ 27] = { 1, 0, SEN(alarm), "alarm" },
-[ 28] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[ 28] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[ 29] = { 0, TS, SEN(pause), "pause" },
[ 30] = { 2, TF, SEN(utime), "utime" },
[ 31] = { 3, TN, SEN(connect), "connect" },
[109] = { 5, TD, SEN(pwrite), "pwrite64" },
[110] = { 2, TF, SEN(getcwd), "getcwd" },
[111] = { 0, 0, SEN(vhangup), "vhangup" },
-[112] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[112] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[113] = { 0, TP, SEN(vfork), "vfork" },
[114] = { 4, TP, SEN(wait4), "wait4" },
[115] = { 1, TF, SEN(swapoff), "swapoff" },
[277] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[278] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[279] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[280] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[280] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[281] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[282] = { 4, TD|TF, SEN(renameat), "renameat" },
[283] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 25] = { 1, 0, SEN(stime), "stime" },
[ 26] = { 4, 0, SEN(ptrace), "ptrace" },
[ 27] = { 1, 0, SEN(alarm), "alarm" },
-[ 28] = { 2, TD|TSTA, SEN(oldfstat), "oldfstat" },
+[ 28] = { 2, TD|TFST|TSTA, SEN(oldfstat), "oldfstat" },
[ 29] = { 0, TS, SEN(pause), "pause" },
[ 30] = { 2, TF, SEN(utime), "utime" },
[ 31] = { 2, 0, SEN(stty), "stty" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
[106] = { 2, TF|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[108] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[110] = { 1, 0, SEN(iopl), "iopl" },
[111] = { 0, 0, SEN(vhangup), "vhangup" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" },
-[197] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[199] = { 0, NF, SEN(getuid), "getuid32" },
[200] = { 0, NF, SEN(getgid), "getgid32" },
[297] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[298] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[299] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[300] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[300] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[301] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[302] = { 4, TD|TF, SEN(renameat), "renameat" },
[303] = { 5, TD|TF, SEN(linkat), "linkat" },
[1119] = { 2, 0, SEN(getitimer), "getitimer" },
[1120] = { 2, TF|TSTA, SEN(stat), "stat" },
[1121] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[1122] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[1122] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[1123] = { 0, 0, SEN(vhangup), "vhangup" },
[1124] = { 3, TF, SEN(chown), "lchown" },
[1125] = { 5, TM|SI, SEN(remap_file_pages), "remap_file_pages" },
[1209] = { 3, TM, SEN(madvise), "madvise" },
[1210] = { 2, TF|TSTA, SEN(stat), "stat" },
[1211] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[1212] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[1212] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[1213] = { 6, TP, SEN(clone), "clone2" },
[1214] = { 3, TD, SEN(getdents64), "getdents64" },
[1215] = { 2, 0, SEN(printargs), "getunwind" },
[1283] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[1284] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[1285] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[1286] = { 4, TD|TF|TSTA, SEN(newfstatat), "newfstatat" },
+[1286] = { 4, TD|TF|TFST|TSTA,SEN(newfstatat), "newfstatat" },
[1287] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[1288] = { 4, TD|TF, SEN(renameat), "renameat" },
[1289] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 25] = { 1, 0, SEN(stime), "stime" },
[ 26] = { 4, 0, SEN(ptrace), "ptrace" },
[ 27] = { 1, 0, SEN(alarm), "alarm" },
-[ 28] = { 2, TD|TSTA, SEN(oldfstat), "oldfstat" },
+[ 28] = { 2, TD|TFST|TSTA, SEN(oldfstat), "oldfstat" },
[ 29] = { 0, TS, SEN(pause), "pause" },
[ 30] = { 2, TF, SEN(utime), "utime" },
[ 31] = { 2, 0, SEN(stty), "stty" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
[106] = { 2, TF|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[108] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[110] = { 1, 0, SEN(iopl), "iopl" },
[111] = { 0, 0, SEN(vhangup), "vhangup" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" },
-[197] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "chown32" },
[199] = { 0, NF, SEN(getuid), "getuid32" },
[200] = { 0, NF, SEN(getgid), "getgid32" },
[290] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[291] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[292] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[293] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[293] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[294] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[295] = { 4, TD|TF, SEN(renameat), "renameat" },
[296] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 25] = { 1, 0, SEN(stime), "stime" },
[ 26] = { 4, 0, SEN(ptrace), "ptrace" },
[ 27] = { 1, 0, SEN(alarm), "alarm" },
-[ 28] = { 2, TD|TSTA, SEN(oldfstat), "oldfstat" },
+[ 28] = { 2, TD|TFST|TSTA, SEN(oldfstat), "oldfstat" },
[ 29] = { 0, TS, SEN(pause), "pause" },
[ 30] = { 2, TF, SEN(utime), "utime" },
[ 31] = { 2, 0, SEN(stty), "stty" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
[106] = { 2, TF|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[108] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[110] = { 1, 0, SEN(iopl), "iopl" },
[111] = { 0, 0, SEN(vhangup), "vhangup" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" },
-[197] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[199] = { 0, NF, SEN(getuid), "getuid32" },
[200] = { 0, NF, SEN(getgid), "getgid32" },
[297] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[298] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[299] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[300] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[300] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[301] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[302] = { 4, TD|TF, SEN(renameat), "renameat" },
[303] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 25] = { 0, 0, SEN(printargs), "svr4_stime" },
[ 26] = { 0, 0, SEN(printargs), "svr4_ptrace" },
[ 27] = { 0, 0, SEN(printargs), "svr4_alarm" },
-[ 28] = { 0, TD|TSTA,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" },
[ 122] = { 0, 0, SEN(printargs), "svr4_writev" },
[ 123] = { 0, TF|TSTA,SEN(printargs), "svr4_xstat" },
[ 124] = { 0, TF|TSTA,SEN(printargs), "svr4_lxstat" },
-[ 125] = { 0, TD|TSTA,SEN(printargs), "svr4_fxstat" },
+[ 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" },
[1025] = { 0, 0, SEN(printargs), "sysv_stime" },
[1026] = { 0, 0, SEN(printargs), "sysv_ptrace" },
[1027] = { 0, 0, SEN(printargs), "sysv_alarm" },
-[1028] = { 0, TD|TSTA,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" },
[1157] = { 0, 0, SEN(printargs), "sysv_nuname" },
[1158] = { 0, TF|TSTA,SEN(printargs), "sysv_xstat" },
[1159] = { 0, TF|TSTA,SEN(printargs), "sysv_lxstat" },
-[1160] = { 0, TD|TSTA,SEN(printargs), "sysv_fxstat" },
+[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" },
[2025] = { 0, 0, SEN(printargs), "bsd43_stime" },
[2026] = { 0, 0, SEN(printargs), "bsd43_ptrace" },
[2027] = { 0, 0, SEN(printargs), "bsd43_alarm" },
-[2028] = { 0, TD|TSTA,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" },
[2059] = { 0, 0, SEN(printargs), "bsd43_execve" },
[2060] = { 0, 0, SEN(printargs), "bsd43_umask" },
[2061] = { 0, 0, SEN(printargs), "bsd43_chroot" },
-[2062] = { 0, TD|TSTA,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" },
[3025] = { 0, 0, SEN(printargs), "posix_stime" },
[3026] = { 0, 0, SEN(printargs), "posix_ptrace" },
[3027] = { 0, 0, SEN(printargs), "posix_alarm" },
-[3028] = { 0, TD|TSTA,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" },
[6002] = { 3, TD|TF, SEN(open), "open" },
[6003] = { 1, TD, SEN(close), "close" },
[6004] = { 2, TF|TSTA, SEN(stat64), "stat" },
-[6005] = { 2, TD|TSTA, SEN(fstat64), "fstat" },
+[6005] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat" },
[6006] = { 2, TF|TSTA, SEN(lstat64), "lstat" },
[6007] = { 3, TD, SEN(poll), "poll" },
[6008] = { 3, TD, SEN(lseek), "lseek" },
[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|TSTA, 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" },
[5002] = { 3, TD|TF, SEN(open), "open" },
[5003] = { 1, TD, SEN(close), "close" },
[5004] = { 2, TF|TSTA, SEN(stat), "stat" },
-[5005] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[5005] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[5006] = { 2, TF|TSTA, SEN(lstat), "lstat" },
[5007] = { 3, TD, SEN(poll), "poll" },
[5008] = { 3, TD, SEN(lseek), "lseek" },
[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|TSTA, 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" },
[4025] = { 1, 0, SEN(stime), "stime" },
[4026] = { 4, 0, SEN(ptrace), "ptrace" },
[4027] = { 1, 0, SEN(alarm), "alarm" },
-[4028] = { 2, TD|TSTA, 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" },
[4105] = { 2, 0, SEN(getitimer), "getitimer" },
[4106] = { 2, TF|TSTA, SEN(stat), "stat" },
[4107] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[4108] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[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" },
[4212] = { 4, TD, SEN(ftruncate64), "ftruncate64" },
[4213] = { 2, TF|TSTA, SEN(stat64), "stat64" },
[4214] = { 2, TF|TSTA, SEN(lstat64), "lstat64" },
-[4215] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[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" },
[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|TSTA, 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" },
[ 25] = { 1, 0, SEN(stime), "stime" },
[ 26] = { 4, 0, SEN(ptrace), "ptrace" },
[ 27] = { 1, 0, SEN(alarm), "alarm" },
-[ 28] = { 2, TD|TSTA, SEN(oldfstat), "oldfstat" },
+[ 28] = { 2, TD|TFST|TSTA, SEN(oldfstat), "oldfstat" },
[ 29] = { 0, TS, SEN(pause), "pause" },
[ 30] = { 2, TF, SEN(utime), "utime" },
[ 31] = { 2, 0, SEN(stty), "stty" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
[106] = { 2, TF|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[108] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[110] = { 1, 0, SEN(iopl), "iopl" },
[111] = { 0, 0, SEN(vhangup), "vhangup" },
[194] = { 4, TD, SEN(ftruncate64), "ftruncate64" },
[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" },
-[197] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 5, 0, SEN(printargs), "pciconfig_read" },
[199] = { 5, 0, SEN(printargs), "pciconfig_write" },
[200] = { 3, 0, SEN(printargs), "pciconfig_iobase" },
[288] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[289] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[290] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[291] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[291] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[292] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[293] = { 4, TD|TF, SEN(renameat), "renameat" },
[294] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 25] = { 1, 0, SEN(stime), "stime" },
[ 26] = { 4, 0, SEN(ptrace), "ptrace" },
[ 27] = { 1, 0, SEN(alarm), "alarm" },
-[ 28] = { 2, TD|TSTA, SEN(oldfstat), "oldfstat" },
+[ 28] = { 2, TD|TFST|TSTA, SEN(oldfstat), "oldfstat" },
[ 29] = { 0, TS, SEN(pause), "pause" },
[ 30] = { 2, TF, SEN(utime), "utime" },
[ 31] = { 2, 0, SEN(stty), "stty" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
[106] = { 2, TF|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[108] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[110] = { 1, 0, SEN(iopl), "iopl" },
[111] = { 0, 0, SEN(vhangup), "vhangup" },
[288] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[289] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[290] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[291] = { 4, TD|TF|TSTA, SEN(newfstatat), "newfstatat" },
+[291] = { 4, TD|TF|TFST|TSTA,SEN(newfstatat), "newfstatat" },
[292] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[293] = { 4, TD|TF, SEN(renameat), "renameat" },
[294] = { 5, TD|TF, SEN(linkat), "linkat" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
[106] = { 2, TF|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[108] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { },
[110] = { 4, 0, SEN(lookup_dcookie), "lookup_dcookie" },
[111] = { 0, 0, SEN(vhangup), "vhangup" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" },
-[197] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[199] = { 0, NF, SEN(getuid), "getuid32" },
[200] = { 0, NF, SEN(getgid), "getgid32" },
[290] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[291] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[292] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[293] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[293] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[294] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[295] = { 4, TD|TF, SEN(renameat), "renameat" },
[296] = { 5, TD|TF, SEN(linkat), "linkat" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
[106] = { 2, TF|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[108] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { },
[110] = { 3, 0, SEN(lookup_dcookie), "lookup_dcookie" },
[111] = { 0, 0, SEN(vhangup), "vhangup" },
[290] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[291] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[292] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[293] = { 4, TD|TF|TSTA, SEN(newfstatat), "newfstatat" },
+[293] = { 4, TD|TF|TFST|TSTA,SEN(newfstatat), "newfstatat" },
[294] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[295] = { 4, TD|TF, SEN(renameat), "renameat" },
[296] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 25] = { 1, 0, SEN(stime), "stime" },
[ 26] = { 4, 0, SEN(ptrace), "ptrace" },
[ 27] = { 1, 0, SEN(alarm), "alarm" },
-[ 28] = { 2, TD|TSTA, SEN(oldfstat), "oldfstat" },
+[ 28] = { 2, TD|TFST|TSTA, SEN(oldfstat), "oldfstat" },
[ 29] = { 0, TS, SEN(pause), "pause" },
[ 30] = { 2, TF, SEN(utime), "utime" },
[ 31] = { 2, 0, SEN(stty), "stty" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
[106] = { 2, TF|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[108] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[110] = { 1, 0, SEN(iopl), "iopl" },
[111] = { 0, 0, SEN(vhangup), "vhangup" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" },
-[197] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[199] = { 0, NF, SEN(getuid), "getuid32" },
[200] = { 0, NF, SEN(getgid), "getgid32" },
[297] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[298] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[299] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[300] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[300] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[301] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[302] = { 4, TD|TF, SEN(renameat), "renameat" },
[303] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 25] = { 1, 0, SEN(stime), "stime" },
[ 26] = { 4, 0, SEN(ptrace), "ptrace" },
[ 27] = { 1, 0, SEN(alarm), "alarm" },
-[ 28] = { 2, TD|TSTA, SEN(oldfstat), "oldfstat" },
+[ 28] = { 2, TD|TFST|TSTA, SEN(oldfstat), "oldfstat" },
[ 29] = { 0, TS, SEN(pause), "pause" },
[ 30] = { 2, TF, SEN(utime), "utime" },
[ 31] = { 2, 0, SEN(stty), "stty" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
[106] = { 2, TF|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TSTA, SEN(lstat), "lstat" },
-[108] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[110] = { 1, 0, SEN(iopl), "iopl" },
[111] = { 0, 0, SEN(vhangup), "vhangup" },
[194] = { 2, TD, SEN(ftruncate), "ftruncate64" },
[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" },
-[197] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[199] = { 0, NF, SEN(getuid), "getuid32" },
[200] = { 0, NF, SEN(getgid), "getgid32" },
[325] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[326] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[327] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[328] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[328] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[329] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[330] = { 4, TD|TF, SEN(renameat), "renameat" },
[331] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 59] = { 3, TF|TP|SE|SI, SEN(execve), "execve" },
[ 60] = { 1, NF, SEN(umask), "umask" },
[ 61] = { 1, TF, SEN(chroot), "chroot" },
-[ 62] = { 2, TD|TSTA, SEN(fstat), "fstat" },
-[ 63] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[ 62] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
+[ 63] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[ 64] = { 0, 0, SEN(getpagesize), "getpagesize" },
[ 65] = { 3, TM, SEN(msync), "msync" },
[ 66] = { 0, TP, SEN(vfork), "vfork" },
[286] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[287] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[288] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[289] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[289] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[290] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[291] = { 4, TD|TF, SEN(renameat), "renameat" },
[292] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 59] = { 3, TF|TP|SE|SI, SEN(execve), "execve" },
[ 60] = { 1, NF, SEN(umask), "umask" },
[ 61] = { 1, TF, SEN(chroot), "chroot" },
-[ 62] = { 2, TD|TSTA, SEN(fstat), "fstat" },
-[ 63] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[ 62] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
+[ 63] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[ 64] = { 0, 0, SEN(getpagesize), "getpagesize" },
[ 65] = { 3, TM, SEN(msync), "msync" },
[ 66] = { 0, TP, SEN(vfork), "vfork" },
[286] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[287] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[288] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[289] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[289] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[290] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[291] = { 4, TD|TF, SEN(renameat), "renameat" },
[292] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 2] = { 3, TD|TF, SEN(open), "open" },
[ 3] = { 1, TD, SEN(close), "close" },
[ 4] = { 2, TF|TSTA, SEN(stat), "stat" },
-[ 5] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[ 5] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[ 6] = { 2, TF|TSTA, SEN(lstat), "lstat" },
[ 7] = { 3, TD, SEN(poll), "poll" },
[ 8] = { 3, TD, SEN(lseek), "lseek" },
[259] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[260] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[261] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[262] = { 4, TD|TF|TSTA, SEN(newfstatat), "newfstatat" },
+[262] = { 4, TD|TF|TFST|TSTA,SEN(newfstatat), "newfstatat" },
[263] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[264] = { 4, TD|TF, SEN(renameat), "renameat" },
[265] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 2] = { 3, TD|TF, SEN(open), "open" },
[ 3] = { 1, TD, SEN(close), "close" },
[ 4] = { 2, TF|TSTA, SEN(stat), "stat" },
-[ 5] = { 2, TD|TSTA, SEN(fstat), "fstat" },
+[ 5] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[ 6] = { 2, TF|TSTA, SEN(lstat), "lstat" },
[ 7] = { 3, TD, SEN(poll), "poll" },
[ 8] = { 3, TD, SEN(lseek), "lseek" },
[259] = { 4, TD|TF, SEN(mknodat), "mknodat" },
[260] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[261] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[262] = { 4, TD|TF|TSTA, SEN(newfstatat), "newfstatat" },
+[262] = { 4, TD|TF|TFST|TSTA,SEN(newfstatat), "newfstatat" },
[263] = { 3, TD|TF, SEN(unlinkat), "unlinkat" },
[264] = { 4, TD|TF, SEN(renameat), "renameat" },
[265] = { 5, TD|TF, SEN(linkat), "linkat" },
[ 51] = { },
[ 52] = { 2, TD, SEN(fchmod), "fchmod" },
[ 53] = { 3, TD, SEN(fchown), "fchown" },
-[ 54] = { 2, TD|TSTA, SEN(fstat), "fstat" },
-[ 55] = { 2, TD|TSTA, SEN(fstat64), "fstat64" },
+[ 54] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
+[ 55] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[ 56] = { 2, TD, SEN(flock), "flock" },
[ 57] = { 2, TF, SEN(access), "access" },
[ 58] = { 1, NF, SEN(umask), "umask" },
[296] = { 4, TD|TF, SEN(utimensat), "utimensat" },
[297] = { 5, TD|TF, SEN(fchownat), "fchownat" },
[298] = { 3, TD|TF, SEN(futimesat), "futimesat" },
-[299] = { 4, TD|TF|TSTA, SEN(fstatat64), "fstatat64" },
+[299] = { 4, TD|TF|TFST|TSTA,SEN(fstatat64), "fstatat64" },
[300] = { 3, TD|TF, SEN(fchmodat), "fchmodat" },
[301] = { 3, TD|TF, SEN(faccessat), "faccessat" },
[302 ... 303] = { },
{ "%signal", TRACE_SIGNAL },
{ "%ipc", TRACE_IPC },
{ "%network", TRACE_NETWORK },
+ { "%fstat", TRACE_FSTAT },
{ "%%stat", TRACE_STAT_LIKE },
{ "%statfs", TRACE_STATFS },
{ "%fstatfs", TRACE_FSTATFS },
.BR "\-e\ trace" = memory " (deprecated)"
Trace all memory mapping related system calls.
.TP
+.BR "\-e\ trace" = %fstat
+Trace fstat and fstatat syscall variants.
+.TP
.BR "\-e\ trace" = %%stat
Trace syscalls used for requesting file status (stat, lstat, fstat, fstatat,
statx, and their variants).
#define TP TRACE_PROCESS
#define TS TRACE_SIGNAL
#define TM TRACE_MEMORY
+#define TFST TRACE_FSTAT
#define TSTA TRACE_STAT_LIKE
#define TSF TRACE_STATFS
#define TFSF TRACE_FSTATFS
#undef TP
#undef TS
#undef TM
+#undef TFST
#undef TSTA
#undef TSF
#undef TFSF
#define TRACE_STATFS 00040000 /* Trace statfs, statfs64, and statvfs syscalls. */
#define TRACE_FSTATFS 00100000 /* Trace fstatfs, fstatfs64 and fstatvfs syscalls. */
#define TRACE_STATFS_LIKE 00200000 /* Trace statfs-like, fstatfs-like and ustat syscalls. */
+#define TRACE_FSTAT 00400000 /* Trace *fstat{,at}{,64} syscalls. */
#define TRACE_STAT_LIKE 01000000 /* Trace *{,l,f}stat{,x,at}{,64} syscalls. */
#endif /* !STRACE_SYSENT_H */
strace.supp \
struct_flock.c \
sun_path.expected \
+ trace_fstat.in \
trace_fstatfs.in \
trace_stat_like.in \
trace_statfs.in \
timerfd_xettime -e trace=timerfd_create,timerfd_settime,timerfd_gettime
times -esignal=none
times-fail -a12 -e trace=times
+trace_fstat > stat.sample; test_trace_expr '' -e%fstat -v -Pstat.sample -P/dev/full
trace_fstatfs test_trace_expr '' -e%fstatfs
trace_stat_like > stat.sample; test_trace_expr '' -e%%stat -v -Pstat.sample -P/dev/full
trace_statfs test_trace_expr '' -e%statfs
#define TP 0
#define TS 0
#define TM 0
+#define TFST 0
#define TSTA 0
#define TSF 0
#define TFSF 0
#define TP 0
#define TS 0
#define TM 0
+#define TFST 0
#define TSTA 0
#define TSF 0
#define TFSF 0
--- /dev/null
+fstat -a15
+fstat64 -a17
+fstatat64 -a32
+newfstatat -a32
+oldfstat -a21