From 0a13d2391c413e3847b71ec0c1d38f56e353b1b5 Mon Sep 17 00:00:00 2001 From: Rishi Bhatt Date: Tue, 28 Mar 2017 03:31:24 +0530 Subject: [PATCH] Implement -e trace=%clock option linux/*/syscallent.h part is modified automatically by sed -i 's/0\(,[[:space:]]*SEN(clock_\)/TCL\1/' linux/*/syscallent*.h [ldv: rewritten clock.test using sched.test as a template] * sysent.h (TRACE_CLOCK): New macro. * syscall.c: Alias TCL to TRACE_CLOCK around syscallent.h inclusion. * qualify.c (lookup_class): Add TRACE_CLOCK for "%clock". * strace.1 (.SS Filtering): Add information about %clock syscall class. * NEWS: Mention this change. * linux/32/syscallent.h: Add TCL flag for clock_* syscalls. * 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. * tests/clock.test: New test. * tests/Makefile.am (DECODER_TESTS): Add it. * tests/ksysent.c (TCL): New macro, defined to 0. * tests/nsyscalls.c: Likewise. --- NEWS | 1 + 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 | 51 +++++++++++++++++++++++++++++++++++ tests/ksysent.c | 1 + tests/nsyscalls.c | 1 + 35 files changed, 192 insertions(+), 130 deletions(-) create mode 100755 tests/clock.test diff --git a/NEWS b/NEWS index 5e0941f6..18d217ec 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,7 @@ Noteworthy changes in release ?.?? (????-??-??) * Improvements * Enhanced decoding of sched_setattr syscall. * Added -e trace=%sched option for tracing sched_* syscalls. + * Added -e trace=%clock option for tracing clock_* syscalls. * Implemented decoding of signal mask in rt_sigreturn syscall on alpha, arc, arm, avr32, bfin, cris, hppa, m68k, metag, microblaze, mips, nios2, or1k, powerpc, powerpc64, riscv, sh, sh64, sparc, sparc64, tile, x86, and xtensa diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h index a8f95107..236ac10e 100644 --- a/linux/32/syscallent.h +++ b/linux/32/syscallent.h @@ -117,10 +117,10 @@ [109] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [110] = { 4, 0, SEN(timer_settime), "timer_settime" }, [111] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[112] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[113] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[114] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[115] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[112] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[113] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[114] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[115] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [116] = { 3, 0, SEN(syslog), "syslog" }, [117] = { 4, 0, SEN(ptrace), "ptrace" }, [118] = { 2, TSC, SEN(sched_setparam), "sched_setparam" }, @@ -256,7 +256,7 @@ [263] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" }, [264] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [265] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[266] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[266] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [267] = { 1, TD, SEN(syncfs), "syncfs" }, [268] = { 2, TD, SEN(setns), "setns" }, [269] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h index b5a09d4f..e263bb01 100644 --- a/linux/64/syscallent.h +++ b/linux/64/syscallent.h @@ -110,10 +110,10 @@ [109] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [110] = { 4, 0, SEN(timer_settime), "timer_settime" }, [111] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[112] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[113] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[114] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[115] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[112] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[113] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[114] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[115] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [116] = { 3, 0, SEN(syslog), "syslog" }, [117] = { 4, 0, SEN(ptrace), "ptrace" }, [118] = { 2, TSC, SEN(sched_setparam), "sched_setparam" }, @@ -249,7 +249,7 @@ [263] = { 5, TD|TF, SEN(fanotify_mark), "fanotify_mark" }, [264] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [265] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[266] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[266] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [267] = { 1, TD, SEN(syncfs), "syncfs" }, [268] = { 2, TD, SEN(setns), "setns" }, [269] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h index e1b6933b..8a427308 100644 --- a/linux/alpha/syscallent.h +++ b/linux/alpha/syscallent.h @@ -381,10 +381,10 @@ [416] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [417] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [418] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[419] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[420] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[421] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[422] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[419] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[420] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[421] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[422] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [423] = { 4, TI, SEN(semtimedop), "semtimedop" }, [424] = { 3, TS, SEN(tgkill), "tgkill" }, [425] = { 2, TF, SEN(stat64), "stat64" }, @@ -461,7 +461,7 @@ [496] = { 4, 0, SEN(prlimit64), "prlimit64" }, [497] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [498] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[499] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[499] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [500] = { 1, TD, SEN(syncfs), "syncfs" }, [501] = { 2, TD, SEN(setns), "setns" }, [502] = { 4, TN, SEN(accept4), "accept4" }, diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h index ed9ec9ad..6444e4ff 100644 --- a/linux/arm/syscallent.h +++ b/linux/arm/syscallent.h @@ -286,10 +286,10 @@ [259] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [260] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [261] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[262] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[263] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[264] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[265] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[262] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[263] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[264] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[265] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [266] = { 3, TF, SEN(statfs64), "statfs64" }, [267] = { 3, TD, SEN(fstatfs64), "fstatfs64" }, [268] = { 3, TS, SEN(tgkill), "tgkill" }, @@ -396,7 +396,7 @@ [369] = { 4, 0, SEN(prlimit64), "prlimit64" }, [370] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [371] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[372] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[372] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [373] = { 1, TD, SEN(syncfs), "syncfs" }, [374] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [375] = { 2, TD, SEN(setns), "setns" }, diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h index 7f50934b..84e409d1 100644 --- a/linux/avr32/syscallent.h +++ b/linux/avr32/syscallent.h @@ -240,10 +240,10 @@ [212] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [213] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [214] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[215] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[216] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[217] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[218] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[215] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[216] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[217] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[218] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [219] = { 3, TF, SEN(statfs64), "statfs64" }, [220] = { 3, TD, SEN(fstatfs64), "fstatfs64" }, [221] = { 3, TS, SEN(tgkill), "tgkill" }, @@ -331,7 +331,7 @@ [303] = { 4, 0, SEN(prlimit64), "prlimit64" }, [304] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [305] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[306] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[306] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [307] = { 1, TD, SEN(syncfs), "syncfs" }, [308] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [309] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" }, diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h index 800b943b..83e49c20 100644 --- a/linux/bfin/syscallent.h +++ b/linux/bfin/syscallent.h @@ -290,10 +290,10 @@ [262] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [263] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [264] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[265] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[266] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[267] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[268] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[265] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[266] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[267] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[268] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [269] = { 3, TF, SEN(statfs64), "statfs64" }, [270] = { 3, TD, SEN(fstatfs64), "fstatfs64" }, [271] = { 3, TS, SEN(tgkill), "tgkill" }, @@ -402,7 +402,7 @@ [374] = { 3, 0, SEN(cacheflush), "cacheflush" }, [375] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [376] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[377] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[377] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [378] = { 1, TD, SEN(syncfs), "syncfs" }, [379] = { 2, TD, SEN(setns), "setns" }, [380] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, diff --git a/linux/crisv10/syscallent.h b/linux/crisv10/syscallent.h index 96fb6bd0..a66792d0 100644 --- a/linux/crisv10/syscallent.h +++ b/linux/crisv10/syscallent.h @@ -258,10 +258,10 @@ [261] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [262] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [263] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[264] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[265] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[266] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[267] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[264] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[265] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[266] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[267] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [268] = { 3, TF, SEN(statfs64), "statfs64" }, [269] = { 3, TD, SEN(fstatfs64), "fstatfs64" }, [270] = { 3, TS, SEN(tgkill), "tgkill" }, @@ -338,7 +338,7 @@ [342] = { 2, TD, SEN(fanotify_init), "fanotify_init" }, [343] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" }, [344] = { 4, 0, SEN(prlimit64), "prlimit64" }, -[345] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[345] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [346] = { 1, TD, SEN(syncfs), "syncfs" }, [347] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [348] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" }, diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h index f59ea571..f95944d2 100644 --- a/linux/hppa/syscallent.h +++ b/linux/hppa/syscallent.h @@ -257,10 +257,10 @@ [252] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [253] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [254] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[255] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[256] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[257] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[258] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[255] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[256] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[257] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[258] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [259] = { 3, TS, SEN(tgkill), "tgkill" }, [260] = { 6, TM, SEN(mbind), "mbind" }, [261] = { 5, TM, SEN(get_mempolicy), "get_mempolicy" }, @@ -326,7 +326,7 @@ [321] = { 4, 0, SEN(prlimit64), "prlimit64" }, [322] = { 2, TD, SEN(fanotify_init), "fanotify_init" }, [323] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" }, -[324] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[324] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [325] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [326] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, [327] = { 1, TD, SEN(syncfs), "syncfs" }, diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h index 84c5bdec..7966eb1d 100644 --- a/linux/i386/syscallent.h +++ b/linux/i386/syscallent.h @@ -289,10 +289,10 @@ [261] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [262] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [263] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[264] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[265] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[266] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[267] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[264] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[265] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[266] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[267] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [268] = { 3, TF, SEN(statfs64), "statfs64" }, [269] = { 3, TD, SEN(fstatfs64), "fstatfs64" }, [270] = { 3, TS, SEN(tgkill), "tgkill" }, @@ -368,7 +368,7 @@ [340] = { 4, 0, SEN(prlimit64), "prlimit64" }, [341] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [342] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[343] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[343] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [344] = { 1, TD, SEN(syncfs), "syncfs" }, [345] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [346] = { 2, TD, SEN(setns), "setns" }, diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h index 47b71d6a..c226bc6e 100644 --- a/linux/ia64/syscallent.h +++ b/linux/ia64/syscallent.h @@ -270,10 +270,10 @@ [1250] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [1251] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [1252] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[1253] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[1254] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[1255] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[1256] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[1253] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[1254] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[1255] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[1256] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [1257] = { 3, TD, SEN(fstatfs64), "fstatfs64" }, [1258] = { 3, TF, SEN(statfs64), "statfs64" }, [1259] = { 6, TM, SEN(mbind), "mbind" }, @@ -345,7 +345,7 @@ [1325] = { 4, 0, SEN(prlimit64), "prlimit64" }, [1326] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [1327] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[1328] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[1328] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [1329] = { 1, TD, SEN(syncfs), "syncfs" }, [1330] = { 2, TD, SEN(setns), "setns" }, [1331] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h index 8e7dd97d..0364ab97 100644 --- a/linux/m68k/syscallent.h +++ b/linux/m68k/syscallent.h @@ -284,10 +284,10 @@ [256] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [257] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [258] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[259] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[260] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[261] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[262] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[259] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[260] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[261] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[262] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [263] = { 3, TF, SEN(statfs64), "statfs64" }, [264] = { 3, TD, SEN(fstatfs64), "fstatfs64" }, [265] = { 3, TS, SEN(tgkill), "tgkill" }, @@ -367,7 +367,7 @@ [339] = { 4, 0, SEN(prlimit64), "prlimit64" }, [340] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [341] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[342] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[342] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [343] = { 1, TD, SEN(syncfs), "syncfs" }, [344] = { 2, TD, SEN(setns), "setns" }, [345] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" }, diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h index 2a59eb3d..e7cb98c5 100644 --- a/linux/microblaze/syscallent.h +++ b/linux/microblaze/syscallent.h @@ -289,10 +289,10 @@ [261] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [262] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [263] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[264] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[265] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[266] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[267] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[264] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[265] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[266] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[267] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [268] = { 3, TF, SEN(statfs64), "statfs64" }, [269] = { 3, TD, SEN(fstatfs64), "fstatfs64" }, [270] = { 3, TS, SEN(tgkill), "tgkill" }, @@ -398,7 +398,7 @@ [370] = { 4, 0, SEN(prlimit64), "prlimit64" }, [371] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [372] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[373] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[373] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [374] = { 1, TD, SEN(syncfs), "syncfs" }, [375] = { 2, TD, SEN(setns), "setns" }, [376] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h index 052af4fa..bce788fb 100644 --- a/linux/mips/syscallent-n32.h +++ b/linux/mips/syscallent-n32.h @@ -225,10 +225,10 @@ [6222] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [6223] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [6224] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[6225] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[6226] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[6227] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[6228] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[6225] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[6226] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[6227] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[6228] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [6229] = { 3, TS, SEN(tgkill), "tgkill" }, [6230] = { 2, TF, SEN(utimes), "utimes" }, [6231] = { 6, TM, SEN(mbind), "mbind" }, @@ -305,7 +305,7 @@ [6302] = { 4, 0, SEN(prlimit64), "prlimit64" }, [6303] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [6304] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[6305] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[6305] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [6306] = { 1, TD, SEN(syncfs), "syncfs" }, [6307] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [6308] = { 2, TD, SEN(setns), "setns" }, diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h index fdd778b4..37c20240 100644 --- a/linux/mips/syscallent-n64.h +++ b/linux/mips/syscallent-n64.h @@ -221,10 +221,10 @@ [5218] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [5219] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [5220] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[5221] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[5222] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[5223] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[5224] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[5221] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[5222] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[5223] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[5224] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [5225] = { 3, TS, SEN(tgkill), "tgkill" }, [5226] = { 2, TF, SEN(utimes), "utimes" }, [5227] = { 6, TM, SEN(mbind), "mbind" }, @@ -300,7 +300,7 @@ [5297] = { 4, 0, SEN(prlimit64), "prlimit64" }, [5298] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [5299] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[5300] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[5300] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [5301] = { 1, TD, SEN(syncfs), "syncfs" }, [5302] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [5303] = { 2, TD, SEN(setns), "setns" }, diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h index 509a719a..4e5797ea 100644 --- a/linux/mips/syscallent-o32.h +++ b/linux/mips/syscallent-o32.h @@ -262,10 +262,10 @@ [4259] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [4260] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [4261] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[4262] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[4263] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[4264] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[4265] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[4262] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[4263] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[4264] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[4265] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [4266] = { 3, TS, SEN(tgkill), "tgkill" }, [4267] = { 2, TF, SEN(utimes), "utimes" }, [4268] = { 6, TM, SEN(mbind), "mbind" }, @@ -341,7 +341,7 @@ [4338] = { 4, 0, SEN(prlimit64), "prlimit64" }, [4339] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [4340] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[4341] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[4341] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [4342] = { 1, TD, SEN(syncfs), "syncfs" }, [4343] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [4344] = { 2, TD, SEN(setns), "setns" }, diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h index 1431f8a9..86e3a3f6 100644 --- a/linux/powerpc/syscallent.h +++ b/linux/powerpc/syscallent.h @@ -271,10 +271,10 @@ [242] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [243] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [244] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[245] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[246] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[247] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[248] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[245] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[246] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[247] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[248] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [249] = { 2, 0, SEN(printargs), "swapcontext" }, [250] = { 3, TS, SEN(tgkill), "tgkill" }, [251] = { 2, TF, SEN(utimes), "utimes" }, @@ -373,7 +373,7 @@ [344] = { 4, TN, SEN(accept4), "accept4" }, [345] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [346] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[347] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[347] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [348] = { 1, TD, SEN(syncfs), "syncfs" }, [349] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [350] = { 2, TD, SEN(setns), "setns" }, diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h index eae3b57b..77f91fa6 100644 --- a/linux/powerpc64/syscallent.h +++ b/linux/powerpc64/syscallent.h @@ -266,10 +266,10 @@ [242] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [243] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [244] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[245] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[246] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[247] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[248] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[245] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[246] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[247] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[248] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [249] = { 2, 0, SEN(printargs), "swapcontext" }, [250] = { 3, TS, SEN(tgkill), "tgkill" }, [251] = { 2, TF, SEN(utimes), "utimes" }, @@ -368,7 +368,7 @@ [344] = { 4, TN, SEN(accept4), "accept4" }, [345] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [346] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[347] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[347] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [348] = { 1, TD, SEN(syncfs), "syncfs" }, [349] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [350] = { 2, TD, SEN(setns), "setns" }, diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h index 105e511e..3b5dc5b0 100644 --- a/linux/s390/syscallent.h +++ b/linux/s390/syscallent.h @@ -287,10 +287,10 @@ [256] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [257] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [258] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[259] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[260] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[261] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[262] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[259] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[260] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[261] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[262] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [263] = { 5, 0, SEN(vserver), "vserver" }, [264] = { 6, TD, SEN(fadvise64_64), "fadvise64_64" }, [265] = { 3, TF, SEN(statfs64), "statfs64" }, @@ -365,7 +365,7 @@ [334] = { 4, 0, SEN(prlimit64), "prlimit64" }, [335] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [336] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[337] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[337] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [338] = { 1, TD, SEN(syncfs), "syncfs" }, [339] = { 2, TD, SEN(setns), "setns" }, [340] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" }, diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h index d5b54590..0e82385a 100644 --- a/linux/s390x/syscallent.h +++ b/linux/s390x/syscallent.h @@ -271,10 +271,10 @@ [256] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [257] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [258] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[259] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[260] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[261] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[262] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[259] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[260] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[261] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[262] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [263] = { 5, 0, SEN(vserver), "vserver" }, [264] = { }, [265] = { 3, TF, SEN(statfs64), "statfs64" }, @@ -349,7 +349,7 @@ [334] = { 4, 0, SEN(prlimit64), "prlimit64" }, [335] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [336] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[337] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[337] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [338] = { 1, TD, SEN(syncfs), "syncfs" }, [339] = { 2, TD, SEN(setns), "setns" }, [340] = { 6, 0, SEN(process_vm_readv), "process_vm_readv" }, diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h index 13884169..92ec4224 100644 --- a/linux/sh/syscallent.h +++ b/linux/sh/syscallent.h @@ -289,10 +289,10 @@ [261] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [262] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [263] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[264] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[265] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[266] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[267] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[264] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[265] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[266] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[267] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [268] = { 3, TF, SEN(statfs64), "statfs64" }, [269] = { 3, TD, SEN(fstatfs64), "fstatfs64" }, [270] = { 3, TS, SEN(tgkill), "tgkill" }, @@ -386,7 +386,7 @@ [358] = { 4, TN, SEN(accept4), "accept4" }, [359] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [360] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[361] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[361] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [362] = { 1, TD, SEN(syncfs), "syncfs" }, [363] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [364] = { 2, TD, SEN(setns), "setns" }, diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h index e9351048..cf64fe4e 100644 --- a/linux/sh64/syscallent.h +++ b/linux/sh64/syscallent.h @@ -315,10 +315,10 @@ [289] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [290] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [291] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[292] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[293] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[294] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[295] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[292] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[293] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[294] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[295] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [296] = { 3, TF, SEN(statfs64), "statfs64" }, [297] = { 3, TD, SEN(fstatfs64), "fstatfs64" }, [298] = { 3, TS, SEN(tgkill), "tgkill" }, @@ -395,7 +395,7 @@ [369] = { 4, 0, SEN(prlimit64), "prlimit64" }, [370] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [371] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[372] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[372] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [373] = { 1, TD, SEN(syncfs), "syncfs" }, [374] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [375] = { 2, TD, SEN(setns), "setns" }, diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h index 30d88193..3c3c9462 100644 --- a/linux/sparc/syscallent.h +++ b/linux/sparc/syscallent.h @@ -254,10 +254,10 @@ [253] = { 1, TD, SEN(fdatasync), "fdatasync" }, [254] = { 3, 0, SEN(nfsservctl), "nfsservctl" }, [255] = { 6, TD, SEN(sync_file_range), "sync_file_range" }, -[256] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[257] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[258] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[259] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[256] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[257] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[258] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[259] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [260] = { 3, TSC, SEN(sched_getaffinity), "sched_getaffinity" }, [261] = { 3, TSC, SEN(sched_setaffinity), "sched_setaffinity" }, [262] = { 4, 0, SEN(timer_settime), "timer_settime" }, @@ -332,7 +332,7 @@ [331] = { 4, 0, SEN(prlimit64), "prlimit64" }, [332] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [333] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[334] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[334] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [335] = { 1, TD, SEN(syncfs), "syncfs" }, [336] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [337] = { 2, TD, SEN(setns), "setns" }, diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h index 1137a3e5..be6a3d99 100644 --- a/linux/sparc64/syscallent.h +++ b/linux/sparc64/syscallent.h @@ -252,10 +252,10 @@ [253] = { 1, TD, SEN(fdatasync), "fdatasync" }, [254] = { 3, 0, SEN(nfsservctl), "nfsservctl" }, [255] = { 4, TD, SEN(sync_file_range), "sync_file_range" }, -[256] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[257] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[258] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[259] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[256] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[257] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[258] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[259] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [260] = { 3, TSC, SEN(sched_getaffinity), "sched_getaffinity" }, [261] = { 3, TSC, SEN(sched_setaffinity), "sched_setaffinity" }, [262] = { 4, 0, SEN(timer_settime), "timer_settime" }, @@ -330,7 +330,7 @@ [331] = { 4, 0, SEN(prlimit64), "prlimit64" }, [332] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [333] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[334] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[334] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [335] = { 1, TD, SEN(syncfs), "syncfs" }, [336] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [337] = { 2, TD, SEN(setns), "setns" }, diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h index 60bda375..f8be3253 100644 --- a/linux/x32/syscallent.h +++ b/linux/x32/syscallent.h @@ -225,10 +225,10 @@ [224] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [225] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [226] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[227] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[228] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[229] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[230] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[227] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[228] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[229] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[230] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [231] = { 1, TP|SE, SEN(exit), "exit_group" }, [232] = { 4, TD, SEN(epoll_wait), "epoll_wait" }, [233] = { 4, TD, SEN(epoll_ctl), "epoll_ctl" }, @@ -303,7 +303,7 @@ [302] = { 4, 0, SEN(prlimit64), "prlimit64" }, [303] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [304] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[305] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[305] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [306] = { 1, TD, SEN(syncfs), "syncfs" }, [307] = { 4, TN, SEN(printargs), "64:sendmmsg" }, [308] = { 2, TD, SEN(setns), "setns" }, diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h index 73165b88..2aa20bd9 100644 --- a/linux/x86_64/syscallent.h +++ b/linux/x86_64/syscallent.h @@ -225,10 +225,10 @@ [224] = { 2, 0, SEN(timer_gettime), "timer_gettime" }, [225] = { 1, 0, SEN(timer_getoverrun), "timer_getoverrun" }, [226] = { 1, 0, SEN(timer_delete), "timer_delete" }, -[227] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[228] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[229] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[230] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[227] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[228] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[229] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[230] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [231] = { 1, TP|SE, SEN(exit), "exit_group" }, [232] = { 4, TD, SEN(epoll_wait), "epoll_wait" }, [233] = { 4, TD, SEN(epoll_ctl), "epoll_ctl" }, @@ -303,7 +303,7 @@ [302] = { 4, 0, SEN(prlimit64), "prlimit64" }, [303] = { 5, TD|TF, SEN(name_to_handle_at), "name_to_handle_at" }, [304] = { 3, TD, SEN(open_by_handle_at), "open_by_handle_at" }, -[305] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[305] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [306] = { 1, TD, SEN(syncfs), "syncfs" }, [307] = { 4, TN, SEN(sendmmsg), "sendmmsg" }, [308] = { 2, TD, SEN(setns), "setns" }, diff --git a/linux/xtensa/syscallent.h b/linux/xtensa/syscallent.h index 63995bc2..21dea9fd 100644 --- a/linux/xtensa/syscallent.h +++ b/linux/xtensa/syscallent.h @@ -234,10 +234,10 @@ [241] = { 3, 0, SEN(io_submit), "io_submit" }, [242] = { 5, 0, SEN(io_getevents), "io_getevents" }, [243] = { 3, 0, SEN(io_cancel), "io_cancel" }, -[244] = { 2, 0, SEN(clock_settime), "clock_settime" }, -[245] = { 2, 0, SEN(clock_gettime), "clock_gettime" }, -[246] = { 2, 0, SEN(clock_getres), "clock_getres" }, -[247] = { 4, 0, SEN(clock_nanosleep), "clock_nanosleep" }, +[244] = { 2, TCL, SEN(clock_settime), "clock_settime" }, +[245] = { 2, TCL, SEN(clock_gettime), "clock_gettime" }, +[246] = { 2, TCL, SEN(clock_getres), "clock_getres" }, +[247] = { 4, TCL, SEN(clock_nanosleep), "clock_nanosleep" }, [248] = { 3, 0, SEN(timer_create), "timer_create" }, [249] = { 1, 0, SEN(timer_delete), "timer_delete" }, [250] = { 4, 0, SEN(timer_settime), "timer_settime" }, @@ -317,7 +317,7 @@ [326] = { 6, TD, SEN(sync_file_range2), "sync_file_range2" }, [327] = { 5, TD, SEN(perf_event_open), "perf_event_open" }, [328] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" }, -[329] = { 2, 0, SEN(clock_adjtime), "clock_adjtime" }, +[329] = { 2, TCL, SEN(clock_adjtime), "clock_adjtime" }, [330] = { 4, 0, SEN(prlimit64), "prlimit64" }, [331] = { 5, 0, SEN(kcmp), "kcmp" }, [332] = { 3, TD, SEN(finit_module), "finit_module" }, diff --git a/qualify.c b/qualify.c index b5023f21..6ab30339 100644 --- a/qualify.c +++ b/qualify.c @@ -220,6 +220,7 @@ lookup_class(const char *s) { "%ipc", TRACE_IPC }, { "%network", TRACE_NETWORK }, { "%sched", TRACE_SCHED }, + { "%clock", TRACE_CLOCK }, }; unsigned int i; diff --git a/strace.1 b/strace.1 index 9b69ec22..0c0f1a7a 100644 --- a/strace.1 +++ b/strace.1 @@ -429,6 +429,9 @@ Trace all memory mapping related system calls. .BR "\-e\ trace" = %sched Trace all scheduler-related (sched_*) system calls. .TP +.BR "\-e\ trace" = %clock +Trace all clock-related (clock_*) system calls. +.TP \fB\-e\ abbrev\fR=\,\fIset\fR Abbreviate the output from printing each member of large structures. The default is diff --git a/syscall.c b/syscall.c index 569055f2..5ca46d1e 100644 --- a/syscall.c +++ b/syscall.c @@ -77,6 +77,7 @@ #define TS TRACE_SIGNAL #define TM TRACE_MEMORY #define TSC TRACE_SCHED +#define TCL TRACE_CLOCK #define NF SYSCALL_NEVER_FAILS #define MA MAX_ARGS #define SI STACKTRACE_INVALIDATE_CACHE @@ -113,6 +114,7 @@ static const struct_sysent sysent2[] = { #undef TS #undef TM #undef TSC +#undef TCL #undef NF #undef MA #undef SI diff --git a/sysent.h b/sysent.h index f4eaa930..53a4a0a8 100644 --- a/sysent.h +++ b/sysent.h @@ -22,5 +22,6 @@ typedef struct sysent { #define TRACE_INDIRECT_SUBCALL 02000 /* Syscall is an indirect socket/ipc subcall. */ #define COMPAT_SYSCALL_TYPES 04000 /* A compat syscall that uses compat types. */ #define TRACE_SCHED 010000 /* Trace scheduler-related syscalls. */ +#define TRACE_CLOCK 020000 /* Trace clock-related syscalls. */ #endif /* !STRACE_SYSENT_H */ diff --git a/tests/Makefile.am b/tests/Makefile.am index 4bdd79e9..a1b4d9df 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -492,6 +492,7 @@ DECODER_TESTS = \ btrfs-w.test \ caps-abbrev.test \ caps.test \ + clock.test \ eventfd.test \ execve-v.test \ execve.test \ diff --git a/tests/clock.test b/tests/clock.test new file mode 100755 index 00000000..f2e5b773 --- /dev/null +++ b/tests/clock.test @@ -0,0 +1,51 @@ +#!/bin/sh +# +# Check -e trace=%clock option. +# +# Copyright (c) 2017 The strace developers. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +. "${srcdir=.}/init.sh" + +while read w s; do { + try_run_prog "../$s" || continue + run_strace -a$w -e%clock ../$s > "$EXP" + match_diff "$LOG" "$EXP" +} < /dev/null; done << EOF +37 clock_adjtime +40 clock_nanosleep +36 clock_xettime +EOF + +# Surprised that fcntl*, futimesat, utime, utimensat, and utimes tests +# linked with musl use clock_gettime? Me too! +grep -E -v '^(#|clock_|times$|fcntl|futimesat$|utime)' \ + < "$srcdir/pure_executables.list" > negative.list + +while read s; do { + try_run_prog "../$s" || continue + run_strace -qq -esignal=none -e%clock ../$s > /dev/null + match_diff "$LOG" /dev/null +} < /dev/null; done < negative.list diff --git a/tests/ksysent.c b/tests/ksysent.c index 252feffc..72413692 100644 --- a/tests/ksysent.c +++ b/tests/ksysent.c @@ -41,6 +41,7 @@ #define TS 0 #define TM 0 #define TSC 0 +#define TCL 0 #define NF 0 #define MA 0 #define SI 0 diff --git a/tests/nsyscalls.c b/tests/nsyscalls.c index c2bdb202..10943898 100644 --- a/tests/nsyscalls.c +++ b/tests/nsyscalls.c @@ -42,6 +42,7 @@ #define TS 0 #define TM 0 #define TSC 0 +#define TCL 0 #define NF 0 #define MA 0 #define SI 0 -- 2.40.0