* poll.c (SYS_FUNC(poll)): Remove.
[HAVE_ARCH_TIME32_SYSCALLS || HAVE_ARCH_OLD_TIME64_SYSCALLS] (do_poll):
New function.
[HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(poll_time32)): Likewise.
[HAVE_ARCH_OLD_TIME64_SYSCALLS] (SYS_FUNC(poll_time64)): Likewise.
* pathtrace.c (pathtrace_match_set): Replace SEN_poll with
SEN_poll_time32 and SEN_poll_time64.
* linux/aarch64/syscallent.h: Replace SEN(poll) with SEN(poll_time64).
* 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/arm/syscallent.h: Replace SEN(poll) with SEN(poll_time32).
* 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.
[1065] = { 3, TD, SEN(getdents), "getdents" },
[1066] = { 3, TD|TF, SEN(futimesat), "futimesat" },
[1067] = { 5, TD, SEN(select), "select" },
-[1068] = { 3, TD, SEN(poll), "poll" },
+[1068] = { 3, TD, SEN(poll_time64), "poll" },
[1069] = { 4, TD, SEN(epoll_wait), "epoll_wait" },
[1070] = { 2, TSFA, SEN(ustat), "ustat" },
[1071] = { 0, TP, SEN(vfork), "vfork" },
[ 91] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[ 92] = { 3, TD, SEN(fcntl), "fcntl" },
[ 93] = { 5, TD, SEN(osf_select), "osf_select" },
-[ 94] = { 3, TD, SEN(poll), "poll" },
+[ 94] = { 3, TD, SEN(poll_time64), "poll" },
[ 95] = { 1, TD, SEN(fsync), "fsync" },
[ 96] = { 3, 0, SEN(setpriority), "setpriority" },
[ 97] = { 3, TN, SEN(socket), "socket" },
[165] = { 3, 0, SEN(getresuid16), "getresuid" },
[166] = { 5, 0, SEN(vm86), "vm86" },
[167] = { 5, 0, SEN(query_module), "query_module" },
-[168] = { 3, TD, SEN(poll), "poll" },
+[168] = { 3, TD, SEN(poll_time32), "poll" },
[169] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[170] = { 3, 0, SEN(setresgid16), "setresgid" },
[171] = { 3, 0, SEN(getresgid16), "getresgid" },
[141] = { 1, 0, SEN(sched_get_priority_min), "sched_get_priority_min"},
[142] = { 2, 0, SEN(sched_rr_get_interval), "sched_rr_get_interval" },
[143] = { 2, 0, SEN(nanosleep), "nanosleep" },
-[144] = { 3, TD, SEN(poll), "poll" },
+[144] = { 3, TD, SEN(poll_time32), "poll" },
[145] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[146] = { 3, 0, SEN(setresgid), "setresgid" },
[147] = { 3, 0, SEN(getresgid), "getresgid" },
[165] = { 3, 0, SEN(getresuid16), "getresuid" },
[166] = { 5, 0, SEN(vm86), "vm86" },
[167] = { 5, 0, SEN(query_module), "query_module" },
-[168] = { 3, TD, SEN(poll), "poll" },
+[168] = { 3, TD, SEN(poll_time32), "poll" },
[169] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[170] = { 3, 0, SEN(setresgid16), "setresgid" },
[171] = { 3, 0, SEN(getresgid16), "getresgid" },
[165] = { 3, 0, SEN(getresuid), "getresuid" },
[166] = { 2, TS, SEN(sigaltstack), "sigaltstack" },
[167] = { 5, 0, SEN(query_module), "query_module" },
-[168] = { 3, TD, SEN(poll), "poll" },
+[168] = { 3, TD, SEN(poll_time32), "poll" },
[169] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[170] = { 3, 0, SEN(setresgid), "setresgid" },
[171] = { 3, 0, SEN(getresgid), "getresgid" },
[165] = { 3, 0, SEN(getresuid16), "getresuid" },
[166] = { 5, 0, SEN(vm86), "vm86" },
[167] = { 5, 0, SEN(query_module), "query_module" },
-[168] = { 3, TD, SEN(poll), "poll" },
+[168] = { 3, TD, SEN(poll_time32), "poll" },
[169] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[170] = { 3, 0, SEN(setresgid16), "setresgid" },
[171] = { 3, 0, SEN(getresgid16), "getresgid" },
[1024 + 63] = { 2, 0, SEN(gettimeofday), "gettimeofday" },
[1024 + 64] = { 2, 0, SEN(settimeofday), "settimeofday" },
[1024 + 65] = { 5, TD, SEN(select), "select" },
-[1024 + 66] = { 3, TD, SEN(poll), "poll" },
+[1024 + 66] = { 3, TD, SEN(poll_time64), "poll" },
[1024 + 67] = { 2, TF, SEN(symlink), "symlink" },
[1024 + 68] = { 3, TF, SEN(readlink), "readlink" },
[1024 + 69] = { 1, TF, SEN(uselib), "uselib" },
[165] = { 3, 0, SEN(getresuid16), "getresuid" },
[166] = { 0, PU|NF, SEN(getpagesize), "getpagesize" },
[167] = { 5, 0, SEN(query_module), "query_module" },
-[168] = { 3, TD, SEN(poll), "poll" },
+[168] = { 3, TD, SEN(poll_time32), "poll" },
[169] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[170] = { 3, 0, SEN(setresgid16), "setresgid" },
[171] = { 3, 0, SEN(getresgid16), "getresgid" },
[165] = { 3, 0, SEN(getresuid16), "getresuid" },
[166] = { 5, 0, SEN(vm86), "vm86" },
[167] = { 5, 0, SEN(query_module), "query_module" },
-[168] = { 3, TD, SEN(poll), "poll" },
+[168] = { 3, TD, SEN(poll_time32), "poll" },
[169] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[170] = { 3, 0, SEN(setresgid16), "setresgid" },
[171] = { 3, 0, SEN(getresgid16), "getresgid" },
[6004] = { 2, TF|TST|TSTA, SEN(stat64), "stat" },
[6005] = { 2, TD|TFST|TSTA, SEN(fstat64), "fstat" },
[6006] = { 2, TF|TLST|TSTA, SEN(lstat64), "lstat" },
-[6007] = { 3, TD, SEN(poll), "poll" },
+[6007] = { 3, TD, SEN(poll_time32), "poll" },
[6008] = { 3, TD, SEN(lseek), "lseek" },
[6009] = { 6, TD|TM|SI, SEN(mmap), "mmap" },
[6010] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[5004] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[5005] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[5006] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
-[5007] = { 3, TD, SEN(poll), "poll" },
+[5007] = { 3, TD, SEN(poll_time64), "poll" },
[5008] = { 3, TD, SEN(lseek), "lseek" },
[5009] = { 6, TD|TM|SI, SEN(mmap), "mmap" },
[5010] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[4185] = { 3, 0, SEN(setresuid), "setresuid" },
[4186] = { 3, 0, SEN(getresuid), "getresuid" },
[4187] = { 5, 0, SEN(query_module), "query_module" },
-[4188] = { 3, TD, SEN(poll), "poll" },
+[4188] = { 3, TD, SEN(poll_time32), "poll" },
[4189] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[4190] = { 3, 0, SEN(setresgid), "setresgid" },
[4191] = { 3, 0, SEN(getresgid), "getresgid" },
[164] = { 3, 0, SEN(setresuid), "setresuid" },
[165] = { 3, 0, SEN(getresuid), "getresuid" },
[166] = { 5, 0, SEN(query_module), "query_module" },
-[167] = { 3, TD, SEN(poll), "poll" },
+[167] = { 3, TD, SEN(poll_time32), "poll" },
[168] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[169] = { 3, 0, SEN(setresgid), "setresgid" },
[170] = { 3, 0, SEN(getresgid), "getresgid" },
[164] = { 3, 0, SEN(setresuid), "setresuid" },
[165] = { 3, 0, SEN(getresuid), "getresuid" },
[166] = { 5, 0, SEN(query_module), "query_module" },
-[167] = { 3, TD, SEN(poll), "poll" },
+[167] = { 3, TD, SEN(poll_time64), "poll" },
[168] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[169] = { 3, 0, SEN(setresgid), "setresgid" },
[170] = { 3, 0, SEN(getresgid), "getresgid" },
[165] = { 3, 0, SEN(getresuid16), "getresuid" },
[166] = { },
[167] = { 5, 0, SEN(query_module), "query_module" },
-[168] = { 3, TD, SEN(poll), "poll" },
+[168] = { 3, TD, SEN(poll_time32), "poll" },
[169] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[170] = { 3, 0, SEN(setresgid16), "setresgid" },
[171] = { 3, 0, SEN(getresgid16), "getresgid" },
[163] = { 5, TM|SI, SEN(mremap), "mremap" },
[164 ... 166] = { },
[167] = { 5, 0, SEN(query_module), "query_module" },
-[168] = { 3, TD, SEN(poll), "poll" },
+[168] = { 3, TD, SEN(poll_time64), "poll" },
[169] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[170 ... 171] = { },
[172] = { 5, 0, SEN(prctl), "prctl" },
[165] = { 3, 0, SEN(getresuid16), "getresuid" },
[166] = { 5, 0, SEN(vm86), "vm86" },
[167] = { 5, 0, SEN(query_module), "query_module" },
-[168] = { 3, TD, SEN(poll), "poll" },
+[168] = { 3, TD, SEN(poll_time32), "poll" },
[169] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[170] = { 3, 0, SEN(setresgid16), "setresgid" },
[171] = { 3, 0, SEN(getresgid16), "getresgid" },
[165] = { 3, 0, SEN(getresuid16), "getresuid" },
[166] = { },
[167] = { 5, 0, SEN(query_module), "query_module" },
-[168] = { 3, TD, SEN(poll), "poll" },
+[168] = { 3, TD, SEN(poll_time64), "poll" },
[169] = { 3, 0, SEN(nfsservctl), "nfsservctl" },
[170] = { 3, 0, SEN(setresgid16), "setresgid" },
[171] = { 3, 0, SEN(getresgid16), "getresgid" },
[150] = { 3, TN, SEN(getsockname), "getsockname" },
[151] = { 0, TD, SEN(inotify_init), "inotify_init" },
[152] = { 3, TD|TF, SEN(inotify_add_watch), "inotify_add_watch" },
-[153] = { 3, TD, SEN(poll), "poll" },
+[153] = { 3, TD, SEN(poll_time32), "poll" },
[154] = { 3, TD, SEN(getdents64), "getdents64" },
[155] = { 3, TD, SEN(fcntl64), "fcntl64" },
[156] = { 2, TD, SEN(inotify_rm_watch), "inotify_rm_watch" },
[150] = { 3, TN, SEN(getsockname), "getsockname" },
[151] = { 0, TD, SEN(inotify_init), "inotify_init" },
[152] = { 3, TD|TF, SEN(inotify_add_watch), "inotify_add_watch" },
-[153] = { 3, TD, SEN(poll), "poll" },
+[153] = { 3, TD, SEN(poll_time64), "poll" },
[154] = { 3, TD, SEN(getdents64), "getdents64" },
[155] = { },
[156] = { 2, TD, SEN(inotify_rm_watch), "inotify_rm_watch" },
[ 4] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[ 5] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[ 6] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
-[ 7] = { 3, TD, SEN(poll), "poll" },
+[ 7] = { 3, TD, SEN(poll_time64), "poll" },
[ 8] = { 3, TD, SEN(lseek), "lseek" },
[ 9] = { 6, TD|TM|SI, SEN(mmap), "mmap" },
[ 10] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[ 4] = { 2, TF|TST|TSTA, SEN(stat), "stat" },
[ 5] = { 2, TD|TFST|TSTA, SEN(fstat), "fstat" },
[ 6] = { 2, TF|TLST|TSTA, SEN(lstat), "lstat" },
-[ 7] = { 3, TD, SEN(poll), "poll" },
+[ 7] = { 3, TD, SEN(poll_time64), "poll" },
[ 8] = { 3, TD, SEN(lseek), "lseek" },
[ 9] = { 6, TD|TM|SI, SEN(mmap), "mmap" },
[ 10] = { 3, TM|SI, SEN(mprotect), "mprotect" },
[ 13] = { 3, TD, SEN(write), "write" },
[ 14] = { 5, TD, SEN(select), "select" },
[ 15] = { 3, TD, SEN(lseek), "lseek" },
-[ 16] = { 3, TD, SEN(poll), "poll" },
+[ 16] = { 3, TD, SEN(poll_time32), "poll" },
[ 17] = { 5, TD, SEN(llseek), "_llseek" },
[ 18] = { 4, TD, SEN(epoll_wait), "epoll_wait" },
[ 19] = { 4, TD, SEN(epoll_ctl), "epoll_ctl" },
case SEN_pselect6_time64:
case SEN_select:
return match_xselect_args(tcp, tcp->u_arg, set);
- case SEN_poll:
+ case SEN_poll_time32:
+ case SEN_poll_time64:
case SEN_ppoll_time32:
case SEN_ppoll_time64:
{
#undef end_outstr
}
-SYS_FUNC(poll)
+#if HAVE_ARCH_TIME32_SYSCALLS || HAVE_ARCH_OLD_TIME64_SYSCALLS
+static int
+do_poll(struct tcb *const tcp, const sprint_obj_by_addr_fn sprint_ts)
{
if (entering(tcp)) {
decode_poll_entering(tcp);
return 0;
} else {
- return decode_poll_exiting(tcp, sprint_timespec, 0);
+ return decode_poll_exiting(tcp, sprint_ts, 0);
}
}
+#endif /* HAVE_ARCH_TIME32_SYSCALLS || HAVE_ARCH_OLD_TIME64_SYSCALLS */
+
+#if HAVE_ARCH_TIME32_SYSCALLS
+SYS_FUNC(poll_time32)
+{
+ return do_poll(tcp, sprint_timespec32);
+}
+#endif
+
+#if HAVE_ARCH_OLD_TIME64_SYSCALLS
+SYS_FUNC(poll_time64)
+{
+ return do_poll(tcp, sprint_timespec64);
+}
+#endif
static int
do_ppoll(struct tcb *const tcp, const print_obj_by_addr_fn print_ts,