From 09496c72b8d12b1f52fde76448f9b5e400f0807c Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Sun, 12 May 2019 22:45:45 +0000 Subject: [PATCH] Implement and use new parsers of timerfd_gettime and timerfd_settime syscalls * time.c (SYS_FUNC(timerfd_gettime), SYS_FUNC(timerfd_settime)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(timerfd_gettime32), SYS_FUNC(timerfd_settime32)): New functions. * pathtrace.c (pathtrace_match_set): Replace SEN_timerfd_gettime and SEN_timerfd_settime with SEN_timerfd_gettime32 and SEN_timerfd_settime32, respectively. * linux/64/syscallent.h: Replace SEN(timerfd_gettime) and SEN(timerfd_settime) with SEN(timerfd_gettime64) and SEN(timerfd_settime64), respectively. * linux/alpha/syscallent.h: Likewise. * linux/ia64/syscallent.h: Likewise. * linux/mips/syscallent-n64.h: Likewise. * linux/powerpc64/syscallent.h: Likewise. * linux/s390x/syscallent.h: Likewise. * linux/sh64/syscallent.h: Likewise. * linux/sparc64/syscallent.h: Likewise. * linux/x32/syscallent.h: Likewise. * linux/x86_64/syscallent.h: Likewise. * linux/32/syscallent.h: Replace SEN(timerfd_gettime) and SEN(timerfd_settime) with SEN(timerfd_gettime32) and SEN(timerfd_settime32), respectively. * linux/arm/syscallent.h: Likewise. * linux/avr32/syscallent.h: Likewise. * linux/bfin/syscallent.h: Likewise. * linux/hppa/syscallent.h: Likewise. * linux/i386/syscallent.h: Likewise. * linux/m68k/syscallent.h: Likewise. * linux/microblaze/syscallent.h: Likewise. * linux/mips/syscallent-n32.h: Likewise. * linux/mips/syscallent-o32.h: Likewise. * linux/powerpc/syscallent.h: Likewise. * linux/s390/syscallent.h: Likewise. * linux/sh/syscallent.h: Likewise. * linux/sparc/syscallent.h: Likewise. * linux/xtensa/syscallent.h: Likewise. --- linux/32/syscallent.h | 4 ++-- linux/64/syscallent.h | 4 ++-- linux/alpha/syscallent.h | 4 ++-- linux/arm/syscallent.h | 4 ++-- linux/avr32/syscallent.h | 4 ++-- linux/bfin/syscallent.h | 4 ++-- linux/hppa/syscallent.h | 4 ++-- linux/i386/syscallent.h | 4 ++-- linux/ia64/syscallent.h | 4 ++-- linux/m68k/syscallent.h | 4 ++-- linux/microblaze/syscallent.h | 4 ++-- linux/mips/syscallent-n32.h | 4 ++-- linux/mips/syscallent-n64.h | 4 ++-- linux/mips/syscallent-o32.h | 4 ++-- linux/powerpc/syscallent.h | 4 ++-- linux/powerpc64/syscallent.h | 4 ++-- linux/s390/syscallent.h | 4 ++-- linux/s390x/syscallent.h | 4 ++-- linux/sh/syscallent.h | 4 ++-- linux/sh64/syscallent.h | 4 ++-- linux/sparc/syscallent.h | 4 ++-- linux/sparc64/syscallent.h | 4 ++-- linux/x32/syscallent.h | 4 ++-- linux/x86_64/syscallent.h | 4 ++-- linux/xtensa/syscallent.h | 4 ++-- pathtrace.c | 4 ++-- time.c | 12 ++++++++---- 27 files changed, 60 insertions(+), 56 deletions(-) diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h index 3034e7f6..bbcbf92c 100644 --- a/linux/32/syscallent.h +++ b/linux/32/syscallent.h @@ -98,8 +98,8 @@ [ 84] = { 6, TD, SEN(sync_file_range), "sync_file_range" }, #endif [ 85] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, -[ 86] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[ 87] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[ 86] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, +[ 87] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, [ 88] = { 4, TD|TF, SEN(utimensat), "utimensat" }, [ 89] = { 1, TF, SEN(acct), "acct" }, [ 90] = { 2, 0, SEN(capget), "capget" }, diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h index e9a72cfb..1778272b 100644 --- a/linux/64/syscallent.h +++ b/linux/64/syscallent.h @@ -91,8 +91,8 @@ [ 83] = { 1, TD, SEN(fdatasync), "fdatasync" }, [ 84] = { 4, TD, SEN(sync_file_range), "sync_file_range" }, [ 85] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, -[ 86] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[ 87] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[ 86] = { 4, TD, SEN(timerfd_settime64), "timerfd_settime" }, +[ 87] = { 2, TD, SEN(timerfd_gettime64), "timerfd_gettime" }, [ 88] = { 4, TD|TF, SEN(utimensat), "utimensat" }, [ 89] = { 1, TF, SEN(acct), "acct" }, [ 90] = { 2, 0, SEN(capget), "capget" }, diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h index 9d18ab8d..b027bdcb 100644 --- a/linux/alpha/syscallent.h +++ b/linux/alpha/syscallent.h @@ -425,8 +425,8 @@ [479] = { 5, TN, SEN(recvmmsg_time64), "recvmmsg" }, [480] = { 4, TD, SEN(fallocate), "fallocate" }, [481] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, -[482] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[483] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[482] = { 4, TD, SEN(timerfd_settime64), "timerfd_settime" }, +[483] = { 2, TD, SEN(timerfd_gettime64), "timerfd_gettime" }, [484] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [485] = { 2, TD, SEN(eventfd2), "eventfd2" }, [486] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h index 5e6c79f9..cd7b1576 100644 --- a/linux/arm/syscallent.h +++ b/linux/arm/syscallent.h @@ -360,8 +360,8 @@ [350] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, [351] = { 1, TD, SEN(eventfd), "eventfd" }, [352] = { 6, TD, SEN(fallocate), "fallocate" }, -[353] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[354] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[353] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, +[354] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, [355] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [356] = { 2, TD, SEN(eventfd2), "eventfd2" }, [357] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/avr32/syscallent.h b/linux/avr32/syscallent.h index a5f1efa3..d4608029 100644 --- a/linux/avr32/syscallent.h +++ b/linux/avr32/syscallent.h @@ -294,8 +294,8 @@ [285] = { 5, TD, SEN(pwrite), "pwrite64" }, [286] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, [287] = { 6, TD, SEN(fallocate), "fallocate" }, -[288] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[289] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[288] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, +[289] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, [290] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [291] = { 2, TD, SEN(eventfd2), "eventfd2" }, [292] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/bfin/syscallent.h b/linux/bfin/syscallent.h index 0bbfeaa5..f97ae058 100644 --- a/linux/bfin/syscallent.h +++ b/linux/bfin/syscallent.h @@ -364,8 +364,8 @@ [355] = { 3, 0, SEN(get_robust_list), "get_robust_list" }, [356] = { 6, TD, SEN(fallocate), "fallocate" }, [357] = { 4, TI, SEN(semtimedop_time32), "semtimedop" }, -[358] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[359] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[358] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, +[359] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, [360] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [361] = { 2, TD, SEN(eventfd2), "eventfd2" }, [362] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h index 656c36ea..dd4448fd 100644 --- a/linux/hppa/syscallent.h +++ b/linux/hppa/syscallent.h @@ -310,8 +310,8 @@ [304] = { 1, TD, SEN(eventfd), "eventfd" }, [305] = { 6, TD, SEN(fallocate), "fallocate" }, [306] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, -[307] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[308] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[307] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, +[308] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, [309] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [310] = { 2, TD, SEN(eventfd2), "eventfd2" }, [311] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h index 58eaf028..faa70b02 100644 --- a/linux/i386/syscallent.h +++ b/linux/i386/syscallent.h @@ -331,8 +331,8 @@ [322] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, [323] = { 1, TD, SEN(eventfd), "eventfd" }, [324] = { 6, TD, SEN(fallocate), "fallocate" }, -[325] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[326] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[325] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, +[326] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, [327] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [328] = { 2, TD, SEN(eventfd2), "eventfd2" }, [329] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h index d862577d..a59ceaab 100644 --- a/linux/ia64/syscallent.h +++ b/linux/ia64/syscallent.h @@ -294,8 +294,8 @@ [1024 + 284] = { 4, TD, SEN(timerfd), "timerfd" }, [1024 + 285] = { 1, TD, SEN(eventfd), "eventfd" }, [1024 + 286] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, -[1024 + 287] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[1024 + 288] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[1024 + 287] = { 4, TD, SEN(timerfd_settime64), "timerfd_settime" }, +[1024 + 288] = { 2, TD, SEN(timerfd_gettime64), "timerfd_gettime" }, [1024 + 289] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [1024 + 290] = { 2, TD, SEN(eventfd2), "eventfd2" }, [1024 + 291] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/m68k/syscallent.h b/linux/m68k/syscallent.h index dee14139..1f2b3db4 100644 --- a/linux/m68k/syscallent.h +++ b/linux/m68k/syscallent.h @@ -327,8 +327,8 @@ [318] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, [319] = { 1, TD, SEN(eventfd), "eventfd" }, [320] = { 6, TD, SEN(fallocate), "fallocate" }, -[321] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[322] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[321] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, +[322] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, [323] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [324] = { 2, TD, SEN(eventfd2), "eventfd2" }, [325] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h index 5d1b176f..1389854f 100644 --- a/linux/microblaze/syscallent.h +++ b/linux/microblaze/syscallent.h @@ -332,8 +332,8 @@ [323] = { 1, TD, SEN(eventfd), "eventfd" }, [324] = { 6, TD, SEN(fallocate), "fallocate" }, [325] = { 4, TI, SEN(semtimedop_time32), "semtimedop" }, -[326] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[327] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[326] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, +[327] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, [328] = { 4, TI, SEN(semctl), "semctl" }, [329] = { 3, TI, SEN(semget), "semget" }, [330] = { 3, TI, SEN(semop), "semop" }, diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h index 4f0fd8fc..736da779 100644 --- a/linux/mips/syscallent-n32.h +++ b/linux/mips/syscallent-n32.h @@ -292,8 +292,8 @@ [6282] = { 1, TD, SEN(eventfd), "eventfd" }, [6283] = { 4, TD, SEN(fallocate), "fallocate" }, [6284] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, -[6285] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, -[6286] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, +[6285] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, +[6286] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, [6287] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [6288] = { 2, TD, SEN(eventfd2), "eventfd2" }, [6289] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h index fb183be5..d4df7a01 100644 --- a/linux/mips/syscallent-n64.h +++ b/linux/mips/syscallent-n64.h @@ -288,8 +288,8 @@ [5278] = { 1, TD, SEN(eventfd), "eventfd" }, [5279] = { 4, TD, SEN(fallocate), "fallocate" }, [5280] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, -[5281] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, -[5282] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, +[5281] = { 2, TD, SEN(timerfd_gettime64), "timerfd_gettime" }, +[5282] = { 4, TD, SEN(timerfd_settime64), "timerfd_settime" }, [5283] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [5284] = { 2, TD, SEN(eventfd2), "eventfd2" }, [5285] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h index cd68a2c6..539d1f8c 100644 --- a/linux/mips/syscallent-o32.h +++ b/linux/mips/syscallent-o32.h @@ -330,8 +330,8 @@ [4319] = { 1, TD, SEN(eventfd), "eventfd" }, [4320] = { 6, TD, SEN(fallocate), "fallocate" }, [4321] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, -[4322] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, -[4323] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, +[4322] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, +[4323] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, [4324] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [4325] = { 2, TD, SEN(eventfd2), "eventfd2" }, [4326] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h index 72850cc5..628c717c 100644 --- a/linux/powerpc/syscallent.h +++ b/linux/powerpc/syscallent.h @@ -318,8 +318,8 @@ [308] = { 6, TD, SEN(sync_file_range2), "sync_file_range2" }, [309] = { 6, TD, SEN(fallocate), "fallocate" }, [310] = { 3, 0, SEN(subpage_prot), "subpage_prot" }, -[311] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[312] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[311] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, +[312] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, [313] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [314] = { 2, TD, SEN(eventfd2), "eventfd2" }, [315] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h index 694a2bdf..0d3296ae 100644 --- a/linux/powerpc64/syscallent.h +++ b/linux/powerpc64/syscallent.h @@ -313,8 +313,8 @@ [308] = { 4, TD, SEN(sync_file_range2), "sync_file_range2" }, [309] = { 4, TD, SEN(fallocate), "fallocate" }, [310] = { 3, 0, SEN(subpage_prot), "subpage_prot" }, -[311] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[312] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[311] = { 4, TD, SEN(timerfd_settime64), "timerfd_settime" }, +[312] = { 2, TD, SEN(timerfd_gettime64), "timerfd_gettime" }, [313] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [314] = { 2, TD, SEN(eventfd2), "eventfd2" }, [315] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h index 785f773e..a0992e3b 100644 --- a/linux/s390/syscallent.h +++ b/linux/s390/syscallent.h @@ -329,8 +329,8 @@ [317] = { 4, TD, SEN(timerfd), "timerfd" }, [318] = { 1, TD, SEN(eventfd), "eventfd" }, [319] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, -[320] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[321] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[320] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, +[321] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, [322] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [323] = { 2, TD, SEN(eventfd2), "eventfd2" }, [324] = { 1, TD, SEN(inotify_init1), "inotify_init1" }, diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h index a7d89b35..98c70540 100644 --- a/linux/s390x/syscallent.h +++ b/linux/s390x/syscallent.h @@ -313,8 +313,8 @@ [317] = { 4, TD, SEN(timerfd), "timerfd" }, [318] = { 1, TD, SEN(eventfd), "eventfd" }, [319] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, -[320] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[321] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[320] = { 4, TD, SEN(timerfd_settime64), "timerfd_settime" }, +[321] = { 2, TD, SEN(timerfd_gettime64), "timerfd_gettime" }, [322] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [323] = { 2, TD, SEN(eventfd2), "eventfd2" }, [324] = { 1, TD, SEN(inotify_init1), "inotify_init1" }, diff --git a/linux/sh/syscallent.h b/linux/sh/syscallent.h index ec806943..4523c0a4 100644 --- a/linux/sh/syscallent.h +++ b/linux/sh/syscallent.h @@ -331,8 +331,8 @@ [322] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, [323] = { 1, TD, SEN(eventfd), "eventfd" }, [324] = { 6, TD, SEN(fallocate), "fallocate" }, -[325] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[326] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[325] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, +[326] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, [327] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [328] = { 2, TD, SEN(eventfd2), "eventfd2" }, [329] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/sh64/syscallent.h b/linux/sh64/syscallent.h index bf010433..4b921283 100644 --- a/linux/sh64/syscallent.h +++ b/linux/sh64/syscallent.h @@ -357,8 +357,8 @@ [350] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, [351] = { 1, TD, SEN(eventfd), "eventfd" }, [352] = { 4, TD, SEN(fallocate), "fallocate" }, -[353] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[354] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[353] = { 4, TD, SEN(timerfd_settime64), "timerfd_settime" }, +[354] = { 2, TD, SEN(timerfd_gettime64), "timerfd_gettime" }, [355] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [356] = { 2, TD, SEN(eventfd2), "eventfd2" }, [357] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h index 887ed1a0..d4365ce6 100644 --- a/linux/sparc/syscallent.h +++ b/linux/sparc/syscallent.h @@ -320,8 +320,8 @@ [312] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, [313] = { 1, TD, SEN(eventfd), "eventfd" }, [314] = { 6, TD, SEN(fallocate), "fallocate" }, -[315] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[316] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[315] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, +[316] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, [317] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [318] = { 2, TD, SEN(eventfd2), "eventfd2" }, [319] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h index 0f82ee1f..805d42f1 100644 --- a/linux/sparc64/syscallent.h +++ b/linux/sparc64/syscallent.h @@ -318,8 +318,8 @@ [312] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, [313] = { 1, TD, SEN(eventfd), "eventfd" }, [314] = { 4, TD, SEN(fallocate), "fallocate" }, -[315] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[316] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[315] = { 4, TD, SEN(timerfd_settime64), "timerfd_settime" }, +[316] = { 2, TD, SEN(timerfd_gettime64), "timerfd_gettime" }, [317] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [318] = { 2, TD, SEN(eventfd2), "eventfd2" }, [319] = { 1, TD, SEN(epoll_create1), "epoll_create1" }, diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h index e53665dc..4b64c3c6 100644 --- a/linux/x32/syscallent.h +++ b/linux/x32/syscallent.h @@ -291,8 +291,8 @@ [283] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, [284] = { 1, TD, SEN(eventfd), "eventfd" }, [285] = { 4, TD, SEN(fallocate), "fallocate" }, -[286] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[287] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[286] = { 4, TD, SEN(timerfd_settime64), "timerfd_settime" }, +[287] = { 2, TD, SEN(timerfd_gettime64), "timerfd_gettime" }, [288] = { 4, TN, SEN(accept4), "accept4" }, [289] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [290] = { 2, TD, SEN(eventfd2), "eventfd2" }, diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h index 941cdcd6..89f2ad41 100644 --- a/linux/x86_64/syscallent.h +++ b/linux/x86_64/syscallent.h @@ -291,8 +291,8 @@ [283] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, [284] = { 1, TD, SEN(eventfd), "eventfd" }, [285] = { 4, TD, SEN(fallocate), "fallocate" }, -[286] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[287] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[286] = { 4, TD, SEN(timerfd_settime64), "timerfd_settime" }, +[287] = { 2, TD, SEN(timerfd_gettime64), "timerfd_gettime" }, [288] = { 4, TN, SEN(accept4), "accept4" }, [289] = { 4, TD|TS, SEN(signalfd4), "signalfd4" }, [290] = { 2, TD, SEN(eventfd2), "eventfd2" }, diff --git a/linux/xtensa/syscallent.h b/linux/xtensa/syscallent.h index e61ba960..93acedbd 100644 --- a/linux/xtensa/syscallent.h +++ b/linux/xtensa/syscallent.h @@ -308,8 +308,8 @@ [310] = { 3, TD, SEN(dup3), "dup3" }, [311] = { 2, TD, SEN(pipe2), "pipe2" }, [312] = { 2, TD, SEN(timerfd_create), "timerfd_create" }, -[313] = { 4, TD, SEN(timerfd_settime), "timerfd_settime" }, -[314] = { 2, TD, SEN(timerfd_gettime), "timerfd_gettime" }, +[313] = { 4, TD, SEN(timerfd_settime32), "timerfd_settime" }, +[314] = { 2, TD, SEN(timerfd_gettime32), "timerfd_gettime" }, [315] = { }, [316] = { 2, TD, SEN(eventfd2), "eventfd2" }, [317] = { 5, TD, SEN(preadv), "preadv" }, diff --git a/pathtrace.c b/pathtrace.c index 9758ba55..2e83c5c4 100644 --- a/pathtrace.c +++ b/pathtrace.c @@ -343,9 +343,9 @@ pathtrace_match_set(struct tcb *tcp, struct path_set *set) case SEN_socket: case SEN_socketpair: case SEN_timerfd_create: - case SEN_timerfd_gettime: + case SEN_timerfd_gettime32: case SEN_timerfd_gettime64: - case SEN_timerfd_settime: + case SEN_timerfd_settime32: case SEN_timerfd_settime64: case SEN_userfaultfd: /* diff --git a/time.c b/time.c index c278aa98..68fbc89d 100644 --- a/time.c +++ b/time.c @@ -444,10 +444,12 @@ do_timerfd_settime(struct tcb *const tcp, const print_obj_by_addr_fn print_its) return 0; } -SYS_FUNC(timerfd_settime) +#if HAVE_ARCH_TIME32_SYSCALLS +SYS_FUNC(timerfd_settime32) { - return do_timerfd_settime(tcp, print_itimerspec); + return do_timerfd_settime(tcp, print_itimerspec32); } +#endif SYS_FUNC(timerfd_settime64) { @@ -466,10 +468,12 @@ do_timerfd_gettime(struct tcb *const tcp, const print_obj_by_addr_fn print_its) return 0; } -SYS_FUNC(timerfd_gettime) +#if HAVE_ARCH_TIME32_SYSCALLS +SYS_FUNC(timerfd_gettime32) { - return do_timerfd_gettime(tcp, print_itimerspec); + return do_timerfd_gettime(tcp, print_itimerspec32); } +#endif SYS_FUNC(timerfd_gettime64) { -- 2.40.0