[PATCH 1/3] Add %clock trace class
Ákos Uzonyi
uzonyi.akos at gmail.com
Thu Apr 16 22:04:11 UTC 2020
The %clock class includes the syscalls that read or modify system clock.
linux/*/syscallent*.h part is updated automatically by:
sed -i -r '
/\"(.*adjtime.*|.*clock_(get|set|adj).*|.*(get|set)timeofday.*|time)\"/ {
s/(\{[^,]*,\t[^0][^,]*)/\1|TCL/
s/(\{[^,]*,\s*)0/\1TCL/
}
' linux/*/syscallent.h
* basic_filters.c (loopup_class): Add %clock member to syscall_class[].
* linux/64/syscallent.h: Add TCL flag to credentials syscalls.
* linux/alpha/syscallent.h: Likewise
* linux/arm/syscallent.h: Likewise
* linux/avr32/syscallent.h: Likewise
* linux/bfin/syscallent.h: Likewise
* linux/hppa/syscallent.h: Likewise
* linux/i386/syscallent.h: Likewise
* linux/ia64/syscallent.h: Likewise
* linux/m68k/syscallent.h: Likewise
* linux/microblaze/syscallent.h: Likewise
* linux/powerpc/syscallent.h: Likewise
* linux/powerpc64/syscallent.h: Likewise
* linux/s390/syscallent.h: Likewise
* linux/s390x/syscallent.h: Likewise
* linux/sh/syscallent.h: Likewise
* linux/sh64/syscallent.h: Likewise
* linux/sparc/syscallent.h: Likewise
* linux/sparc64/syscallent.h: Likewise
* linux/x32/syscallent.h: Likewise
* linux/x86_64/syscallent.h: Likewise
* linux/xtensa/syscallent.h: Likewise
* strace.1.in: Add %clock description
* strace.c (usage): Add %clock group to help message
* sysent.h (TRACE_CLOCK): New definition.
* sysent_shorthand_defs.h (TC): Likewise.
* sysent_shorthand_undefs.h (TC): Add undef.
* NEWS: Mention this.
Signed-off-by: Ákos Uzonyi <uzonyi.akos at gmail.com>
---
NEWS | 1 +
basic_filters.c | 1 +
linux/64/syscallent.h | 14 +++++++-------
linux/alpha/syscallent.h | 26 +++++++++++++-------------
linux/arm/syscallent.h | 16 ++++++++--------
linux/avr32/syscallent.h | 16 ++++++++--------
linux/bfin/syscallent.h | 16 ++++++++--------
linux/hppa/syscallent.h | 16 ++++++++--------
linux/i386/syscallent.h | 16 ++++++++--------
linux/ia64/syscallent.h | 14 +++++++-------
linux/m68k/syscallent.h | 16 ++++++++--------
linux/microblaze/syscallent.h | 16 ++++++++--------
linux/powerpc/syscallent.h | 16 ++++++++--------
linux/powerpc64/syscallent.h | 16 ++++++++--------
linux/s390/syscallent.h | 16 ++++++++--------
linux/s390x/syscallent.h | 14 +++++++-------
linux/sh/syscallent.h | 16 ++++++++--------
linux/sh64/syscallent.h | 16 ++++++++--------
linux/sparc/syscallent.h | 16 ++++++++--------
linux/sparc64/syscallent.h | 14 +++++++-------
linux/x32/syscallent.h | 16 ++++++++--------
linux/x86_64/syscallent.h | 16 ++++++++--------
linux/xtensa/syscallent.h | 14 +++++++-------
strace.1.in | 3 +++
strace.c | 2 +-
sysent.h | 1 +
sysent_shorthand_defs.h | 3 +++
sysent_shorthand_undefs.h | 1 +
28 files changed, 179 insertions(+), 169 deletions(-)
diff --git a/NEWS b/NEWS
index 6292e1c3..94a91474 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,7 @@ Noteworthy changes in release ?.? (????-??-??)
* Improvements
* Updated lists of BPF_* constants.
+ * Added -e trace=%clock option for tracing syscalls reading of modifying system clocks.
Noteworthy changes in release 5.6 (2020-04-07)
==============================================
diff --git a/basic_filters.c b/basic_filters.c
index 7f866a52..8012818f 100644
--- a/basic_filters.c
+++ b/basic_filters.c
@@ -165,6 +165,7 @@ lookup_class(const char *s)
{ "%fstatfs", TRACE_FSTATFS },
{ "%%statfs", TRACE_STATFS_LIKE },
{ "%pure", TRACE_PURE },
+ { "%clock", TRACE_CLOCK },
/* legacy class names */
{ "desc", TRACE_DESC },
{ "file", TRACE_FILE },
diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h
index 84e7c1ae..9e2b60cc 100644
--- a/linux/64/syscallent.h
+++ b/linux/64/syscallent.h
@@ -117,9 +117,9 @@
[109] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[110] = { 4, 0, SEN(timer_settime64), "timer_settime" },
[111] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[112] = { 2, 0, SEN(clock_settime64), "clock_settime" },
-[113] = { 2, 0, SEN(clock_gettime64), "clock_gettime" },
-[114] = { 2, 0, SEN(clock_getres_time64), "clock_getres" },
+[112] = { 2, TCL, SEN(clock_settime64), "clock_settime" },
+[113] = { 2, TCL, SEN(clock_gettime64), "clock_gettime" },
+[114] = { 2, TCL, SEN(clock_getres_time64), "clock_getres" },
[115] = { 4, 0, SEN(clock_nanosleep_time64), "clock_nanosleep" },
[116] = { 3, 0, SEN(syslog), "syslog" },
[117] = { 4, 0, SEN(ptrace), "ptrace" },
@@ -174,9 +174,9 @@
[166] = { 1, NF, SEN(umask), "umask" },
[167] = { 5, TC, SEN(prctl), "prctl" },
[168] = { 3, 0, SEN(getcpu), "getcpu" },
-[169] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[170] = { 2, 0, SEN(settimeofday), "settimeofday" },
-[171] = { 1, 0, SEN(adjtimex64), "adjtimex" },
+[169] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[170] = { 2, TCL, SEN(settimeofday), "settimeofday" },
+[171] = { 1, TCL, SEN(adjtimex64), "adjtimex" },
[172] = { 0, PU|NF, SEN(getpid), "getpid" },
[173] = { 0, PU|NF, SEN(getppid), "getppid" },
[174] = { 0, TC|PU|NF, SEN(getuid), "getuid" },
@@ -256,7 +256,7 @@
[263] = { 5, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[264] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[265] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[266] = { 2, 0, SEN(clock_adjtime64), "clock_adjtime" },
+[266] = { 2, TCL, SEN(clock_adjtime64), "clock_adjtime" },
[267] = { 1, TD, SEN(syncfs), "syncfs" },
[268] = { 2, TD, SEN(setns), "setns" },
[269] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h
index ee8a8f9e..9c90ee3a 100644
--- a/linux/alpha/syscallent.h
+++ b/linux/alpha/syscallent.h
@@ -123,13 +123,13 @@
[113] = { 3, TN, SEN(recvmsg), "recvmsg" },
[114] = { 3, TN, SEN(sendmsg), "sendmsg" },
[115] = { 5, 0, SEN(printargs), "osf_old_vtrace" }, /* not implemented */
-[116] = { 2, 0, SEN(osf_gettimeofday), "osf_gettimeofday" },
+[116] = { 2, TCL, SEN(osf_gettimeofday), "osf_gettimeofday" },
[117] = { 2, 0, SEN(osf_getrusage), "osf_getrusage" },
[118] = { 5, TN, SEN(getsockopt), "getsockopt" },
[119] = { },
[120] = { 3, TD, SEN(readv), "readv" },
[121] = { 3, TD, SEN(writev), "writev" },
-[122] = { 2, 0, SEN(osf_settimeofday), "osf_settimeofday" },
+[122] = { 2, TCL, SEN(osf_settimeofday), "osf_settimeofday" },
[123] = { 3, TD, SEN(fchown), "fchown" },
[124] = { 2, TD, SEN(fchmod), "fchmod" },
[125] = { 6, TN, SEN(recvfrom), "recvfrom" },
@@ -147,7 +147,7 @@
[137] = { 1, TF, SEN(rmdir), "rmdir" },
[138] = { 2, TF, SEN(osf_utimes), "osf_utimes" },
[139] = { 5, 0, SEN(printargs), "osf_old_sigreturn" }, /* not implemented */
-[140] = { 5, 0, SEN(printargs), "osf_adjtime" }, /* not implemented */
+[140] = { 5, TCL, SEN(printargs), "osf_adjtime" }, /* not implemented */
[141] = { 3, TN, SEN(getpeername), "getpeername" },
[142] = { 5, 0, SEN(printargs), "osf_gethostid" }, /* not implemented */
[143] = { 5, 0, SEN(printargs), "osf_sethostid" }, /* not implemented */
@@ -204,7 +204,7 @@
[217] = { 3, TM, SEN(msync), "msync" },
[218] = { 5, 0, SEN(printargs), "osf_signal" }, /* not implemented */
[219] = { 5, 0, SEN(printargs), "osf_utc_gettime" }, /* not implemented */
-[220] = { 5, 0, SEN(printargs), "osf_utc_adjtime" }, /* not implemented */
+[220] = { 5, TCL, SEN(printargs), "osf_utc_adjtime" }, /* not implemented */
[221] = { },
[222] = { 5, 0, SEN(printargs), "osf_security" }, /* not implemented */
[223] = { 5, 0, SEN(printargs), "osf_kloadcall" }, /* not implemented */
@@ -226,7 +226,7 @@
[242] = { 5, 0, SEN(printargs), "osf_uadmin" }, /* not implemented */
[243] = { 5, 0, SEN(printargs), "osf_fuser" }, /* not implemented */
[244] = { 2, 0, SEN(printargs), "osf_proplist_syscall" },
-[245] = { 5, 0, SEN(printargs), "osf_ntp_adjtime" }, /* not implemented */
+[245] = { 5, TCL, SEN(printargs), "osf_ntp_adjtime" }, /* not implemented */
[246] = { 5, 0, SEN(printargs), "osf_ntp_gettime" }, /* not implemented */
[247] = { 5, 0, SEN(printargs), "osf_pathconf" }, /* not implemented */
[248] = { 5, 0, SEN(printargs), "osf_fpathconf" }, /* not implemented */
@@ -247,7 +247,7 @@
[300] = { 2, 0, SEN(bdflush), "bdflush" },
[301] = { 1, 0, SEN(printargs), "sethae" },
[302] = { 5, TF, SEN(mount), "mount" },
-[303] = { 1, 0, SEN(adjtimex32), "old_adjtimex" },
+[303] = { 1, TCL, SEN(adjtimex32), "old_adjtimex" },
[304] = { 1, TF, SEN(swapoff), "swapoff" },
[305] = { 3, TD, SEN(getdents), "getdents" },
[306] = { 2, 0, SEN(create_module), "create_module" }, /* not implemented */
@@ -303,14 +303,14 @@
[356] = { 3, TS, SEN(rt_sigqueueinfo), "rt_sigqueueinfo" },
[357] = { 2, TS, SEN(rt_sigsuspend), "rt_sigsuspend" },
[358] = { 5, TD, SEN(select), "select" },
-[359] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[360] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[359] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[360] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[361] = { 2, 0, SEN(getitimer), "getitimer" },
[362] = { 3, 0, SEN(setitimer), "setitimer" },
[363] = { 2, TF, SEN(utimes), "utimes" },
[364] = { 2, 0, SEN(getrusage), "getrusage" },
[365] = { 4, TP, SEN(wait4), "wait4" },
-[366] = { 1, 0, SEN(adjtimex64), "adjtimex" },
+[366] = { 1, TCL, SEN(adjtimex64), "adjtimex" },
[367] = { 2, TF, SEN(getcwd), "getcwd" },
[368] = { 2, TC, SEN(capget), "capget" },
[369] = { 2, TC, SEN(capset), "capset" },
@@ -362,9 +362,9 @@
[416] = { 2, 0, SEN(timer_gettime64), "timer_gettime" },
[417] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[418] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[419] = { 2, 0, SEN(clock_settime64), "clock_settime" },
-[420] = { 2, 0, SEN(clock_gettime64), "clock_gettime" },
-[421] = { 2, 0, SEN(clock_getres_time64), "clock_getres" },
+[419] = { 2, TCL, SEN(clock_settime64), "clock_settime" },
+[420] = { 2, TCL, SEN(clock_gettime64), "clock_gettime" },
+[421] = { 2, TCL, SEN(clock_getres_time64), "clock_getres" },
[422] = { 4, 0, SEN(clock_nanosleep_time64), "clock_nanosleep" },
[423] = { 4, TI, SEN(semtimedop_time64), "semtimedop" },
[424] = { 3, TS, SEN(tgkill), "tgkill" },
@@ -442,7 +442,7 @@
[496] = { 4, 0, SEN(prlimit64), "prlimit64" },
[497] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[498] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[499] = { 2, 0, SEN(clock_adjtime64), "clock_adjtime" },
+[499] = { 2, TCL, SEN(clock_adjtime64), "clock_adjtime" },
[500] = { 1, TD, SEN(syncfs), "syncfs" },
[501] = { 2, TD, SEN(setns), "setns" },
[502] = { 4, TN, SEN(accept4), "accept4" },
diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h
index b7947a5f..dfa330e7 100644
--- a/linux/arm/syscallent.h
+++ b/linux/arm/syscallent.h
@@ -20,7 +20,7 @@
[ 10] = { 1, TF, SEN(unlink), "unlink" },
[ 11] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" },
[ 12] = { 1, TF, SEN(chdir), "chdir" },
-[ 13] = { 1, 0, SEN(time), "time" },
+[ 13] = { 1, TCL, SEN(time), "time" },
[ 14] = { 3, TF, SEN(mknod), "mknod" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "lchown" },
@@ -85,8 +85,8 @@
[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
[ 76] = { 2, 0, SEN(getrlimit), "getrlimit" },
[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
-[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[ 78] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[ 79] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[ 80] = { 2, TC, SEN(getgroups16), "getgroups" },
[ 81] = { 2, TC, SEN(setgroups16), "setgroups" },
[ 82] = { 1, TD, SEN(oldselect), "select" },
@@ -131,7 +131,7 @@
[121] = { 2, 0, SEN(setdomainname), "setdomainname" },
[122] = { 1, 0, SEN(uname), "uname" },
[123] = { 3, 0, SEN(modify_ldt), "modify_ldt" },
-[124] = { 1, 0, SEN(adjtimex32), "adjtimex" },
+[124] = { 1, TCL, SEN(adjtimex32), "adjtimex" },
[125] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[126] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[127] = { 2, 0, SEN(create_module), "create_module" },
@@ -269,9 +269,9 @@
[259] = { 2, 0, SEN(timer_gettime32), "timer_gettime" },
[260] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[261] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[262] = { 2, 0, SEN(clock_settime32), "clock_settime" },
-[263] = { 2, 0, SEN(clock_gettime32), "clock_gettime" },
-[264] = { 2, 0, SEN(clock_getres_time32), "clock_getres" },
+[262] = { 2, TCL, SEN(clock_settime32), "clock_settime" },
+[263] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" },
+[264] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" },
[265] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" },
[266] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" },
[267] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" },
@@ -379,7 +379,7 @@
[369] = { 4, 0, SEN(prlimit64), "prlimit64" },
[370] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[371] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[372] = { 2, 0, SEN(clock_adjtime32), "clock_adjtime" },
+[372] = { 2, TCL, SEN(clock_adjtime32), "clock_adjtime" },
[373] = { 1, TD, SEN(syncfs), "syncfs" },
[374] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[375] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h
index 239cc0cd..aafb8530 100644
--- a/linux/avr32/syscallent.h
+++ b/linux/avr32/syscallent.h
@@ -19,7 +19,7 @@
[ 10] = { 1, TF, SEN(unlink), "unlink" },
[ 11] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" },
[ 12] = { 1, TF, SEN(chdir), "chdir" },
-[ 13] = { 1, 0, SEN(time), "time" },
+[ 13] = { 1, TCL, SEN(time), "time" },
[ 14] = { 3, TF, SEN(mknod), "mknod" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown), "chown" },
@@ -84,8 +84,8 @@
[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
[ 76] = { 2, 0, SEN(getrlimit), "getrlimit" },
[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
-[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[ 78] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[ 79] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[ 80] = { 2, TC, SEN(getgroups), "getgroups" },
[ 81] = { 2, TC, SEN(setgroups), "setgroups" },
[ 82] = { 5, TD, SEN(select), "select" },
@@ -118,7 +118,7 @@
[109] = { 4, TD|TN, SEN(sendfile), "sendfile" },
[110] = { 2, 0, SEN(setdomainname), "setdomainname" },
[111] = { 1, 0, SEN(uname), "uname" },
-[112] = { 1, 0, SEN(adjtimex32), "adjtimex" },
+[112] = { 1, TCL, SEN(adjtimex32), "adjtimex" },
[113] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[114] = { 0, TP, SEN(vfork), "vfork" },
[115] = { 3, 0, SEN(init_module), "init_module" },
@@ -221,9 +221,9 @@
[212] = { 2, 0, SEN(timer_gettime32), "timer_gettime" },
[213] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[214] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[215] = { 2, 0, SEN(clock_settime32), "clock_settime" },
-[216] = { 2, 0, SEN(clock_gettime32), "clock_gettime" },
-[217] = { 2, 0, SEN(clock_getres_time32), "clock_getres" },
+[215] = { 2, TCL, SEN(clock_settime32), "clock_settime" },
+[216] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" },
+[217] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" },
[218] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" },
[219] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" },
[220] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" },
@@ -312,7 +312,7 @@
[303] = { 4, 0, SEN(prlimit64), "prlimit64" },
[304] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[305] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[306] = { 2, 0, SEN(clock_adjtime32), "clock_adjtime" },
+[306] = { 2, TCL, SEN(clock_adjtime32), "clock_adjtime" },
[307] = { 1, TD, SEN(syncfs), "syncfs" },
[308] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[309] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" },
diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h
index db1b9281..1e0727fc 100644
--- a/linux/bfin/syscallent.h
+++ b/linux/bfin/syscallent.h
@@ -20,7 +20,7 @@
[ 10] = { 1, TF, SEN(unlink), "unlink" },
[ 11] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" },
[ 12] = { 1, TF, SEN(chdir), "chdir" },
-[ 13] = { 1, 0, SEN(time), "time" },
+[ 13] = { 1, TCL, SEN(time), "time" },
[ 14] = { 3, TF, SEN(mknod), "mknod" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "chown" },
@@ -85,8 +85,8 @@
[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
[ 76] = { 2, 0, SEN(getrlimit), "old_getrlimit" },
[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
-[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[ 78] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[ 79] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[ 80] = { 2, TC, SEN(getgroups16), "getgroups" },
[ 81] = { 2, TC, SEN(setgroups16), "setgroups" },
[ 82] = { 1, TD, SEN(oldselect), "select" },
@@ -131,7 +131,7 @@
[121] = { 2, 0, SEN(setdomainname), "setdomainname" },
[122] = { 1, 0, SEN(uname), "uname" },
[123] = { 3, 0, SEN(modify_ldt), "modify_ldt" },
-[124] = { 1, 0, SEN(adjtimex32), "adjtimex" },
+[124] = { 1, TCL, SEN(adjtimex32), "adjtimex" },
[125] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[126] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[127] = { 2, 0, SEN(create_module), "create_module" },
@@ -271,9 +271,9 @@
[262] = { 2, 0, SEN(timer_gettime32), "timer_gettime" },
[263] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[264] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[265] = { 2, 0, SEN(clock_settime32), "clock_settime" },
-[266] = { 2, 0, SEN(clock_gettime32), "clock_gettime" },
-[267] = { 2, 0, SEN(clock_getres_time32), "clock_getres" },
+[265] = { 2, TCL, SEN(clock_settime32), "clock_settime" },
+[266] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" },
+[267] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" },
[268] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" },
[269] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" },
[270] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" },
@@ -383,7 +383,7 @@
[374] = { 3, 0, SEN(cacheflush), "cacheflush" },
[375] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[376] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[377] = { 2, 0, SEN(clock_adjtime32), "clock_adjtime" },
+[377] = { 2, TCL, SEN(clock_adjtime32), "clock_adjtime" },
[378] = { 1, TD, SEN(syncfs), "syncfs" },
[379] = { 2, TD, SEN(setns), "setns" },
[380] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h
index 306c32d7..dca6c419 100644
--- a/linux/hppa/syscallent.h
+++ b/linux/hppa/syscallent.h
@@ -16,7 +16,7 @@
[ 10] = { 1, TF, SEN(unlink), "unlink" },
[ 11] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" },
[ 12] = { 1, TF, SEN(chdir), "chdir" },
-[ 13] = { 1, 0, SEN(time), "time" },
+[ 13] = { 1, TCL, SEN(time), "time" },
[ 14] = { 3, TF, SEN(mknod), "mknod" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown), "lchown" },
@@ -81,8 +81,8 @@
[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
[ 76] = { 2, 0, SEN(getrlimit), "getrlimit" },
[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
-[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[ 78] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[ 79] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[ 80] = { 2, TC, SEN(getgroups), "getgroups" },
[ 81] = { 2, TC, SEN(setgroups), "setgroups" },
[ 82] = { 6, TN, SEN(sendto), "sendto" },
@@ -127,7 +127,7 @@
[121] = { 2, 0, SEN(setdomainname), "setdomainname" },
[122] = { 4, TD|TN, SEN(sendfile), "sendfile" },
[123] = { 6, TN, SEN(recvfrom), "recvfrom" },
-[124] = { 1, 0, SEN(adjtimex32), "adjtimex" },
+[124] = { 1, TCL, SEN(adjtimex32), "adjtimex" },
[125] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[126] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[127] = { 2, 0, SEN(create_module), "create_module" },
@@ -258,9 +258,9 @@
[252] = { 2, 0, SEN(timer_gettime32), "timer_gettime" },
[253] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[254] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[255] = { 2, 0, SEN(clock_settime32), "clock_settime" },
-[256] = { 2, 0, SEN(clock_gettime32), "clock_gettime" },
-[257] = { 2, 0, SEN(clock_getres_time32), "clock_getres" },
+[255] = { 2, TCL, SEN(clock_settime32), "clock_settime" },
+[256] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" },
+[257] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" },
[258] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" },
[259] = { 3, TS, SEN(tgkill), "tgkill" },
[260] = { 6, TM, SEN(mbind), "mbind" },
@@ -327,7 +327,7 @@
[321] = { 4, 0, SEN(prlimit64), "prlimit64" },
[322] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[323] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
-[324] = { 2, 0, SEN(clock_adjtime32), "clock_adjtime" },
+[324] = { 2, TCL, SEN(clock_adjtime32), "clock_adjtime" },
[325] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[326] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
[327] = { 1, TD, SEN(syncfs), "syncfs" },
diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h
index 71af311c..81b55a36 100644
--- a/linux/i386/syscallent.h
+++ b/linux/i386/syscallent.h
@@ -20,7 +20,7 @@
[ 10] = { 1, TF, SEN(unlink), "unlink" },
[ 11] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" },
[ 12] = { 1, TF, SEN(chdir), "chdir" },
-[ 13] = { 1, 0, SEN(time), "time" },
+[ 13] = { 1, TCL, SEN(time), "time" },
[ 14] = { 3, TF, SEN(mknod), "mknod" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "lchown" },
@@ -85,8 +85,8 @@
[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
[ 76] = { 2, 0, SEN(getrlimit), "getrlimit" },
[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
-[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[ 78] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[ 79] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[ 80] = { 2, TC, SEN(getgroups16), "getgroups" },
[ 81] = { 2, TC, SEN(setgroups16), "setgroups" },
[ 82] = { 1, TD, SEN(oldselect), "select" },
@@ -131,7 +131,7 @@
[121] = { 2, 0, SEN(setdomainname), "setdomainname" },
[122] = { 1, 0, SEN(uname), "uname" },
[123] = { 3, 0, SEN(modify_ldt), "modify_ldt" },
-[124] = { 1, 0, SEN(adjtimex32), "adjtimex" },
+[124] = { 1, TCL, SEN(adjtimex32), "adjtimex" },
[125] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[126] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[127] = { 2, 0, SEN(create_module), "create_module" },
@@ -270,9 +270,9 @@
[261] = { 2, 0, SEN(timer_gettime32), "timer_gettime" },
[262] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[263] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[264] = { 2, 0, SEN(clock_settime32), "clock_settime" },
-[265] = { 2, 0, SEN(clock_gettime32), "clock_gettime" },
-[266] = { 2, 0, SEN(clock_getres_time32), "clock_getres" },
+[264] = { 2, TCL, SEN(clock_settime32), "clock_settime" },
+[265] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" },
+[266] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" },
[267] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" },
[268] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" },
[269] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" },
@@ -349,7 +349,7 @@
[340] = { 4, 0, SEN(prlimit64), "prlimit64" },
[341] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[342] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[343] = { 2, 0, SEN(clock_adjtime32), "clock_adjtime" },
+[343] = { 2, TCL, SEN(clock_adjtime32), "clock_adjtime" },
[344] = { 1, TD, SEN(syncfs), "syncfs" },
[345] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[346] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h
index 9448e96e..9098488e 100644
--- a/linux/ia64/syscallent.h
+++ b/linux/ia64/syscallent.h
@@ -83,8 +83,8 @@
[BASE_NR + 60] = { 2, 0, SEN(setrlimit), "setrlimit" },
[BASE_NR + 61] = { 2, 0, SEN(getrlimit), "getrlimit" },
[BASE_NR + 62] = { 2, 0, SEN(getrusage), "getrusage" },
-[BASE_NR + 63] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[BASE_NR + 64] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[BASE_NR + 63] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[BASE_NR + 64] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[BASE_NR + 65] = { 5, TD, SEN(select), "select" },
[BASE_NR + 66] = { 3, TD, SEN(poll_time64), "poll" },
[BASE_NR + 67] = { 2, TF, SEN(symlink), "symlink" },
@@ -127,7 +127,7 @@
[BASE_NR + 104] = { 5, TP, SEN(clone), "clone" },
[BASE_NR + 105] = { 2, 0, SEN(setdomainname), "setdomainname" },
[BASE_NR + 106] = { 1, 0, SEN(uname), "uname" },
-[BASE_NR + 107] = { 1, 0, SEN(adjtimex64), "adjtimex" },
+[BASE_NR + 107] = { 1, TCL, SEN(adjtimex64), "adjtimex" },
[BASE_NR + 108] = { 2, 0, SEN(create_module), "create_module" },
[BASE_NR + 109] = { 3, 0, SEN(init_module), "init_module" },
[BASE_NR + 110] = { 2, 0, SEN(delete_module), "delete_module" },
@@ -249,9 +249,9 @@
[BASE_NR + 226] = { 2, 0, SEN(timer_gettime64), "timer_gettime" },
[BASE_NR + 227] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[BASE_NR + 228] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[BASE_NR + 229] = { 2, 0, SEN(clock_settime64), "clock_settime" },
-[BASE_NR + 230] = { 2, 0, SEN(clock_gettime64), "clock_gettime" },
-[BASE_NR + 231] = { 2, 0, SEN(clock_getres_time64), "clock_getres" },
+[BASE_NR + 229] = { 2, TCL, SEN(clock_settime64), "clock_settime" },
+[BASE_NR + 230] = { 2, TCL, SEN(clock_gettime64), "clock_gettime" },
+[BASE_NR + 231] = { 2, TCL, SEN(clock_getres_time64), "clock_getres" },
[BASE_NR + 232] = { 4, 0, SEN(clock_nanosleep_time64), "clock_nanosleep" },
[BASE_NR + 233] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" },
[BASE_NR + 234] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" },
@@ -324,7 +324,7 @@
[BASE_NR + 301] = { 4, 0, SEN(prlimit64), "prlimit64" },
[BASE_NR + 302] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[BASE_NR + 303] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[BASE_NR + 304] = { 2, 0, SEN(clock_adjtime64), "clock_adjtime" },
+[BASE_NR + 304] = { 2, TCL, SEN(clock_adjtime64), "clock_adjtime" },
[BASE_NR + 305] = { 1, TD, SEN(syncfs), "syncfs" },
[BASE_NR + 306] = { 2, TD, SEN(setns), "setns" },
[BASE_NR + 307] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h
index e1f60abc..ad67232e 100644
--- a/linux/m68k/syscallent.h
+++ b/linux/m68k/syscallent.h
@@ -20,7 +20,7 @@
[ 10] = { 1, TF, SEN(unlink), "unlink" },
[ 11] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" },
[ 12] = { 1, TF, SEN(chdir), "chdir" },
-[ 13] = { 1, 0, SEN(time), "time" },
+[ 13] = { 1, TCL, SEN(time), "time" },
[ 14] = { 3, TF, SEN(mknod), "mknod" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "chown" },
@@ -85,8 +85,8 @@
[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
[ 76] = { 2, 0, SEN(getrlimit), "getrlimit" },
[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
-[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[ 78] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[ 79] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[ 80] = { 2, TC, SEN(getgroups16), "getgroups" },
[ 81] = { 2, TC, SEN(setgroups16), "setgroups" },
[ 82] = { 1, TD, SEN(oldselect), "select" },
@@ -131,7 +131,7 @@
[121] = { 2, 0, SEN(setdomainname), "setdomainname" },
[122] = { 1, 0, SEN(uname), "uname" },
[123] = { 4, 0, SEN(cacheflush), "cacheflush" },
-[124] = { 1, 0, SEN(adjtimex32), "adjtimex" },
+[124] = { 1, TCL, SEN(adjtimex32), "adjtimex" },
[125] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[126] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[127] = { 2, 0, SEN(create_module), "create_module" },
@@ -265,9 +265,9 @@
[256] = { 2, 0, SEN(timer_gettime32), "timer_gettime" },
[257] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[258] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[259] = { 2, 0, SEN(clock_settime32), "clock_settime" },
-[260] = { 2, 0, SEN(clock_gettime32), "clock_gettime" },
-[261] = { 2, 0, SEN(clock_getres_time32), "clock_getres" },
+[259] = { 2, TCL, SEN(clock_settime32), "clock_settime" },
+[260] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" },
+[261] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" },
[262] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" },
[263] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" },
[264] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" },
@@ -348,7 +348,7 @@
[339] = { 4, 0, SEN(prlimit64), "prlimit64" },
[340] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[341] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[342] = { 2, 0, SEN(clock_adjtime32), "clock_adjtime" },
+[342] = { 2, TCL, SEN(clock_adjtime32), "clock_adjtime" },
[343] = { 1, TD, SEN(syncfs), "syncfs" },
[344] = { 2, TD, SEN(setns), "setns" },
[345] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" },
diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h
index c934ffbe..407e16b8 100644
--- a/linux/microblaze/syscallent.h
+++ b/linux/microblaze/syscallent.h
@@ -20,7 +20,7 @@
[ 10] = { 1, TF, SEN(unlink), "unlink" },
[ 11] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" },
[ 12] = { 1, TF, SEN(chdir), "chdir" },
-[ 13] = { 1, 0, SEN(time), "time" },
+[ 13] = { 1, TCL, SEN(time), "time" },
[ 14] = { 3, TF, SEN(mknod), "mknod" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "lchown" },
@@ -85,8 +85,8 @@
[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
[ 76] = { 2, 0, SEN(getrlimit), "getrlimit" },
[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
-[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[ 78] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[ 79] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[ 80] = { 2, TC, SEN(getgroups16), "getgroups" },
[ 81] = { 2, TC, SEN(setgroups16), "setgroups" },
[ 82] = { 1, TD, SEN(oldselect), "select" },
@@ -131,7 +131,7 @@
[121] = { 2, 0, SEN(setdomainname), "setdomainname" },
[122] = { 1, 0, SEN(uname), "uname" },
[123] = { 3, 0, SEN(modify_ldt), "modify_ldt" },
-[124] = { 1, 0, SEN(adjtimex32), "adjtimex" },
+[124] = { 1, TCL, SEN(adjtimex32), "adjtimex" },
[125] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[126] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[127] = { 2, 0, SEN(create_module), "create_module" },
@@ -270,9 +270,9 @@
[261] = { 2, 0, SEN(timer_gettime32), "timer_gettime" },
[262] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[263] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[264] = { 2, 0, SEN(clock_settime32), "clock_settime" },
-[265] = { 2, 0, SEN(clock_gettime32), "clock_gettime" },
-[266] = { 2, 0, SEN(clock_getres_time32), "clock_getres" },
+[264] = { 2, TCL, SEN(clock_settime32), "clock_settime" },
+[265] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" },
+[266] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" },
[267] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" },
[268] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" },
[269] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" },
@@ -379,7 +379,7 @@
[370] = { 4, 0, SEN(prlimit64), "prlimit64" },
[371] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[372] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[373] = { 2, 0, SEN(clock_adjtime32), "clock_adjtime" },
+[373] = { 2, TCL, SEN(clock_adjtime32), "clock_adjtime" },
[374] = { 1, TD, SEN(syncfs), "syncfs" },
[375] = { 2, TD, SEN(setns), "setns" },
[376] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h
index 2a5031d5..ee6e9b13 100644
--- a/linux/powerpc/syscallent.h
+++ b/linux/powerpc/syscallent.h
@@ -20,7 +20,7 @@
[ 10] = { 1, TF, SEN(unlink), "unlink" },
[ 11] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" },
[ 12] = { 1, TF, SEN(chdir), "chdir" },
-[ 13] = { 1, 0, SEN(time), "time" },
+[ 13] = { 1, TCL, SEN(time), "time" },
[ 14] = { 3, TF, SEN(mknod), "mknod" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown), "lchown" },
@@ -85,8 +85,8 @@
[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
[ 76] = { 2, 0, SEN(getrlimit), "getrlimit" },
[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
-[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[ 78] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[ 79] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[ 80] = { 2, TC, SEN(getgroups), "getgroups" },
[ 81] = { 2, TC, SEN(setgroups), "setgroups" },
[ 82] = { 1, TD, SEN(oldselect), "select" },
@@ -131,7 +131,7 @@
[121] = { 2, 0, SEN(setdomainname), "setdomainname" },
[122] = { 1, 0, SEN(uname), "uname" },
[123] = { 5, 0, SEN(printargs), "modify_ldt" },
-[124] = { 1, 0, SEN(adjtimex32), "adjtimex" },
+[124] = { 1, TCL, SEN(adjtimex32), "adjtimex" },
[125] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[126] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[127] = { 2, 0, SEN(create_module), "create_module" },
@@ -252,9 +252,9 @@
[242] = { 2, 0, SEN(timer_gettime32), "timer_gettime" },
[243] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[244] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[245] = { 2, 0, SEN(clock_settime32), "clock_settime" },
-[246] = { 2, 0, SEN(clock_gettime32), "clock_gettime" },
-[247] = { 2, 0, SEN(clock_getres_time32), "clock_getres" },
+[245] = { 2, TCL, SEN(clock_settime32), "clock_settime" },
+[246] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" },
+[247] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" },
[248] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" },
[249] = { 2, 0, SEN(printargs), "swapcontext" },
[250] = { 3, TS, SEN(tgkill), "tgkill" },
@@ -354,7 +354,7 @@
[344] = { 4, TN, SEN(accept4), "accept4" },
[345] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[346] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[347] = { 2, 0, SEN(clock_adjtime32), "clock_adjtime" },
+[347] = { 2, TCL, SEN(clock_adjtime32), "clock_adjtime" },
[348] = { 1, TD, SEN(syncfs), "syncfs" },
[349] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[350] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h
index 51763504..40e740ee 100644
--- a/linux/powerpc64/syscallent.h
+++ b/linux/powerpc64/syscallent.h
@@ -20,7 +20,7 @@
[ 10] = { 1, TF, SEN(unlink), "unlink" },
[ 11] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" },
[ 12] = { 1, TF, SEN(chdir), "chdir" },
-[ 13] = { 1, 0, SEN(time), "time" },
+[ 13] = { 1, TCL, SEN(time), "time" },
[ 14] = { 3, TF, SEN(mknod), "mknod" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown), "lchown" },
@@ -85,8 +85,8 @@
[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
[ 76] = { 2, 0, SEN(getrlimit), "getrlimit" },
[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
-[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[ 78] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[ 79] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[ 80] = { 2, TC, SEN(getgroups), "getgroups" },
[ 81] = { 2, TC, SEN(setgroups), "setgroups" },
[ 82] = { 1, TD, SEN(oldselect), "select" },
@@ -131,7 +131,7 @@
[121] = { 2, 0, SEN(setdomainname), "setdomainname" },
[122] = { 1, 0, SEN(uname), "uname" },
[123] = { 5, 0, SEN(printargs), "modify_ldt" },
-[124] = { 1, 0, SEN(adjtimex64), "adjtimex" },
+[124] = { 1, TCL, SEN(adjtimex64), "adjtimex" },
[125] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[126] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[127] = { 2, 0, SEN(create_module), "create_module" },
@@ -247,9 +247,9 @@
[242] = { 2, 0, SEN(timer_gettime64), "timer_gettime" },
[243] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[244] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[245] = { 2, 0, SEN(clock_settime64), "clock_settime" },
-[246] = { 2, 0, SEN(clock_gettime64), "clock_gettime" },
-[247] = { 2, 0, SEN(clock_getres_time64), "clock_getres" },
+[245] = { 2, TCL, SEN(clock_settime64), "clock_settime" },
+[246] = { 2, TCL, SEN(clock_gettime64), "clock_gettime" },
+[247] = { 2, TCL, SEN(clock_getres_time64), "clock_getres" },
[248] = { 4, 0, SEN(clock_nanosleep_time64), "clock_nanosleep" },
[249] = { 2, 0, SEN(printargs), "swapcontext" },
[250] = { 3, TS, SEN(tgkill), "tgkill" },
@@ -349,7 +349,7 @@
[344] = { 4, TN, SEN(accept4), "accept4" },
[345] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[346] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[347] = { 2, 0, SEN(clock_adjtime64), "clock_adjtime" },
+[347] = { 2, TCL, SEN(clock_adjtime64), "clock_adjtime" },
[348] = { 1, TD, SEN(syncfs), "syncfs" },
[349] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[350] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h
index 384cdadf..0862c90b 100644
--- a/linux/s390/syscallent.h
+++ b/linux/s390/syscallent.h
@@ -22,7 +22,7 @@
[ 10] = { 1, TF, SEN(unlink), "unlink" },
[ 11] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" },
[ 12] = { 1, TF, SEN(chdir), "chdir" },
-[ 13] = { 1, 0, SEN(time), "time" },
+[ 13] = { 1, TCL, SEN(time), "time" },
[ 14] = { 3, TF, SEN(mknod), "mknod" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "lchown" },
@@ -87,8 +87,8 @@
[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
[ 76] = { 2, 0, SEN(getrlimit), "getrlimit" },
[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
-[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[ 78] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[ 79] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[ 80] = { 2, TC, SEN(getgroups16), "getgroups" },
[ 81] = { 2, TC, SEN(setgroups16), "setgroups" },
[ 82] = { },
@@ -133,7 +133,7 @@
[121] = { 2, 0, SEN(setdomainname), "setdomainname" },
[122] = { 1, 0, SEN(uname), "uname" },
[123] = { },
-[124] = { 1, 0, SEN(adjtimex32), "adjtimex" },
+[124] = { 1, TCL, SEN(adjtimex32), "adjtimex" },
[125] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[126] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[127] = { 2, 0, SEN(create_module), "create_module" },
@@ -268,9 +268,9 @@
[256] = { 2, 0, SEN(timer_gettime32), "timer_gettime" },
[257] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[258] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[259] = { 2, 0, SEN(clock_settime32), "clock_settime" },
-[260] = { 2, 0, SEN(clock_gettime32), "clock_gettime" },
-[261] = { 2, 0, SEN(clock_getres_time32), "clock_getres" },
+[259] = { 2, TCL, SEN(clock_settime32), "clock_settime" },
+[260] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" },
+[261] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" },
[262] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" },
[263] = { 5, 0, SEN(vserver), "vserver" },
[264] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" },
@@ -346,7 +346,7 @@
[334] = { 4, 0, SEN(prlimit64), "prlimit64" },
[335] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[336] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[337] = { 2, 0, SEN(clock_adjtime32), "clock_adjtime" },
+[337] = { 2, TCL, SEN(clock_adjtime32), "clock_adjtime" },
[338] = { 1, TD, SEN(syncfs), "syncfs" },
[339] = { 2, TD, SEN(setns), "setns" },
[340] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" },
diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h
index 4a70b399..455a88b3 100644
--- a/linux/s390x/syscallent.h
+++ b/linux/s390x/syscallent.h
@@ -83,8 +83,8 @@
[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
[ 76] = { },
[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
-[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[ 78] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[ 79] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[ 80 ... 82] = { },
[ 83] = { 2, TF, SEN(symlink), "symlink" },
[ 84] = { },
@@ -127,7 +127,7 @@
[121] = { 2, 0, SEN(setdomainname), "setdomainname" },
[122] = { 1, 0, SEN(uname), "uname" },
[123] = { },
-[124] = { 1, 0, SEN(adjtimex64), "adjtimex" },
+[124] = { 1, TCL, SEN(adjtimex64), "adjtimex" },
[125] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[126] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[127] = { 2, 0, SEN(create_module), "create_module" },
@@ -252,9 +252,9 @@
[256] = { 2, 0, SEN(timer_gettime64), "timer_gettime" },
[257] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[258] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[259] = { 2, 0, SEN(clock_settime64), "clock_settime" },
-[260] = { 2, 0, SEN(clock_gettime64), "clock_gettime" },
-[261] = { 2, 0, SEN(clock_getres_time64), "clock_getres" },
+[259] = { 2, TCL, SEN(clock_settime64), "clock_settime" },
+[260] = { 2, TCL, SEN(clock_gettime64), "clock_gettime" },
+[261] = { 2, TCL, SEN(clock_getres_time64), "clock_getres" },
[262] = { 4, 0, SEN(clock_nanosleep_time64), "clock_nanosleep" },
[263] = { 5, 0, SEN(vserver), "vserver" },
[264] = { },
@@ -330,7 +330,7 @@
[334] = { 4, 0, SEN(prlimit64), "prlimit64" },
[335] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[336] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[337] = { 2, 0, SEN(clock_adjtime64), "clock_adjtime" },
+[337] = { 2, TCL, SEN(clock_adjtime64), "clock_adjtime" },
[338] = { 1, TD, SEN(syncfs), "syncfs" },
[339] = { 2, TD, SEN(setns), "setns" },
[340] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" },
diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h
index 9841df06..397f9f61 100644
--- a/linux/sh/syscallent.h
+++ b/linux/sh/syscallent.h
@@ -22,7 +22,7 @@
[ 10] = { 1, TF, SEN(unlink), "unlink" },
[ 11] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" },
[ 12] = { 1, TF, SEN(chdir), "chdir" },
-[ 13] = { 1, 0, SEN(time), "time" },
+[ 13] = { 1, TCL, SEN(time), "time" },
[ 14] = { 3, TF, SEN(mknod), "mknod" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "lchown" },
@@ -87,8 +87,8 @@
[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
[ 76] = { 2, 0, SEN(getrlimit), "getrlimit" },
[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
-[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[ 78] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[ 79] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[ 80] = { 2, TC, SEN(getgroups16), "getgroups" },
[ 81] = { 2, TC, SEN(setgroups16), "setgroups" },
[ 82] = { 1, TD, SEN(oldselect), "select" },
@@ -133,7 +133,7 @@
[121] = { 2, 0, SEN(setdomainname), "setdomainname" },
[122] = { 1, 0, SEN(uname), "uname" },
[123] = { 3, 0, SEN(cacheflush), "cacheflush" },
-[124] = { 1, 0, SEN(adjtimex32), "adjtimex" },
+[124] = { 1, TCL, SEN(adjtimex32), "adjtimex" },
[125] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[126] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[127] = { 2, 0, SEN(create_module), "create_module" },
@@ -270,9 +270,9 @@
[261] = { 2, 0, SEN(timer_gettime32), "timer_gettime" },
[262] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[263] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[264] = { 2, 0, SEN(clock_settime32), "clock_settime" },
-[265] = { 2, 0, SEN(clock_gettime32), "clock_gettime" },
-[266] = { 2, 0, SEN(clock_getres_time32), "clock_getres" },
+[264] = { 2, TCL, SEN(clock_settime32), "clock_settime" },
+[265] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" },
+[266] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" },
[267] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" },
[268] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" },
[269] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" },
@@ -367,7 +367,7 @@
[358] = { 4, TN, SEN(accept4), "accept4" },
[359] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[360] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[361] = { 2, 0, SEN(clock_adjtime32), "clock_adjtime" },
+[361] = { 2, TCL, SEN(clock_adjtime32), "clock_adjtime" },
[362] = { 1, TD, SEN(syncfs), "syncfs" },
[363] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[364] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h
index 9a48cf0e..3614f71b 100644
--- a/linux/sh64/syscallent.h
+++ b/linux/sh64/syscallent.h
@@ -20,7 +20,7 @@
[ 10] = { 1, TF, SEN(unlink), "unlink" },
[ 11] = { 3, TF|TP|TSD|SE|SI, SEN(execve), "execve" },
[ 12] = { 1, TF, SEN(chdir), "chdir" },
-[ 13] = { 1, 0, SEN(time), "time" },
+[ 13] = { 1, TCL, SEN(time), "time" },
[ 14] = { 3, TF, SEN(mknod), "mknod" },
[ 15] = { 2, TF, SEN(chmod), "chmod" },
[ 16] = { 3, TF, SEN(chown16), "lchown" },
@@ -85,8 +85,8 @@
[ 75] = { 2, 0, SEN(setrlimit), "setrlimit" },
[ 76] = { 2, 0, SEN(getrlimit), "getrlimit" },
[ 77] = { 2, 0, SEN(getrusage), "getrusage" },
-[ 78] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[ 79] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[ 78] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[ 79] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[ 80] = { 2, TC, SEN(getgroups16), "getgroups" },
[ 81] = { 2, TC, SEN(setgroups16), "setgroups" },
[ 82] = { },
@@ -131,7 +131,7 @@
[121] = { 2, 0, SEN(setdomainname), "setdomainname" },
[122] = { 1, 0, SEN(uname), "uname" },
[123] = { 3, 0, SEN(printargs), "cacheflush" },
-[124] = { 1, 0, SEN(adjtimex64), "adjtimex" },
+[124] = { 1, TCL, SEN(adjtimex64), "adjtimex" },
[125] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[126] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[127] = { 2, 0, SEN(create_module), "create_module" },
@@ -296,9 +296,9 @@
[289] = { 2, 0, SEN(timer_gettime64), "timer_gettime" },
[290] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[291] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[292] = { 2, 0, SEN(clock_settime64), "clock_settime" },
-[293] = { 2, 0, SEN(clock_gettime64), "clock_gettime" },
-[294] = { 2, 0, SEN(clock_getres_time64), "clock_getres" },
+[292] = { 2, TCL, SEN(clock_settime64), "clock_settime" },
+[293] = { 2, TCL, SEN(clock_gettime64), "clock_gettime" },
+[294] = { 2, TCL, SEN(clock_getres_time64), "clock_getres" },
[295] = { 4, 0, SEN(clock_nanosleep_time64), "clock_nanosleep" },
[296] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" },
[297] = { 3, TD|TFSF|TSFA, SEN(fstatfs64), "fstatfs64" },
@@ -376,7 +376,7 @@
[369] = { 4, 0, SEN(prlimit64), "prlimit64" },
[370] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[371] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[372] = { 2, 0, SEN(clock_adjtime64), "clock_adjtime" },
+[372] = { 2, TCL, SEN(clock_adjtime64), "clock_adjtime" },
[373] = { 1, TD, SEN(syncfs), "syncfs" },
[374] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[375] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h
index b5603041..3417e7fc 100644
--- a/linux/sparc/syscallent.h
+++ b/linux/sparc/syscallent.h
@@ -121,13 +121,13 @@
[113] = { 3, TN, SEN(recvmsg), "recvmsg" },
[114] = { 3, TN, SEN(sendmsg), "sendmsg" },
[115] = { 2, TC, SEN(getgroups), "getgroups32" },
-[116] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
+[116] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
[117] = { 2, 0, SEN(getrusage), "getrusage" },
[118] = { 5, TN, SEN(getsockopt), "getsockopt" },
[119] = { 2, TF, SEN(getcwd), "getcwd" },
[120] = { 3, TD, SEN(readv), "readv" },
[121] = { 3, TD, SEN(writev), "writev" },
-[122] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[122] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[123] = { 3, TD, SEN(fchown16), "fchown" },
[124] = { 2, TD, SEN(fchmod), "fchmod" },
[125] = { 6, TN, SEN(recvfrom), "recvfrom" },
@@ -224,7 +224,7 @@
[216] = { 0, TS, SEN(sigreturn), "sigreturn" },
[217] = { 5, TP, SEN(clone), "clone" },
[218] = { 2, 0, SEN(ioprio_get), "ioprio_get" },
-[219] = { 1, 0, SEN(adjtimex32), "adjtimex" },
+[219] = { 1, TCL, SEN(adjtimex32), "adjtimex" },
[220] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[221] = { 2, 0, SEN(create_module), "create_module" },
[222] = { 2, 0, SEN(delete_module), "delete_module" },
@@ -236,7 +236,7 @@
[228] = { 1, TC|NF, SEN(setfsuid16), "setfsuid" },
[229] = { 1, TC|NF, SEN(setfsgid16), "setfsgid" },
[230] = { 5, TD, SEN(select), "_newselect" },
-[231] = { 1, 0, SEN(time), "time" },
+[231] = { 1, TCL, SEN(time), "time" },
[232] = { 6, TD, SEN(splice), "splice" },
[233] = { 1, 0, SEN(stime), "stime" },
[234] = { 3, TF|TSF|TSFA, SEN(statfs64), "statfs64" },
@@ -261,9 +261,9 @@
[253] = { 1, TD, SEN(fdatasync), "fdatasync" },
[254] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[255] = { 6, TD, SEN(sync_file_range), "sync_file_range" },
-[256] = { 2, 0, SEN(clock_settime32), "clock_settime" },
-[257] = { 2, 0, SEN(clock_gettime32), "clock_gettime" },
-[258] = { 2, 0, SEN(clock_getres_time32), "clock_getres" },
+[256] = { 2, TCL, SEN(clock_settime32), "clock_settime" },
+[257] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" },
+[258] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" },
[259] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" },
[260] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" },
[261] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" },
@@ -339,7 +339,7 @@
[331] = { 4, 0, SEN(prlimit64), "prlimit64" },
[332] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[333] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[334] = { 2, 0, SEN(clock_adjtime32), "clock_adjtime" },
+[334] = { 2, TCL, SEN(clock_adjtime32), "clock_adjtime" },
[335] = { 1, TD, SEN(syncfs), "syncfs" },
[336] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[337] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h
index e498afeb..dd77685c 100644
--- a/linux/sparc64/syscallent.h
+++ b/linux/sparc64/syscallent.h
@@ -119,13 +119,13 @@
[113] = { 3, TN, SEN(recvmsg), "recvmsg" },
[114] = { 3, TN, SEN(sendmsg), "sendmsg" },
[115] = { },
-[116] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
+[116] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
[117] = { 2, 0, SEN(getrusage), "getrusage" },
[118] = { 5, TN, SEN(getsockopt), "getsockopt" },
[119] = { 2, TF, SEN(getcwd), "getcwd" },
[120] = { 3, TD, SEN(readv), "readv" },
[121] = { 3, TD, SEN(writev), "writev" },
-[122] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[122] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[123] = { 3, TD, SEN(fchown), "fchown" },
[124] = { 2, TD, SEN(fchmod), "fchmod" },
[125] = { 6, TN, SEN(recvfrom), "recvfrom" },
@@ -222,7 +222,7 @@
[216] = { 0, TS, SEN(sigreturn), "sigreturn" },
[217] = { 5, TP, SEN(clone), "clone" },
[218] = { 2, 0, SEN(ioprio_get), "ioprio_get" },
-[219] = { 1, 0, SEN(adjtimex64), "adjtimex" },
+[219] = { 1, TCL, SEN(adjtimex64), "adjtimex" },
[220] = { 3, TS, SEN(sigprocmask), "sigprocmask" },
[221] = { 2, 0, SEN(create_module), "create_module" },
[222] = { 2, 0, SEN(delete_module), "delete_module" },
@@ -259,9 +259,9 @@
[253] = { 1, TD, SEN(fdatasync), "fdatasync" },
[254] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[255] = { 4, TD, SEN(sync_file_range), "sync_file_range" },
-[256] = { 2, 0, SEN(clock_settime64), "clock_settime" },
-[257] = { 2, 0, SEN(clock_gettime64), "clock_gettime" },
-[258] = { 2, 0, SEN(clock_getres_time64), "clock_getres" },
+[256] = { 2, TCL, SEN(clock_settime64), "clock_settime" },
+[257] = { 2, TCL, SEN(clock_gettime64), "clock_gettime" },
+[258] = { 2, TCL, SEN(clock_getres_time64), "clock_getres" },
[259] = { 4, 0, SEN(clock_nanosleep_time64), "clock_nanosleep" },
[260] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" },
[261] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" },
@@ -337,7 +337,7 @@
[331] = { 4, 0, SEN(prlimit64), "prlimit64" },
[332] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[333] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[334] = { 2, 0, SEN(clock_sparc64_adjtime), "clock_adjtime" },
+[334] = { 2, TCL, SEN(clock_sparc64_adjtime), "clock_adjtime" },
[335] = { 1, TD, SEN(syncfs), "syncfs" },
[336] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[337] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h
index 795a1036..38b4fc2e 100644
--- a/linux/x32/syscallent.h
+++ b/linux/x32/syscallent.h
@@ -101,7 +101,7 @@
[ 93] = { 3, TD, SEN(fchown), "fchown" },
[ 94] = { 3, TF, SEN(chown), "lchown" },
[ 95] = { 1, NF, SEN(umask), "umask" },
-[ 96] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
+[ 96] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
[ 97] = { 2, 0, SEN(getrlimit), "getrlimit" },
[ 98] = { 2, 0, SEN(getrusage), "getrusage" },
[ 99] = { 1, 0, SEN(sysinfo), "sysinfo" },
@@ -164,12 +164,12 @@
[156] = { 1, 0, SEN(printargs), "_sysctl#64" },
[157] = { 5, TC, SEN(prctl), "prctl" },
[158] = { 2, TP, SEN(arch_prctl), "arch_prctl" },
-[159] = { 1, 0, SEN(adjtimex64), "adjtimex" },
+[159] = { 1, TCL, SEN(adjtimex64), "adjtimex" },
[160] = { 2, 0, SEN(setrlimit), "setrlimit" },
[161] = { 1, TF, SEN(chroot), "chroot" },
[162] = { 0, 0, SEN(sync), "sync" },
[163] = { 1, TF, SEN(acct), "acct" },
-[164] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[164] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[165] = { 5, TF, SEN(mount), "mount" },
[166] = { 2, TF, SEN(umount2), "umount2" },
[167] = { 2, TF, SEN(swapon), "swapon" },
@@ -206,7 +206,7 @@
[198] = { 2, TF, SEN(removexattr), "lremovexattr" },
[199] = { 2, TD, SEN(fremovexattr), "fremovexattr" },
[200] = { 2, TS, SEN(kill), "tkill" },
-[201] = { 1, 0, SEN(time), "time" },
+[201] = { 1, TCL, SEN(time), "time" },
[202] = { 6, 0, SEN(futex_time64), "futex" },
[203] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" },
[204] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" },
@@ -232,9 +232,9 @@
[224] = { 2, 0, SEN(timer_gettime64), "timer_gettime" },
[225] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[226] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[227] = { 2, 0, SEN(clock_settime64), "clock_settime" },
-[228] = { 2, 0, SEN(clock_gettime64), "clock_gettime" },
-[229] = { 2, 0, SEN(clock_getres_time64), "clock_getres" },
+[227] = { 2, TCL, SEN(clock_settime64), "clock_settime" },
+[228] = { 2, TCL, SEN(clock_gettime64), "clock_gettime" },
+[229] = { 2, TCL, SEN(clock_getres_time64), "clock_getres" },
[230] = { 4, 0, SEN(clock_nanosleep_time64), "clock_nanosleep" },
[231] = { 1, TP|SE, SEN(exit), "exit_group" },
[232] = { 4, TD, SEN(epoll_wait), "epoll_wait" },
@@ -310,7 +310,7 @@
[302] = { 4, 0, SEN(prlimit64), "prlimit64" },
[303] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[304] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[305] = { 2, 0, SEN(clock_adjtime64), "clock_adjtime" },
+[305] = { 2, TCL, SEN(clock_adjtime64), "clock_adjtime" },
[306] = { 1, TD, SEN(syncfs), "syncfs" },
[307] = { 4, TN, SEN(printargs), "sendmmsg#64" },
[308] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h
index 118d0ab1..00f6377a 100644
--- a/linux/x86_64/syscallent.h
+++ b/linux/x86_64/syscallent.h
@@ -101,7 +101,7 @@
[ 93] = { 3, TD, SEN(fchown), "fchown" },
[ 94] = { 3, TF, SEN(chown), "lchown" },
[ 95] = { 1, NF, SEN(umask), "umask" },
-[ 96] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
+[ 96] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
[ 97] = { 2, 0, SEN(getrlimit), "getrlimit" },
[ 98] = { 2, 0, SEN(getrusage), "getrusage" },
[ 99] = { 1, 0, SEN(sysinfo), "sysinfo" },
@@ -164,12 +164,12 @@
[156] = { 1, 0, SEN(sysctl), "_sysctl" },
[157] = { 5, TC, SEN(prctl), "prctl" },
[158] = { 2, TP, SEN(arch_prctl), "arch_prctl" },
-[159] = { 1, 0, SEN(adjtimex64), "adjtimex" },
+[159] = { 1, TCL, SEN(adjtimex64), "adjtimex" },
[160] = { 2, 0, SEN(setrlimit), "setrlimit" },
[161] = { 1, TF, SEN(chroot), "chroot" },
[162] = { 0, 0, SEN(sync), "sync" },
[163] = { 1, TF, SEN(acct), "acct" },
-[164] = { 2, 0, SEN(settimeofday), "settimeofday" },
+[164] = { 2, TCL, SEN(settimeofday), "settimeofday" },
[165] = { 5, TF, SEN(mount), "mount" },
[166] = { 2, TF, SEN(umount2), "umount2" },
[167] = { 2, TF, SEN(swapon), "swapon" },
@@ -206,7 +206,7 @@
[198] = { 2, TF, SEN(removexattr), "lremovexattr" },
[199] = { 2, TD, SEN(fremovexattr), "fremovexattr" },
[200] = { 2, TS, SEN(kill), "tkill" },
-[201] = { 1, 0, SEN(time), "time" },
+[201] = { 1, TCL, SEN(time), "time" },
[202] = { 6, 0, SEN(futex_time64), "futex" },
[203] = { 3, 0, SEN(sched_setaffinity), "sched_setaffinity" },
[204] = { 3, 0, SEN(sched_getaffinity), "sched_getaffinity" },
@@ -232,9 +232,9 @@
[224] = { 2, 0, SEN(timer_gettime64), "timer_gettime" },
[225] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[226] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[227] = { 2, 0, SEN(clock_settime64), "clock_settime" },
-[228] = { 2, 0, SEN(clock_gettime64), "clock_gettime" },
-[229] = { 2, 0, SEN(clock_getres_time64), "clock_getres" },
+[227] = { 2, TCL, SEN(clock_settime64), "clock_settime" },
+[228] = { 2, TCL, SEN(clock_gettime64), "clock_gettime" },
+[229] = { 2, TCL, SEN(clock_getres_time64), "clock_getres" },
[230] = { 4, 0, SEN(clock_nanosleep_time64), "clock_nanosleep" },
[231] = { 1, TP|SE, SEN(exit), "exit_group" },
[232] = { 4, TD, SEN(epoll_wait), "epoll_wait" },
@@ -310,7 +310,7 @@
[302] = { 4, 0, SEN(prlimit64), "prlimit64" },
[303] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[304] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[305] = { 2, 0, SEN(clock_adjtime64), "clock_adjtime" },
+[305] = { 2, TCL, SEN(clock_adjtime64), "clock_adjtime" },
[306] = { 1, TD, SEN(syncfs), "syncfs" },
[307] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[308] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/xtensa/syscallent.h b/linux/xtensa/syscallent.h
index d4823484..f6898352 100644
--- a/linux/xtensa/syscallent.h
+++ b/linux/xtensa/syscallent.h
@@ -191,9 +191,9 @@
[189] = { 2, 0, SEN(getrlimit), "getrlimit" },
[190] = { 2, 0, SEN(getrusage), "getrusage" },
[191] = { 6, 0, SEN(futex_time32), "futex" },
-[192] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
-[193] = { 2, 0, SEN(settimeofday), "settimeofday" },
-[194] = { 1, 0, SEN(adjtimex32), "adjtimex" },
+[192] = { 2, TCL, SEN(gettimeofday), "gettimeofday" },
+[193] = { 2, TCL, SEN(settimeofday), "settimeofday" },
+[194] = { 1, TCL, SEN(adjtimex32), "adjtimex" },
[195] = { 2, 0, SEN(nanosleep_time32), "nanosleep" },
[196] = { 2, TC, SEN(getgroups), "getgroups" },
[197] = { 2, TC, SEN(setgroups), "setgroups" },
@@ -241,9 +241,9 @@
[241] = { 3, 0, SEN(io_submit), "io_submit" },
[242] = { 5, 0, SEN(io_getevents_time32), "io_getevents" },
[243] = { 3, 0, SEN(io_cancel), "io_cancel" },
-[244] = { 2, 0, SEN(clock_settime32), "clock_settime" },
-[245] = { 2, 0, SEN(clock_gettime32), "clock_gettime" },
-[246] = { 2, 0, SEN(clock_getres_time32), "clock_getres" },
+[244] = { 2, TCL, SEN(clock_settime32), "clock_settime" },
+[245] = { 2, TCL, SEN(clock_gettime32), "clock_gettime" },
+[246] = { 2, TCL, SEN(clock_getres_time32), "clock_getres" },
[247] = { 4, 0, SEN(clock_nanosleep_time32), "clock_nanosleep" },
[248] = { 3, 0, SEN(timer_create), "timer_create" },
[249] = { 1, 0, SEN(timer_delete), "timer_delete" },
@@ -324,7 +324,7 @@
[326] = { 6, TD, SEN(sync_file_range2), "sync_file_range2" },
[327] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
[328] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
-[329] = { 2, 0, SEN(clock_adjtime32), "clock_adjtime" },
+[329] = { 2, TCL, SEN(clock_adjtime32), "clock_adjtime" },
[330] = { 4, 0, SEN(prlimit64), "prlimit64" },
[331] = { 5, 0, SEN(kcmp), "kcmp" },
[332] = { 3, TD, SEN(finit_module), "finit_module" },
diff --git a/strace.1.in b/strace.1.in
index 1b2ef01e..05601945 100644
--- a/strace.1.in
+++ b/strace.1.in
@@ -600,6 +600,9 @@ and ustat). The same effect can be achieved with
.BR "\-e\ trace" = /statv?fs|fsstat|ustat
regular expression.
.TP
+.BR %clock
+Trace system calls that read or modify system clocks.
+.TP
.BR %pure
Trace syscalls that always succeed and have no arguments.
Currently, this list includes
diff --git a/strace.c b/strace.c
index 37a159a4..e862f5eb 100644
--- a/strace.c
+++ b/strace.c
@@ -305,7 +305,7 @@ Filtering:\n\
-e trace=[!]{[?]SYSCALL[@64|@32|@x32]|[?]/REGEX|GROUP|all|none},\n\
--trace=[!]{[?]SYSCALL[@64|@32|@x32]|[?]/REGEX|GROUP|all|none}\n\
trace only specified syscalls.\n\
- groups: %%creds, %%desc, %%file, %%fstat, %%fstatfs %%ipc, %%lstat,\n\
+ groups: %%clock, %%creds, %%desc, %%file, %%fstat, %%fstatfs %%ipc, %%lstat,\n\
%%memory, %%net, %%process, %%pure, %%signal, %%stat, %%%%stat,\n\
%%statfs, %%%%statfs\n\
-e signal=SET, --signal=SET\n\
diff --git a/sysent.h b/sysent.h
index 1b1022aa..b864edba 100644
--- a/sysent.h
+++ b/sysent.h
@@ -38,5 +38,6 @@ typedef struct sysent {
# define TRACE_PURE 002000000 /* Trace getter syscalls with no arguments. */
# define TRACE_SECCOMP_DEFAULT 004000000 /* Syscall is traced by seccomp filter by default. */
# define TRACE_CREDS 010000000 /* Trace process credentials-related syscalls. */
+# define TRACE_CLOCK 020000000 /* Trace syscalls reading or modifying system clocks. */
#endif /* !STRACE_SYSENT_H */
diff --git a/sysent_shorthand_defs.h b/sysent_shorthand_defs.h
index 9aca376c..867d7f69 100644
--- a/sysent_shorthand_defs.h
+++ b/sysent_shorthand_defs.h
@@ -29,6 +29,8 @@
# define CST 0
# define TSD 0
# define TC 0
+# define TC 0
+# define TCL 0
# define SEN(a) 0, 0
#else /* !STRACE_TESTS_H */
@@ -55,6 +57,7 @@
# define CST COMPAT_SYSCALL_TYPES
# define TSD TRACE_SECCOMP_DEFAULT
# define TC TRACE_CREDS
+# define TCL TRACE_CLOCK
/* SEN(a) is defined elsewhere */
#endif
diff --git a/sysent_shorthand_undefs.h b/sysent_shorthand_undefs.h
index bc9ad131..224cdbce 100644
--- a/sysent_shorthand_undefs.h
+++ b/sysent_shorthand_undefs.h
@@ -24,4 +24,5 @@
#undef SI
#undef SE
#undef CST
+#undef TCL
#undef SEN
--
2.26.1
More information about the Strace-devel
mailing list