[27/35] Linux: Move mq_send, mq_timedsend from librt to libc

Message ID 2214904da04a02a656bf1cfda094b2ff3422d606.1622761829.git.fweimer@redhat.com
State Superseded
Delegated to: Adhemerval Zanella Netto
Headers
Series Linux: Move librt into libc |

Checks

Context Check Description
dj/TryBot-apply_patch success Patch applied to master at the time it was sent

Commit Message

Florian Weimer June 3, 2021, 11:17 p.m. UTC
  The symbols were moved using scripts/move-symbol-to-libc.py.
---
 include/mqueue.h                              | 12 +++----
 rt/Makefile                                   |  4 +--
 rt/Versions                                   |  8 +++--
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  4 +++
 sysdeps/unix/sysv/linux/aarch64/librt.abilist |  2 --
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  4 +++
 sysdeps/unix/sysv/linux/alpha/librt.abilist   |  2 --
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  4 +++
 sysdeps/unix/sysv/linux/arc/librt.abilist     |  2 --
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  4 +++
 sysdeps/unix/sysv/linux/arm/be/librt.abilist  |  2 --
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  4 +++
 sysdeps/unix/sysv/linux/arm/le/librt.abilist  |  2 --
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  4 +++
 sysdeps/unix/sysv/linux/csky/librt.abilist    |  2 --
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  4 +++
 sysdeps/unix/sysv/linux/hppa/librt.abilist    |  2 --
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  4 +++
 sysdeps/unix/sysv/linux/i386/librt.abilist    |  2 --
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  4 +++
 sysdeps/unix/sysv/linux/ia64/librt.abilist    |  2 --
 .../sysv/linux/m68k/coldfire/libc.abilist     |  4 +++
 .../sysv/linux/m68k/coldfire/librt.abilist    |  2 --
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  4 +++
 .../unix/sysv/linux/m68k/m680x0/librt.abilist |  2 --
 .../sysv/linux/microblaze/be/libc.abilist     |  4 +++
 .../sysv/linux/microblaze/be/librt.abilist    |  2 --
 .../sysv/linux/microblaze/le/libc.abilist     |  4 +++
 .../sysv/linux/microblaze/le/librt.abilist    |  2 --
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  4 +++
 .../unix/sysv/linux/mips/mips32/librt.abilist |  2 --
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  4 +++
 .../unix/sysv/linux/mips/mips64/librt.abilist |  2 --
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  4 +++
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  4 +++
 sysdeps/unix/sysv/linux/mq_send.c             |  7 +++-
 sysdeps/unix/sysv/linux/mq_timedsend.c        | 36 +++++++++++++------
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  4 +++
 sysdeps/unix/sysv/linux/nios2/librt.abilist   |  2 --
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  4 +++
 .../linux/powerpc/powerpc32/librt.abilist     |  2 --
 .../powerpc/powerpc32/nofpu/libc.abilist      |  4 +++
 .../linux/powerpc/powerpc64/be/libc.abilist   |  4 +++
 .../linux/powerpc/powerpc64/be/librt.abilist  |  2 --
 .../linux/powerpc/powerpc64/le/libc.abilist   |  4 +++
 .../linux/powerpc/powerpc64/le/librt.abilist  |  2 --
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  4 +++
 .../unix/sysv/linux/riscv/rv32/librt.abilist  |  2 --
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  4 +++
 .../unix/sysv/linux/riscv/rv64/librt.abilist  |  2 --
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  4 +++
 .../sysv/linux/s390/s390-32/librt.abilist     |  2 --
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  4 +++
 .../sysv/linux/s390/s390-64/librt.abilist     |  2 --
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  4 +++
 sysdeps/unix/sysv/linux/sh/be/librt.abilist   |  2 --
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  4 +++
 sysdeps/unix/sysv/linux/sh/le/librt.abilist   |  2 --
 .../sysv/linux/sparc/sparc32/libc.abilist     |  4 +++
 .../sysv/linux/sparc/sparc32/librt.abilist    |  2 --
 .../sysv/linux/sparc/sparc64/libc.abilist     |  4 +++
 .../sysv/linux/sparc/sparc64/librt.abilist    |  2 --
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  4 +++
 .../unix/sysv/linux/x86_64/64/librt.abilist   |  2 --
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  4 +++
 .../unix/sysv/linux/x86_64/x32/librt.abilist  |  2 --
 66 files changed, 174 insertions(+), 79 deletions(-)
  

Patch

diff --git a/include/mqueue.h b/include/mqueue.h
index 8243a637d2..7a2459e603 100644
--- a/include/mqueue.h
+++ b/include/mqueue.h
@@ -2,21 +2,20 @@ 
 
 #ifndef _ISOMAC
 extern __typeof (mq_timedreceive) __mq_timedreceive __nonnull ((2, 5));
+extern __typeof (mq_timedsend) __mq_timedsend __nonnull ((2, 5));
 
-# if IS_IN (librt)
+# if IS_IN (librt) && !PTHREAD_IN_LIBC
 hidden_proto (mq_timedsend)
-extern __typeof (mq_timedsend) __mq_timedsend __nonnull ((2, 5));
 hidden_proto (__mq_timedsend)
-#  if !PTHREAD_IN_LIBC
 hidden_proto (mq_setattr)
 hidden_proto (mq_timedreceive)
 hidden_proto (__mq_timedreceive)
-#  endif
-# endif /* IS_IN (librt) */
+# endif
 
 # if PTHREAD_IN_LIBC
 libc_hidden_proto (mq_setattr)
 libc_hidden_proto (__mq_timedreceive)
+libc_hidden_proto (__mq_timedsend)
 
 /* Called from fork so that the new subprocess re-creates the
    notification thread if necessary.  */
@@ -31,7 +30,6 @@  void __mq_notify_fork_subprocess (void) attribute_hidden;
 extern int __mq_timedsend_time64 (mqd_t mqdes, const char *msg_ptr,
                                   size_t msg_len, unsigned int msg_prio,
                                   const struct __timespec64 *abs_timeout);
-librt_hidden_proto (__mq_timedsend_time64)
 extern ssize_t __mq_timedreceive_time64 (mqd_t mqdes,
                                          char *__restrict msg_ptr,
                                          size_t msg_len,
@@ -40,8 +38,10 @@  extern ssize_t __mq_timedreceive_time64 (mqd_t mqdes,
                                          abs_timeout);
 #  if PTHREAD_IN_LIBC
 libc_hidden_proto (__mq_timedreceive_time64)
+libc_hidden_proto (__mq_timedsend_time64)
 #  else
 librt_hidden_proto (__mq_timedreceive_time64)
+librt_hidden_proto (__mq_timedsend_time64)
 #  endif
 #endif
 #endif
diff --git a/rt/Makefile b/rt/Makefile
index 72cdd648c3..a6de82c270 100644
--- a/rt/Makefile
+++ b/rt/Makefile
@@ -30,8 +30,6 @@  routines = \
 
 librt-routines = \
   librt-compat \
-  mq_send \
-  mq_timedsend \
   mq_unlink \
   timer_create \
   timer_delete \
@@ -61,8 +59,10 @@  $(librt-routines-var) += \
   mq_notify \
   mq_open \
   mq_receive \
+  mq_send \
   mq_setattr \
   mq_timedreceive \
+  mq_timedsend \
 
 tests := tst-shm tst-timer tst-timer2 \
 	 tst-aio tst-aio64 tst-aio2 tst-aio3 tst-aio4 tst-aio5 tst-aio6 \
diff --git a/rt/Versions b/rt/Versions
index 541106632e..3363ccb526 100644
--- a/rt/Versions
+++ b/rt/Versions
@@ -31,8 +31,10 @@  libc {
     mq_notify;
     mq_open;
     mq_receive;
+    mq_send;
     mq_setattr;
     mq_timedreceive;
+    mq_timedsend;
 %endif
   }
   GLIBC_2.4 {
@@ -71,8 +73,10 @@  libc {
     mq_notify;
     mq_open;
     mq_receive;
+    mq_send;
     mq_setattr;
     mq_timedreceive;
+    mq_timedsend;
 %endif
     shm_open;
     shm_unlink;
@@ -129,11 +133,11 @@  librt {
     mq_notify;
     mq_open;
     mq_receive;
+    mq_send;
     mq_setattr;
     mq_timedreceive;
-%endif
-    mq_send;
     mq_timedsend;
+%endif
     mq_unlink;
   }
   GLIBC_2.4 {
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index e855de3b71..bc4524c3c8 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1363,8 +1363,10 @@  GLIBC_2.17 mq_getattr F
 GLIBC_2.17 mq_notify F
 GLIBC_2.17 mq_open F
 GLIBC_2.17 mq_receive F
+GLIBC_2.17 mq_send F
 GLIBC_2.17 mq_setattr F
 GLIBC_2.17 mq_timedreceive F
+GLIBC_2.17 mq_timedsend F
 GLIBC_2.17 mrand48 F
 GLIBC_2.17 mrand48_r F
 GLIBC_2.17 mremap F
@@ -2411,8 +2413,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/aarch64/librt.abilist b/sysdeps/unix/sysv/linux/aarch64/librt.abilist
index 1c3c05932e..4f4c72f3cc 100644
--- a/sysdeps/unix/sysv/linux/aarch64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.17 mq_send F
-GLIBC_2.17 mq_timedsend F
 GLIBC_2.17 mq_unlink F
 GLIBC_2.17 timer_create F
 GLIBC_2.17 timer_delete F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 255b23223e..ebad573581 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2397,8 +2397,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2505,8 +2507,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/alpha/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist
index 6eae7e9482..3156616c8b 100644
--- a/sysdeps/unix/sysv/linux/alpha/librt.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist
@@ -10,8 +10,6 @@  GLIBC_2.3.3 timer_delete F
 GLIBC_2.3.3 timer_getoverrun F
 GLIBC_2.3.3 timer_gettime F
 GLIBC_2.3.3 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index aa6a44204d..b4bf198fd9 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1294,8 +1294,10 @@  GLIBC_2.32 mq_getattr F
 GLIBC_2.32 mq_notify F
 GLIBC_2.32 mq_open F
 GLIBC_2.32 mq_receive F
+GLIBC_2.32 mq_send F
 GLIBC_2.32 mq_setattr F
 GLIBC_2.32 mq_timedreceive F
+GLIBC_2.32 mq_timedsend F
 GLIBC_2.32 mrand48 F
 GLIBC_2.32 mrand48_r F
 GLIBC_2.32 mremap F
@@ -2170,8 +2172,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist
index 7a861b1e76..c69ae6e40b 100644
--- a/sysdeps/unix/sysv/linux/arc/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arc/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.32 mq_send F
-GLIBC_2.32 mq_timedsend F
 GLIBC_2.32 mq_unlink F
 GLIBC_2.32 timer_create F
 GLIBC_2.32 timer_delete F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 3bc0ddfe2c..7d221d5a44 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -240,8 +240,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
@@ -1660,8 +1662,10 @@  GLIBC_2.4 mq_getattr F
 GLIBC_2.4 mq_notify F
 GLIBC_2.4 mq_open F
 GLIBC_2.4 mq_receive F
+GLIBC_2.4 mq_send F
 GLIBC_2.4 mq_setattr F
 GLIBC_2.4 mq_timedreceive F
+GLIBC_2.4 mq_timedsend F
 GLIBC_2.4 mrand48 F
 GLIBC_2.4 mrand48_r F
 GLIBC_2.4 mremap F
diff --git a/sysdeps/unix/sysv/linux/arm/be/librt.abilist b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
index 688e576e26..3f6cc02b8b 100644
--- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.4 mq_send F
-GLIBC_2.4 mq_timedsend F
 GLIBC_2.4 mq_unlink F
 GLIBC_2.4 timer_create F
 GLIBC_2.4 timer_delete F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 32501ae7c9..b13534180d 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -237,8 +237,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
@@ -1657,8 +1659,10 @@  GLIBC_2.4 mq_getattr F
 GLIBC_2.4 mq_notify F
 GLIBC_2.4 mq_open F
 GLIBC_2.4 mq_receive F
+GLIBC_2.4 mq_send F
 GLIBC_2.4 mq_setattr F
 GLIBC_2.4 mq_timedreceive F
+GLIBC_2.4 mq_timedsend F
 GLIBC_2.4 mrand48 F
 GLIBC_2.4 mrand48_r F
 GLIBC_2.4 mremap F
diff --git a/sysdeps/unix/sysv/linux/arm/le/librt.abilist b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
index 688e576e26..3f6cc02b8b 100644
--- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.4 mq_send F
-GLIBC_2.4 mq_timedsend F
 GLIBC_2.4 mq_unlink F
 GLIBC_2.4 timer_create F
 GLIBC_2.4 timer_delete F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 130dac13c6..8ce2ac46dc 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1349,8 +1349,10 @@  GLIBC_2.29 mq_getattr F
 GLIBC_2.29 mq_notify F
 GLIBC_2.29 mq_open F
 GLIBC_2.29 mq_receive F
+GLIBC_2.29 mq_send F
 GLIBC_2.29 mq_setattr F
 GLIBC_2.29 mq_timedreceive F
+GLIBC_2.29 mq_timedsend F
 GLIBC_2.29 mrand48 F
 GLIBC_2.29 mrand48_r F
 GLIBC_2.29 mremap F
@@ -2354,8 +2356,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/csky/librt.abilist b/sysdeps/unix/sysv/linux/csky/librt.abilist
index a2fddc0c8e..6474e3bc74 100644
--- a/sysdeps/unix/sysv/linux/csky/librt.abilist
+++ b/sysdeps/unix/sysv/linux/csky/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.29 mq_send F
-GLIBC_2.29 mq_timedsend F
 GLIBC_2.29 mq_unlink F
 GLIBC_2.29 timer_create F
 GLIBC_2.29 timer_delete F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 23ff5af16c..b4cf7382d7 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2211,8 +2211,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2307,8 +2309,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/hppa/librt.abilist b/sysdeps/unix/sysv/linux/hppa/librt.abilist
index 04d8bff765..8260d89822 100644
--- a/sysdeps/unix/sysv/linux/hppa/librt.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist
@@ -4,8 +4,6 @@  GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
 GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index c28ae0c712..a100310b23 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2392,8 +2392,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2491,8 +2493,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/i386/librt.abilist b/sysdeps/unix/sysv/linux/i386/librt.abilist
index 04d8bff765..8260d89822 100644
--- a/sysdeps/unix/sysv/linux/i386/librt.abilist
+++ b/sysdeps/unix/sysv/linux/i386/librt.abilist
@@ -4,8 +4,6 @@  GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
 GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index b4b7bea2d8..8b3581d683 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -2246,8 +2246,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2343,8 +2345,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/ia64/librt.abilist b/sysdeps/unix/sysv/linux/ia64/librt.abilist
index eb4a5080e2..6c8eb08863 100644
--- a/sysdeps/unix/sysv/linux/ia64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/librt.abilist
@@ -9,8 +9,6 @@  GLIBC_2.3.3 timer_delete F
 GLIBC_2.3.3 timer_getoverrun F
 GLIBC_2.3.3 timer_gettime F
 GLIBC_2.3.3 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 0c708b427d..5669ca175a 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -241,8 +241,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
@@ -1644,8 +1646,10 @@  GLIBC_2.4 mq_getattr F
 GLIBC_2.4 mq_notify F
 GLIBC_2.4 mq_open F
 GLIBC_2.4 mq_receive F
+GLIBC_2.4 mq_send F
 GLIBC_2.4 mq_setattr F
 GLIBC_2.4 mq_timedreceive F
+GLIBC_2.4 mq_timedsend F
 GLIBC_2.4 mrand48 F
 GLIBC_2.4 mrand48_r F
 GLIBC_2.4 mremap F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
index 688e576e26..3f6cc02b8b 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.4 mq_send F
-GLIBC_2.4 mq_timedsend F
 GLIBC_2.4 mq_unlink F
 GLIBC_2.4 timer_create F
 GLIBC_2.4 timer_delete F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 13117d8332..a3510a8da5 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2335,8 +2335,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2434,8 +2436,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
index 04d8bff765..8260d89822 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
@@ -4,8 +4,6 @@  GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
 GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 45d05b3077..34ec16e64f 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1365,8 +1365,10 @@  GLIBC_2.18 mq_getattr F
 GLIBC_2.18 mq_notify F
 GLIBC_2.18 mq_open F
 GLIBC_2.18 mq_receive F
+GLIBC_2.18 mq_send F
 GLIBC_2.18 mq_setattr F
 GLIBC_2.18 mq_timedreceive F
+GLIBC_2.18 mq_timedsend F
 GLIBC_2.18 mrand48 F
 GLIBC_2.18 mrand48_r F
 GLIBC_2.18 mremap F
@@ -2405,8 +2407,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
index 4c95f61cd5..2fd2f0bdb4 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.18 mq_send F
-GLIBC_2.18 mq_timedsend F
 GLIBC_2.18 mq_unlink F
 GLIBC_2.18 timer_create F
 GLIBC_2.18 timer_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 79f2d051aa..e0a37c49fc 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1365,8 +1365,10 @@  GLIBC_2.18 mq_getattr F
 GLIBC_2.18 mq_notify F
 GLIBC_2.18 mq_open F
 GLIBC_2.18 mq_receive F
+GLIBC_2.18 mq_send F
 GLIBC_2.18 mq_setattr F
 GLIBC_2.18 mq_timedreceive F
+GLIBC_2.18 mq_timedsend F
 GLIBC_2.18 mrand48 F
 GLIBC_2.18 mrand48_r F
 GLIBC_2.18 mremap F
@@ -2402,8 +2404,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
index 4c95f61cd5..2fd2f0bdb4 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.18 mq_send F
-GLIBC_2.18 mq_timedsend F
 GLIBC_2.18 mq_unlink F
 GLIBC_2.18 timer_create F
 GLIBC_2.18 timer_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index ef0ee9d68d..8497e83efc 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2303,8 +2303,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2399,8 +2401,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
index b5796aadb3..1daa0ecaef 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
@@ -3,8 +3,6 @@  GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
 GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 92cf73c49e..b16498fe37 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2301,8 +2301,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2397,8 +2399,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist
index b5796aadb3..1daa0ecaef 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist
@@ -3,8 +3,6 @@  GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
 GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index baccbedce8..6ec26434ab 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2309,8 +2309,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2405,8 +2407,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 4d2c898966..ecb3422205 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2303,8 +2303,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2399,8 +2401,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/mq_send.c b/sysdeps/unix/sysv/linux/mq_send.c
index 7744a83fab..45944548b0 100644
--- a/sysdeps/unix/sysv/linux/mq_send.c
+++ b/sysdeps/unix/sysv/linux/mq_send.c
@@ -17,13 +17,18 @@ 
 
 #include <errno.h>
 #include <mqueue.h>
+#include <shlib-compat.h>
 #include <stddef.h>
 #include <sysdep.h>
 
 /* Add message pointed by MSG_PTR to message queue MQDES.  */
 int
-mq_send (mqd_t mqdes, const char *msg_ptr, size_t msg_len,
+__mq_send (mqd_t mqdes, const char *msg_ptr, size_t msg_len,
 	 unsigned int msg_prio)
 {
   return __mq_timedsend (mqdes, msg_ptr, msg_len, msg_prio, NULL);
 }
+versioned_symbol (libc, __mq_send, mq_send, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (librt, GLIBC_2_3_4, GLIBC_2_34)
+compat_symbol (librt, __mq_send, mq_send, GLIBC_2_3_4);
+#endif
diff --git a/sysdeps/unix/sysv/linux/mq_timedsend.c b/sysdeps/unix/sysv/linux/mq_timedsend.c
index 5f14ecb0bf..4e82e25b7f 100644
--- a/sysdeps/unix/sysv/linux/mq_timedsend.c
+++ b/sysdeps/unix/sysv/linux/mq_timedsend.c
@@ -18,13 +18,14 @@ 
 
 #include <mqueue.h>
 #include <sysdep-cancel.h>
+#include <shlib-compat.h>
 
 /* Add message pointed by MSG_PTR to message queue MQDES, stop blocking
    on full message queue if ABS_TIMEOUT expires.  */
 int
-__mq_timedsend_time64 (mqd_t mqdes, const char *msg_ptr, size_t msg_len,
-                       unsigned int msg_prio,
-                       const struct __timespec64 *abs_timeout)
+___mq_timedsend_time64 (mqd_t mqdes, const char *msg_ptr, size_t msg_len,
+			unsigned int msg_prio,
+			const struct __timespec64 *abs_timeout)
 {
 # ifndef __NR_mq_timedsend_time64
 #  define __NR_mq_timedsend_time64 __NR_mq_timedsend
@@ -55,11 +56,21 @@  __mq_timedsend_time64 (mqd_t mqdes, const char *msg_ptr, size_t msg_len,
   return ret;
 }
 
-#if __TIMESIZE != 64
-librt_hidden_def (__mq_timedsend_time64)
+#if __TIMESIZE == 64
+versioned_symbol (libc, ___mq_timedsend_time64, mq_timedsend, GLIBC_2_34);
+libc_hidden_ver (___mq_timedsend_time64, __mq_timedsend)
+# ifndef SHARED
+strong_alias (___mq_timedsend_time64, __mq_timedsend)
+# endif
+# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_3_4, GLIBC_2_34)
+compat_symbol (librt, ___mq_timedsend_time64, mq_timedsend, GLIBC_2_3_4);
+# endif
+
+#else /* __TIMESIZE != 64 */
+libc_hidden_ver (___mq_timedsend_time64, __mq_timedsend_time64)
 
 int
-__mq_timedsend (mqd_t mqdes, const char *msg_ptr, size_t msg_len,
+___mq_timedsend (mqd_t mqdes, const char *msg_ptr, size_t msg_len,
                 unsigned int msg_prio, const struct timespec *abs_timeout)
 {
   struct __timespec64 ts64;
@@ -69,8 +80,13 @@  __mq_timedsend (mqd_t mqdes, const char *msg_ptr, size_t msg_len,
   return __mq_timedsend_time64 (mqdes, msg_ptr, msg_len, msg_prio,
                                 abs_timeout != NULL ? &ts64 : NULL);
 }
-#endif
+versioned_symbol (libc, ___mq_timedsend, mq_timedsend, GLIBC_2_34);
+libc_hidden_ver (___mq_timedsend, __mq_timedsend)
+# ifndef SHARED
+strong_alias (___mq_timedsend, __mq_timedsend)
+# endif
+# if OTHER_SHLIB_COMPAT (librt, GLIBC_2_3_4, GLIBC_2_34)
+compat_symbol (librt, ___mq_timedsend, mq_timedsend, GLIBC_2_3_4);
+# endif
 
-hidden_def (__mq_timedsend)
-weak_alias (__mq_timedsend, mq_timedsend)
-hidden_weak (mq_timedsend)
+#endif /* __TIMESIZE != 64 */
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index c56ef123bc..bf95d2a0a2 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1408,8 +1408,10 @@  GLIBC_2.21 mq_getattr F
 GLIBC_2.21 mq_notify F
 GLIBC_2.21 mq_open F
 GLIBC_2.21 mq_receive F
+GLIBC_2.21 mq_send F
 GLIBC_2.21 mq_setattr F
 GLIBC_2.21 mq_timedreceive F
+GLIBC_2.21 mq_timedsend F
 GLIBC_2.21 mrand48 F
 GLIBC_2.21 mrand48_r F
 GLIBC_2.21 mremap F
@@ -2444,8 +2446,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/nios2/librt.abilist b/sysdeps/unix/sysv/linux/nios2/librt.abilist
index 6f7e63316f..156fde6484 100644
--- a/sysdeps/unix/sysv/linux/nios2/librt.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.21 mq_send F
-GLIBC_2.21 mq_timedsend F
 GLIBC_2.21 mq_unlink F
 GLIBC_2.21 timer_create F
 GLIBC_2.21 timer_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 5584f58cdd..3dc4fd7ec5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2349,8 +2349,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2461,8 +2463,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
index 04d8bff765..8260d89822 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
@@ -4,8 +4,6 @@  GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
 GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 9aa7ad0ea9..cd7953df77 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2382,8 +2382,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2494,8 +2496,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 3c5699ef11..4c4c691f9b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2195,8 +2195,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2307,8 +2309,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
index 3968e8e7cb..41ac10c6e9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
@@ -8,8 +8,6 @@  GLIBC_2.3.3 timer_delete F
 GLIBC_2.3.3 timer_getoverrun F
 GLIBC_2.3.3 timer_gettime F
 GLIBC_2.3.3 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 12585936db..5d5202c332 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1451,8 +1451,10 @@  GLIBC_2.17 mq_getattr F
 GLIBC_2.17 mq_notify F
 GLIBC_2.17 mq_open F
 GLIBC_2.17 mq_receive F
+GLIBC_2.17 mq_send F
 GLIBC_2.17 mq_setattr F
 GLIBC_2.17 mq_timedreceive F
+GLIBC_2.17 mq_timedsend F
 GLIBC_2.17 mrand48 F
 GLIBC_2.17 mrand48_r F
 GLIBC_2.17 mremap F
@@ -2607,8 +2609,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
index 1c3c05932e..4f4c72f3cc 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.17 mq_send F
-GLIBC_2.17 mq_timedsend F
 GLIBC_2.17 mq_unlink F
 GLIBC_2.17 timer_create F
 GLIBC_2.17 timer_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index ffb3cc7364..105ecfd046 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1296,8 +1296,10 @@  GLIBC_2.33 mq_getattr F
 GLIBC_2.33 mq_notify F
 GLIBC_2.33 mq_open F
 GLIBC_2.33 mq_receive F
+GLIBC_2.33 mq_send F
 GLIBC_2.33 mq_setattr F
 GLIBC_2.33 mq_timedreceive F
+GLIBC_2.33 mq_timedsend F
 GLIBC_2.33 mrand48 F
 GLIBC_2.33 mrand48_r F
 GLIBC_2.33 mremap F
@@ -2172,8 +2174,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
index 02e6e0d513..bcede2f3c4 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.33 mq_send F
-GLIBC_2.33 mq_timedsend F
 GLIBC_2.33 mq_unlink F
 GLIBC_2.33 timer_create F
 GLIBC_2.33 timer_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 086c508836..9c4e300735 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1346,8 +1346,10 @@  GLIBC_2.27 mq_getattr F
 GLIBC_2.27 mq_notify F
 GLIBC_2.27 mq_open F
 GLIBC_2.27 mq_receive F
+GLIBC_2.27 mq_send F
 GLIBC_2.27 mq_setattr F
 GLIBC_2.27 mq_timedreceive F
+GLIBC_2.27 mq_timedsend F
 GLIBC_2.27 mrand48 F
 GLIBC_2.27 mrand48_r F
 GLIBC_2.27 mremap F
@@ -2372,8 +2374,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
index 7cd66b1ff6..15bac0b449 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.27 mq_send F
-GLIBC_2.27 mq_timedsend F
 GLIBC_2.27 mq_unlink F
 GLIBC_2.27 timer_create F
 GLIBC_2.27 timer_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 4b85fa5e9f..706a30e0f8 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2348,8 +2348,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2459,8 +2461,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
index 04d8bff765..8260d89822 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
@@ -4,8 +4,6 @@  GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
 GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 26f2756e62..4f08e4d868 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2236,8 +2236,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2344,8 +2346,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
index acaafa5f29..0d4d401608 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
@@ -8,8 +8,6 @@  GLIBC_2.3.3 timer_delete F
 GLIBC_2.3.3 timer_getoverrun F
 GLIBC_2.3.3 timer_gettime F
 GLIBC_2.3.3 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index bfdfabdb7a..398f540874 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2215,8 +2215,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2314,8 +2316,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/sh/be/librt.abilist b/sysdeps/unix/sysv/linux/sh/be/librt.abilist
index 04d8bff765..8260d89822 100644
--- a/sysdeps/unix/sysv/linux/sh/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/librt.abilist
@@ -4,8 +4,6 @@  GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
 GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 5481110df9..354ba17641 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2215,8 +2215,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2311,8 +2313,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/sh/le/librt.abilist b/sysdeps/unix/sysv/linux/sh/le/librt.abilist
index 04d8bff765..8260d89822 100644
--- a/sysdeps/unix/sysv/linux/sh/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/librt.abilist
@@ -4,8 +4,6 @@  GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
 GLIBC_2.2 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 275babc59f..51a02a969c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2346,8 +2346,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2454,8 +2456,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
index a0682cde87..fb1ab58411 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
@@ -5,8 +5,6 @@  GLIBC_2.2 timer_getoverrun F
 GLIBC_2.2 timer_gettime F
 GLIBC_2.2 timer_settime F
 GLIBC_2.3 __librt_version_placeholder F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 1736a832f3..46a3b76412 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2270,8 +2270,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2366,8 +2368,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
index 6eae7e9482..3156616c8b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
@@ -10,8 +10,6 @@  GLIBC_2.3.3 timer_delete F
 GLIBC_2.3.3 timer_getoverrun F
 GLIBC_2.3.3 timer_gettime F
 GLIBC_2.3.3 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 904232ea5b..d5bd8b2e9b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2224,8 +2224,10 @@  GLIBC_2.3.4 mq_getattr F
 GLIBC_2.3.4 mq_notify F
 GLIBC_2.3.4 mq_open F
 GLIBC_2.3.4 mq_receive F
+GLIBC_2.3.4 mq_send F
 GLIBC_2.3.4 mq_setattr F
 GLIBC_2.3.4 mq_timedreceive F
+GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 pthread_attr_getaffinity_np F
 GLIBC_2.3.4 pthread_attr_setaffinity_np F
 GLIBC_2.3.4 pthread_getaffinity_np F
@@ -2322,8 +2324,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
index f61e3e7428..d20321ccad 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
@@ -8,8 +8,6 @@  GLIBC_2.3.3 timer_delete F
 GLIBC_2.3.3 timer_getoverrun F
 GLIBC_2.3.3 timer_gettime F
 GLIBC_2.3.3 timer_settime F
-GLIBC_2.3.4 mq_send F
-GLIBC_2.3.4 mq_timedsend F
 GLIBC_2.3.4 mq_unlink F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 2f45055dbc..a126fc0588 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1370,8 +1370,10 @@  GLIBC_2.16 mq_getattr F
 GLIBC_2.16 mq_notify F
 GLIBC_2.16 mq_open F
 GLIBC_2.16 mq_receive F
+GLIBC_2.16 mq_send F
 GLIBC_2.16 mq_setattr F
 GLIBC_2.16 mq_timedreceive F
+GLIBC_2.16 mq_timedsend F
 GLIBC_2.16 mrand48 F
 GLIBC_2.16 mrand48_r F
 GLIBC_2.16 mremap F
@@ -2426,8 +2428,10 @@  GLIBC_2.34 mq_getattr F
 GLIBC_2.34 mq_notify F
 GLIBC_2.34 mq_open F
 GLIBC_2.34 mq_receive F
+GLIBC_2.34 mq_send F
 GLIBC_2.34 mq_setattr F
 GLIBC_2.34 mq_timedreceive F
+GLIBC_2.34 mq_timedsend F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
index 7e39929d27..7ae8f7dc74 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
@@ -1,5 +1,3 @@ 
-GLIBC_2.16 mq_send F
-GLIBC_2.16 mq_timedsend F
 GLIBC_2.16 mq_unlink F
 GLIBC_2.16 timer_create F
 GLIBC_2.16 timer_delete F