]> granicus.if.org Git - strace/commitdiff
Implement -e trace=%lstat option
authorEugene Syromyatnikov <evgsyr@gmail.com>
Tue, 18 Apr 2017 00:23:05 +0000 (02:23 +0200)
committerDmitry V. Levin <ldv@altlinux.org>
Fri, 21 Apr 2017 19:49:03 +0000 (19:49 +0000)
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.

36 files changed:
NEWS
linux/aarch64/syscallent.h
linux/alpha/syscallent.h
linux/arm/syscallent.h
linux/avr32/syscallent.h
linux/bfin/syscallent.h
linux/crisv10/syscallent.h
linux/hppa/syscallent.h
linux/i386/syscallent.h
linux/ia64/syscallent.h
linux/m68k/syscallent.h
linux/microblaze/syscallent.h
linux/mips/syscallent-compat.h
linux/mips/syscallent-n32.h
linux/mips/syscallent-n64.h
linux/mips/syscallent-o32.h
linux/powerpc/syscallent.h
linux/powerpc64/syscallent.h
linux/s390/syscallent.h
linux/s390x/syscallent.h
linux/sh/syscallent.h
linux/sh64/syscallent.h
linux/sparc/syscallent.h
linux/sparc64/syscallent.h
linux/x32/syscallent.h
linux/x86_64/syscallent.h
linux/xtensa/syscallent.h
qualify.c
strace.1
syscall.c
sysent.h
tests/Makefile.am
tests/gen_tests.in
tests/ksysent.c
tests/nsyscalls.c
tests/trace_lstat.in [new file with mode: 0644]

diff --git a/NEWS b/NEWS
index b4414dc3489b17cf56287ace866776d4611c1d09..94f798424ad5717ecf753172daf53c83ec0a1316 100644 (file)
--- 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
index f01e584767a05985aa6197cb4dfee7a5fe15a0a4..a671e57977bb42a556cb68e588bf85aa41425587 100644 (file)
@@ -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"     },
index 93ba5feabf92155b38580cbec28f0fae13f14fe5..0592a09d1240011399254cbcb10f550c5cd3502e 100644 (file)
@@ -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"                  },
 [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"         },
 [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 */
index bfd2bf821e5e49d9e0d54ec8fa7982c6f5001306..141c73a3923ab775c1334535181076ba3ca0988e 100644 (file)
 [ 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"                },
 [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] = { 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"              },
index e126944b8f799bebdedef6395023c78a3b96215f..e10d61160ede30cf0b55e236fca59b41ce381ce3 100644 (file)
@@ -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"                  },
 [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"               },
index 586769b144287edde7f4e20b2c00cdff77284553..441368c0c470833a7a36d1e7fedeceafa1132d10 100644 (file)
 [ 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"                },
 [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] = { 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"              },
index 17557c0bcaf820b7772374770181e41d0238c230..d3cedceddc9047d9c0269e54a3bb431f91d73d44 100644 (file)
@@ -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"                },
 [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] = { 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"              },
index b43fc3ff98389562d51b637e0297aff71e78fef4..1521c3940d938aff59bc94d32d359c177e65c84f 100644 (file)
@@ -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"                },
 [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"            },
index e18faa2695f83db225cd22c05afae17e28b90c44..cbb405a171ad94322a33a914d14005f539cb95e8 100644 (file)
 [ 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"                },
 [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] = { 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"              },
index 4aa73b846158cd6f4418afc8cf249697d75fede6..2505a0606d8c53691a604c10e6b794719e95344c 100644 (file)
 [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"                },
 [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"            },
index 3ce630b6a6faeb497e7127ff88657a43d7010c21..888f4205903dc49657dc573cd7ae239894457c71 100644 (file)
 [ 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"                },
 [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] = { 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"              },
index 22c3a47ce674bce505bfddf6e15f19cd76a3b766..279c350202233feacc5ed615267c8889f8fafc3c 100644 (file)
 [ 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"                },
 [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] = { 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"              },
index 54cfa0a8c834fdad75163bd64166017001c42fbf..a88678b39451736eb47a7bb674cc09516bba756a 100644 (file)
@@ -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"        },
 [ 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"   },
 [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"    },
 [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"       },
 [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"   },
 [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"       },
index 6194a842f00d8930ae6dc13958e70dfe7535fc2a..2fc6ece71e9019f9e0f0fe95cff0cae470bf7eee 100644 (file)
@@ -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"                  },
index ded3a4c9b63304801029d4e95f8cb15e412ebb0e..08be2f2536c3383facd7f95c3ae19375c70bf985 100644 (file)
@@ -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"                  },
index b7955e28923db9d3dcd54f5d3560cc7b36c79d6c..773b2eb1b84ba9d3472d63cf9c0d7bfb10a4b137 100644 (file)
@@ -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"                },
 [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"                  },
 [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"               },
index 35189f0e1c21d5204e154ae4eb3d4bf0b1ba6a58..ce6a59f5250caff44e1b90fc77fb734b6265c6d4 100644 (file)
 [ 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"                },
 [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] = { 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"       },
index 130ed2e5953f5e2c0e67274d20fed9ae08b100e3..ab2be1fcf4c4ea65a2619fc7a27679482d0b5909 100644 (file)
 [ 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"                },
 [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"                  },
index b3067ef8ad9062946ac34148416e37fffb2c87af..7469136f350edf45184ea031e4c61e3d4d6af7df 100644 (file)
 [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"        },
 [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"              },
index 43d39e2f1c1550c84b97f5152d99b91287978c0a..a6c827044b34b59602a9bd0ceaf690df2bdb6fee 100644 (file)
 [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"        },
index ff33e464f1ceef62bca928478cc8e46212e0b071..6e6c1cc8ab8f122f5a057e3cbfed3da7d8a22ab7 100644 (file)
 [ 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"                },
 [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] = { 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"              },
index 4f202bdffe802b72ff3ed749ff6efb4b0961a2ea..06186966ca8395f817019aea358a556dff3143bd 100644 (file)
 [ 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"                },
 [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] = { 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"              },
index ecb26576261e63d803ef783ed1aa1efa0558c9d4..b8b4100d502899ffccf15c6712c1d143b1f09c64 100644 (file)
@@ -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"                 },
 [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"            },
 [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"             },
index ece5d04fcd088c455c220aa9dca95aa5bc165ca4..3c18adc128eff1c6998e349191db1cec3abe0c56 100644 (file)
@@ -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"                 },
 [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"            },
 [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"             },
index cc323b273a27ce1b4d7ed279c0c7b4555fc751cf..f25f4fa0cb4777f95107fd4ccc01fa9018694ab4 100644 (file)
@@ -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"                  },
index 91c5e4a8c62c469fc6a1130236f6a9ed1c682cad..5b63f910027ee65e99cb2765320c3fd767386dbb 100644 (file)
@@ -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"                  },
index fbdc8dfc9c4c2e7ee25ae7e7ff91fddbeb3bc0f1..43a89c649cdbb50549303ed7d1ebfe57e797accf 100644 (file)
@@ -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"                },
index ec49ae62a56def70d227e8310a6fa1c5ab7b7bd3..e397ccff325a4d8cadb5a9d66d6c92928cb9741d 100644 (file)
--- 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    },
index 0851512f64bced288c212a929fee89676fc4f292..8f5567b5608ff4685c4eb58934b48afaa0cea156 100644 (file)
--- 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
index 85fc563750b9eb0198cd26c137ca881dd1c30ceb..4c1e1ed781e283a3f3bf74d5a1c39249ea43527d 100644 (file)
--- 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
index 45fa95629a32c6558e4e605cd3d6b6b82674e13e..5725795cd0e2e406c7e6142a7a6f7742e1ed6ec2 100644 (file)
--- 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. */
index 8e94581ae86a461f951b94cb9d262f75f81eeba4..818252b8b347c15a048f85aa3bd7e851be9fff10 100644 (file)
@@ -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 \
index eec666efa4f749caf6d89b36268c86503150b929..3edf9e609c2846301d410613ab00ca6cec662092 100644 (file)
@@ -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
index 202b3dee17ab1d47fe59c1afc1f53ce2c648f1a0..6c27cb73d645e4882ca83b9ee5d96f65999ae843 100644 (file)
@@ -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
index e3288f87451accc5282353730541bdf17e271573..1d5dbb955abe47a42c797cb11b4f0657b35ceeef 100644 (file)
@@ -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 (file)
index 0000000..abbabc4
--- /dev/null
@@ -0,0 +1,3 @@
+lstat  -a32
+lstat64        -a32
+oldlstat       -a32