From aad36c50dc57531e7c5f5702fb4b463901c37d44 Mon Sep 17 00:00:00 2001 From: Eugene Syromyatnikov Date: Tue, 18 Apr 2017 01:52:58 +0200 Subject: [PATCH] Implement -e trace=%fstat option linux/*/syscallent*.h part is updated automatically by: sed -i -e '/TSTA.*fx\?stat/ s/TSTA,/TFST|&/' \ -e 's/\(TD|TF|TFST|TSTA,\)[[:space:]]/\1/' linux/*/syscallent*.h * sysent.h (TRACE_FSTAT): New macro. * syscall.c: Alias TFST to TRACE_FSTAT around syscallent.h inclusion. * qualify.c (lookup_class): Add TRACE_FSTAT for "%fstat". * strace.1 (.SS Filtering): Add information about %fstat syscall class. * NEWS: Mention this change. * linux/32/syscallent.h (fstat64, fstatat64): Add TFST flag. * linux/64/syscallent.h (fstat, newfstatat): Likewise. * linux/aarch64/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/arm/syscallent.h (fstat, fstat64, fstatat64, oldfstat): Likewise. * linux/bfin/syscallent.h: Likewise. * linux/crisv10/syscallent.h: Likewise. * linux/i386/syscallent.h: Likewise. * linux/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/avr32/syscallent.h (fstat, fstat64, fstatat64): Likewise. * linux/hppa/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. * linux/alpha/syscallent.h (fstat, fstat64, fstatat64, osf_fstat, osf_old_fstat): Likewise. * linux/powerpc64/syscallent.h (fstat, newfstatat, oldfstat): Likewise. * linux/mips/syscallent-compat.h (bsd43_fstat, bsd43_oldfstat, posix_fstat, svr4_fstat, sysv_fstat): Likewise. * tests/gen_tests.in (trace_fstat): New entry. * tests/trace_fstat.in: New file. * tests/Makefile.am (EXTRA_DIST): Add it. * tests/ksysent.c (TFST): New macro, defined to 0. * tests/nsyscalls.c: Likewise. --- NEWS | 2 ++ linux/32/syscallent.h | 4 ++-- linux/64/syscallent.h | 4 ++-- linux/aarch64/syscallent.h | 4 ++-- linux/alpha/syscallent.h | 10 +++++----- linux/arm/syscallent.h | 8 ++++---- linux/avr32/syscallent.h | 6 +++--- linux/bfin/syscallent.h | 8 ++++---- linux/crisv10/syscallent.h | 8 ++++---- linux/hppa/syscallent.h | 6 +++--- linux/i386/syscallent.h | 8 ++++---- linux/ia64/syscallent.h | 6 +++--- linux/m68k/syscallent.h | 8 ++++---- linux/microblaze/syscallent.h | 8 ++++---- linux/mips/syscallent-compat.h | 14 +++++++------- linux/mips/syscallent-n32.h | 4 ++-- linux/mips/syscallent-n64.h | 4 ++-- linux/mips/syscallent-o32.h | 8 ++++---- linux/powerpc/syscallent.h | 8 ++++---- linux/powerpc64/syscallent.h | 6 +++--- linux/s390/syscallent.h | 6 +++--- linux/s390x/syscallent.h | 4 ++-- linux/sh/syscallent.h | 8 ++++---- linux/sh64/syscallent.h | 8 ++++---- linux/sparc/syscallent.h | 6 +++--- linux/sparc64/syscallent.h | 6 +++--- linux/x32/syscallent.h | 4 ++-- linux/x86_64/syscallent.h | 4 ++-- linux/xtensa/syscallent.h | 6 +++--- qualify.c | 1 + strace.1 | 3 +++ syscall.c | 2 ++ sysent.h | 1 + tests/Makefile.am | 1 + tests/gen_tests.in | 1 + tests/ksysent.c | 1 + tests/nsyscalls.c | 1 + tests/trace_fstat.in | 5 +++++ 38 files changed, 110 insertions(+), 92 deletions(-) create mode 100644 tests/trace_fstat.in diff --git a/NEWS b/NEWS index fd17e84d..b4414dc3 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,8 @@ Noteworthy changes in release ?.?? (????-??-??) * 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). diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h index bdabeba7..44315e09 100644 --- a/linux/32/syscallent.h +++ b/linux/32/syscallent.h @@ -80,8 +80,8 @@ [ 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" }, diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h index 80d4b85c..b5de2266 100644 --- a/linux/64/syscallent.h +++ b/linux/64/syscallent.h @@ -77,8 +77,8 @@ [ 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" }, diff --git a/linux/aarch64/syscallent.h b/linux/aarch64/syscallent.h index 12c95a11..f01e5847 100644 --- a/linux/aarch64/syscallent.h +++ b/linux/aarch64/syscallent.h @@ -40,10 +40,10 @@ [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" }, diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h index 435cc057..93ba5fea 100644 --- a/linux/alpha/syscallent.h +++ b/linux/alpha/syscallent.h @@ -88,7 +88,7 @@ [ 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 */ @@ -117,7 +117,7 @@ [ 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" }, @@ -229,7 +229,7 @@ [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] = { }, @@ -389,7 +389,7 @@ [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 */ @@ -417,7 +417,7 @@ [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" }, diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h index 328693a0..bfd2bf82 100644 --- a/linux/arm/syscallent.h +++ b/linux/arm/syscallent.h @@ -54,7 +54,7 @@ [ 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" }, @@ -134,7 +134,7 @@ [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" }, @@ -223,7 +223,7 @@ [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" }, @@ -351,7 +351,7 @@ [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" }, diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h index 366d71b7..e126944b 100644 --- a/linux/avr32/syscallent.h +++ b/linux/avr32/syscallent.h @@ -56,7 +56,7 @@ [ 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" }, @@ -195,7 +195,7 @@ [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" }, @@ -273,7 +273,7 @@ [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" }, diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h index 2c6b91ac..586769b1 100644 --- a/linux/bfin/syscallent.h +++ b/linux/bfin/syscallent.h @@ -54,7 +54,7 @@ [ 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" }, @@ -134,7 +134,7 @@ [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" }, @@ -223,7 +223,7 @@ [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" }, @@ -325,7 +325,7 @@ [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" }, diff --git a/linux/crisv10/syscallent.h b/linux/crisv10/syscallent.h index ceae91c3..17557c0b 100644 --- a/linux/crisv10/syscallent.h +++ b/linux/crisv10/syscallent.h @@ -26,7 +26,7 @@ [ 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" }, @@ -106,7 +106,7 @@ [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,7 +194,7 @@ [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" }, @@ -293,7 +293,7 @@ [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" }, diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h index 5beb5e41..b43fc3ff 100644 --- a/linux/hppa/syscallent.h +++ b/linux/hppa/syscallent.h @@ -30,7 +30,7 @@ [ 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" }, @@ -114,7 +114,7 @@ [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" }, @@ -282,7 +282,7 @@ [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" }, diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h index a63cd98f..e18faa26 100644 --- a/linux/i386/syscallent.h +++ b/linux/i386/syscallent.h @@ -54,7 +54,7 @@ [ 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" }, @@ -134,7 +134,7 @@ [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" }, @@ -223,7 +223,7 @@ [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" }, @@ -325,7 +325,7 @@ [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" }, diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h index 8b951546..4aa73b84 100644 --- a/linux/ia64/syscallent.h +++ b/linux/ia64/syscallent.h @@ -139,7 +139,7 @@ [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" }, @@ -229,7 +229,7 @@ [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" }, @@ -303,7 +303,7 @@ [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" }, diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h index fd7448bc..3ce630b6 100644 --- a/linux/m68k/syscallent.h +++ b/linux/m68k/syscallent.h @@ -54,7 +54,7 @@ [ 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" }, @@ -134,7 +134,7 @@ [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" }, @@ -223,7 +223,7 @@ [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" }, @@ -318,7 +318,7 @@ [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" }, diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h index 4abe6ef1..22c3a47c 100644 --- a/linux/microblaze/syscallent.h +++ b/linux/microblaze/syscallent.h @@ -54,7 +54,7 @@ [ 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" }, @@ -134,7 +134,7 @@ [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" }, @@ -223,7 +223,7 @@ [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" }, @@ -325,7 +325,7 @@ [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" }, diff --git a/linux/mips/syscallent-compat.h b/linux/mips/syscallent-compat.h index 21182ff5..54cfa0a8 100644 --- a/linux/mips/syscallent-compat.h +++ b/linux/mips/syscallent-compat.h @@ -26,7 +26,7 @@ [ 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" }, @@ -118,7 +118,7 @@ [ 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" }, @@ -177,7 +177,7 @@ [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" }, @@ -304,7 +304,7 @@ [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" }, @@ -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, 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" }, @@ -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, 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" }, @@ -555,7 +555,7 @@ [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" }, diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h index 9dbc1363..6194a842 100644 --- a/linux/mips/syscallent-n32.h +++ b/linux/mips/syscallent-n32.h @@ -5,7 +5,7 @@ [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" }, @@ -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|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" }, diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h index 21750421..ded3a4c9 100644 --- a/linux/mips/syscallent-n64.h +++ b/linux/mips/syscallent-n64.h @@ -5,7 +5,7 @@ [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" }, @@ -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|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" }, diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h index bd176f82..b7955e28 100644 --- a/linux/mips/syscallent-o32.h +++ b/linux/mips/syscallent-o32.h @@ -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|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" }, @@ -108,7 +108,7 @@ [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" }, @@ -215,7 +215,7 @@ [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" }, @@ -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|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" }, diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h index af679a73..35189f0e 100644 --- a/linux/powerpc/syscallent.h +++ b/linux/powerpc/syscallent.h @@ -54,7 +54,7 @@ [ 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" }, @@ -134,7 +134,7 @@ [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" }, @@ -223,7 +223,7 @@ [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" }, @@ -317,7 +317,7 @@ [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" }, diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h index 2bef3090..130ed2e5 100644 --- a/linux/powerpc64/syscallent.h +++ b/linux/powerpc64/syscallent.h @@ -54,7 +54,7 @@ [ 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" }, @@ -134,7 +134,7 @@ [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" }, @@ -312,7 +312,7 @@ [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" }, diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h index 315e205a..b3067ef8 100644 --- a/linux/s390/syscallent.h +++ b/linux/s390/syscallent.h @@ -136,7 +136,7 @@ [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" }, @@ -225,7 +225,7 @@ [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" }, @@ -321,7 +321,7 @@ [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" }, diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h index ea746d4f..43d39e2f 100644 --- a/linux/s390x/syscallent.h +++ b/linux/s390x/syscallent.h @@ -130,7 +130,7 @@ [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" }, @@ -305,7 +305,7 @@ [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" }, diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h index c2267e5e..ff33e464 100644 --- a/linux/sh/syscallent.h +++ b/linux/sh/syscallent.h @@ -56,7 +56,7 @@ [ 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" }, @@ -136,7 +136,7 @@ [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" }, @@ -224,7 +224,7 @@ [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" }, @@ -325,7 +325,7 @@ [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" }, diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h index 0057fdb7..4f202bdf 100644 --- a/linux/sh64/syscallent.h +++ b/linux/sh64/syscallent.h @@ -54,7 +54,7 @@ [ 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" }, @@ -134,7 +134,7 @@ [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" }, @@ -222,7 +222,7 @@ [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" }, @@ -351,7 +351,7 @@ [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" }, diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h index d328f6e6..ecb26576 100644 --- a/linux/sparc/syscallent.h +++ b/linux/sparc/syscallent.h @@ -60,8 +60,8 @@ [ 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" }, @@ -287,7 +287,7 @@ [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" }, diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h index 9fc285fe..ece5d04f 100644 --- a/linux/sparc64/syscallent.h +++ b/linux/sparc64/syscallent.h @@ -59,8 +59,8 @@ [ 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" }, @@ -285,7 +285,7 @@ [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" }, diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h index 3e3f8191..cc323b27 100644 --- a/linux/x32/syscallent.h +++ b/linux/x32/syscallent.h @@ -3,7 +3,7 @@ [ 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" }, @@ -260,7 +260,7 @@ [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" }, diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h index 60167be0..91c5e4a8 100644 --- a/linux/x86_64/syscallent.h +++ b/linux/x86_64/syscallent.h @@ -3,7 +3,7 @@ [ 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" }, @@ -260,7 +260,7 @@ [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" }, diff --git a/linux/xtensa/syscallent.h b/linux/xtensa/syscallent.h index 84db7f2a..fbdc8dfc 100644 --- a/linux/xtensa/syscallent.h +++ b/linux/xtensa/syscallent.h @@ -47,8 +47,8 @@ [ 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" }, @@ -288,7 +288,7 @@ [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] = { }, diff --git a/qualify.c b/qualify.c index d9305cc7..ec49ae62 100644 --- a/qualify.c +++ b/qualify.c @@ -262,6 +262,7 @@ lookup_class(const char *s) { "%signal", TRACE_SIGNAL }, { "%ipc", TRACE_IPC }, { "%network", TRACE_NETWORK }, + { "%fstat", TRACE_FSTAT }, { "%%stat", TRACE_STAT_LIKE }, { "%statfs", TRACE_STATFS }, { "%fstatfs", TRACE_FSTATFS }, diff --git a/strace.1 b/strace.1 index f16e19e2..0851512f 100644 --- a/strace.1 +++ b/strace.1 @@ -436,6 +436,9 @@ Trace all file descriptor related system calls. .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). diff --git a/syscall.c b/syscall.c index 9030d1ec..85fc5637 100644 --- a/syscall.c +++ b/syscall.c @@ -76,6 +76,7 @@ #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 @@ -115,6 +116,7 @@ static const struct_sysent sysent2[] = { #undef TP #undef TS #undef TM +#undef TFST #undef TSTA #undef TSF #undef TFSF diff --git a/sysent.h b/sysent.h index 2c9a1baa..45fa9562 100644 --- a/sysent.h +++ b/sysent.h @@ -24,6 +24,7 @@ typedef struct sysent { #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 */ diff --git a/tests/Makefile.am b/tests/Makefile.am index 3e8ba07e..8e94581a 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -336,6 +336,7 @@ EXTRA_DIST = \ strace.supp \ struct_flock.c \ sun_path.expected \ + trace_fstat.in \ trace_fstatfs.in \ trace_stat_like.in \ trace_statfs.in \ diff --git a/tests/gen_tests.in b/tests/gen_tests.in index 38cbcabb..eec666ef 100644 --- a/tests/gen_tests.in +++ b/tests/gen_tests.in @@ -304,6 +304,7 @@ timer_xettime -e trace=timer_create,timer_settime,timer_gettime 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 diff --git a/tests/ksysent.c b/tests/ksysent.c index edd766c5..202b3dee 100644 --- a/tests/ksysent.c +++ b/tests/ksysent.c @@ -40,6 +40,7 @@ #define TP 0 #define TS 0 #define TM 0 +#define TFST 0 #define TSTA 0 #define TSF 0 #define TFSF 0 diff --git a/tests/nsyscalls.c b/tests/nsyscalls.c index b4c0b461..e3288f87 100644 --- a/tests/nsyscalls.c +++ b/tests/nsyscalls.c @@ -41,6 +41,7 @@ #define TP 0 #define TS 0 #define TM 0 +#define TFST 0 #define TSTA 0 #define TSF 0 #define TFSF 0 diff --git a/tests/trace_fstat.in b/tests/trace_fstat.in new file mode 100644 index 00000000..34cfa7e6 --- /dev/null +++ b/tests/trace_fstat.in @@ -0,0 +1,5 @@ +fstat -a15 +fstat64 -a17 +fstatat64 -a32 +newfstatat -a32 +oldfstat -a21 -- 2.40.0