* mmsghdr.c (SYS_FUNC(recvmmsg)): Remove.
[HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(recvmmsg_time32)): New function.
* syscall.c (dumpio): Handle SEN_recvmmsg_time32.
* linux/subcall32.h (sys_recvmmsg): Redirect to sys_recvmmsg_time32.
* linux/subcall64.h (sys_recvmmsg): Redirect to sys_recvmmsg_time64.
* linux/64/syscallent.h: Replace SEN(recvmmsg) with SEN(recvmmsg_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/sparc64/syscallent.h: Likewise.
* linux/x32/syscallent.h: Likewise.
* linux/x86_64/syscallent.h: Likewise.
* linux/32/syscallent.h: Replace SEN(recvmmsg) with SEN(recvmmsg_time32).
* linux/arm/syscallent.h: Likewise.
* linux/avr32/syscallent.h: Likewise.
* linux/bfin/syscallent.h: Likewise.
* linux/hppa/syscallent.h: Likewise.
* linux/microblaze/syscallent.h: Likewise.
* linux/mips/syscallent-n32.h: Likewise.
* linux/xtensa/syscallent.h: Likewise.
[240] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[241] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
[242] = { 4, TN, SEN(accept4), "accept4" },
-[243] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[243] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
/* [244 ... 259] are arch specific */
[260] = { 4, TP, SEN(wait4), "wait4" },
[261] = { 4, 0, SEN(prlimit64), "prlimit64" },
[240] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[241] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
[242] = { 4, TN, SEN(accept4), "accept4" },
-[243] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[243] = { 5, TN, SEN(recvmmsg_time64), "recvmmsg" },
/* [244 ... 259] are arch specific */
[260] = { 4, TP, SEN(wait4), "wait4" },
[261] = { 4, 0, SEN(prlimit64), "prlimit64" },
[476] = { 3, TD|TS, SEN(signalfd), "signalfd" },
[477] = { 4, TD, SEN(timerfd), "timerfd" }, /* not implemented */
[478] = { 1, TD, SEN(eventfd), "eventfd" },
-[479] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[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" },
[362] = { 5, TD, SEN(pwritev), "pwritev" },
[363] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[364] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
-[365] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[365] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[366] = { 4, TN, SEN(accept4), "accept4" },
[367] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[368] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[297] = { 5, TD, SEN(pwritev), "pwritev" },
[298] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[299] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
-[300] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[300] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[301] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[302] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[303] = { 4, 0, SEN(prlimit64), "prlimit64" },
[367] = { 5, TD, SEN(pwritev), "pwritev" },
[368] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[369] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
-[370] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[370] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[371] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[372] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[373] = { 4, 0, SEN(prlimit64), "prlimit64" },
[316] = { 5, TD, SEN(pwritev), "pwritev" },
[317] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[318] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
-[319] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[319] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[320] = { 4, TN, SEN(accept4), "accept4" },
[321] = { 4, 0, SEN(prlimit64), "prlimit64" },
[322] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[334] = { 5, TD, SEN(pwritev), "pwritev" },
[335] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[336] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
-[337] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[337] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[338] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[339] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[340] = { 4, 0, SEN(prlimit64), "prlimit64" },
[1024 + 295] = { 4, TD, SEN(preadv), "preadv" },
[1024 + 296] = { 4, TD, SEN(pwritev), "pwritev" },
[1024 + 297] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
-[1024 + 298] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[1024 + 298] = { 5, TN, SEN(recvmmsg_time64), "recvmmsg" },
[1024 + 299] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[1024 + 300] = { 5, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[1024 + 301] = { 4, 0, SEN(prlimit64), "prlimit64" },
[368] = { 6, TN, SEN(recvfrom), "recvfrom" },
[369] = { 3, TN, SEN(recvmsg), "recvmsg" },
[370] = { 2, TN, SEN(shutdown), "shutdown" },
-[371] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[371] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[372] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[373] = { 1, TD, SEN(userfaultfd), "userfaultfd" },
[374] = { 2, 0, SEN(membarrier), "membarrier" },
[364] = { 5, TD, SEN(pwritev), "pwritev" },
[365] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[366] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
-[367] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[367] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[368] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[369] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[370] = { 4, 0, SEN(prlimit64), "prlimit64" },
[6295] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[6296] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
[6297] = { 4, TN, SEN(accept4), "accept4" },
-[6298] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[6298] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[6299] = { 3, TD, SEN(getdents64), "getdents64" },
[6300] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[6301] = { 5, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[5291] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[5292] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
[5293] = { 4, TN, SEN(accept4), "accept4" },
-[5294] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[5294] = { 5, TN, SEN(recvmmsg_time64), "recvmmsg" },
[5295] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[5296] = { 5, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[5297] = { 4, 0, SEN(prlimit64), "prlimit64" },
[4332] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[4333] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
[4334] = { 4, TN, SEN(accept4), "accept4" },
-[4335] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[4335] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[4336] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[4337] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[4338] = { 4, 0, SEN(prlimit64), "prlimit64" },
[340] = { 5, TN, SEN(getsockopt), "getsockopt" },
[341] = { 3, TN, SEN(sendmsg), "sendmsg" },
[342] = { 3, TN, SEN(recvmsg), "recvmsg" },
-[343] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[343] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[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" },
[340] = { 5, TN, SEN(getsockopt), "getsockopt" },
[341] = { 3, TN, SEN(sendmsg), "sendmsg" },
[342] = { 3, TN, SEN(recvmsg), "recvmsg" },
-[343] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[343] = { 5, TN, SEN(recvmmsg_time64), "recvmmsg" },
[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" },
[354] = { 5, TD|TF|TP|SE|SI, SEN(execveat), "execveat" },
[355] = { 1, TD, SEN(userfaultfd), "userfaultfd" },
[356] = { 2, 0, SEN(membarrier), "membarrier" },
-[357] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[357] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[358] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[359] = { 3, TN, SEN(socket), "socket" },
[360] = { 4, TN, SEN(socketpair), "socketpair" },
[354] = { 5, TD|TF|TP|SE|SI, SEN(execveat), "execveat" },
[355] = { 1, TD, SEN(userfaultfd), "userfaultfd" },
[356] = { 2, 0, SEN(membarrier), "membarrier" },
-[357] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[357] = { 5, TN, SEN(recvmmsg_time64), "recvmmsg" },
[358] = { 4, TN, SEN(sendmmsg), "sendmmsg" },
[359] = { 3, TN, SEN(socket), "socket" },
[360] = { 4, TN, SEN(socketpair), "socketpair" },
[354] = { 5, TN, SEN(getsockopt), "getsockopt" },
[355] = { 3, TN, SEN(sendmsg), "sendmsg" },
[356] = { 3, TN, SEN(recvmsg), "recvmsg" },
-[357] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[357] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[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" },
[362] = { 4, TD, SEN(pwritev), "pwritev" },
[363] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[364] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
-[365] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[365] = { 5, TN, SEN(recvmmsg_time64), "recvmmsg" },
[366] = { 4, TN, SEN(accept4), "accept4" },
[367] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[368] = { 5, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[325] = { 5, TD, SEN(pwritev), "pwritev" },
[326] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[327] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
-[328] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[328] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[329] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[330] = { 6, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[331] = { 4, 0, SEN(prlimit64), "prlimit64" },
[325] = { 4, TD, SEN(pwritev), "pwritev" },
[326] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[327] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
-[328] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[328] = { 5, TN, SEN(recvmmsg_time64), "recvmmsg" },
[329] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[330] = { 5, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[331] = { 4, 0, SEN(prlimit64), "prlimit64" },
#define sys_semtimedop sys_semtimedop_time32
+#define sys_recvmmsg sys_recvmmsg_time32
#include "subcall.h"
+#undef sys_recvmmsg
#undef sys_semtimedop
#define sys_semtimedop sys_semtimedop_time64
+#define sys_recvmmsg sys_recvmmsg_time64
#include "subcall.h"
+#undef sys_recvmmsg
#undef sys_semtimedop
[534] = { 4, TD, SEN(preadv), "preadv" },
[535] = { 4, TD, SEN(pwritev), "pwritev" },
[536] = { 4, CST|TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
-[537] = { 5, CST|TN, SEN(recvmmsg), "recvmmsg" },
+[537] = { 5, CST|TN, SEN(recvmmsg_time64), "recvmmsg" },
[538] = { 4, CST|TN, SEN(sendmmsg), "sendmmsg" },
[539] = { 6, CST, SEN(process_vm_readv), "process_vm_readv" },
[540] = { 6, CST, SEN(process_vm_writev), "process_vm_writev" },
[296] = { 4, TD, SEN(pwritev), "pwritev" },
[297] = { 4, TP|TS, SEN(rt_tgsigqueueinfo), "rt_tgsigqueueinfo" },
[298] = { 5, TD, SEN(perf_event_open), "perf_event_open" },
-[299] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[299] = { 5, TN, SEN(recvmmsg_time64), "recvmmsg" },
[300] = { 2, TD, SEN(fanotify_init), "fanotify_init" },
[301] = { 5, TD|TF, SEN(fanotify_mark), "fanotify_mark" },
[302] = { 4, 0, SEN(prlimit64), "prlimit64" },
[304] = { 3, TD|TS, SEN(signalfd), "signalfd" },
[305] = { },
[306] = { 1, TD, SEN(eventfd), "eventfd" },
-[307] = { 5, TN, SEN(recvmmsg), "recvmmsg" },
+[307] = { 5, TN, SEN(recvmmsg_time32), "recvmmsg" },
[308] = { 2, TD, SEN(setns), "setns" },
[309] = { 4, TD|TS, SEN(signalfd4), "signalfd4" },
[310] = { 3, TD, SEN(dup3), "dup3" },
}
}
-SYS_FUNC(recvmmsg)
+#if HAVE_ARCH_TIME32_SYSCALLS
+SYS_FUNC(recvmmsg_time32)
{
- return do_recvmmsg(tcp, print_timespec, sprint_timespec);
+ return do_recvmmsg(tcp, print_timespec32, sprint_timespec32);
}
+#endif
SYS_FUNC(recvmmsg_time64)
{
dumpiov_in_msghdr(tcp, tcp->u_arg[1], tcp->u_rval);
return;
case SEN_recvmmsg:
+ case SEN_recvmmsg_time32:
case SEN_recvmmsg_time64:
dumpiov_in_mmsghdr(tcp, tcp->u_arg[1]);
return;