]> granicus.if.org Git - strace/commitdiff
Implement and use new parsers of recvmmsg syscall
authorDmitry V. Levin <ldv@altlinux.org>
Sun, 12 May 2019 22:45:45 +0000 (22:45 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sun, 12 May 2019 22:45:45 +0000 (22:45 +0000)
* 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.

29 files changed:
linux/32/syscallent.h
linux/64/syscallent.h
linux/alpha/syscallent.h
linux/arm/syscallent.h
linux/avr32/syscallent.h
linux/bfin/syscallent.h
linux/hppa/syscallent.h
linux/i386/syscallent.h
linux/ia64/syscallent.h
linux/m68k/syscallent.h
linux/microblaze/syscallent.h
linux/mips/syscallent-n32.h
linux/mips/syscallent-n64.h
linux/mips/syscallent-o32.h
linux/powerpc/syscallent.h
linux/powerpc64/syscallent.h
linux/s390/syscallent.h
linux/s390x/syscallent.h
linux/sh/syscallent.h
linux/sh64/syscallent.h
linux/sparc/syscallent.h
linux/sparc64/syscallent.h
linux/subcall32.h
linux/subcall64.h
linux/x32/syscallent.h
linux/x86_64/syscallent.h
linux/xtensa/syscallent.h
mmsghdr.c
syscall.c

index efd5b26457d6806080fa035bed66631c73981efd..3d4002316a69580900fa31c34219ddf012a0b25c 100644 (file)
 [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"             },
index 4d2c3ee51e74adf0b036c8daa76f32e79a6d8648..db3f472628485f1eeffef082207b6d5fd68aa292 100644 (file)
 [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"             },
index 9cfcc58899e4496ce6260575bba1433d60823353..4c67096addaf7903de5cd82037e0d367659b7759 100644 (file)
 [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"       },
index dadcccd3e3c2ef813abdf914c33d8bb02c3e396a..9a45132788fa96be5237625bd068959dce7b5ea8 100644 (file)
 [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"         },
index d6cc1b0840e17c76e45f5b9dc8ba57ecd716d21c..ae0a964f367f739fa2a33fb3bcf075b364a02f72 100644 (file)
 [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"             },
index e124fd3d3db8db2e4a54cdd753b71b4d9e867cb8..36e323e336d60b27e8a85d6c686c43fee70fe76f 100644 (file)
 [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"             },
index 7c280c84214f6d91aa8aceea5bbb2f8f965295da..01f927aecc3fed6158d5d3d52ee1dade1af50e75 100644 (file)
 [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"         },
index a9ca03e460fbb3beb4a39da60122bba4ccbb6af2..798209e92cee9715ad1e7a0d9e2e767a2bfbc6aa 100644 (file)
 [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"             },
index 4edb07a24c4a95a4fe882cc01d0b5ed09774109e..0cf7a56f92f0f96a3d800e9269c5d70dd611257c 100644 (file)
 [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"             },
index ddee3c195beccac2166326e819f97bbbfdbc2606..749b5cda1a8ff946bec44d54f32c085b21656002 100644 (file)
 [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"            },
index c6f76478487c4274e7864dcf25d29d1ccbfaaad7..a82622ba10aa9f724f171321c9206a9e73c8acb3 100644 (file)
 [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"             },
index d3b8bbbe504d6bbbe54239ec85ac8b6f09068eb2..ad3b96cfc1247af8ee48ee61a9031fcae3aa0fda 100644 (file)
 [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"         },
index 353d96019839acd01d12eaa6dc93a6c3849e4321..e7a62e0270105cf61019f141fb42b56cb839b331 100644 (file)
 [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"             },
index f8efd08f6a569ac77b54d58d7641727836310774..22152c2947cd8e7ca76280d2e19cf3684ce9061d 100644 (file)
 [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"             },
index dab08fbd5389e0ed0aca7018317d70f33202638e..1ea6700fa80b4ddc464a284f0bcf7c978ce36419 100644 (file)
 [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"     },
index b1ed72c6e1cdfdefceed2ce9d55e99988c24b349..0ca7df3614631c36cbab502ac179378d8aa3947e 100644 (file)
 [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"     },
index 7a14f69d31780a90908cc5db7c77ad430b73eae2..1d6c78416855538e6041ebd87bd70e09774567e6 100644 (file)
 [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"            },
index 1e897112442313ea36e6c0a0d49724953e6cd003..76d756f4bdf77d0900d0c771b25fe9ac9e87ac02 100644 (file)
 [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"            },
index 26b40a9156cf51c0db7a10d4e8ef9a3d69d24bca..a0b029d3db5aa6dd94fa2f22291a154a7e5cb647 100644 (file)
 [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"     },
index 23b08b6e330dadde034a1dec86990c7f0d2aa3cb..da0bd7540141b12b4dcf02b956f65695b493b087 100644 (file)
 [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"         },
index b56915174b1b7f5286903dcfce6bbed9c1eb1d99..c8e5c43fa7ff479f1b9dce70b9d3263c2ff67099 100644 (file)
 [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"             },
index a6947a8bce59eed1bad8b81a3e6a5e3800af88f5..111506d8bcf465033b7413e5f62886560dc0950d 100644 (file)
 [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"             },
index 4331faa874d65ed2e20e2db8e06c26b024beced8..922d83d40a7b27b15adb1749522c4c7691dfe847 100644 (file)
@@ -1,3 +1,5 @@
 #define sys_semtimedop sys_semtimedop_time32
+#define sys_recvmmsg sys_recvmmsg_time32
 #include "subcall.h"
+#undef sys_recvmmsg
 #undef sys_semtimedop
index fea7e60d5c79c64b81da4f0f72077b9eef8046e5..95e15bfb292ec7460e6ec1a1e842be4507337ca8 100644 (file)
@@ -1,3 +1,5 @@
 #define sys_semtimedop sys_semtimedop_time64
+#define sys_recvmmsg sys_recvmmsg_time64
 #include "subcall.h"
+#undef sys_recvmmsg
 #undef sys_semtimedop
index 994d80b98539eb5b6df1c7b9ec122f03f8e1c5db..360e333cec72443ae590ab875ab8d28ed479ac02 100644 (file)
 [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"     },
index 5852498db4ab740e484ad3f99f23ad4f5f53ecfe..b655e3cdce69f92911358ac065de25d8009170c3 100644 (file)
 [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"             },
index de2f508b86a8540b1f55a4f3d0b45a2d8584ad94..c6c2a9c68d67fdb2fe588cc5f41c462fd7a6fc82 100644 (file)
 [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"                  },
index 15c3d1a22003a000a842017a85291f3c8b144837..d29083884d59a06289f6e027cdcae3e4955c63c7 100644 (file)
--- a/mmsghdr.c
+++ b/mmsghdr.c
@@ -225,10 +225,12 @@ do_recvmmsg(struct tcb *const tcp, const print_obj_by_addr_fn print_ts,
        }
 }
 
-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)
 {
index bed6ca26290999ff0be09e06dae764ed158bad55..41cf27ec71babe585985c51e8886ab6a43d9f753 100644 (file)
--- a/syscall.c
+++ b/syscall.c
@@ -408,6 +408,7 @@ dumpio(struct tcb *tcp)
                        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;