From 0a921c52b3b9b7006b597d227265a47c5e5c78f4 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Wed, 21 Jul 2021 11:42:31 +0200 Subject: [PATCH] socket: Add time64 alias for recvmsg Reviewed-by: Lukasz Majewski Reviewed-by: Adhemerval Zanella --- socket/sys/socket.h | 11 +++++++++++ sysdeps/unix/sysv/linux/Versions | 1 + sysdeps/unix/sysv/linux/arm/be/libc.abilist | 1 + sysdeps/unix/sysv/linux/arm/le/libc.abilist | 1 + sysdeps/unix/sysv/linux/csky/libc.abilist | 1 + sysdeps/unix/sysv/linux/hppa/libc.abilist | 1 + sysdeps/unix/sysv/linux/i386/libc.abilist | 1 + sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist | 1 + sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/be/libc.abilist | 1 + sysdeps/unix/sysv/linux/microblaze/le/libc.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist | 1 + .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist | 1 + sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist | 1 + sysdeps/unix/sysv/linux/nios2/libc.abilist | 1 + .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 1 + .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist | 1 + sysdeps/unix/sysv/linux/recvmsg.c | 3 +++ sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 1 + sysdeps/unix/sysv/linux/sh/be/libc.abilist | 1 + sysdeps/unix/sysv/linux/sh/le/libc.abilist | 1 + sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist | 1 + 22 files changed, 34 insertions(+) diff --git a/socket/sys/socket.h b/socket/sys/socket.h index d02d976bb5..b70ba58ba6 100644 --- a/socket/sys/socket.h +++ b/socket/sys/socket.h @@ -200,7 +200,18 @@ extern int __sendmmsg64 (int __fd, struct mmsghdr *__vmessages, This function is a cancellation point and therefore not marked with __THROW. */ +#ifndef __USE_TIME_BITS64 extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags); +#else +# ifdef __REDIRECT +extern ssize_t __REDIRECT (recvmsg, + (int __fd, struct msghdr *__message, int __flags), + __recvmsg64); +# else +extern ssize_t __recvmsg64 (int __fd, struct msghdr *__message, int __flags); +# define recvmsg __recvmsg64 +# endif +#endif #ifdef __USE_GNU /* Receive up to VLEN messages as described by VMESSAGES from socket FD. diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions index a8ec041371..8cc7d6ea15 100644 --- a/sysdeps/unix/sysv/linux/Versions +++ b/sysdeps/unix/sysv/linux/Versions @@ -259,6 +259,7 @@ libc { __pthread_rwlock_timedwrlock64; __pthread_timedjoin_np64; __recvmmsg64; + __recvmsg64; __sched_rr_get_interval64; __select64; __sem_clockwait64; diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 740081f235..5966d4b869 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -260,6 +260,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index 55f17e1ee3..0ba0a7f031 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -257,6 +257,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index 610f59aad7..59b6af995f 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -2416,6 +2416,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 3c6ce135e2..cf9f0372d0 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2367,6 +2367,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 2fae97c00c..e1b9ad8229 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2551,6 +2551,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index c146c01b62..6c6e132c12 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -261,6 +261,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index dc23970913..4a5a31a54b 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2494,6 +2494,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 63b86f4613..638ee4d1d8 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -2467,6 +2467,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 4f2811c869..d6b6c85f74 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -2464,6 +2464,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index b3491fd1db..8bab590546 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2459,6 +2459,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 7d56039df5..33cc242f26 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -2457,6 +2457,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 0898b26a90..b8d2cceade 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2465,6 +2465,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 19b42df933..f99820e4ff 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -2506,6 +2506,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index 09179d2a48..1e7837c971 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -2521,6 +2521,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index d45be8ab9e..de62b347b0 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -2554,6 +2554,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/recvmsg.c b/sysdeps/unix/sysv/linux/recvmsg.c index 57c3cf7e36..07212f7c86 100644 --- a/sysdeps/unix/sysv/linux/recvmsg.c +++ b/sysdeps/unix/sysv/linux/recvmsg.c @@ -43,3 +43,6 @@ __libc_recvmsg (int fd, struct msghdr *msg, int flags) } weak_alias (__libc_recvmsg, recvmsg) weak_alias (__libc_recvmsg, __recvmsg) +#if __TIMESIZE != 64 +weak_alias (__recvmsg, __recvmsg64) +#endif diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index c290ae4948..2f4b06e27c 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2519,6 +2519,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index 714f7d4f55..c01917dca8 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2374,6 +2374,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 9f858a4f68..d0449dc285 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2371,6 +2371,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 2420775e21..309ce62d75 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2514,6 +2514,7 @@ GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __recvmmsg64 F +GLIBC_2.34 __recvmsg64 F GLIBC_2.34 __sched_rr_get_interval64 F GLIBC_2.34 __select64 F GLIBC_2.34 __sem_clockwait64 F