[PATCH v2 2/3] Add %clock trace class

Ákos Uzonyi uzonyi.akos at gmail.com
Fri Apr 17 09:46:55 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 clock related 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                          |  2 ++
 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       |  2 ++
 sysent_shorthand_undefs.h     |  1 +
 28 files changed, 179 insertions(+), 169 deletions(-)

diff --git a/NEWS b/NEWS
index 6292e1c3..50c3bd2c 100644
--- a/NEWS
+++ b/NEWS
@@ -3,6 +3,8 @@ 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..4464b6c5 100644
--- a/sysent_shorthand_defs.h
+++ b/sysent_shorthand_defs.h
@@ -29,6 +29,7 @@
 # define CST	0
 # define TSD	0
 # define TC	0
+# define TCL	0
 # define SEN(a)	0, 0
 
 #else	/*	!STRACE_TESTS_H	*/
@@ -55,6 +56,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 fb5d6edb..aec684d8 100644
--- a/sysent_shorthand_undefs.h
+++ b/sysent_shorthand_undefs.h
@@ -27,4 +27,5 @@
 #undef CST
 #undef TSD
 #undef TC
+#undef TCL
 #undef SEN
-- 
2.26.1



More information about the Strace-devel mailing list