diff --git a/socket/sys/socket.h b/socket/sys/socket.h
index b70ba58ba6..e779dc837f 100644
--- a/socket/sys/socket.h
+++ b/socket/sys/socket.h
@@ -170,8 +170,20 @@ extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n,
 
    This function is a cancellation point and therefore not marked with
    __THROW.  */
+#ifndef __USE_TIME_BITS64
 extern ssize_t sendmsg (int __fd, const struct msghdr *__message,
 			int __flags);
+#else
+# ifdef __REDIRECT
+extern ssize_t __REDIRECT (sendmsg, (int __fd, const struct msghdr *__message,
+				     int __flags),
+			   __sendmsg64);
+# else
+extern ssize_t __sendmsg64 (int __fd, const struct msghdr *__message,
+			    int __flags);
+#  defien sendmsg __sendmsg64
+# endif
+#endif
 
 #ifdef __USE_GNU
 /* Send a VLEN messages as described by VMESSAGES to socket FD.
diff --git a/sysdeps/unix/sysv/linux/Versions b/sysdeps/unix/sysv/linux/Versions
index cb6fdd0624..f9fcc60335 100644
--- a/sysdeps/unix/sysv/linux/Versions
+++ b/sysdeps/unix/sysv/linux/Versions
@@ -267,6 +267,7 @@ libc {
     __semtimedop64;
     __sem_timedwait64;
     __sendmmsg64;
+    __sendmsg64;
     __setitimer64;
     __settimeofday64;
     __shmctl64;
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 8a31fb4daf..7d3c82b6d1 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -270,6 +270,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 19e1339ad6..758d4bedd4 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -267,6 +267,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 0b3c41a4a7..663db34dbd 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -2402,6 +2402,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index cc7a5fd871..37edc65bad 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2355,6 +2355,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index ab12ec459c..e667c6f166 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2539,6 +2539,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 149503b582..92db44126d 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -271,6 +271,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 3080c5905a..8b8decd376 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2482,6 +2482,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index c4f3779806..51580fe799 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -2453,6 +2453,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 676a26dd32..4ff4402991 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -2450,6 +2450,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 007b0f181a..ab4d0386d4 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2447,6 +2447,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index aa7da8a7dd..b31edbbd77 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2445,6 +2445,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 73e3f01a22..dc49ba11e3 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2453,6 +2453,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 66fc50179c..e359e90654 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -2492,6 +2492,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 3a0754ca08..fbbe434125 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2509,6 +2509,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index f2a4bc6fb1..476283b260 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2542,6 +2542,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 9f7da52f44..97d486a10b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2507,6 +2507,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/sendmsg.c b/sysdeps/unix/sysv/linux/sendmsg.c
index d1d1946280..eb99325a0e 100644
--- a/sysdeps/unix/sysv/linux/sendmsg.c
+++ b/sysdeps/unix/sysv/linux/sendmsg.c
@@ -32,3 +32,6 @@ __libc_sendmsg (int fd, const struct msghdr *msg, int flags)
 }
 weak_alias (__libc_sendmsg, sendmsg)
 weak_alias (__libc_sendmsg, __sendmsg)
+#if __TIMESIZE != 64
+weak_alias (__sendmsg, __sendmsg64)
+#endif
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 8e9fb98464..788ff9bc68 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2362,6 +2362,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 61b023f584..8a23b8eb52 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2359,6 +2359,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index ba3c659c88..177f3e1e83 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2502,6 +2502,7 @@ GLIBC_2.34 __sem_timedwait64 F
 GLIBC_2.34 __semctl64 F
 GLIBC_2.34 __semtimedop64 F
 GLIBC_2.34 __sendmmsg64 F
+GLIBC_2.34 __sendmsg64 F
 GLIBC_2.34 __setitimer64 F
 GLIBC_2.34 __settimeofday64 F
 GLIBC_2.34 __shmctl64 F
