Implemented -e trace=%clock option
Eugene Syromyatnikov
evgsyr at gmail.com
Mon Mar 13 05:18:36 UTC 2017
On Sat, Mar 11, 2017 at 10:16:42PM +0530, Rishi Bhatt wrote:
> Sorry, Ignore previous attachment.
>
> The following patch is the implementation.
>
I've tried to apply this, but git-am(1) failed with the following
diagnostics:
.git/rebase-apply/patch:801: trailing whitespace.
#define TC TRACE_CLOCK
.git/rebase-apply/patch:870: trailing whitespace.
#define TC 0
fatal: 2 lines add whitespace errors.
> On Sat, Mar 11, 2017 at 9:48 PM, Rishi Bhatt <bhatt.rishi062 at gmail.com>
> wrote:
>
> > Hi,ldv
> > i have implemented a test for the -e trace=%clock option.
> > (tests/Makefile.am: clock.test \ )
> >
> > On Fri, Mar 10, 2017 at 10:37 PM, Dmitry V. Levin <ldv at altlinux.org>
> > wrote:
> >
> >> On Fri, Mar 10, 2017 at 08:30:55PM +0530, Rishi Bhatt wrote:
> >> > Hey,
> >> > So for extending a trace class option syntax,i have implemented clock_*
> >> > related syscall.
> >> >
> >> > The idea came in my mind after the scheduler option was committed
> >> recently.
> >> > I thought clock related syscalls would be good.
> >>
> >> Yes, why not.
> >>
> >> > So i have attached the patch,please review it and give me the feedback.
> >>
> >> Thanks. Any change that adds new functionality needs an appropriate test,
> >> so please resubmit the patch with a test.
> >>
> >>
> >> --
> >> ldv
> >>
> >> ------------------------------------------------------------
> >> ------------------
> >> Announcing the Oxford Dictionaries API! The API offers world-renowned
> >> dictionary content that is easy and intuitive to access. Sign up for an
> >> account today to start using our lexical data to power your apps and
> >> projects. Get started today and enter our developer competition.
> >> http://sdm.link/oxford
> >> _______________________________________________
> >> Strace-devel mailing list
> >> Strace-devel at lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/strace-devel
> >>
> >>
> >
It is preferred that patches are sent inline.
> From afe2b0ecb21cf24daf65a6e11d8694638db52fed Mon Sep 17 00:00:00 2001
> From: Rishi Bhatt <bhatt.rishi062 at gmail.com>
> Date: Sat, 11 Mar 2017 22:14:03 +0530
> Subject: [PATCH] Implemented -e trace=%clock option for clock_*
> related-syscalls
>
The change log is missing. Please refer to README-hacking and
https://www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html .
> ---
> 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 | 20 ++++++++++++++++++++
> tests/ksysent.c | 1 +
> tests/nsyscalls.c | 1 +
> 34 files changed, 160 insertions(+), 130 deletions(-)
> create mode 100644 tests/clock.test
These permissions are incorrect, they lead to the following error when
this test is actually tried to be executed: "timeout: failed to run command
`./clock.test': Permission denied ". The correct permissions should be
100755.
When file access rights are corrected, test fails with the following diagnostics:
5d4
< setitimer(ITIMER_REAL, {it_interval={tv_sec=0, tv_usec=222222}, it_value={tv_sec=0, tv_usec=111111}}, NULL) = 0
clock.test: failed test: ../strace -a40 -e trace=%clock ./clock_nanosleep output mismatch
> diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h
> index a8f95107..2e6fabbd 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, TC, SEN(clock_settime), "clock_settime" },
> +[113] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[114] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[115] = { 4, TC, 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, TC, 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 a705eae9..60b7b073 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, TC, SEN(clock_settime), "clock_settime" },
> +[113] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[114] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[115] = { 4, TC, 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, TC, 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..6ded7df2 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, TC, SEN(clock_settime), "clock_settime" },
> +[420] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[421] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[422] = { 4, TC, 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, TC, 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..f4c8812c 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, TC, SEN(clock_settime), "clock_settime" },
> +[263] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[264] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[265] = { 4, TC, 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, TC, 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..d174ccac 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, TC, SEN(clock_settime), "clock_settime" },
> +[216] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[217] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[218] = { 4, TC, 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, TC, 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..b0a5f690 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, TC, SEN(clock_settime), "clock_settime" },
> +[266] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[267] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[268] = { 4, TC, 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, TC, 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..c0c9ec71 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, TC, SEN(clock_settime), "clock_settime" },
> +[265] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[266] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[267] = { 4, TC, 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, TC, 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 647a2dc5..a04c2e45 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, TC, SEN(clock_settime), "clock_settime" },
> +[256] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[257] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[258] = { 4, TC, 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, TC, 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..8845d8d6 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, TC, SEN(clock_settime), "clock_settime" },
> +[265] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[266] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[267] = { 4, TC, 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, TC, 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 895e7aec..275ee12e 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, TC, SEN(clock_settime), "clock_settime" },
> +[1254] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[1255] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[1256] = { 4, TC, 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, TC, 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..1d481859 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, TC, SEN(clock_settime), "clock_settime" },
> +[260] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[261] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[262] = { 4, TC, 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, TC, 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..6c48939f 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, TC, SEN(clock_settime), "clock_settime" },
> +[265] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[266] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[267] = { 4, TC, 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, TC, 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..4a9afe25 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, TC, SEN(clock_settime), "clock_settime" },
> +[6226] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[6227] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[6228] = { 4, TC, 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, TC, 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..a489323f 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, TC, SEN(clock_settime), "clock_settime" },
> +[5222] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[5223] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[5224] = { 4, TC, 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, TC, 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..93a22934 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, TC, SEN(clock_settime), "clock_settime" },
> +[4263] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[4264] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[4265] = { 4, TC, 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, TC, 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..0928b7ef 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, TC, SEN(clock_settime), "clock_settime" },
> +[246] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[247] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[248] = { 4, TC, 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, TC, 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..c8642415 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, TC, SEN(clock_settime), "clock_settime" },
> +[246] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[247] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[248] = { 4, TC, 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, TC, 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 c04353cc..6de6d90a 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, TC, SEN(clock_settime), "clock_settime" },
> +[260] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[261] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[262] = { 4, TC, 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, TC, 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 ab8a5d86..3e5d0956 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, TC, SEN(clock_settime), "clock_settime" },
> +[260] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[261] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[262] = { 4, TC, 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, TC, 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..4eee0e59 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, TC, SEN(clock_settime), "clock_settime" },
> +[265] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[266] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[267] = { 4, TC, 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, TC, 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..287bdf08 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, TC, SEN(clock_settime), "clock_settime" },
> +[293] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[294] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[295] = { 4, TC, 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, TC, 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..6f3f54fc 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, TC, SEN(clock_settime), "clock_settime" },
> +[257] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[258] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[259] = { 4, TC, 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, TC, 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..4f4fc201 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, TC, SEN(clock_settime), "clock_settime" },
> +[257] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[258] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[259] = { 4, TC, 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, TC, 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 2699bc04..e2e3a178 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, TC, SEN(clock_settime), "clock_settime" },
> +[228] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[229] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[230] = { 4, TC, 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, TC, 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 a1a268ec..3adc9345 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, TC, SEN(clock_settime), "clock_settime" },
> +[228] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[229] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[230] = { 4, TC, 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, TC, 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..eab5b0e8 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, TC, SEN(clock_settime), "clock_settime" },
> +[245] = { 2, TC, SEN(clock_gettime), "clock_gettime" },
> +[246] = { 2, TC, SEN(clock_getres), "clock_getres" },
> +[247] = { 4, TC, 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, TC, 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..33cc3f92 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 },
Formatting differs from the neighbouring lines.
> };
>
> unsigned int i;
> diff --git a/strace.1 b/strace.1
> index 9b69ec22..c46ca3ba 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..383c7d8f 100644
> --- a/syscall.c
> +++ b/syscall.c
> @@ -77,6 +77,7 @@
> #define TS TRACE_SIGNAL
> #define TM TRACE_MEMORY
> #define TSC TRACE_SCHED
> +#define TC TRACE_CLOCK
Trailing whitespace.
> #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 TC
> #undef NF
> #undef MA
> #undef SI
> diff --git a/sysent.h b/sysent.h
> index f4eaa930..fa6c3dee 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 030 /*Trace clocks-related syscalls*/
This value couldn't be correct, it must be something which doesn't collide with
other TRACE_* values.
>
> #endif /* !STRACE_SYSENT_H */
> diff --git a/tests/Makefile.am b/tests/Makefile.am
> index 5a7a45f6..57e99454 100644
> --- a/tests/Makefile.am
> +++ b/tests/Makefile.am
> @@ -502,6 +502,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 100644
> index 00000000..6dfd2bb7
> --- /dev/null
> +++ b/tests/clock.test
> @@ -0,0 +1,20 @@
> +#!/bin/sh
> +#Check -e trace=%clock option
> +
> +#Test cases.
> +CLOCK_TESTS='40 clock_nanosleep
> +37 clock_adjtime
> +36 clock_xettime'
> +
> +#Declaring the init.sh
> +. "${srcdir=.}/init.sh"
> +
> +echo "$CLOCK_TESTS" | while read w i
> +do
> + run_prog ./$i > /dev/null
> + run_strace -a$w -e trace=%clock ./$i > "$EXP"
> + match_diff "$LOG" "$EXP"
> +done
Please also consider adding some negative match tests, as it is done in
case of %sched class. It is not a very good test, but nevertheless.
> +echo '+++ exited with 0 +++' > "$EXP"
Why it is here?
> +
> +rm "$EXP"
> \ No newline at end of file
Is this intended?
> diff --git a/tests/ksysent.c b/tests/ksysent.c
> index 252feffc..9e978ed2 100644
> --- a/tests/ksysent.c
> +++ b/tests/ksysent.c
> @@ -41,6 +41,7 @@
> #define TS 0
> #define TM 0
> #define TSC 0
> +#define TC 0
Trailing whitespace.
> #define NF 0
> #define MA 0
> #define SI 0
> diff --git a/tests/nsyscalls.c b/tests/nsyscalls.c
> index c2bdb202..ab440f77 100644
> --- a/tests/nsyscalls.c
> +++ b/tests/nsyscalls.c
> @@ -42,6 +42,7 @@
> #define TS 0
> #define TM 0
> #define TSC 0
> +#define TC 0
> #define NF 0
> #define MA 0
> #define SI 0
> --
> 2.11.0
>
> ------------------------------------------------------------------------------
> Announcing the Oxford Dictionaries API! The API offers world-renowned
> dictionary content that is easy and intuitive to access. Sign up for an
> account today to start using our lexical data to power your apps and
> projects. Get started today and enter our developer competition.
> http://sdm.link/oxford
> _______________________________________________
> Strace-devel mailing list
> Strace-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/strace-devel
More information about the Strace-devel
mailing list