well so i have changed clock.tests's comment style.Below is the patch.Also
i have changed the version to what you have set in subject.
On Sun, Mar 19, 2017 at 7:37 AM, Rishi Bhatt <bhatt.rishi...@gmail.com>
wrote:
>
>
> On Sun, Mar 19, 2017 at 6:34 AM, Dmitry V. Levin <l...@altlinux.org> wrote:
>
>> On Sat, Mar 18, 2017 at 07:35:49PM +0530, Rishi Bhatt wrote:
>> > Hey if i am taking rt_sigretrun,nanosleep as negative testcases i am
>> > getting sigusr and sigalarm respectively, i should not get them right?
>> > Also sched.test is also failing for them. Well i have included fstat and
>> > open as negatives.
>> >
>> > The way these test is made which expect the last output to be
>> > '+++ exited with 0 +++' -> this is causing the test failure for some
>> tests
>> > from the suite.Well should i work to make this test better or there is
>> > something else which i am not taking into consideration?
>>
>> Some test programs cannot be easily reused for this %clock test because
>> they fork, raise/catch signals, etc.
>>
>> But hundreds of test programs are well fit for this test: their strace
>> output consists of syscalls and the final "exited" line only.
>>
>> > From ba969213641b0c80defc908a6921ba4b498de0a7 Mon Sep 17 00:00:00 2001
>> > From: Rishi Bhatt <bhatt.rishi...@gmail.com>
>> > Date: Thu, 16 Mar 2017 14:41:55 +0530
>> > Subject: [PATCH v4] Implemented -e trace=%clock option
>>
>> v4? Again?
>>
>
> So which one is it?
>
>>
>> [...]
>> > --- a/sysent.h
>> > +++ b/sysent.h
>> > @@ -22,5 +22,6 @@ typedef struct sysent {
>> > #define TRACE_INDIRECT_SUBCALL 02000 /* Syscall is an indirect
>> socket/ipc subcall. */
>> > #define COMPAT_SYSCALL_TYPES 04000 /* A compat syscall that uses
>> compat types. */
>> > #define TRACE_SCHED 010000 /* Trace scheduler-related
>> syscalls. */
>> > +#define TRACE_CLOCK 020000 /*Trace clock-related syscalls. */
>>
>> Unfortunately, I have to repeat myself:
>>
>> "Please follow the style used in the file you are patching,
>> in particular, the style of comments."
>>
>
> In clock.test,and any other file?
>
>>
>>
>> --
>> ldv
>>
>> ------------------------------------------------------------
>> ------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> Strace-devel mailing list
>> Strace-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/strace-devel
>>
>>
>
From d43e8456c6a80a03d03a804b2785693f34f668f6 Mon Sep 17 00:00:00 2001
From: Rishi Bhatt <bhatt.rishi...@gmail.com>
Date: Thu, 16 Mar 2017 14:41:55 +0530
Subject: [PATCH v2] Implemented -e trace=%clock option
linux/*/syscallent.h part is modified automatically by:
git grep -Fl 'SEN(clock_' linux/ | xargs sed -i \
's/0\(,[[:space:]]*SEN(clock_\)/TCL\1/'
* sysent.h (TRACE_CLOCK): New definition.
* syscall.c: Alias TCL to TRACE_CLOCK around syscallent.h inclusion.
* linux/32/syscallent.h: Add TCL flag for clock_* sycalls.
* linux/64/syscallent.h: Likewise.
* linux/alpha/syscallent.h: Likewise.
* linux/arm/syscallent.h: Likewise.
* linux/avr32/syscallent.h: Likewise.
* linux/bfin/syscallent.h: Likewise.
* linux/crisv10/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/mips/syscallent-n32.h: Likewise.
* linux/mips/syscallent-n64.h: Likewise.
* linux/mips/syscallent-o32.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.
* qualify.c (lookup_class): Add TRACE_CLOCK for "%clock".
* tests/ksysent.c: Define TCL to 0.
* tests/nsyscalls.c: Likewise.
* tests/clock.test: New test.
* tests/Makefile.am (DECODER_TESTS): Add it.
* strace.1 (.SS Filtering): Add information about %clock syscall class.
---
linux/32/syscallent.h | 10 +++++-----
linux/64/syscallent.h | 10 +++++-----
linux/alpha/syscallent.h | 10 +++++-----
linux/arm/syscallent.h | 10 +++++-----
linux/avr32/syscallent.h | 10 +++++-----
linux/bfin/syscallent.h | 10 +++++-----
linux/crisv10/syscallent.h | 10 +++++-----
linux/hppa/syscallent.h | 10 +++++-----
linux/i386/syscallent.h | 10 +++++-----
linux/ia64/syscallent.h | 10 +++++-----
linux/m68k/syscallent.h | 10 +++++-----
linux/microblaze/syscallent.h | 10 +++++-----
linux/mips/syscallent-n32.h | 10 +++++-----
linux/mips/syscallent-n64.h | 10 +++++-----
linux/mips/syscallent-o32.h | 10 +++++-----
linux/powerpc/syscallent.h | 10 +++++-----
linux/powerpc64/syscallent.h | 10 +++++-----
linux/s390/syscallent.h | 10 +++++-----
linux/s390x/syscallent.h | 10 +++++-----
linux/sh/syscallent.h | 10 +++++-----
linux/sh64/syscallent.h | 10 +++++-----
linux/sparc/syscallent.h | 10 +++++-----
linux/sparc64/syscallent.h | 10 +++++-----
linux/x32/syscallent.h | 10 +++++-----
linux/x86_64/syscallent.h | 10 +++++-----
linux/xtensa/syscallent.h | 10 +++++-----
qualify.c | 1 +
strace.1 | 3 +++
syscall.c | 2 ++
sysent.h | 1 +
tests/Makefile.am | 1 +
tests/clock.test | 35 +++++++++++++++++++++++++++++++++++
tests/ksysent.c | 1 +
tests/nsyscalls.c | 1 +
34 files changed, 175 insertions(+), 130 deletions(-)
create mode 100755 tests/clock.test
diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h
index a8f95107..236ac10e 100644
--- a/linux/32/syscallent.h
+++ b/linux/32/syscallent.h
@@ -117,10 +117,10 @@
[109] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[110] = { 4, 0, SEN(timer_settime), "timer_settime" },
[111] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[112] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[113] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[114] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[115] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[112] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[113] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[114] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[115] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[116] = { 3, 0, SEN(syslog), "syslog" },
[117] = { 4, 0, SEN(ptrace), "ptrace" },
[118] = { 2, TSC, SEN(sched_setparam), "sched_setparam" },
@@ -256,7 +256,7 @@
[263] = { 6, 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_adjtime), "clock_adjtime" },
+[266] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" },
[267] = { 1, TD, SEN(syncfs), "syncfs" },
[268] = { 2, TD, SEN(setns), "setns" },
[269] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h
index b5a09d4f..e263bb01 100644
--- a/linux/64/syscallent.h
+++ b/linux/64/syscallent.h
@@ -110,10 +110,10 @@
[109] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[110] = { 4, 0, SEN(timer_settime), "timer_settime" },
[111] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[112] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[113] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[114] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[115] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[112] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[113] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[114] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[115] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[116] = { 3, 0, SEN(syslog), "syslog" },
[117] = { 4, 0, SEN(ptrace), "ptrace" },
[118] = { 2, TSC, SEN(sched_setparam), "sched_setparam" },
@@ -249,7 +249,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_adjtime), "clock_adjtime" },
+[266] = { 2, TCL, SEN(clock_adjtime), "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 4449f221..cd4745d6 100644
--- a/linux/alpha/syscallent.h
+++ b/linux/alpha/syscallent.h
@@ -381,10 +381,10 @@
[416] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[417] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[418] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[419] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[420] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[421] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[422] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[419] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[420] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[421] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[422] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[423] = { 4, TI, SEN(semtimedop), "semtimedop" },
[424] = { 3, TS, SEN(tgkill), "tgkill" },
[425] = { 2, TF, SEN(stat64), "stat64" },
@@ -461,7 +461,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_adjtime), "clock_adjtime" },
+[499] = { 2, TCL, SEN(clock_adjtime), "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 ed9ec9ad..6444e4ff 100644
--- a/linux/arm/syscallent.h
+++ b/linux/arm/syscallent.h
@@ -286,10 +286,10 @@
[259] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[260] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[261] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[262] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[263] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[264] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[265] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[262] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[263] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[264] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[265] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[266] = { 3, TF, SEN(statfs64), "statfs64" },
[267] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
[268] = { 3, TS, SEN(tgkill), "tgkill" },
@@ -396,7 +396,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_adjtime), "clock_adjtime" },
+[372] = { 2, TCL, SEN(clock_adjtime), "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 7f50934b..84e409d1 100644
--- a/linux/avr32/syscallent.h
+++ b/linux/avr32/syscallent.h
@@ -240,10 +240,10 @@
[212] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[213] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[214] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[215] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[216] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[217] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[218] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[215] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[216] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[217] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[218] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[219] = { 3, TF, SEN(statfs64), "statfs64" },
[220] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
[221] = { 3, TS, SEN(tgkill), "tgkill" },
@@ -331,7 +331,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_adjtime), "clock_adjtime" },
+[306] = { 2, TCL, SEN(clock_adjtime), "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 800b943b..83e49c20 100644
--- a/linux/bfin/syscallent.h
+++ b/linux/bfin/syscallent.h
@@ -290,10 +290,10 @@
[262] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[263] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[264] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[265] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[266] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[267] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[268] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[265] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[266] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[267] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[268] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[269] = { 3, TF, SEN(statfs64), "statfs64" },
[270] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
[271] = { 3, TS, SEN(tgkill), "tgkill" },
@@ -402,7 +402,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_adjtime), "clock_adjtime" },
+[377] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" },
[378] = { 1, TD, SEN(syncfs), "syncfs" },
[379] = { 2, TD, SEN(setns), "setns" },
[380] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
diff --git a/linux/crisv10/syscallent.h b/linux/crisv10/syscallent.h
index 96fb6bd0..a66792d0 100644
--- a/linux/crisv10/syscallent.h
+++ b/linux/crisv10/syscallent.h
@@ -258,10 +258,10 @@
[261] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[262] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[263] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[264] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[265] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[266] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[267] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[264] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[265] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[266] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[267] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[268] = { 3, TF, SEN(statfs64), "statfs64" },
[269] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
[270] = { 3, TS, SEN(tgkill), "tgkill" },
@@ -338,7 +338,7 @@
[342] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[343] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[344] = { 4, 0, SEN(prlimit64), "prlimit64" },
-[345] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" },
+[345] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" },
[346] = { 1, TD, SEN(syncfs), "syncfs" },
[347] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[348] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" },
diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h
index f59ea571..f95944d2 100644
--- a/linux/hppa/syscallent.h
+++ b/linux/hppa/syscallent.h
@@ -257,10 +257,10 @@
[252] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[253] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[254] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[255] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[256] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[257] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[258] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[255] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[256] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[257] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[258] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[259] = { 3, TS, SEN(tgkill), "tgkill" },
[260] = { 6, TM, SEN(mbind), "mbind" },
[261] = { 5, TM, SEN(get_mempolicy), "get_mempolicy" },
@@ -326,7 +326,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_adjtime), "clock_adjtime" },
+[324] = { 2, TCL, SEN(clock_adjtime), "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 8ef1b1cd..5b1b1605 100644
--- a/linux/i386/syscallent.h
+++ b/linux/i386/syscallent.h
@@ -289,10 +289,10 @@
[261] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[262] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[263] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[264] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[265] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[266] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[267] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[264] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[265] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[266] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[267] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[268] = { 3, TF, SEN(statfs64), "statfs64" },
[269] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
[270] = { 3, TS, SEN(tgkill), "tgkill" },
@@ -368,7 +368,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_adjtime), "clock_adjtime" },
+[343] = { 2, TCL, SEN(clock_adjtime), "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 47b71d6a..c226bc6e 100644
--- a/linux/ia64/syscallent.h
+++ b/linux/ia64/syscallent.h
@@ -270,10 +270,10 @@
[1250] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[1251] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[1252] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[1253] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[1254] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[1255] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[1256] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[1253] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[1254] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[1255] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[1256] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[1257] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
[1258] = { 3, TF, SEN(statfs64), "statfs64" },
[1259] = { 6, TM, SEN(mbind), "mbind" },
@@ -345,7 +345,7 @@
[1325] = { 4, 0, SEN(prlimit64), "prlimit64" },
[1326] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[1327] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[1328] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" },
+[1328] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" },
[1329] = { 1, TD, SEN(syncfs), "syncfs" },
[1330] = { 2, TD, SEN(setns), "setns" },
[1331] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h
index 8e7dd97d..0364ab97 100644
--- a/linux/m68k/syscallent.h
+++ b/linux/m68k/syscallent.h
@@ -284,10 +284,10 @@
[256] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[257] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[258] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[259] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[260] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[261] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[262] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[259] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[260] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[261] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[262] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[263] = { 3, TF, SEN(statfs64), "statfs64" },
[264] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
[265] = { 3, TS, SEN(tgkill), "tgkill" },
@@ -367,7 +367,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_adjtime), "clock_adjtime" },
+[342] = { 2, TCL, SEN(clock_adjtime), "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 2a59eb3d..e7cb98c5 100644
--- a/linux/microblaze/syscallent.h
+++ b/linux/microblaze/syscallent.h
@@ -289,10 +289,10 @@
[261] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[262] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[263] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[264] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[265] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[266] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[267] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[264] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[265] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[266] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[267] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[268] = { 3, TF, SEN(statfs64), "statfs64" },
[269] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
[270] = { 3, TS, SEN(tgkill), "tgkill" },
@@ -398,7 +398,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_adjtime), "clock_adjtime" },
+[373] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" },
[374] = { 1, TD, SEN(syncfs), "syncfs" },
[375] = { 2, TD, SEN(setns), "setns" },
[376] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h
index 052af4fa..bce788fb 100644
--- a/linux/mips/syscallent-n32.h
+++ b/linux/mips/syscallent-n32.h
@@ -225,10 +225,10 @@
[6222] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[6223] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[6224] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[6225] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[6226] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[6227] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[6228] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[6225] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[6226] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[6227] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[6228] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[6229] = { 3, TS, SEN(tgkill), "tgkill" },
[6230] = { 2, TF, SEN(utimes), "utimes" },
[6231] = { 6, TM, SEN(mbind), "mbind" },
@@ -305,7 +305,7 @@
[6302] = { 4, 0, SEN(prlimit64), "prlimit64" },
[6303] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[6304] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[6305] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" },
+[6305] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" },
[6306] = { 1, TD, SEN(syncfs), "syncfs" },
[6307] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[6308] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h
index fdd778b4..37c20240 100644
--- a/linux/mips/syscallent-n64.h
+++ b/linux/mips/syscallent-n64.h
@@ -221,10 +221,10 @@
[5218] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[5219] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[5220] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[5221] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[5222] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[5223] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[5224] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[5221] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[5222] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[5223] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[5224] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[5225] = { 3, TS, SEN(tgkill), "tgkill" },
[5226] = { 2, TF, SEN(utimes), "utimes" },
[5227] = { 6, TM, SEN(mbind), "mbind" },
@@ -300,7 +300,7 @@
[5297] = { 4, 0, SEN(prlimit64), "prlimit64" },
[5298] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[5299] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[5300] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" },
+[5300] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" },
[5301] = { 1, TD, SEN(syncfs), "syncfs" },
[5302] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[5303] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h
index 509a719a..4e5797ea 100644
--- a/linux/mips/syscallent-o32.h
+++ b/linux/mips/syscallent-o32.h
@@ -262,10 +262,10 @@
[4259] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[4260] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[4261] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[4262] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[4263] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[4264] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[4265] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[4262] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[4263] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[4264] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[4265] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[4266] = { 3, TS, SEN(tgkill), "tgkill" },
[4267] = { 2, TF, SEN(utimes), "utimes" },
[4268] = { 6, TM, SEN(mbind), "mbind" },
@@ -341,7 +341,7 @@
[4338] = { 4, 0, SEN(prlimit64), "prlimit64" },
[4339] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" },
[4340] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" },
-[4341] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" },
+[4341] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" },
[4342] = { 1, TD, SEN(syncfs), "syncfs" },
[4343] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[4344] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h
index 1431f8a9..86e3a3f6 100644
--- a/linux/powerpc/syscallent.h
+++ b/linux/powerpc/syscallent.h
@@ -271,10 +271,10 @@
[242] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[243] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[244] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[245] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[246] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[247] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[248] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[245] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[246] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[247] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[248] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[249] = { 2, 0, SEN(printargs), "swapcontext" },
[250] = { 3, TS, SEN(tgkill), "tgkill" },
[251] = { 2, TF, SEN(utimes), "utimes" },
@@ -373,7 +373,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_adjtime), "clock_adjtime" },
+[347] = { 2, TCL, SEN(clock_adjtime), "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 eae3b57b..77f91fa6 100644
--- a/linux/powerpc64/syscallent.h
+++ b/linux/powerpc64/syscallent.h
@@ -266,10 +266,10 @@
[242] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[243] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[244] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[245] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[246] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[247] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[248] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[245] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[246] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[247] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[248] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[249] = { 2, 0, SEN(printargs), "swapcontext" },
[250] = { 3, TS, SEN(tgkill), "tgkill" },
[251] = { 2, TF, SEN(utimes), "utimes" },
@@ -368,7 +368,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_adjtime), "clock_adjtime" },
+[347] = { 2, TCL, SEN(clock_adjtime), "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 105e511e..3b5dc5b0 100644
--- a/linux/s390/syscallent.h
+++ b/linux/s390/syscallent.h
@@ -287,10 +287,10 @@
[256] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[257] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[258] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[259] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[260] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[261] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[262] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[259] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[260] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[261] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[262] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[263] = { 5, 0, SEN(vserver), "vserver" },
[264] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" },
[265] = { 3, TF, SEN(statfs64), "statfs64" },
@@ -365,7 +365,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_adjtime), "clock_adjtime" },
+[337] = { 2, TCL, SEN(clock_adjtime), "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 d5b54590..0e82385a 100644
--- a/linux/s390x/syscallent.h
+++ b/linux/s390x/syscallent.h
@@ -271,10 +271,10 @@
[256] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[257] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[258] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[259] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[260] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[261] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[262] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[259] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[260] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[261] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[262] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[263] = { 5, 0, SEN(vserver), "vserver" },
[264] = { },
[265] = { 3, TF, SEN(statfs64), "statfs64" },
@@ -349,7 +349,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_adjtime), "clock_adjtime" },
+[337] = { 2, TCL, SEN(clock_adjtime), "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 13884169..92ec4224 100644
--- a/linux/sh/syscallent.h
+++ b/linux/sh/syscallent.h
@@ -289,10 +289,10 @@
[261] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[262] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[263] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[264] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[265] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[266] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[267] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[264] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[265] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[266] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[267] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[268] = { 3, TF, SEN(statfs64), "statfs64" },
[269] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
[270] = { 3, TS, SEN(tgkill), "tgkill" },
@@ -386,7 +386,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_adjtime), "clock_adjtime" },
+[361] = { 2, TCL, SEN(clock_adjtime), "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 e9351048..cf64fe4e 100644
--- a/linux/sh64/syscallent.h
+++ b/linux/sh64/syscallent.h
@@ -315,10 +315,10 @@
[289] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[290] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[291] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[292] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[293] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[294] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[295] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[292] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[293] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[294] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[295] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[296] = { 3, TF, SEN(statfs64), "statfs64" },
[297] = { 3, TD, SEN(fstatfs64), "fstatfs64" },
[298] = { 3, TS, SEN(tgkill), "tgkill" },
@@ -395,7 +395,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_adjtime), "clock_adjtime" },
+[372] = { 2, TCL, SEN(clock_adjtime), "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 30d88193..3c3c9462 100644
--- a/linux/sparc/syscallent.h
+++ b/linux/sparc/syscallent.h
@@ -254,10 +254,10 @@
[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_settime), "clock_settime" },
-[257] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[258] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[259] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[256] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[257] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[258] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[259] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[260] = { 3, TSC, SEN(sched_getaffinity), "sched_getaffinity" },
[261] = { 3, TSC, SEN(sched_setaffinity), "sched_setaffinity" },
[262] = { 4, 0, SEN(timer_settime), "timer_settime" },
@@ -332,7 +332,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_adjtime), "clock_adjtime" },
+[334] = { 2, TCL, SEN(clock_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/sparc64/syscallent.h b/linux/sparc64/syscallent.h
index 1137a3e5..be6a3d99 100644
--- a/linux/sparc64/syscallent.h
+++ b/linux/sparc64/syscallent.h
@@ -252,10 +252,10 @@
[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_settime), "clock_settime" },
-[257] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[258] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[259] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[256] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[257] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[258] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[259] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[260] = { 3, TSC, SEN(sched_getaffinity), "sched_getaffinity" },
[261] = { 3, TSC, SEN(sched_setaffinity), "sched_setaffinity" },
[262] = { 4, 0, SEN(timer_settime), "timer_settime" },
@@ -330,7 +330,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_adjtime), "clock_adjtime" },
+[334] = { 2, TCL, SEN(clock_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 30a684a8..d0ec86fc 100644
--- a/linux/x32/syscallent.h
+++ b/linux/x32/syscallent.h
@@ -225,10 +225,10 @@
[224] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[225] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[226] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[227] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[228] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[229] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[230] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[227] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[228] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[229] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[230] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[231] = { 1, TP|SE, SEN(exit), "exit_group" },
[232] = { 4, TD, SEN(epoll_wait), "epoll_wait" },
[233] = { 4, TD, SEN(epoll_ctl), "epoll_ctl" },
@@ -303,7 +303,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_adjtime), "clock_adjtime" },
+[305] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" },
[306] = { 1, TD, SEN(syncfs), "syncfs" },
[307] = { 4, TN, SEN(printargs), "64:sendmmsg" },
[308] = { 2, TD, SEN(setns), "setns" },
diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h
index 62960d21..86e86f1b 100644
--- a/linux/x86_64/syscallent.h
+++ b/linux/x86_64/syscallent.h
@@ -225,10 +225,10 @@
[224] = { 2, 0, SEN(timer_gettime), "timer_gettime" },
[225] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" },
[226] = { 1, 0, SEN(timer_delete), "timer_delete" },
-[227] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[228] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[229] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[230] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[227] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[228] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[229] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[230] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[231] = { 1, TP|SE, SEN(exit), "exit_group" },
[232] = { 4, TD, SEN(epoll_wait), "epoll_wait" },
[233] = { 4, TD, SEN(epoll_ctl), "epoll_ctl" },
@@ -303,7 +303,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_adjtime), "clock_adjtime" },
+[305] = { 2, TCL, SEN(clock_adjtime), "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 63995bc2..21dea9fd 100644
--- a/linux/xtensa/syscallent.h
+++ b/linux/xtensa/syscallent.h
@@ -234,10 +234,10 @@
[241] = { 3, 0, SEN(io_submit), "io_submit" },
[242] = { 5, 0, SEN(io_getevents), "io_getevents" },
[243] = { 3, 0, SEN(io_cancel), "io_cancel" },
-[244] = { 2, 0, SEN(clock_settime), "clock_settime" },
-[245] = { 2, 0, SEN(clock_gettime), "clock_gettime" },
-[246] = { 2, 0, SEN(clock_getres), "clock_getres" },
-[247] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" },
+[244] = { 2, TCL, SEN(clock_settime), "clock_settime" },
+[245] = { 2, TCL, SEN(clock_gettime), "clock_gettime" },
+[246] = { 2, TCL, SEN(clock_getres), "clock_getres" },
+[247] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" },
[248] = { 3, 0, SEN(timer_create), "timer_create" },
[249] = { 1, 0, SEN(timer_delete), "timer_delete" },
[250] = { 4, 0, SEN(timer_settime), "timer_settime" },
@@ -317,7 +317,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_adjtime), "clock_adjtime" },
+[329] = { 2, TCL, SEN(clock_adjtime), "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/qualify.c b/qualify.c
index b5023f21..6ab30339 100644
--- a/qualify.c
+++ b/qualify.c
@@ -220,6 +220,7 @@ lookup_class(const char *s)
{ "%ipc", TRACE_IPC },
{ "%network", TRACE_NETWORK },
{ "%sched", TRACE_SCHED },
+ { "%clock", TRACE_CLOCK },
};
unsigned int i;
diff --git a/strace.1 b/strace.1
index 9b69ec22..0c0f1a7a 100644
--- a/strace.1
+++ b/strace.1
@@ -429,6 +429,9 @@ Trace all memory mapping related system calls.
.BR "\-e\ trace" = %sched
Trace all scheduler-related (sched_*) system calls.
.TP
+.BR "\-e\ trace" = %clock
+Trace all clock-related (clock_*) system calls.
+.TP
\fB\-e\ abbrev\fR=\,\fIset\fR
Abbreviate the output from printing each member of large structures.
The default is
diff --git a/syscall.c b/syscall.c
index 569055f2..5ca46d1e 100644
--- a/syscall.c
+++ b/syscall.c
@@ -77,6 +77,7 @@
#define TS TRACE_SIGNAL
#define TM TRACE_MEMORY
#define TSC TRACE_SCHED
+#define TCL TRACE_CLOCK
#define NF SYSCALL_NEVER_FAILS
#define MA MAX_ARGS
#define SI STACKTRACE_INVALIDATE_CACHE
@@ -113,6 +114,7 @@ static const struct_sysent sysent2[] = {
#undef TS
#undef TM
#undef TSC
+#undef TCL
#undef NF
#undef MA
#undef SI
diff --git a/sysent.h b/sysent.h
index f4eaa930..88dc1c37 100644
--- a/sysent.h
+++ b/sysent.h
@@ -22,5 +22,6 @@ typedef struct sysent {
#define TRACE_INDIRECT_SUBCALL 02000 /* Syscall is an indirect socket/ipc subcall. */
#define COMPAT_SYSCALL_TYPES 04000 /* A compat syscall that uses compat types. */
#define TRACE_SCHED 010000 /* Trace scheduler-related syscalls. */
+#define TRACE_CLOCK 020000 /*Trace clock-related syscalls. */
#endif /* !STRACE_SYSENT_H */
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c5c124c0..7a22d421 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -503,6 +503,7 @@ DECODER_TESTS = \
chown.test \
chown32.test \
chroot.test \
+ clock.test \
clock_adjtime.test \
clock_nanosleep.test \
clock_xettime.test \
diff --git a/tests/clock.test b/tests/clock.test
new file mode 100755
index 00000000..b3eb7ac2
--- /dev/null
+++ b/tests/clock.test
@@ -0,0 +1,35 @@
+#!/bin/sh
+# Check -e trace=%clock option.
+
+. "${srcdir=.}/init.sh"
+
+# Tracing clock_* related syscalls.
+while read w i
+do
+ try_run_prog "./$i" || continue
+ run_strace -a$w -e trace=%clock ./$i > "$EXP"
+ match_diff "$LOG" "$EXP"
+done << EOF
+40 clock_nanosleep
+37 clock_adjtime
+36 clock_xettime
+EOF
+
+echo '+++ exited with 0 +++' > "$EXP"
+
+# Tracing syscalls which do
+# not start with clock_*.
+while read w i
+do
+ try_run_prog "./$i" || continue
+ run_strace -a$w -e trace=%clock ./$i > /dev/null
+ match_diff "$LOG" "$EXP"
+done << EOF
+11 fchdir
+27 futex
+10 fsync
+21 fstat
+30 open
+EOF
+
+rm "$EXP"
diff --git a/tests/ksysent.c b/tests/ksysent.c
index 252feffc..72413692 100644
--- a/tests/ksysent.c
+++ b/tests/ksysent.c
@@ -41,6 +41,7 @@
#define TS 0
#define TM 0
#define TSC 0
+#define TCL 0
#define NF 0
#define MA 0
#define SI 0
diff --git a/tests/nsyscalls.c b/tests/nsyscalls.c
index c2bdb202..10943898 100644
--- a/tests/nsyscalls.c
+++ b/tests/nsyscalls.c
@@ -42,6 +42,7 @@
#define TS 0
#define TM 0
#define TSC 0
+#define TCL 0
#define NF 0
#define MA 0
#define SI 0
--
2.11.0
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel