From 5c73af4ede5219e6ccdf1a03744aeb55043e76d1 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 io_pgetevents syscall * aio.c (SYS_FUNC(io_pgetevents)): Remove. [HAVE_ARCH_TIME32_SYSCALLS] (SYS_FUNC(io_pgetevents_time32)): New function. * linux/64/syscallent.h: Replace SEN(io_pgetevents) with SEN(io_pgetevents_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/32/syscallent.h: Replace SEN(io_pgetevents) with SEN(io_pgetevents_time32). * 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. --- aio.c | 6 ++++-- linux/32/syscallent.h | 2 +- linux/64/syscallent.h | 2 +- linux/alpha/syscallent.h | 2 +- linux/arm/syscallent.h | 2 +- linux/hppa/syscallent.h | 2 +- linux/i386/syscallent.h | 2 +- linux/ia64/syscallent.h | 2 +- linux/microblaze/syscallent.h | 2 +- linux/mips/syscallent-n32.h | 2 +- linux/mips/syscallent-n64.h | 2 +- linux/mips/syscallent-o32.h | 2 +- linux/powerpc/syscallent.h | 2 +- linux/powerpc64/syscallent.h | 2 +- linux/s390/syscallent.h | 2 +- linux/s390x/syscallent.h | 2 +- linux/sparc/syscallent.h | 2 +- linux/sparc64/syscallent.h | 2 +- linux/x32/syscallent.h | 2 +- linux/x86_64/syscallent.h | 2 +- 20 files changed, 23 insertions(+), 21 deletions(-) diff --git a/aio.c b/aio.c index cc16b531..c4d3e62d 100644 --- a/aio.c +++ b/aio.c @@ -260,10 +260,12 @@ SYS_FUNC(io_getevents_time64) } #endif -SYS_FUNC(io_pgetevents) +#if HAVE_ARCH_TIME32_SYSCALLS +SYS_FUNC(io_pgetevents_time32) { - return print_io_getevents(tcp, print_timespec, true); + return print_io_getevents(tcp, print_timespec32, true); } +#endif SYS_FUNC(io_pgetevents_time64) { diff --git a/linux/32/syscallent.h b/linux/32/syscallent.h index 511a0024..72f41ea9 100644 --- a/linux/32/syscallent.h +++ b/linux/32/syscallent.h @@ -289,7 +289,7 @@ [289] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [290] = { 1, 0, SEN(pkey_free), "pkey_free" }, [291] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, -[292] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[292] = { 6, 0, SEN(io_pgetevents_time32), "io_pgetevents" }, [293] = { 4, 0, SEN(rseq), "rseq" }, [294] = { 5, TD, SEN(kexec_file_load), "kexec_file_load" }, [403] = { 2, 0, SEN(clock_gettime64), "clock_gettime64" }, diff --git a/linux/64/syscallent.h b/linux/64/syscallent.h index b89d28e9..25d719dc 100644 --- a/linux/64/syscallent.h +++ b/linux/64/syscallent.h @@ -282,7 +282,7 @@ [289] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [290] = { 1, 0, SEN(pkey_free), "pkey_free" }, [291] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, -[292] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[292] = { 6, 0, SEN(io_pgetevents_time64), "io_pgetevents" }, [293] = { 4, 0, SEN(rseq), "rseq" }, [294] = { 5, TD, SEN(kexec_file_load), "kexec_file_load" }, /* [295 ... 423] - reserved to sync up with other architectures */ diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h index 5fe0635e..ae0793cd 100644 --- a/linux/alpha/syscallent.h +++ b/linux/alpha/syscallent.h @@ -466,7 +466,7 @@ [520] = { 6, TD, SEN(preadv2), "preadv2" }, [521] = { 6, TD, SEN(pwritev2), "pwritev2" }, [522] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, -[523] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[523] = { 6, 0, SEN(io_pgetevents_time64), "io_pgetevents" }, [524] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" }, [525] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [526] = { 1, 0, SEN(pkey_free), "pkey_free" }, diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h index 5e13ff26..de78adde 100644 --- a/linux/arm/syscallent.h +++ b/linux/arm/syscallent.h @@ -406,7 +406,7 @@ [396] = { 1, 0, SEN(pkey_free), "pkey_free" }, [397] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, [398] = { 4, 0, SEN(rseq), "rseq" }, -[399] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[399] = { 6, 0, SEN(io_pgetevents_time32), "io_pgetevents" }, [400] = { 4, TM, SEN(migrate_pages), "migrate_pages" }, [401] = { 5, TD, SEN(kexec_file_load), "kexec_file_load" }, /* [402] - unused */ diff --git a/linux/hppa/syscallent.h b/linux/hppa/syscallent.h index 263341fc..c7281219 100644 --- a/linux/hppa/syscallent.h +++ b/linux/hppa/syscallent.h @@ -353,7 +353,7 @@ [347] = { 6, TD, SEN(preadv2), "preadv2" }, [348] = { 6, TD, SEN(pwritev2), "pwritev2" }, [349] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, -[350] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[350] = { 6, 0, SEN(io_pgetevents_time32), "io_pgetevents" }, [351] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" }, [352] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [353] = { 1, 0, SEN(pkey_free), "pkey_free" }, diff --git a/linux/i386/syscallent.h b/linux/i386/syscallent.h index 3cd88547..170d4949 100644 --- a/linux/i386/syscallent.h +++ b/linux/i386/syscallent.h @@ -391,7 +391,7 @@ [382] = { 1, 0, SEN(pkey_free), "pkey_free" }, [383] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, [384] = { 2, TP, SEN(arch_prctl), "arch_prctl" }, -[385] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[385] = { 6, 0, SEN(io_pgetevents_time32), "io_pgetevents" }, [386] = { 4, 0, SEN(rseq), "rseq" }, /* room for arch specific calls */ [393] = { 3, TI, SEN(semget), "semget" }, diff --git a/linux/ia64/syscallent.h b/linux/ia64/syscallent.h index 046fafbb..3e5a865d 100644 --- a/linux/ia64/syscallent.h +++ b/linux/ia64/syscallent.h @@ -334,7 +334,7 @@ [1024 + 324] = { 6, TD, SEN(preadv2), "preadv2" }, [1024 + 325] = { 6, TD, SEN(pwritev2), "pwritev2" }, [1024 + 326] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, -[1024 + 327] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[1024 + 327] = { 6, 0, SEN(io_pgetevents_time64), "io_pgetevents" }, [1024 + 328] = { 5, TD, SEN(perf_event_open), "perf_event_open" }, [1024 + 329] = { 3, 0, SEN(seccomp), "seccomp" }, [1024 + 330] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" }, diff --git a/linux/microblaze/syscallent.h b/linux/microblaze/syscallent.h index 8f5ec503..e9430b32 100644 --- a/linux/microblaze/syscallent.h +++ b/linux/microblaze/syscallent.h @@ -405,7 +405,7 @@ [396] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [397] = { 1, 0, SEN(pkey_free), "pkey_free" }, [398] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, -[399] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[399] = { 6, 0, SEN(io_pgetevents_time32), "io_pgetevents" }, [400] = { 4, 0, SEN(rseq), "rseq" }, /* [401 ... 402] - unused */ [403] = { 2, 0, SEN(clock_gettime64), "clock_gettime64" }, diff --git a/linux/mips/syscallent-n32.h b/linux/mips/syscallent-n32.h index 00fb2051..4649d9ea 100644 --- a/linux/mips/syscallent-n32.h +++ b/linux/mips/syscallent-n32.h @@ -339,7 +339,7 @@ [6329] = { 1, 0, SEN(pkey_free), "pkey_free" }, [6330] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, [6331] = { 4, 0, SEN(rseq), "rseq" }, -[6332] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[6332] = { 6, 0, SEN(io_pgetevents_time32), "io_pgetevents" }, /* [6333 ... 6402] - reserved to sync up with other architectures */ [6403] = { 2, 0, SEN(clock_gettime64), "clock_gettime64" }, [6404] = { 2, 0, SEN(clock_settime64), "clock_settime64" }, diff --git a/linux/mips/syscallent-n64.h b/linux/mips/syscallent-n64.h index 4f950d6c..e2135da6 100644 --- a/linux/mips/syscallent-n64.h +++ b/linux/mips/syscallent-n64.h @@ -335,7 +335,7 @@ [5325] = { 1, 0, SEN(pkey_free), "pkey_free" }, [5326] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, [5327] = { 4, 0, SEN(rseq), "rseq" }, -[5328] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[5328] = { 6, 0, SEN(io_pgetevents_time64), "io_pgetevents" }, /* [5329 ... 5423] - reserved to sync up with other architectures */ # define SYS_socket_subcall 5500 diff --git a/linux/mips/syscallent-o32.h b/linux/mips/syscallent-o32.h index f2476985..585db47c 100644 --- a/linux/mips/syscallent-o32.h +++ b/linux/mips/syscallent-o32.h @@ -376,7 +376,7 @@ [4365] = { 1, 0, SEN(pkey_free), "pkey_free" }, [4366] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, [4367] = { 4, 0, SEN(rseq), "rseq" }, -[4368] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[4368] = { 6, 0, SEN(io_pgetevents_time32), "io_pgetevents" }, /* room for arch specific calls */ [4393] = { 3, TI, SEN(semget), "semget" }, [4394] = { 4, TI, SEN(semctl), "semctl" }, diff --git a/linux/powerpc/syscallent.h b/linux/powerpc/syscallent.h index 2e8fa1ea..e83e8f91 100644 --- a/linux/powerpc/syscallent.h +++ b/linux/powerpc/syscallent.h @@ -384,7 +384,7 @@ [385] = { 1, 0, SEN(pkey_free), "pkey_free" }, [386] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" }, [387] = { 4, 0, SEN(rseq), "rseq" }, -[388] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[388] = { 6, 0, SEN(io_pgetevents_time32), "io_pgetevents" }, /* room for arch specific syscalls */ [393] = { 3, TI, SEN(semget), "semget" }, [394] = { 4, TI, SEN(semctl), "semctl" }, diff --git a/linux/powerpc64/syscallent.h b/linux/powerpc64/syscallent.h index 62e125eb..f59f4d45 100644 --- a/linux/powerpc64/syscallent.h +++ b/linux/powerpc64/syscallent.h @@ -379,7 +379,7 @@ [385] = { 1, 0, SEN(pkey_free), "pkey_free" }, [386] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" }, [387] = { 4, 0, SEN(rseq), "rseq" }, -[388] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[388] = { 6, 0, SEN(io_pgetevents_time64), "io_pgetevents" }, /* room for arch specific syscalls */ [392] = { 4, TI, SEN(semtimedop), "semtimedop" }, [393] = { 3, TI, SEN(semget), "semget" }, diff --git a/linux/s390/syscallent.h b/linux/s390/syscallent.h index c5e01d01..be60922c 100644 --- a/linux/s390/syscallent.h +++ b/linux/s390/syscallent.h @@ -391,7 +391,7 @@ [379] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, [380] = { 4, 0, SEN(s390_sthyi), "s390_sthyi" }, [381] = { 5, TD, SEN(kexec_file_load), "kexec_file_load" }, -[382] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[382] = { 6, 0, SEN(io_pgetevents_time32), "io_pgetevents" }, [383] = { 4, 0, SEN(rseq), "rseq" }, [384] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" }, [385] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, diff --git a/linux/s390x/syscallent.h b/linux/s390x/syscallent.h index b7d20c7f..9d7feda4 100644 --- a/linux/s390x/syscallent.h +++ b/linux/s390x/syscallent.h @@ -375,7 +375,7 @@ [379] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, [380] = { 4, 0, SEN(s390_sthyi), "s390_sthyi" }, [381] = { 5, TD, SEN(kexec_file_load), "kexec_file_load" }, -[382] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[382] = { 6, 0, SEN(io_pgetevents_time64), "io_pgetevents" }, [383] = { 4, 0, SEN(rseq), "rseq" }, [384] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" }, [385] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, diff --git a/linux/sparc/syscallent.h b/linux/sparc/syscallent.h index 4f98dbca..1f6dd940 100644 --- a/linux/sparc/syscallent.h +++ b/linux/sparc/syscallent.h @@ -366,7 +366,7 @@ [358] = { 6, TD, SEN(preadv2), "preadv2" }, [359] = { 6, TD, SEN(pwritev2), "pwritev2" }, [360] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, -[361] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[361] = { 6, 0, SEN(io_pgetevents_time32), "io_pgetevents" }, [362] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" }, [363] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [364] = { 1, 0, SEN(pkey_free), "pkey_free" }, diff --git a/linux/sparc64/syscallent.h b/linux/sparc64/syscallent.h index 3ac74c55..71a3b82d 100644 --- a/linux/sparc64/syscallent.h +++ b/linux/sparc64/syscallent.h @@ -364,7 +364,7 @@ [358] = { 6, TD, SEN(preadv2), "preadv2" }, [359] = { 6, TD, SEN(pwritev2), "pwritev2" }, [360] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, -[361] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[361] = { 6, 0, SEN(io_pgetevents_time64), "io_pgetevents" }, [362] = { 4, TM|SI, SEN(pkey_mprotect), "pkey_mprotect" }, [363] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [364] = { 1, 0, SEN(pkey_free), "pkey_free" }, diff --git a/linux/x32/syscallent.h b/linux/x32/syscallent.h index bca6ca11..7c16d648 100644 --- a/linux/x32/syscallent.h +++ b/linux/x32/syscallent.h @@ -338,7 +338,7 @@ [330] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [331] = { 1, 0, SEN(pkey_free), "pkey_free" }, [332] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, -[333] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[333] = { 6, 0, SEN(io_pgetevents_time64), "io_pgetevents" }, [334] = { 4, 0, SEN(rseq), "rseq" }, /* [335 ... 423] - reserved to sync up with other architectures */ /* diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h index 2d0568d7..6f3fbb26 100644 --- a/linux/x86_64/syscallent.h +++ b/linux/x86_64/syscallent.h @@ -338,6 +338,6 @@ [330] = { 2, 0, SEN(pkey_alloc), "pkey_alloc" }, [331] = { 1, 0, SEN(pkey_free), "pkey_free" }, [332] = { 5, TD|TF|TSTA, SEN(statx), "statx" }, -[333] = { 6, 0, SEN(io_pgetevents), "io_pgetevents" }, +[333] = { 6, 0, SEN(io_pgetevents_time64), "io_pgetevents" }, [334] = { 4, 0, SEN(rseq), "rseq" }, /* [335 ... 423] - reserved to sync up with other architectures */ -- 2.40.0