From: Eugene Syromyatnikov Date: Tue, 18 Apr 2017 00:23:05 +0000 (+0200) Subject: Implement -e trace=%lstat option X-Git-Tag: v4.17~45 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9a36c8e55db039492f000f16045db318461faa06;p=strace Implement -e trace=%lstat option linux/*/syscallent*.h part is updated automatically by: sed -i '/TSTA,.*lx\?stat/ s/TSTA,/TLST|&/' linux/*/syscallent*.h * sysent.h (TRACE_LSTAT): New macro. * syscall.c: Alias TLST to TRACE_LSTAT around syscallent.h inclusion. * qualify.c (lookup_class): Add TRACE_LSTAT for "%lstat". * strace.1 (.SS Filtering): Add information about %lstat syscall class. * NEWS: Mention this change. * linux/aarch64/syscallent.h (lstat): 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 (lstat, lstat64, oldlstat): 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/sparc64/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/avr32/syscallent.h (lstat, lstat64): Likewise. * linux/hppa/syscallent.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. * linux/alpha/syscallent.h (lstat, lstat64, osf_lstat, osf_old_lstat): Likewise. * linux/mips/syscallent-compat.h (bsd43_lstat, posix_lstat, svr4_lstat, sysv_lstat): Likewise. * tests/gen_tests.in (trace_lstat): New entry. * tests/trace_lstat.in: New file. * tests/Makefile.am (EXTRA_DIST): Add it. * tests/ksysent.c (TLST): New macro, defined to 0. * tests/nsyscalls.c: Likewise. --- diff --git a/NEWS b/NEWS index b4414dc3..94f79842 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,7 @@ Noteworthy changes in release ?.?? (????-??-??) * Improvements * Optimized syscall filtering. * Enhanced decoding of sched_setattr syscall. + * Added -e trace=%lstat option for tracing variants of lstat syscall. * Added -e trace=%fstat option for tracing variants of fstat and fstatat syscalls. * Added -e trace=%%stat option for tracing syscalls used for querying file diff --git a/linux/aarch64/syscallent.h b/linux/aarch64/syscallent.h index f01e5847..a671e579 100644 --- a/linux/aarch64/syscallent.h +++ b/linux/aarch64/syscallent.h @@ -28,7 +28,7 @@ [1036] = { 2, TF, SEN(symlink), "symlink" }, [1037] = { 2, TF, SEN(utimes), "utimes" }, [1038] = { 2, TF|TSTA, SEN(stat), "stat" }, -[1039] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[1039] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [1040] = { 1, TD, SEN(pipe), "pipe" }, [1041] = { 2, TD, SEN(dup2), "dup2" }, [1042] = { 1, TD, SEN(epoll_create), "epoll_create" }, @@ -39,7 +39,7 @@ [1047] = { 2, TD, SEN(ftruncate), "ftruncate" }, [1048] = { 2, TF, SEN(truncate), "truncate" }, [1049] = { 2, TF|TSTA, SEN(stat), "stat" }, -[1050] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[1050] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [1051] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [1052] = { 3, TD, SEN(fcntl), "fcntl" }, [1053] = { 4, TD, SEN(fadvise64), "fadvise64" }, diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h index 93ba5fea..0592a09d 100644 --- a/linux/alpha/syscallent.h +++ b/linux/alpha/syscallent.h @@ -66,7 +66,7 @@ [ 37] = { 2, TS, SEN(kill), "kill" }, [ 38] = { 5, TF|TSTA, SEN(printargs), "osf_old_stat" }, /* not implemented */ [ 39] = { 2, 0, SEN(setpgid), "setpgid" }, -[ 40] = { 5, TF|TSTA, SEN(printargs), "osf_old_lstat" }, /* not implemented */ +[ 40] = { 5, TF|TLST|TSTA, SEN(printargs), "osf_old_lstat" }, /* not implemented */ [ 41] = { 1, TD, SEN(dup), "dup" }, [ 42] = { 0, TD, SEN(pipe), "pipe" }, [ 43] = { 4, 0, SEN(printargs), "osf_set_program_attributes" }, @@ -94,7 +94,7 @@ [ 65] = { 5, TM, SEN(printargs), "osf_mremap" }, /* not implemented */ [ 66] = { 0, TP, SEN(vfork), "vfork" }, [ 67] = { 2, TF|TSTA, SEN(stat), "stat" }, -[ 68] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[ 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 */ [ 71] = { 6, TD|TM|SI, SEN(mmap), "mmap" }, @@ -228,7 +228,7 @@ [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" }, -[225] = { 2, TF|TSTA, SEN(printargs), "osf_lstat" }, +[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" }, [228] = { 3, TD|TFSF|TSFA, SEN(osf_fstatfs), "osf_fstatfs64" }, @@ -388,7 +388,7 @@ [423] = { 4, TI, SEN(semtimedop), "semtimedop" }, [424] = { 3, TS, SEN(tgkill), "tgkill" }, [425] = { 2, TF|TSTA, SEN(stat64), "stat64" }, -[426] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[426] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [427] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, [428] = { 5, 0, SEN(vserver), "vserver" }, /* not implemented */ [429] = { 6, TM, SEN(mbind), "mbind" }, /* not implemented */ diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h index bfd2bf82..141c73a3 100644 --- a/linux/arm/syscallent.h +++ b/linux/arm/syscallent.h @@ -110,7 +110,7 @@ [ 81] = { 2, 0, SEN(setgroups16), "setgroups" }, [ 82] = { 1, TD, SEN(oldselect), "select" }, [ 83] = { 2, TF, SEN(symlink), "symlink" }, -[ 84] = { 2, TF|TSTA, SEN(oldlstat), "oldlstat" }, +[ 84] = { 2, TF|TLST|TSTA, SEN(oldlstat), "oldlstat" }, [ 85] = { 3, TF, SEN(readlink), "readlink" }, [ 86] = { 1, TF, SEN(uselib), "uselib" }, [ 87] = { 2, TF, SEN(swapon), "swapon" }, @@ -133,7 +133,7 @@ [104] = { 3, 0, SEN(setitimer), "setitimer" }, [105] = { 2, 0, SEN(getitimer), "getitimer" }, [106] = { 2, TF|TSTA, SEN(stat), "stat" }, -[107] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [109] = { 1, 0, SEN(olduname), "olduname" }, [110] = { 1, 0, SEN(iopl), "iopl" }, @@ -222,7 +222,7 @@ [193] = { 4, TF, SEN(truncate64), "truncate64" }, [194] = { 4, TD, SEN(ftruncate64), "ftruncate64" }, [195] = { 2, TF|TSTA, SEN(stat64), "stat64" }, -[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, [198] = { 3, TF, SEN(chown), "lchown32" }, [199] = { 0, NF, SEN(getuid), "getuid32" }, diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h index e126944b..e10d6116 100644 --- a/linux/avr32/syscallent.h +++ b/linux/avr32/syscallent.h @@ -57,7 +57,7 @@ [ 29] = { 2, TF, SEN(utime), "utime" }, [ 30] = { 2, TF|TSTA, SEN(stat), "stat" }, [ 31] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, -[ 32] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[ 32] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [ 33] = { 2, TF, SEN(access), "access" }, [ 34] = { 1, TF, SEN(chroot), "chroot" }, [ 35] = { 0, 0, SEN(sync), "sync" }, @@ -194,7 +194,7 @@ [166] = { 3, TF, SEN(truncate64), "truncate64" }, [167] = { 3, TD, SEN(ftruncate64), "ftruncate64" }, [168] = { 2, TF|TSTA, SEN(stat64), "stat64" }, -[169] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[169] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [170] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, [171] = { 2, TF, SEN(pivotroot), "pivot_root" }, [172] = { 3, TM, SEN(mincore), "mincore" }, diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h index 586769b1..441368c0 100644 --- a/linux/bfin/syscallent.h +++ b/linux/bfin/syscallent.h @@ -110,7 +110,7 @@ [ 81] = { 2, 0, SEN(setgroups16), "setgroups" }, [ 82] = { 1, TD, SEN(oldselect), "select" }, [ 83] = { 2, TF, SEN(symlink), "symlink" }, -[ 84] = { 2, TF|TSTA, SEN(oldlstat), "oldlstat" }, +[ 84] = { 2, TF|TLST|TSTA, SEN(oldlstat), "oldlstat" }, [ 85] = { 3, TF, SEN(readlink), "readlink" }, [ 86] = { 1, TF, SEN(uselib), "uselib" }, [ 87] = { 2, TF, SEN(swapon), "swapon" }, @@ -133,7 +133,7 @@ [104] = { 3, 0, SEN(setitimer), "setitimer" }, [105] = { 2, 0, SEN(getitimer), "getitimer" }, [106] = { 2, TF|TSTA, SEN(stat), "stat" }, -[107] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [109] = { 1, 0, SEN(olduname), "olduname" }, [110] = { 1, 0, SEN(iopl), "iopl" }, @@ -222,7 +222,7 @@ [193] = { 3, TF, SEN(truncate64), "truncate64" }, [194] = { 3, TD, SEN(ftruncate64), "ftruncate64" }, [195] = { 2, TF|TSTA, SEN(stat64), "stat64" }, -[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, [198] = { 3, TF, SEN(chown), "chown32" }, [199] = { 0, NF, SEN(getuid), "getuid32" }, diff --git a/linux/crisv10/syscallent.h b/linux/crisv10/syscallent.h index 17557c0b..d3cedced 100644 --- a/linux/crisv10/syscallent.h +++ b/linux/crisv10/syscallent.h @@ -82,7 +82,7 @@ [ 81] = { 2, 0, SEN(setgroups16), "setgroups" }, [ 82] = { 1, TD, SEN(oldselect), "select" }, [ 83] = { 2, TF, SEN(symlink), "symlink" }, -[ 84] = { 2, TF|TSTA, SEN(oldlstat), "oldlstat" }, +[ 84] = { 2, TF|TLST|TSTA, SEN(oldlstat), "oldlstat" }, [ 85] = { 3, TF, SEN(readlink), "readlink" }, [ 86] = { 1, TF, SEN(uselib), "uselib" }, [ 87] = { 2, TF, SEN(swapon), "swapon" }, @@ -105,7 +105,7 @@ [104] = { 3, 0, SEN(setitimer), "setitimer" }, [105] = { 2, 0, SEN(getitimer), "getitimer" }, [106] = { 2, TF|TSTA, SEN(stat), "stat" }, -[107] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [109] = { 1, 0, SEN(olduname), "olduname" }, [110] = { 1, 0, SEN(iopl), "iopl" }, @@ -193,7 +193,7 @@ [193] = { 3, TF, SEN(truncate64), "truncate64" }, [194] = { 3, TD, SEN(ftruncate64), "ftruncate64" }, [195] = { 2, TF|TSTA, SEN(stat64), "stat64" }, -[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, [198] = { 3, TF, SEN(chown), "lchown32" }, [199] = { 0, NF, SEN(getuid), "getuid32" }, diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h index b43fc3ff..1521c394 100644 --- a/linux/hppa/syscallent.h +++ b/linux/hppa/syscallent.h @@ -86,7 +86,7 @@ [ 81] = { 2, 0, SEN(setgroups), "setgroups" }, [ 82] = { 6, TN, SEN(sendto), "sendto" }, [ 83] = { 2, TF, SEN(symlink), "symlink" }, -[ 84] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[ 84] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [ 85] = { 3, TF, SEN(readlink), "readlink" }, [ 86] = { 1, TF, SEN(uselib), "uselib" }, [ 87] = { 2, TF, SEN(swapon), "swapon" }, @@ -200,7 +200,7 @@ [195] = { 3, TI, SEN(shmctl), "shmctl" }, [196] = { 5, TN, SEN(getpmsg), "getpmsg" }, [197] = { 5, TN, SEN(putpmsg), "putpmsg" }, -[198] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[198] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [199] = { 3, TF, SEN(truncate64), "truncate64" }, [200] = { 3, TD, SEN(ftruncate64), "ftruncate64" }, [201] = { 3, TD, SEN(getdents64), "getdents64" }, diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h index e18faa26..cbb405a1 100644 --- a/linux/i386/syscallent.h +++ b/linux/i386/syscallent.h @@ -110,7 +110,7 @@ [ 81] = { 2, 0, SEN(setgroups16), "setgroups" }, [ 82] = { 1, TD, SEN(oldselect), "select" }, [ 83] = { 2, TF, SEN(symlink), "symlink" }, -[ 84] = { 2, TF|TSTA, SEN(oldlstat), "oldlstat" }, +[ 84] = { 2, TF|TLST|TSTA, SEN(oldlstat), "oldlstat" }, [ 85] = { 3, TF, SEN(readlink), "readlink" }, [ 86] = { 1, TF, SEN(uselib), "uselib" }, [ 87] = { 2, TF, SEN(swapon), "swapon" }, @@ -133,7 +133,7 @@ [104] = { 3, 0, SEN(setitimer), "setitimer" }, [105] = { 2, 0, SEN(getitimer), "getitimer" }, [106] = { 2, TF|TSTA, SEN(stat), "stat" }, -[107] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [109] = { 1, 0, SEN(olduname), "olduname" }, [110] = { 1, 0, SEN(iopl), "iopl" }, @@ -222,7 +222,7 @@ [193] = { 3, TF, SEN(truncate64), "truncate64" }, [194] = { 3, TD, SEN(ftruncate64), "ftruncate64" }, [195] = { 2, TF|TSTA, SEN(stat64), "stat64" }, -[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, [198] = { 3, TF, SEN(chown), "lchown32" }, [199] = { 0, NF, SEN(getuid), "getuid32" }, diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h index 4aa73b84..2505a060 100644 --- a/linux/ia64/syscallent.h +++ b/linux/ia64/syscallent.h @@ -138,7 +138,7 @@ [1118] = { 3, 0, SEN(setitimer), "setitimer" }, [1119] = { 2, 0, SEN(getitimer), "getitimer" }, [1120] = { 2, TF|TSTA, SEN(stat), "stat" }, -[1121] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[1121] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [1122] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [1123] = { 0, 0, SEN(vhangup), "vhangup" }, [1124] = { 3, TF, SEN(chown), "lchown" }, @@ -228,7 +228,7 @@ [1208] = { 3, TM, SEN(mincore), "mincore" }, [1209] = { 3, TM, SEN(madvise), "madvise" }, [1210] = { 2, TF|TSTA, SEN(stat), "stat" }, -[1211] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[1211] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [1212] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [1213] = { 6, TP, SEN(clone), "clone2" }, [1214] = { 3, TD, SEN(getdents64), "getdents64" }, diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h index 3ce630b6..888f4205 100644 --- a/linux/m68k/syscallent.h +++ b/linux/m68k/syscallent.h @@ -110,7 +110,7 @@ [ 81] = { 2, 0, SEN(setgroups16), "setgroups" }, [ 82] = { 1, TD, SEN(oldselect), "select" }, [ 83] = { 2, TF, SEN(symlink), "symlink" }, -[ 84] = { 2, TF|TSTA, SEN(oldlstat), "oldlstat" }, +[ 84] = { 2, TF|TLST|TSTA, SEN(oldlstat), "oldlstat" }, [ 85] = { 3, TF, SEN(readlink), "readlink" }, [ 86] = { 1, TF, SEN(uselib), "uselib" }, [ 87] = { 2, TF, SEN(swapon), "swapon" }, @@ -133,7 +133,7 @@ [104] = { 3, 0, SEN(setitimer), "setitimer" }, [105] = { 2, 0, SEN(getitimer), "getitimer" }, [106] = { 2, TF|TSTA, SEN(stat), "stat" }, -[107] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [109] = { 1, 0, SEN(olduname), "olduname" }, [110] = { 1, 0, SEN(iopl), "iopl" }, @@ -222,7 +222,7 @@ [193] = { 3, TF, SEN(truncate64), "truncate64" }, [194] = { 3, TD, SEN(ftruncate64), "ftruncate64" }, [195] = { 2, TF|TSTA, SEN(stat64), "stat64" }, -[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, [198] = { 3, TF, SEN(chown), "chown32" }, [199] = { 0, NF, SEN(getuid), "getuid32" }, diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h index 22c3a47c..279c3502 100644 --- a/linux/microblaze/syscallent.h +++ b/linux/microblaze/syscallent.h @@ -110,7 +110,7 @@ [ 81] = { 2, 0, SEN(setgroups16), "setgroups" }, [ 82] = { 1, TD, SEN(oldselect), "select" }, [ 83] = { 2, TF, SEN(symlink), "symlink" }, -[ 84] = { 2, TF|TSTA, SEN(oldlstat), "oldlstat" }, +[ 84] = { 2, TF|TLST|TSTA, SEN(oldlstat), "oldlstat" }, [ 85] = { 3, TF, SEN(readlink), "readlink" }, [ 86] = { 1, TF, SEN(uselib), "uselib" }, [ 87] = { 2, TF, SEN(swapon), "swapon" }, @@ -133,7 +133,7 @@ [104] = { 3, 0, SEN(setitimer), "setitimer" }, [105] = { 2, 0, SEN(getitimer), "getitimer" }, [106] = { 2, TF|TSTA, SEN(stat), "stat" }, -[107] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [109] = { 1, 0, SEN(olduname), "olduname" }, [110] = { 1, 0, SEN(iopl), "iopl" }, @@ -222,7 +222,7 @@ [193] = { 3, TF, SEN(truncate64), "truncate64" }, [194] = { 3, TD, SEN(ftruncate64), "ftruncate64" }, [195] = { 2, TF|TSTA, SEN(stat64), "stat64" }, -[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, [198] = { 3, TF, SEN(chown), "lchown32" }, [199] = { 0, NF, SEN(getuid), "getuid32" }, diff --git a/linux/mips/syscallent-compat.h b/linux/mips/syscallent-compat.h index 54cfa0a8..a88678b3 100644 --- a/linux/mips/syscallent-compat.h +++ b/linux/mips/syscallent-compat.h @@ -81,7 +81,7 @@ [ 85] = { 0, 0, SEN(printargs), "svr4_getmsg" }, [ 86] = { 0, 0, SEN(printargs), "svr4_putmsg" }, [ 87] = { 0, 0, SEN(printargs), "svr4_poll" }, -[ 88] = { 0, TF|TSTA,SEN(printargs), "svr4_lstat" }, +[ 88] = { 0, TF|TLST|TSTA,SEN(printargs), "svr4_lstat" }, [ 89] = { 0, 0, SEN(printargs), "svr4_symlink" }, [ 90] = { 0, 0, SEN(printargs), "svr4_readlink" }, [ 91] = { 0, 0, SEN(printargs), "svr4_setgroups" }, @@ -117,7 +117,7 @@ [ 121] = { 0, 0, SEN(printargs), "svr4_readv" }, [ 122] = { 0, 0, SEN(printargs), "svr4_writev" }, [ 123] = { 0, TF|TSTA,SEN(printargs), "svr4_xstat" }, -[ 124] = { 0, TF|TSTA,SEN(printargs), "svr4_lxstat" }, +[ 124] = { 0, TF|TLST|TSTA,SEN(printargs), "svr4_lxstat" }, [ 125] = { 0, TD|TFST|TSTA,SEN(printargs), "svr4_fxstat" }, [ 126] = { 0, 0, SEN(printargs), "svr4_xmknod" }, [ 127] = { 0, 0, SEN(printargs), "svr4_clocal" }, @@ -261,7 +261,7 @@ [1114] = { 0, 0, SEN(printargs), "sysv_rename" }, [1115] = { 0, 0, SEN(printargs), "sysv_symlink" }, [1116] = { 0, 0, SEN(printargs), "sysv_readlink" }, -[1117] = { 0, TF|TSTA,SEN(printargs), "sysv_lstat" }, +[1117] = { 0, TF|TLST|TSTA,SEN(printargs), "sysv_lstat" }, [1118] = { 0, 0, SEN(printargs), "sysv_nfsmount" }, [1119] = { 0, 0, SEN(printargs), "sysv_nfssvc" }, [1120] = { 0, 0, SEN(printargs), "sysv_getfh" }, @@ -303,7 +303,7 @@ [1156] = { 0, 0, SEN(printargs), "sysv_sysinfo" }, [1157] = { 0, 0, SEN(printargs), "sysv_nuname" }, [1158] = { 0, TF|TSTA,SEN(printargs), "sysv_xstat" }, -[1159] = { 0, TF|TSTA,SEN(printargs), "sysv_lxstat" }, +[1159] = { 0, TF|TLST|TSTA,SEN(printargs), "sysv_lxstat" }, [1160] = { 0, TD|TFST|TSTA,SEN(printargs), "sysv_fxstat" }, [1161] = { 0, 0, SEN(printargs), "sysv_xmknod" }, [1162] = { 0, 0, SEN(printargs), "sysv_ksigaction" }, @@ -374,7 +374,7 @@ [2037] = { 0, 0, SEN(printargs), "bsd43_kill" }, [2038] = { 0, TF|TSTA,SEN(printargs), "bsd43_stat" }, [2039] = { 0, 0, SEN(printargs), "bsd43_oldsetpgrp" }, -[2040] = { 0, TF|TSTA,SEN(printargs), "bsd43_lstat" }, +[2040] = { 0, TF|TLST|TSTA,SEN(printargs), "bsd43_lstat" }, [2041] = { 0, 0, SEN(printargs), "bsd43_dup" }, [2042] = { 0, 0, SEN(printargs), "bsd43_pipe" }, [2043] = { 0, 0, SEN(printargs), "bsd43_times" }, @@ -639,7 +639,7 @@ [3114] = { 0, 0, SEN(printargs), "posix_rename" }, [3115] = { 0, 0, SEN(printargs), "posix_symlink" }, [3116] = { 0, 0, SEN(printargs), "posix_readlink" }, -[3117] = { 0, TF|TSTA,SEN(printargs), "posix_lstat" }, +[3117] = { 0, TF|TLST|TSTA,SEN(printargs), "posix_lstat" }, [3118] = { 0, 0, SEN(printargs), "posix_nfs_mount" }, [3119] = { 0, 0, SEN(printargs), "posix_nfs_svc" }, [3120] = { 0, 0, SEN(printargs), "posix_nfs_getfh" }, diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h index 6194a842..2fc6ece7 100644 --- a/linux/mips/syscallent-n32.h +++ b/linux/mips/syscallent-n32.h @@ -6,7 +6,7 @@ [6003] = { 1, TD, SEN(close), "close" }, [6004] = { 2, TF|TSTA, SEN(stat64), "stat" }, [6005] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat" }, -[6006] = { 2, TF|TSTA, SEN(lstat64), "lstat" }, +[6006] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat" }, [6007] = { 3, TD, SEN(poll), "poll" }, [6008] = { 3, TD, SEN(lseek), "lseek" }, [6009] = { 6, TD|TM|SI, SEN(mmap), "mmap" }, diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h index ded3a4c9..08be2f25 100644 --- a/linux/mips/syscallent-n64.h +++ b/linux/mips/syscallent-n64.h @@ -6,7 +6,7 @@ [5003] = { 1, TD, SEN(close), "close" }, [5004] = { 2, TF|TSTA, SEN(stat), "stat" }, [5005] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, -[5006] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[5006] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [5007] = { 3, TD, SEN(poll), "poll" }, [5008] = { 3, TD, SEN(lseek), "lseek" }, [5009] = { 6, TD|TM|SI, SEN(mmap), "mmap" }, diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h index b7955e28..773b2eb1 100644 --- a/linux/mips/syscallent-o32.h +++ b/linux/mips/syscallent-o32.h @@ -84,7 +84,7 @@ [4081] = { 2, 0, SEN(setgroups), "setgroups" }, [4082] = { 0, 0, SEN(printargs), "reserved82" }, [4083] = { 2, TF, SEN(symlink), "symlink" }, -[4084] = { 2, TF|TSTA, SEN(oldlstat), "oldlstat" }, +[4084] = { 2, TF|TLST|TSTA, SEN(oldlstat), "oldlstat" }, [4085] = { 3, TF, SEN(readlink), "readlink" }, [4086] = { 1, TF, SEN(uselib), "uselib" }, [4087] = { 2, TF, SEN(swapon), "swapon" }, @@ -107,7 +107,7 @@ [4104] = { 3, 0, SEN(setitimer), "setitimer" }, [4105] = { 2, 0, SEN(getitimer), "getitimer" }, [4106] = { 2, TF|TSTA, SEN(stat), "stat" }, -[4107] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[4107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [4108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [4109] = { 1, 0, SEN(olduname), "olduname" }, [4110] = { 1, 0, SEN(iopl), "iopl" }, @@ -214,7 +214,7 @@ [4211] = { 4, TF, SEN(truncate64), "truncate64" }, [4212] = { 4, TD, SEN(ftruncate64), "ftruncate64" }, [4213] = { 2, TF|TSTA, SEN(stat64), "stat64" }, -[4214] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[4214] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [4215] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, [4216] = { 2, TF, SEN(pivotroot), "pivot_root" }, [4217] = { 3, TM, SEN(mincore), "mincore" }, diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h index 35189f0e..ce6a59f5 100644 --- a/linux/powerpc/syscallent.h +++ b/linux/powerpc/syscallent.h @@ -110,7 +110,7 @@ [ 81] = { 2, 0, SEN(setgroups), "setgroups" }, [ 82] = { 1, TD, SEN(oldselect), "select" }, [ 83] = { 2, TF, SEN(symlink), "symlink" }, -[ 84] = { 2, TF|TSTA, SEN(oldlstat), "oldlstat" }, +[ 84] = { 2, TF|TLST|TSTA, SEN(oldlstat), "oldlstat" }, [ 85] = { 3, TF, SEN(readlink), "readlink" }, [ 86] = { 1, TF, SEN(uselib), "uselib" }, [ 87] = { 2, TF, SEN(swapon), "swapon" }, @@ -133,7 +133,7 @@ [104] = { 3, 0, SEN(setitimer), "setitimer" }, [105] = { 2, 0, SEN(getitimer), "getitimer" }, [106] = { 2, TF|TSTA, SEN(stat), "stat" }, -[107] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [109] = { 1, 0, SEN(olduname), "olduname" }, [110] = { 1, 0, SEN(iopl), "iopl" }, @@ -222,7 +222,7 @@ [193] = { 4, TF, SEN(truncate64), "truncate64" }, [194] = { 4, TD, SEN(ftruncate64), "ftruncate64" }, [195] = { 2, TF|TSTA, SEN(stat64), "stat64" }, -[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, [198] = { 5, 0, SEN(printargs), "pciconfig_read" }, [199] = { 5, 0, SEN(printargs), "pciconfig_write" }, diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h index 130ed2e5..ab2be1fc 100644 --- a/linux/powerpc64/syscallent.h +++ b/linux/powerpc64/syscallent.h @@ -110,7 +110,7 @@ [ 81] = { 2, 0, SEN(setgroups), "setgroups" }, [ 82] = { 1, TD, SEN(oldselect), "select" }, [ 83] = { 2, TF, SEN(symlink), "symlink" }, -[ 84] = { 2, TF|TSTA, SEN(oldlstat), "oldlstat" }, +[ 84] = { 2, TF|TLST|TSTA, SEN(oldlstat), "oldlstat" }, [ 85] = { 3, TF, SEN(readlink), "readlink" }, [ 86] = { 1, TF, SEN(uselib), "uselib" }, [ 87] = { 2, TF, SEN(swapon), "swapon" }, @@ -133,7 +133,7 @@ [104] = { 3, 0, SEN(setitimer), "setitimer" }, [105] = { 2, 0, SEN(getitimer), "getitimer" }, [106] = { 2, TF|TSTA, SEN(stat), "stat" }, -[107] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [109] = { 1, 0, SEN(olduname), "olduname" }, [110] = { 1, 0, SEN(iopl), "iopl" }, diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h index b3067ef8..7469136f 100644 --- a/linux/s390/syscallent.h +++ b/linux/s390/syscallent.h @@ -135,7 +135,7 @@ [104] = { 3, 0, SEN(setitimer), "setitimer" }, [105] = { 2, 0, SEN(getitimer), "getitimer" }, [106] = { 2, TF|TSTA, SEN(stat), "stat" }, -[107] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [109] = { }, [110] = { 4, 0, SEN(lookup_dcookie), "lookup_dcookie" }, @@ -224,7 +224,7 @@ [193] = { 3, TF, SEN(truncate64), "truncate64" }, [194] = { 3, TD, SEN(ftruncate64), "ftruncate64" }, [195] = { 2, TF|TSTA, SEN(stat64), "stat64" }, -[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, [198] = { 3, TF, SEN(chown), "lchown32" }, [199] = { 0, NF, SEN(getuid), "getuid32" }, diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h index 43d39e2f..a6c82704 100644 --- a/linux/s390x/syscallent.h +++ b/linux/s390x/syscallent.h @@ -129,7 +129,7 @@ [104] = { 3, 0, SEN(setitimer), "setitimer" }, [105] = { 2, 0, SEN(getitimer), "getitimer" }, [106] = { 2, TF|TSTA, SEN(stat), "stat" }, -[107] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [109] = { }, [110] = { 3, 0, SEN(lookup_dcookie), "lookup_dcookie" }, diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h index ff33e464..6e6c1cc8 100644 --- a/linux/sh/syscallent.h +++ b/linux/sh/syscallent.h @@ -112,7 +112,7 @@ [ 81] = { 2, 0, SEN(setgroups16), "setgroups" }, [ 82] = { 1, TD, SEN(oldselect), "select" }, [ 83] = { 2, TF, SEN(symlink), "symlink" }, -[ 84] = { 2, TF|TSTA, SEN(oldlstat), "oldlstat" }, +[ 84] = { 2, TF|TLST|TSTA, SEN(oldlstat), "oldlstat" }, [ 85] = { 3, TF, SEN(readlink), "readlink" }, [ 86] = { 1, TF, SEN(uselib), "uselib" }, [ 87] = { 2, TF, SEN(swapon), "swapon" }, @@ -135,7 +135,7 @@ [104] = { 3, 0, SEN(setitimer), "setitimer" }, [105] = { 2, 0, SEN(getitimer), "getitimer" }, [106] = { 2, TF|TSTA, SEN(stat), "stat" }, -[107] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [109] = { 1, 0, SEN(olduname), "olduname" }, [110] = { 1, 0, SEN(iopl), "iopl" }, @@ -223,7 +223,7 @@ [193] = { 3, TF, SEN(truncate64), "truncate64" }, [194] = { 3, TD, SEN(ftruncate64), "ftruncate64" }, [195] = { 2, TF|TSTA, SEN(stat64), "stat64" }, -[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, [198] = { 3, TF, SEN(chown), "lchown32" }, [199] = { 0, NF, SEN(getuid), "getuid32" }, diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h index 4f202bdf..06186966 100644 --- a/linux/sh64/syscallent.h +++ b/linux/sh64/syscallent.h @@ -110,7 +110,7 @@ [ 81] = { 2, 0, SEN(setgroups16), "setgroups" }, [ 82] = { }, [ 83] = { 2, TF, SEN(symlink), "symlink" }, -[ 84] = { 2, TF|TSTA, SEN(oldlstat), "oldlstat" }, +[ 84] = { 2, TF|TLST|TSTA, SEN(oldlstat), "oldlstat" }, [ 85] = { 3, TF, SEN(readlink), "readlink" }, [ 86] = { 1, TF, SEN(uselib), "uselib" }, [ 87] = { 2, TF, SEN(swapon), "swapon" }, @@ -133,7 +133,7 @@ [104] = { 3, 0, SEN(setitimer), "setitimer" }, [105] = { 2, 0, SEN(getitimer), "getitimer" }, [106] = { 2, TF|TSTA, SEN(stat), "stat" }, -[107] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[107] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [108] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, [109] = { 1, 0, SEN(olduname), "olduname" }, [110] = { 1, 0, SEN(iopl), "iopl" }, @@ -221,7 +221,7 @@ [193] = { 2, TF, SEN(truncate), "truncate64" }, [194] = { 2, TD, SEN(ftruncate), "ftruncate64" }, [195] = { 2, TF|TSTA, SEN(stat64), "stat64" }, -[196] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[196] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [197] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat64" }, [198] = { 3, TF, SEN(chown), "lchown32" }, [199] = { 0, NF, SEN(getuid), "getuid32" }, diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h index ecb26576..b8b4100d 100644 --- a/linux/sparc/syscallent.h +++ b/linux/sparc/syscallent.h @@ -38,7 +38,7 @@ [ 37] = { 2, TS, SEN(kill), "kill" }, [ 38] = { 2, TF|TSTA, SEN(stat), "stat" }, [ 39] = { 4, TD|TN, SEN(sendfile), "sendfile" }, -[ 40] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[ 40] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [ 41] = { 1, TD, SEN(dup), "dup" }, [ 42] = { 0, TD, SEN(pipe), "pipe" }, [ 43] = { 1, 0, SEN(times), "times" }, @@ -130,7 +130,7 @@ [129] = { 2, TF, SEN(truncate), "truncate" }, [130] = { 2, TD, SEN(ftruncate), "ftruncate" }, [131] = { 2, TD, SEN(flock), "flock" }, -[132] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[132] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [133] = { 6, TN, SEN(sendto), "sendto" }, [134] = { 2, TN, SEN(shutdown), "shutdown" }, [135] = { 4, TN, SEN(socketpair), "socketpair" }, @@ -200,7 +200,7 @@ [199] = { 0, TS, SEN(siggetmask), "sgetmask" }, [200] = { 1, TS, SEN(sigsetmask), "ssetmask" }, [201] = { 3, TS, SEN(sigsuspend), "sigsuspend" }, -[202] = { 2, TF|TSTA, SEN(lstat), "oldlstat" }, +[202] = { 2, TF|TLST|TSTA, SEN(lstat), "oldlstat" }, [203] = { 1, TF, SEN(uselib), "uselib" }, [204] = { 3, TD, SEN(readdir), "readdir" }, [205] = { 4, TD, SEN(readahead), "readahead" }, diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h index ece5d04f..3c18adc1 100644 --- a/linux/sparc64/syscallent.h +++ b/linux/sparc64/syscallent.h @@ -37,7 +37,7 @@ [ 37] = { 2, TS, SEN(kill), "kill" }, [ 38] = { 2, TF|TSTA, SEN(stat), "stat" }, [ 39] = { 4, TD|TN, SEN(sendfile), "sendfile" }, -[ 40] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[ 40] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [ 41] = { 1, TD, SEN(dup), "dup" }, [ 42] = { 0, TD, SEN(pipe), "pipe" }, [ 43] = { 1, 0, SEN(times), "times" }, @@ -128,7 +128,7 @@ [129] = { 2, TF, SEN(truncate), "truncate" }, [130] = { 2, TD, SEN(ftruncate), "ftruncate" }, [131] = { 2, TD, SEN(flock), "flock" }, -[132] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[132] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [133] = { 6, TN, SEN(sendto), "sendto" }, [134] = { 2, TN, SEN(shutdown), "shutdown" }, [135] = { 4, TN, SEN(socketpair), "socketpair" }, @@ -198,7 +198,7 @@ [199] = { 0, TS, SEN(siggetmask), "sgetmask" }, [200] = { 1, TS, SEN(sigsetmask), "ssetmask" }, [201] = { 3, TS, SEN(sigsuspend), "sigsuspend" }, -[202] = { 2, TF|TSTA, SEN(lstat), "oldlstat" }, +[202] = { 2, TF|TLST|TSTA, SEN(lstat), "oldlstat" }, [203] = { 1, TF, SEN(uselib), "uselib" }, [204] = { 3, TD, SEN(readdir), "readdir" }, [205] = { 3, TD, SEN(readahead), "readahead" }, diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h index cc323b27..f25f4fa0 100644 --- a/linux/x32/syscallent.h +++ b/linux/x32/syscallent.h @@ -4,7 +4,7 @@ [ 3] = { 1, TD, SEN(close), "close" }, [ 4] = { 2, TF|TSTA, SEN(stat), "stat" }, [ 5] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, -[ 6] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[ 6] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [ 7] = { 3, TD, SEN(poll), "poll" }, [ 8] = { 3, TD, SEN(lseek), "lseek" }, [ 9] = { 6, TD|TM|SI, SEN(mmap), "mmap" }, diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h index 91c5e4a8..5b63f910 100644 --- a/linux/x86_64/syscallent.h +++ b/linux/x86_64/syscallent.h @@ -4,7 +4,7 @@ [ 3] = { 1, TD, SEN(close), "close" }, [ 4] = { 2, TF|TSTA, SEN(stat), "stat" }, [ 5] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" }, -[ 6] = { 2, TF|TSTA, SEN(lstat), "lstat" }, +[ 6] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, [ 7] = { 3, TD, SEN(poll), "poll" }, [ 8] = { 3, TD, SEN(lseek), "lseek" }, [ 9] = { 6, TD|TM|SI, SEN(mmap), "mmap" }, diff --git a/linux/xtensa/syscallent.h b/linux/xtensa/syscallent.h index fbdc8dfc..43a89c64 100644 --- a/linux/xtensa/syscallent.h +++ b/linux/xtensa/syscallent.h @@ -42,8 +42,8 @@ [ 46] = { 2, TF|TSTA, SEN(stat), "stat" }, [ 47] = { 2, TF|TSTA, SEN(stat64), "stat64" }, [ 48] = { 3, TF, SEN(chown), "lchown" }, -[ 49] = { 2, TF|TSTA, SEN(lstat), "lstat" }, -[ 50] = { 2, TF|TSTA, SEN(lstat64), "lstat64" }, +[ 49] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" }, +[ 50] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat64" }, [ 51] = { }, [ 52] = { 2, TD, SEN(fchmod), "fchmod" }, [ 53] = { 3, TD, SEN(fchown), "fchown" }, diff --git a/qualify.c b/qualify.c index ec49ae62..e397ccff 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 }, + { "%lstat", TRACE_LSTAT }, { "%fstat", TRACE_FSTAT }, { "%%stat", TRACE_STAT_LIKE }, { "%statfs", TRACE_STATFS }, diff --git a/strace.1 b/strace.1 index 0851512f..8f5567b5 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" = %lstat +Trace lstat syscall variants. +.TP .BR "\-e\ trace" = %fstat Trace fstat and fstatat syscall variants. .TP diff --git a/syscall.c b/syscall.c index 85fc5637..4c1e1ed7 100644 --- a/syscall.c +++ b/syscall.c @@ -76,6 +76,7 @@ #define TP TRACE_PROCESS #define TS TRACE_SIGNAL #define TM TRACE_MEMORY +#define TLST TRACE_LSTAT #define TFST TRACE_FSTAT #define TSTA TRACE_STAT_LIKE #define TSF TRACE_STATFS @@ -116,6 +117,7 @@ static const struct_sysent sysent2[] = { #undef TP #undef TS #undef TM +#undef TLST #undef TFST #undef TSTA #undef TSF diff --git a/sysent.h b/sysent.h index 45fa9562..5725795c 100644 --- a/sysent.h +++ b/sysent.h @@ -21,6 +21,7 @@ typedef struct sysent { #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_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. */ #define TRACE_STATFS_LIKE 00200000 /* Trace statfs-like, fstatfs-like and ustat syscalls. */ diff --git a/tests/Makefile.am b/tests/Makefile.am index 8e94581a..818252b8 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -338,6 +338,7 @@ EXTRA_DIST = \ sun_path.expected \ trace_fstat.in \ trace_fstatfs.in \ + trace_lstat.in \ trace_stat_like.in \ trace_statfs.in \ trace_statfs_like.in \ diff --git a/tests/gen_tests.in b/tests/gen_tests.in index eec666ef..3edf9e60 100644 --- a/tests/gen_tests.in +++ b/tests/gen_tests.in @@ -306,6 +306,7 @@ 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_lstat > stat.sample; test_trace_expr '' -e%lstat -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 diff --git a/tests/ksysent.c b/tests/ksysent.c index 202b3dee..6c27cb73 100644 --- a/tests/ksysent.c +++ b/tests/ksysent.c @@ -40,6 +40,7 @@ #define TP 0 #define TS 0 #define TM 0 +#define TLST 0 #define TFST 0 #define TSTA 0 #define TSF 0 diff --git a/tests/nsyscalls.c b/tests/nsyscalls.c index e3288f87..1d5dbb95 100644 --- a/tests/nsyscalls.c +++ b/tests/nsyscalls.c @@ -41,6 +41,7 @@ #define TP 0 #define TS 0 #define TM 0 +#define TLST 0 #define TFST 0 #define TSTA 0 #define TSF 0 diff --git a/tests/trace_lstat.in b/tests/trace_lstat.in new file mode 100644 index 00000000..abbabc49 --- /dev/null +++ b/tests/trace_lstat.in @@ -0,0 +1,3 @@ +lstat -a32 +lstat64 -a32 +oldlstat -a32