Implemented -e trace=%clock option
Rishi Bhatt
bhatt.rishi062 at gmail.com
Wed Mar 15 11:57:49 UTC 2017
Well i have changed permission of clock.test to 100755 so i guess we should
not get a permission denied error now and also those whitespace are also
eliminated or atleast it doea not shoe in git am <patch> but i am getting
this kind of errors what are they? (still learning git,go easy on me.)
$ git am 0001-Implemented-e-trace-clock-option.patch
Applying: Implemented -e trace=%clock option.
error: patch failed: linux/32/syscallent.h:117
error: linux/32/syscallent.h: patch does not apply
error: patch failed: linux/64/syscallent.h:110
error: linux/64/syscallent.h: patch does not apply
error: patch failed: linux/alpha/syscallent.h:381
error: linux/alpha/syscallent.h: patch does not apply
error: patch failed: linux/arm/syscallent.h:286
error: linux/arm/syscallent.h: patch does not apply
error: patch failed: linux/avr32/syscallent.h:240
error: linux/avr32/syscallent.h: patch does not apply
error: patch failed: linux/bfin/syscallent.h:290
error: linux/bfin/syscallent.h: patch does not apply
error: patch failed: linux/crisv10/syscallent.h:258
error: linux/crisv10/syscallent.h: patch does not apply
error: patch failed: linux/hppa/syscallent.h:257
error: linux/hppa/syscallent.h: patch does not apply
error: patch failed: linux/i386/syscallent.h:289
error: linux/i386/syscallent.h: patch does not apply
error: patch failed: linux/ia64/syscallent.h:270
error: linux/ia64/syscallent.h: patch does not apply
error: patch failed: linux/m68k/syscallent.h:284
error: linux/m68k/syscallent.h: patch does not apply
error: patch failed: linux/microblaze/syscallent.h:289
error: linux/microblaze/syscallent.h: patch does not apply
error: patch failed: linux/mips/syscallent-n32.h:225
error: linux/mips/syscallent-n32.h: patch does not apply
error: patch failed: linux/mips/syscallent-n64.h:221
error: linux/mips/syscallent-n64.h: patch does not apply
error: patch failed: linux/mips/syscallent-o32.h:262
error: linux/mips/syscallent-o32.h: patch does not apply
error: patch failed: linux/powerpc/syscallent.h:271
error: linux/powerpc/syscallent.h: patch does not apply
error: patch failed: linux/powerpc64/syscallent.h:266
error: linux/powerpc64/syscallent.h: patch does not apply
error: patch failed: linux/s390/syscallent.h:287
error: linux/s390/syscallent.h: patch does not apply
error: patch failed: linux/s390x/syscallent.h:271
error: linux/s390x/syscallent.h: patch does not apply
error: patch failed: linux/sh/syscallent.h:289
error: linux/sh/syscallent.h: patch does not apply
error: patch failed: linux/sh64/syscallent.h:315
error: linux/sh64/syscallent.h: patch does not apply
error: patch failed: linux/sparc/syscallent.h:254
error: linux/sparc/syscallent.h: patch does not apply
error: patch failed: linux/sparc64/syscallent.h:252
error: linux/sparc64/syscallent.h: patch does not apply
error: patch failed: linux/x32/syscallent.h:225
error: linux/x32/syscallent.h: patch does not apply
error: patch failed: linux/x86_64/syscallent.h:225
error: linux/x86_64/syscallent.h: patch does not apply
error: patch failed: linux/xtensa/syscallent.h:234
error: linux/xtensa/syscallent.h: patch does not apply
error: patch failed: qualify.c:220
error: qualify.c: patch does not apply
error: patch failed: strace.1:429
error: strace.1: patch does not apply
error: patch failed: syscall.c:77
error: syscall.c: patch does not apply
error: patch failed: sysent.h:22
error: sysent.h: patch does not apply
error: patch failed: tests/Makefile.am:331
error: tests/Makefile.am: patch does not apply
error: tests/clock.test: already exists in index
error: patch failed: tests/ksysent.c:41
error: tests/ksysent.c: patch does not apply
error: patch failed: tests/nsyscalls.c:42
error: tests/nsyscalls.c: patch does not apply
Patch failed at 0001 Implemented -e trace=%clock option.
And the patch.
>From ada557be0d0c5ac45c5a6b9cca706b70812b2b53 Mon Sep 17 00:00:00 2001
From: Rishi Bhatt <bhat.rishi062 at gmail.com>
Date: Wed, 15 Mar 2017 16:17:03 +0530
Subject: [PATCH] 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_\)/TC\1/'
* sysent.h (TRACE_CLOCK): New definition.
* syscall.c: Alias TC to TRACE_CLOCK around syscallent.h inclusion.
* linux/32/syscallent.h: Add TC 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 TC to 0.
* tests/nsyscalls.c: Likewise.
* tests/clock.test: New test.
* tests/Makefile.am (DECODER_TESTS): Add clock.test.
* 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 | 3 +--
tests/clock.test | 41
+++++++++++++++++++++++++++++++++++++++++
tests/ksysent.c | 1 +
tests/nsyscalls.c | 1 +
34 files changed, 181 insertions(+), 132 deletions(-)
create mode 100755 tests/clock.test
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 b5a09d4f..7d045f7d 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 f59ea571..78eb4121 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 47b71d6a..9d838a10 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 105e511e..69dba9f8 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 d5b54590..792be625 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 30a684a8..219a243e 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 62960d21..3fa2860f 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..373393f6 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..c7980c40 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
#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..dc00ae3f 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 00030 /*Trace clocks-related syscalls*/
#endif /* !STRACE_SYSENT_H */
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c5c124c0..57e99454 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -331,7 +331,6 @@ check_PROGRAMS = \
rt_sigpending \
rt_sigprocmask \
rt_sigqueueinfo \
- rt_sigreturn \
rt_sigsuspend \
rt_sigtimedwait \
rt_tgsigqueueinfo \
@@ -503,6 +502,7 @@ DECODER_TESTS = \
chown.test \
chown32.test \
chroot.test \
+ clock.test \
clock_adjtime.test \
clock_nanosleep.test \
clock_xettime.test \
@@ -728,7 +728,6 @@ DECODER_TESTS = \
rt_sigpending.test \
rt_sigprocmask.test \
rt_sigqueueinfo.test \
- rt_sigreturn.test \
rt_sigsuspend.test \
rt_sigtimedwait.test \
rt_tgsigqueueinfo.test \
diff --git a/tests/clock.test b/tests/clock.test
new file mode 100755
index 00000000..73b01e20
--- /dev/null
+++ b/tests/clock.test
@@ -0,0 +1,41 @@
+#!/bin/sh
+#Check -e trace=%clock option
+
+# Positive Test cases.
+CLOCK_TESTS='40 clock_nanosleep
+37 clock_adjtime
+36 clock_xettime'
+
+# Negative Test Cases.
+NON_CLOCK_TESTS='11 fchdir
+27 futex
+10 fsync'
+
+# Declaring the init.sh
+. "${srcdir=.}/init.sh"
+
+#
+# Tracing Clock_* related syscalls.
+#
+echo "$CLOCK_TESTS" | while read w i
+do
+ run_prog ./$i > /dev/null
+ run_strace -a$w -e trace=%clock,setitimer ./$i > "$EXP"
+ match_diff "$LOG" "$EXP"
+
+done
+
+echo '+++ exited with 0 +++' > "$EXP"
+#
+# Tracing NON_CLOCK related syscalls
+# /dev/null for ignoring print statements
+# from the executable.
+#
+echo "$NON_CLOCK_TESTS" | while read w i
+do
+ run_prog ./$i > /dev/null
+ run_strace -a$w -e trace=%clock ./$i > /dev/null
+ match_diff "$LOG" "$EXP"
+done
+
+rm "$EXP"
diff --git a/tests/ksysent.c b/tests/ksysent.c
index 252feffc..09c2f6b6 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
#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
Thanks,
Rishi
On Wed, Mar 15, 2017 at 2:09 AM, Dmitry V. Levin <ldv at altlinux.org> wrote:
> Hi,
>
> On Tue, Mar 14, 2017 at 10:18:27PM +0530, Rishi Bhatt wrote:
> > Hey,
> > I have implemented clock.test test case,and ya clock_nanosleep's test
> > has setitimer as one of the option,so i did the same and and included
> > setitimer in my test case so that $LOG and $EXP have the same out
> > put. But well i am still in doubt that why printing setitimer is
> > necessary in clock_nanosleep.c?
>
> No, I don't think that printing setitimer is necessary in
> clock_nanosleep.test.
>
> > Well i am not sure about the changeLog thing but what i have
> > understood in README-hacking i have implemented that.
> >
> > I have used TRACE_SCHED 00030,well Eugene said that i have to use a
> > code which doesn't collide with other TRACE_* so what collision means
> > here?
>
> Well, collision is a quite simple concept, isn't it? Try
> $ ./strace -e%clock tests/rt_tgsigqueueinfo
> - I bet you'd be surprised with the output.
>
> > Also i have fixed the other issues that Eugene had pointed out.
>
> Not really, at least the following issues are still there:
>
> Applying: Implemented -e trace=%clock option.
> .git/rebase-apply/patch:883: new blank line at EOF.
>
> timeout: failed to run command '../../tests-m32/clock.test': Permission
> denied
>
> BTW, the patch itself was not inlined correctly, just try to "git am" it
> and you'll see what went wrong.
>
>
> --
> 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 at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/strace-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.strace.io/pipermail/strace-devel/attachments/20170315/27dd337f/attachment.html>
More information about the Strace-devel
mailing list