* Improvements
* Optimized syscall filtering.
* 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.
[1035] = { 3, TF, SEN(readlink), "readlink" },
[1036] = { 2, TF, SEN(symlink), "symlink" },
[1037] = { 2, TF, SEN(utimes), "utimes" },
-[1038] = { 2, TF|TSTA, SEN(stat), "stat" },
+[1038] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[1039] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[1040] = { 1, TD, SEN(pipe), "pipe" },
[1041] = { 2, TD, SEN(dup2), "dup2" },
[1046] = { 4, TD|TN, SEN(sendfile64), "sendfile" },
[1047] = { 2, TD, SEN(ftruncate), "ftruncate" },
[1048] = { 2, TF, SEN(truncate), "truncate" },
-[1049] = { 2, TF|TSTA, SEN(stat), "stat" },
+[1049] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[1050] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[1051] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[1052] = { 3, TD, SEN(fcntl), "fcntl" },
[ 35] = { 5, 0, SEN(printargs), "osf_fchflags" }, /* not implemented */
[ 36] = { 0, 0, SEN(sync), "sync" },
[ 37] = { 2, TS, SEN(kill), "kill" },
-[ 38] = { 5, TF|TSTA, SEN(printargs), "osf_old_stat" }, /* not implemented */
+[ 38] = { 5, TF|TST|TSTA, SEN(printargs), "osf_old_stat" }, /* not implemented */
[ 39] = { 2, 0, SEN(setpgid), "setpgid" },
[ 40] = { 5, TF|TLST|TSTA, SEN(printargs), "osf_old_lstat" }, /* not implemented */
[ 41] = { 1, TD, SEN(dup), "dup" },
[ 64] = { 0, 0, SEN(getpagesize), "getpagesize" },
[ 65] = { 5, TM, SEN(printargs), "osf_mremap" }, /* not implemented */
[ 66] = { 0, TP, SEN(vfork), "vfork" },
-[ 67] = { 2, TF|TSTA, SEN(stat), "stat" },
+[ 67] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[ 68] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[ 69] = { 5, TM, SEN(printargs), "osf_sbrk" }, /* not implemented */
[ 70] = { 5, 0, SEN(printargs), "osf_sstk" }, /* not implemented */
[221] = { },
[222] = { 5, 0, SEN(printargs), "osf_security" }, /* not implemented */
[223] = { 5, 0, SEN(printargs), "osf_kloadcall" }, /* not implemented */
-[224] = { 2, TF|TSTA, SEN(printargs), "osf_stat" },
+[224] = { 2, TF|TST|TSTA, SEN(printargs), "osf_stat" },
[225] = { 2, TF|TLST|TSTA, SEN(printargs), "osf_lstat" },
[226] = { 2, TD|TFST|TSTA, SEN(printargs), "osf_fstat" },
[227] = { 3, TF|TSF|TSFA, SEN(osf_statfs), "osf_statfs64" },
[422] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
[423] = { 4, TI, SEN(semtimedop), "semtimedop" },
[424] = { 3, TS, SEN(tgkill), "tgkill" },
-[425] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[425] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[426] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
[427] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[428] = { 5, 0, SEN(vserver), "vserver" }, /* not implemented */
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "lchown" },
[ 17] = { 0, TM, SEN(break), "break" },
-[ 18] = { 2, TF|TSTA, SEN(oldstat), "oldstat" },
+[ 18] = { 2, TF|TST|TSTA, SEN(oldstat), "oldstat" },
[ 19] = { 3, TD, SEN(lseek), "lseek" },
[ 20] = { 0, NF, SEN(getpid), "getpid" },
[ 21] = { 5, TF, SEN(mount), "mount" },
[103] = { 3, 0, SEN(syslog), "syslog" },
[104] = { 3, 0, SEN(setitimer), "setitimer" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
-[106] = { 2, TF|TSTA, SEN(stat), "stat" },
+[106] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[192] = { 6, TD|TM|SI, SEN(mmap_4koff), "mmap2" },
[193] = { 4, TF, SEN(truncate64), "truncate64" },
[194] = { 4, TD, SEN(ftruncate64), "ftruncate64" },
-[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[195] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[ 27] = { 1, 0, SEN(alarm), "alarm" },
[ 28] = { 0, TS, SEN(pause), "pause" },
[ 29] = { 2, TF, SEN(utime), "utime" },
-[ 30] = { 2, TF|TSTA, SEN(stat), "stat" },
+[ 30] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[ 31] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[ 32] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[ 33] = { 2, TF, SEN(access), "access" },
[165] = { 3, TN, SEN(recvmsg), "recvmsg" },
[166] = { 3, TF, SEN(truncate64), "truncate64" },
[167] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
-[168] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[168] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[169] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
[170] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[171] = { 2, TF, SEN(pivotroot), "pivot_root" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "chown" },
[ 17] = { 0, TM, SEN(break), "break" },
-[ 18] = { 2, TF|TSTA, SEN(oldstat), "oldstat" },
+[ 18] = { 2, TF|TST|TSTA, SEN(oldstat), "oldstat" },
[ 19] = { 3, TD, SEN(lseek), "lseek" },
[ 20] = { 0, NF, SEN(getpid), "getpid" },
[ 21] = { 5, TF, SEN(mount), "mount" },
[103] = { 3, 0, SEN(syslog), "syslog" },
[104] = { 3, 0, SEN(setitimer), "setitimer" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
-[106] = { 2, TF|TSTA, SEN(stat), "stat" },
+[106] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[192] = { 6, TD|TM|SI, SEN(mmap_pgoff), "mmap2" },
[193] = { 3, TF, SEN(truncate64), "truncate64" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
-[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[195] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "chown32" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "lchown" },
[ 17] = { 0, TM, SEN(break), "break" },
-[ 18] = { 2, TF|TSTA, SEN(oldstat), "oldstat" },
+[ 18] = { 2, TF|TST|TSTA, SEN(oldstat), "oldstat" },
[ 19] = { 3, TD, SEN(lseek), "lseek" },
[ 20] = { 0, NF, SEN(getpid), "getpid" },
[ 21] = { 5, TF, SEN(mount), "mount" },
[103] = { 3, 0, SEN(syslog), "syslog" },
[104] = { 3, 0, SEN(setitimer), "setitimer" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
-[106] = { 2, TF|TSTA, SEN(stat), "stat" },
+[106] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[192] = { 6, TD|TM|SI, SEN(mmap_pgoff), "mmap2" },
[193] = { 3, TF, SEN(truncate64), "truncate64" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
-[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[195] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown), "lchown" },
[ 17] = { 3, TN, SEN(socket), "socket" },
-[ 18] = { 2, TF|TSTA, SEN(stat), "stat" },
+[ 18] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[ 19] = { 3, TD, SEN(lseek), "lseek" },
[ 20] = { 0, NF, SEN(getpid), "getpid" },
[ 21] = { 5, TF, SEN(mount), "mount" },
[ 98] = { 4, TN, SEN(recv), "recv" },
[ 99] = { 2, TF|TSF|TSFA, SEN(statfs), "statfs" },
[100] = { 2, TD|TFSF|TSFA, SEN(fstatfs), "fstatfs" },
-[101] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[101] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[102] = { },
[103] = { 3, 0, SEN(syslog), "syslog" },
[104] = { 3, 0, SEN(setitimer), "setitimer" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "lchown" },
[ 17] = { 0, TM, SEN(break), "break" },
-[ 18] = { 2, TF|TSTA, SEN(oldstat), "oldstat" },
+[ 18] = { 2, TF|TST|TSTA, SEN(oldstat), "oldstat" },
[ 19] = { 3, TD, SEN(lseek), "lseek" },
[ 20] = { 0, NF, SEN(getpid), "getpid" },
[ 21] = { 5, TF, SEN(mount), "mount" },
[103] = { 3, 0, SEN(syslog), "syslog" },
[104] = { 3, 0, SEN(setitimer), "setitimer" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
-[106] = { 2, TF|TSTA, SEN(stat), "stat" },
+[106] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[192] = { 6, TD|TM|SI, SEN(mmap_pgoff), "mmap2" },
[193] = { 3, TF, SEN(truncate64), "truncate64" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
-[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[195] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[1117] = { 3, 0, SEN(syslog), "syslog" },
[1118] = { 3, 0, SEN(setitimer), "setitimer" },
[1119] = { 2, 0, SEN(getitimer), "getitimer" },
-[1120] = { 2, TF|TSTA, SEN(stat), "stat" },
+[1120] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[1121] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[1122] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[1123] = { 0, 0, SEN(vhangup), "vhangup" },
[1207] = { 2, TF, SEN(pivotroot), "pivot_root" },
[1208] = { 3, TM, SEN(mincore), "mincore" },
[1209] = { 3, TM, SEN(madvise), "madvise" },
-[1210] = { 2, TF|TSTA, SEN(stat), "stat" },
+[1210] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[1211] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[1212] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[1213] = { 6, TP, SEN(clone), "clone2" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "chown" },
[ 17] = { 0, TM, SEN(break), "break" },
-[ 18] = { 2, TF|TSTA, SEN(oldstat), "oldstat" },
+[ 18] = { 2, TF|TST|TSTA, SEN(oldstat), "oldstat" },
[ 19] = { 3, TD, SEN(lseek), "lseek" },
[ 20] = { 0, NF, SEN(getpid), "getpid" },
[ 21] = { 5, TF, SEN(mount), "mount" },
[103] = { 3, 0, SEN(syslog), "syslog" },
[104] = { 3, 0, SEN(setitimer), "setitimer" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
-[106] = { 2, TF|TSTA, SEN(stat), "stat" },
+[106] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[192] = { 6, TD|TM|SI, SEN(mmap_pgoff), "mmap2" },
[193] = { 3, TF, SEN(truncate64), "truncate64" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
-[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[195] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "chown32" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "lchown" },
[ 17] = { 0, TM, SEN(break), "break" },
-[ 18] = { 2, TF|TSTA, SEN(oldstat), "oldstat" },
+[ 18] = { 2, TF|TST|TSTA, SEN(oldstat), "oldstat" },
[ 19] = { 3, TD, SEN(lseek), "lseek" },
[ 20] = { 0, NF, SEN(getpid), "getpid" },
[ 21] = { 5, TF, SEN(mount), "mount" },
[103] = { 3, 0, SEN(syslog), "syslog" },
[104] = { 3, 0, SEN(setitimer), "setitimer" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
-[106] = { 2, TF|TSTA, SEN(stat), "stat" },
+[106] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[192] = { 6, TD|TM|SI, SEN(mmap_pgoff), "mmap2" },
[193] = { 3, TF, SEN(truncate64), "truncate64" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
-[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[195] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[ 15] = { 0, 0, SEN(printargs), "svr4_chmod" },
[ 16] = { 0, 0, SEN(printargs), "svr4_chown" },
[ 17] = { 0, TM, SEN(printargs), "svr4_sbreak" },
-[ 18] = { 0, TF|TSTA,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" },
[ 120] = { 0, 0, SEN(printargs), "svr4_fchdir" },
[ 121] = { 0, 0, SEN(printargs), "svr4_readv" },
[ 122] = { 0, 0, SEN(printargs), "svr4_writev" },
-[ 123] = { 0, TF|TSTA,SEN(printargs), "svr4_xstat" },
+[ 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" },
[1015] = { 0, 0, SEN(printargs), "sysv_chmod" },
[1016] = { 0, 0, SEN(printargs), "sysv_chown" },
[1017] = { 0, TM|SI, SEN(printargs), "sysv_brk" },
-[1018] = { 0, TF|TSTA,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" },
[1155] = { 0, 0, SEN(printargs), "sysv_socketpair" },
[1156] = { 0, 0, SEN(printargs), "sysv_sysinfo" },
[1157] = { 0, 0, SEN(printargs), "sysv_nuname" },
-[1158] = { 0, TF|TSTA,SEN(printargs), "sysv_xstat" },
+[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" },
[2015] = { 0, 0, SEN(printargs), "bsd43_chmod" },
[2016] = { 0, 0, SEN(printargs), "bsd43_chown" },
[2017] = { 0, TM, SEN(printargs), "bsd43_sbreak" },
-[2018] = { 0, TF|TSTA,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" },
[2035] = { 0, 0, SEN(printargs), "bsd43_ftime" },
[2036] = { 0, 0, SEN(printargs), "bsd43_sync" },
[2037] = { 0, 0, SEN(printargs), "bsd43_kill" },
-[2038] = { 0, TF|TSTA,SEN(printargs), "bsd43_stat" },
+[2038] = { 0, TF|TST|TSTA,SEN(printargs), "bsd43_stat" },
[2039] = { 0, 0, SEN(printargs), "bsd43_oldsetpgrp" },
[2040] = { 0, TF|TLST|TSTA,SEN(printargs), "bsd43_lstat" },
[2041] = { 0, 0, SEN(printargs), "bsd43_dup" },
[3015] = { 0, 0, SEN(printargs), "posix_chmod" },
[3016] = { 0, 0, SEN(printargs), "posix_chown" },
[3017] = { 0, TM, SEN(printargs), "posix_sbreak" },
-[3018] = { 0, TF|TSTA,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" },
[6001] = { 3, TD, SEN(write), "write" },
[6002] = { 3, TD|TF, SEN(open), "open" },
[6003] = { 1, TD, SEN(close), "close" },
-[6004] = { 2, TF|TSTA, SEN(stat64), "stat" },
+[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" },
[5001] = { 3, TD, SEN(write), "write" },
[5002] = { 3, TD|TF, SEN(open), "open" },
[5003] = { 1, TD, SEN(close), "close" },
-[5004] = { 2, TF|TSTA, SEN(stat), "stat" },
+[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" },
[4015] = { 2, TF, SEN(chmod), "chmod" },
[4016] = { 3, TF, SEN(chown), "lchown" },
[4017] = { 0, TM, SEN(break), "break" },
-[4018] = { 2, TF|TSTA, 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" },
[4103] = { 3, 0, SEN(syslog), "syslog" },
[4104] = { 3, 0, SEN(setitimer), "setitimer" },
[4105] = { 2, 0, SEN(getitimer), "getitimer" },
-[4106] = { 2, TF|TSTA, SEN(stat), "stat" },
+[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" },
[4210] = { 6, TD|TM|SI, SEN(mmap_4koff), "mmap2" },
[4211] = { 4, TF, SEN(truncate64), "truncate64" },
[4212] = { 4, TD, SEN(ftruncate64), "ftruncate64" },
-[4213] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[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" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown), "lchown" },
[ 17] = { 0, TM, SEN(break), "break" },
-[ 18] = { 2, TF|TSTA, SEN(oldstat), "oldstat" },
+[ 18] = { 2, TF|TST|TSTA, SEN(oldstat), "oldstat" },
[ 19] = { 3, TD, SEN(lseek), "lseek" },
[ 20] = { 0, NF, SEN(getpid), "getpid" },
[ 21] = { 5, TF, SEN(mount), "mount" },
[103] = { 3, 0, SEN(syslog), "syslog" },
[104] = { 3, 0, SEN(setitimer), "setitimer" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
-[106] = { 2, TF|TSTA, SEN(stat), "stat" },
+[106] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[192] = { 6, TD|TM|SI, SEN(mmap_4koff), "mmap2" },
[193] = { 4, TF, SEN(truncate64), "truncate64" },
[194] = { 4, TD, SEN(ftruncate64), "ftruncate64" },
-[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[195] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 5, 0, SEN(printargs), "pciconfig_read" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown), "lchown" },
[ 17] = { 0, TM, SEN(break), "break" },
-[ 18] = { 2, TF|TSTA, SEN(oldstat), "oldstat" },
+[ 18] = { 2, TF|TST|TSTA, SEN(oldstat), "oldstat" },
[ 19] = { 3, TD, SEN(lseek), "lseek" },
[ 20] = { 0, NF, SEN(getpid), "getpid" },
[ 21] = { 5, TF, SEN(mount), "mount" },
[103] = { 3, 0, SEN(syslog), "syslog" },
[104] = { 3, 0, SEN(setitimer), "setitimer" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
-[106] = { 2, TF|TSTA, SEN(stat), "stat" },
+[106] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[103] = { 3, 0, SEN(syslog), "syslog" },
[104] = { 3, 0, SEN(setitimer), "setitimer" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
-[106] = { 2, TF|TSTA, SEN(stat), "stat" },
+[106] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { },
[192] = { 1, TD|TM|SI, SEN(old_mmap_pgoff), "mmap2" },
[193] = { 3, TF, SEN(truncate64), "truncate64" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
-[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[195] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[103] = { 3, 0, SEN(syslog), "syslog" },
[104] = { 3, 0, SEN(setitimer), "setitimer" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
-[106] = { 2, TF|TSTA, SEN(stat), "stat" },
+[106] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "lchown" },
[ 17] = { 0, TM, SEN(break), "break" },
-[ 18] = { 2, TF|TSTA, SEN(oldstat), "oldstat" },
+[ 18] = { 2, TF|TST|TSTA, SEN(oldstat), "oldstat" },
[ 19] = { 3, TD, SEN(lseek), "lseek" },
[ 20] = { 0, NF, SEN(getpid), "getpid" },
[ 21] = { 5, TF, SEN(mount), "mount" },
[103] = { 3, 0, SEN(syslog), "syslog" },
[104] = { 3, 0, SEN(setitimer), "setitimer" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
-[106] = { 2, TF|TSTA, SEN(stat), "stat" },
+[106] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[192] = { 6, TD|TM|SI, SEN(mmap_4koff), "mmap2" },
[193] = { 3, TF, SEN(truncate64), "truncate64" },
[194] = { 3, TD, SEN(ftruncate64), "ftruncate64" },
-[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[195] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "lchown" },
[ 17] = { 0, TM, SEN(break), "break" },
-[ 18] = { 2, TF|TSTA, SEN(oldstat), "oldstat" },
+[ 18] = { 2, TF|TST|TSTA, SEN(oldstat), "oldstat" },
[ 19] = { 3, TD, SEN(lseek), "lseek" },
[ 20] = { 0, NF, SEN(getpid), "getpid" },
[ 21] = { 5, TF, SEN(mount), "mount" },
[103] = { 3, 0, SEN(syslog), "syslog" },
[104] = { 3, 0, SEN(setitimer), "setitimer" },
[105] = { 2, 0, SEN(getitimer), "getitimer" },
-[106] = { 2, TF|TSTA, SEN(stat), "stat" },
+[106] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[109] = { 1, 0, SEN(olduname), "olduname" },
[192] = { 6, TD|TM|SI, SEN(mmap_4koff), "mmap2" },
[193] = { 2, TF, SEN(truncate), "truncate64" },
[194] = { 2, TD, SEN(ftruncate), "ftruncate64" },
-[195] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[195] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
[197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" },
[198] = { 3, TF, SEN(chown), "lchown32" },
[ 35] = { 3, TF, SEN(chown), "chown32" },
[ 36] = { 0, 0, SEN(sync), "sync" },
[ 37] = { 2, TS, SEN(kill), "kill" },
-[ 38] = { 2, TF|TSTA, SEN(stat), "stat" },
+[ 38] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[ 39] = { 4, TD|TN, SEN(sendfile), "sendfile" },
[ 40] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[ 41] = { 1, TD, SEN(dup), "dup" },
[136] = { 2, TF, SEN(mkdir), "mkdir" },
[137] = { 1, TF, SEN(rmdir), "rmdir" },
[138] = { 2, TF, SEN(utimes), "utimes" },
-[139] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[139] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[140] = { 4, TD|TN, SEN(sendfile64), "sendfile64" },
[141] = { 3, TN, SEN(getpeername), "getpeername" },
[142] = { 6, 0, SEN(futex), "futex" },
[ 35] = { },
[ 36] = { 0, 0, SEN(sync), "sync" },
[ 37] = { 2, TS, SEN(kill), "kill" },
-[ 38] = { 2, TF|TSTA, SEN(stat), "stat" },
+[ 38] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[ 39] = { 4, TD|TN, SEN(sendfile), "sendfile" },
[ 40] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[ 41] = { 1, TD, SEN(dup), "dup" },
[136] = { 2, TF, SEN(mkdir), "mkdir" },
[137] = { 1, TF, SEN(rmdir), "rmdir" },
[138] = { 2, TF, SEN(utimes), "utimes" },
-[139] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[139] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[140] = { 4, TD|TN, SEN(sendfile64), "sendfile64" },
[141] = { 3, TN, SEN(getpeername), "getpeername" },
[142] = { 6, 0, SEN(futex), "futex" },
[ 1] = { 3, TD, SEN(write), "write" },
[ 2] = { 3, TD|TF, SEN(open), "open" },
[ 3] = { 1, TD, SEN(close), "close" },
-[ 4] = { 2, TF|TSTA, SEN(stat), "stat" },
+[ 4] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[ 5] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[ 6] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[ 7] = { 3, TD, SEN(poll), "poll" },
[ 1] = { 3, TD, SEN(write), "write" },
[ 2] = { 3, TD|TF, SEN(open), "open" },
[ 3] = { 1, TD, SEN(close), "close" },
-[ 4] = { 2, TF|TSTA, SEN(stat), "stat" },
+[ 4] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[ 5] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[ 6] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[ 7] = { 3, TD, SEN(poll), "poll" },
[ 43] = { 2, TF, SEN(getcwd), "getcwd" },
[ 44] = { 2, TF, SEN(chmod), "chmod" },
[ 45] = { 3, TF, SEN(chown), "chown" },
-[ 46] = { 2, TF|TSTA, SEN(stat), "stat" },
-[ 47] = { 2, TF|TSTA, SEN(stat64), "stat64" },
+[ 46] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
+[ 47] = { 2, TF|TST|TSTA, SEN(stat64), "stat64" },
[ 48] = { 3, TF, SEN(chown), "lchown" },
[ 49] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
[ 50] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" },
{ "%signal", TRACE_SIGNAL },
{ "%ipc", TRACE_IPC },
{ "%network", TRACE_NETWORK },
+ { "%stat", TRACE_STAT },
{ "%lstat", TRACE_LSTAT },
{ "%fstat", TRACE_FSTAT },
{ "%%stat", TRACE_STAT_LIKE },
.BR "\-e\ trace" = memory " (deprecated)"
Trace all memory mapping related system calls.
.TP
+.BR "\-e\ trace" = %stat
+Trace stat syscall variants.
+.TP
.BR "\-e\ trace" = %lstat
Trace lstat syscall variants.
.TP
#define TP TRACE_PROCESS
#define TS TRACE_SIGNAL
#define TM TRACE_MEMORY
+#define TST TRACE_STAT
#define TLST TRACE_LSTAT
#define TFST TRACE_FSTAT
#define TSTA TRACE_STAT_LIKE
#undef TP
#undef TS
#undef TM
+#undef TST
#undef TLST
#undef TFST
#undef TSTA
#define STACKTRACE_CAPTURE_ON_ENTER 00001000 /* Capture stacktrace on "entering" stage */
#define TRACE_INDIRECT_SUBCALL 00002000 /* Syscall is an indirect socket/ipc subcall. */
#define COMPAT_SYSCALL_TYPES 00004000 /* A compat syscall that uses compat types. */
+#define TRACE_STAT 00010000 /* Trace {,*_}{,old}{,x}stat{,64} syscalls. */
#define TRACE_LSTAT 00020000 /* Trace *lstat* syscalls. */
#define TRACE_STATFS 00040000 /* Trace statfs, statfs64, and statvfs syscalls. */
#define TRACE_FSTATFS 00100000 /* Trace fstatfs, fstatfs64 and fstatvfs syscalls. */
trace_fstat.in \
trace_fstatfs.in \
trace_lstat.in \
+ trace_stat.in \
trace_stat_like.in \
trace_statfs.in \
trace_statfs_like.in \
trace_fstat > stat.sample; test_trace_expr '' -e%fstat -v -Pstat.sample -P/dev/full
trace_fstatfs test_trace_expr '' -e%fstatfs
trace_lstat > stat.sample; test_trace_expr '' -e%lstat -v -Pstat.sample -P/dev/full
+trace_stat > stat.sample; test_trace_expr '' -e%stat -v -Pstat.sample -P/dev/full
trace_stat_like > stat.sample; test_trace_expr '' -e%%stat -v -Pstat.sample -P/dev/full
trace_statfs test_trace_expr '' -e%statfs
trace_statfs_like test_trace_expr '' -e%%statfs
#define TP 0
#define TS 0
#define TM 0
+#define TST 0
#define TLST 0
#define TFST 0
#define TSTA 0
#define TP 0
#define TS 0
#define TM 0
+#define TST 0
#define TLST 0
#define TFST 0
#define TSTA 0
--- /dev/null
+oldstat -a32
+stat -a32
+stat64 -a32