public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc] Linux: Move mq_unlink from librt to libc
@ 2021-06-25 11:35 Florian Weimer
  0 siblings, 0 replies; only message in thread
From: Florian Weimer @ 2021-06-25 11:35 UTC (permalink / raw)
  To: glibc-cvs

https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=1a5a653be2f95d4d9485d08672dc5083c74c39d8

commit 1a5a653be2f95d4d9485d08672dc5083c74c39d8
Author: Florian Weimer <fweimer@redhat.com>
Date:   Fri Jun 25 10:42:54 2021 +0200

    Linux: Move mq_unlink from librt to libc
    
    The symbol was moved using scripts/move-symbol-to-libc.py.
    A placeholder symbol is needed on some architectures for the
    GLIBC_2.3.4 version.
    
    Reviewed-by: Adhemerva Zanella  <adhemerval.zanella@linaro.org>

Diff:
---
 rt/Makefile                                                  | 2 +-
 rt/Versions                                                  | 8 ++++++--
 rt/librt-compat.c                                            | 6 ++++++
 sysdeps/unix/sysv/linux/aarch64/libc.abilist                 | 2 ++
 sysdeps/unix/sysv/linux/aarch64/librt.abilist                | 1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist                   | 2 ++
 sysdeps/unix/sysv/linux/alpha/librt.abilist                  | 2 +-
 sysdeps/unix/sysv/linux/arc/libc.abilist                     | 2 ++
 sysdeps/unix/sysv/linux/arc/librt.abilist                    | 1 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist                  | 2 ++
 sysdeps/unix/sysv/linux/arm/be/librt.abilist                 | 1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist                  | 2 ++
 sysdeps/unix/sysv/linux/arm/le/librt.abilist                 | 1 -
 sysdeps/unix/sysv/linux/csky/libc.abilist                    | 2 ++
 sysdeps/unix/sysv/linux/csky/librt.abilist                   | 1 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist                    | 2 ++
 sysdeps/unix/sysv/linux/hppa/librt.abilist                   | 2 +-
 sysdeps/unix/sysv/linux/i386/libc.abilist                    | 2 ++
 sysdeps/unix/sysv/linux/i386/librt.abilist                   | 2 +-
 sysdeps/unix/sysv/linux/ia64/libc.abilist                    | 2 ++
 sysdeps/unix/sysv/linux/ia64/librt.abilist                   | 2 +-
 sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist           | 2 ++
 sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist          | 1 -
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist             | 2 ++
 sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist            | 2 +-
 sysdeps/unix/sysv/linux/microblaze/be/libc.abilist           | 2 ++
 sysdeps/unix/sysv/linux/microblaze/be/librt.abilist          | 1 -
 sysdeps/unix/sysv/linux/microblaze/le/libc.abilist           | 2 ++
 sysdeps/unix/sysv/linux/microblaze/le/librt.abilist          | 1 -
 sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist         | 2 ++
 sysdeps/unix/sysv/linux/mips/mips32/librt.abilist            | 2 +-
 sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist       | 2 ++
 sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist         | 2 ++
 sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist        | 2 +-
 sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist         | 2 ++
 sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist        | 2 +-
 sysdeps/unix/sysv/linux/mq_unlink.c                          | 7 ++++++-
 sysdeps/unix/sysv/linux/nios2/libc.abilist                   | 2 ++
 sysdeps/unix/sysv/linux/nios2/librt.abilist                  | 1 -
 sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist   | 2 ++
 sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist      | 2 +-
 sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist | 2 ++
 sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist    | 2 ++
 sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist   | 2 +-
 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist    | 2 ++
 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist   | 1 -
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist              | 2 ++
 sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist             | 1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist              | 2 ++
 sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist             | 1 -
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist            | 2 ++
 sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist           | 2 +-
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist            | 2 ++
 sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist           | 2 +-
 sysdeps/unix/sysv/linux/sh/be/libc.abilist                   | 2 ++
 sysdeps/unix/sysv/linux/sh/be/librt.abilist                  | 2 +-
 sysdeps/unix/sysv/linux/sh/le/libc.abilist                   | 2 ++
 sysdeps/unix/sysv/linux/sh/le/librt.abilist                  | 2 +-
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist           | 2 ++
 sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist          | 2 +-
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist           | 2 ++
 sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist          | 2 +-
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist               | 2 ++
 sysdeps/unix/sysv/linux/x86_64/64/librt.abilist              | 2 +-
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist              | 2 ++
 sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist             | 1 -
 66 files changed, 100 insertions(+), 34 deletions(-)

diff --git a/rt/Makefile b/rt/Makefile
index eaf4a5a344..ca3f9e162e 100644
--- a/rt/Makefile
+++ b/rt/Makefile
@@ -30,7 +30,6 @@ routines = \
 
 librt-routines = \
   librt-compat \
-  mq_unlink \
   timer_create \
   timer_delete \
   timer_getoverr \
@@ -63,6 +62,7 @@ $(librt-routines-var) += \
   mq_setattr \
   mq_timedreceive \
   mq_timedsend \
+  mq_unlink \
 
 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 3363ccb526..9a09062a2a 100644
--- a/rt/Versions
+++ b/rt/Versions
@@ -35,6 +35,7 @@ libc {
     mq_setattr;
     mq_timedreceive;
     mq_timedsend;
+    mq_unlink;
 %endif
   }
   GLIBC_2.4 {
@@ -77,6 +78,7 @@ libc {
     mq_setattr;
     mq_timedreceive;
     mq_timedsend;
+    mq_unlink;
 %endif
     shm_open;
     shm_unlink;
@@ -127,7 +129,9 @@ librt {
     timer_settime;
   }
   GLIBC_2.3.4 {
-%if !PTHREAD_IN_LIBC
+%if PTHREAD_IN_LIBC
+    __librt_version_placeholder;
+%else
     mq_close;
     mq_getattr;
     mq_notify;
@@ -137,8 +141,8 @@ librt {
     mq_setattr;
     mq_timedreceive;
     mq_timedsend;
-%endif
     mq_unlink;
+%endif
   }
   GLIBC_2.4 {
 %if PTHREAD_IN_LIBC
diff --git a/rt/librt-compat.c b/rt/librt-compat.c
index ef353acdd1..24c2ed9db4 100644
--- a/rt/librt-compat.c
+++ b/rt/librt-compat.c
@@ -33,6 +33,12 @@ compat_symbol (librt, __librt_version_placeholder_1,
 # endif
 
 # if SHLIB_COMPAT (librt, GLIBC_2_4, GLIBC_2_34) \
+  && ABI_librt_GLIBC_2_3_4 != ABI_librt_GLIBC_2_1
+compat_symbol (librt, __librt_version_placeholder_1,
+               __librt_version_placeholder, GLIBC_2_3_4);
+# endif
+
+# if SHLIB_COMPAT (librt, GLIBC_2_4, GLIBC_2_34)        \
   && ABI_librt_GLIBC_2_4 != ABI_librt_GLIBC_2_1
 compat_symbol (librt, __librt_version_placeholder_1,
                __librt_version_placeholder, GLIBC_2_4);
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index b4edd23bc8..141d5cb843 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1367,6 +1367,7 @@ 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 mq_unlink F
 GLIBC_2.17 mrand48 F
 GLIBC_2.17 mrand48_r F
 GLIBC_2.17 mremap F
@@ -2419,6 +2420,7 @@ 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 mq_unlink 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 4f4c72f3cc..54bb3e5c7c 100644
--- a/sysdeps/unix/sysv/linux/aarch64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/librt.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.17 mq_unlink F
 GLIBC_2.17 timer_create F
 GLIBC_2.17 timer_delete F
 GLIBC_2.17 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index c2fd6ec79e..5441b6a3f3 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2401,6 +2401,7 @@ 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 mq_unlink 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
@@ -2513,6 +2514,7 @@ 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 mq_unlink 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 3156616c8b..8592c90bdf 100644
--- a/sysdeps/unix/sysv/linux/alpha/librt.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist
@@ -10,6 +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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder 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 c36d673f3e..37fd195f70 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1298,6 +1298,7 @@ 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 mq_unlink F
 GLIBC_2.32 mrand48 F
 GLIBC_2.32 mrand48_r F
 GLIBC_2.32 mremap F
@@ -2178,6 +2179,7 @@ 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 mq_unlink 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 c69ae6e40b..0454fb41fd 100644
--- a/sysdeps/unix/sysv/linux/arc/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arc/librt.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.32 mq_unlink F
 GLIBC_2.32 timer_create F
 GLIBC_2.32 timer_delete F
 GLIBC_2.32 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index b44d7f5d23..42ba748c07 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -325,6 +325,7 @@ 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 mq_unlink F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
@@ -1747,6 +1748,7 @@ 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 mq_unlink 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 00fffc9bf4..8682174e36 100644
--- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
@@ -1,6 +1,5 @@
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
-GLIBC_2.4 mq_unlink F
 GLIBC_2.4 timer_create F
 GLIBC_2.4 timer_delete F
 GLIBC_2.4 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 4335ee8c5b..92f06718bd 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -322,6 +322,7 @@ 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 mq_unlink F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
@@ -1744,6 +1745,7 @@ 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 mq_unlink 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 00fffc9bf4..8682174e36 100644
--- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
@@ -1,6 +1,5 @@
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
-GLIBC_2.4 mq_unlink F
 GLIBC_2.4 timer_create F
 GLIBC_2.4 timer_delete F
 GLIBC_2.4 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 11f34272fa..7ee4e79de2 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1353,6 +1353,7 @@ 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 mq_unlink F
 GLIBC_2.29 mrand48 F
 GLIBC_2.29 mrand48_r F
 GLIBC_2.29 mremap F
@@ -2441,6 +2442,7 @@ 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 mq_unlink 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 81964809e8..c92668b743 100644
--- a/sysdeps/unix/sysv/linux/csky/librt.abilist
+++ b/sysdeps/unix/sysv/linux/csky/librt.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.29 mq_unlink F
 GLIBC_2.29 timer_create F
 GLIBC_2.29 timer_delete F
 GLIBC_2.29 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index d2337afa48..7610cc4343 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -2215,6 +2215,7 @@ 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 mq_unlink 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
@@ -2394,6 +2395,7 @@ 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 mq_unlink 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 d697cfa27d..cfe4455a75 100644
--- a/sysdeps/unix/sysv/linux/hppa/librt.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist
@@ -4,7 +4,7 @@ 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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index ae326a36f4..54a6d61b0b 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2396,6 +2396,7 @@ 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 mq_unlink 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
@@ -2578,6 +2579,7 @@ 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 mq_unlink 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 d697cfa27d..cfe4455a75 100644
--- a/sysdeps/unix/sysv/linux/i386/librt.abilist
+++ b/sysdeps/unix/sysv/linux/i386/librt.abilist
@@ -4,7 +4,7 @@ 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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index ad7b86ca8e..cad4a129d1 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -2250,6 +2250,7 @@ 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 mq_unlink 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
@@ -2351,6 +2352,7 @@ 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 mq_unlink 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 6c8eb08863..842df91625 100644
--- a/sysdeps/unix/sysv/linux/ia64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/librt.abilist
@@ -9,6 +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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder 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 e0106e57e3..ff831374fa 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -326,6 +326,7 @@ 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 mq_unlink F
 GLIBC_2.34 mtx_destroy F
 GLIBC_2.34 mtx_init F
 GLIBC_2.34 mtx_lock F
@@ -1731,6 +1732,7 @@ 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 mq_unlink 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 00fffc9bf4..8682174e36 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
@@ -1,6 +1,5 @@
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
-GLIBC_2.4 mq_unlink F
 GLIBC_2.4 timer_create F
 GLIBC_2.4 timer_delete F
 GLIBC_2.4 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 833105c87e..b2c98b40e9 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2339,6 +2339,7 @@ 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 mq_unlink 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
@@ -2521,6 +2522,7 @@ 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 mq_unlink 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 d697cfa27d..cfe4455a75 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
@@ -4,7 +4,7 @@ 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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __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 168143b004..fa945ee6fc 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1369,6 +1369,7 @@ 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 mq_unlink F
 GLIBC_2.18 mrand48 F
 GLIBC_2.18 mrand48_r F
 GLIBC_2.18 mremap F
@@ -2492,6 +2493,7 @@ 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 mq_unlink 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 d0b5c08211..fcfed800bf 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.18 mq_unlink F
 GLIBC_2.18 timer_create F
 GLIBC_2.18 timer_delete F
 GLIBC_2.18 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 478c35898d..c65815be74 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1369,6 +1369,7 @@ 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 mq_unlink F
 GLIBC_2.18 mrand48 F
 GLIBC_2.18 mrand48_r F
 GLIBC_2.18 mremap F
@@ -2489,6 +2490,7 @@ 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 mq_unlink 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 d0b5c08211..fcfed800bf 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.18 mq_unlink F
 GLIBC_2.18 timer_create F
 GLIBC_2.18 timer_delete F
 GLIBC_2.18 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 4d2c5e7fff..9c0174bf65 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -2307,6 +2307,7 @@ 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 mq_unlink 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
@@ -2486,6 +2487,7 @@ 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 mq_unlink 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 c2dcd8a037..da85415743 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
@@ -3,7 +3,7 @@ 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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __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 729413e091..ac245f4413 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -2305,6 +2305,7 @@ 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 mq_unlink 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
@@ -2484,6 +2485,7 @@ 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 mq_unlink 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/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index cc82aa817c..f17c4b3412 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -2313,6 +2313,7 @@ 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 mq_unlink 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
@@ -2492,6 +2493,7 @@ 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 mq_unlink 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/n32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
index c2dcd8a037..da85415743 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
@@ -3,7 +3,7 @@ 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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 746072a535..4d9dea349d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -2307,6 +2307,7 @@ 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 mq_unlink 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
@@ -2407,6 +2408,7 @@ 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 mq_unlink 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/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
index 1daa0ecaef..51354b072d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
@@ -3,6 +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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.4 __librt_version_placeholder F
 GLIBC_2.7 __librt_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mq_unlink.c b/sysdeps/unix/sysv/linux/mq_unlink.c
index dcdc6519c4..4afe95af44 100644
--- a/sysdeps/unix/sysv/linux/mq_unlink.c
+++ b/sysdeps/unix/sysv/linux/mq_unlink.c
@@ -18,10 +18,11 @@
 #include <errno.h>
 #include <mqueue.h>
 #include <sysdep.h>
+#include <shlib-compat.h>
 
 /* Remove message queue named NAME.  */
 int
-mq_unlink (const char *name)
+__mq_unlink (const char *name)
 {
   if (name[0] != '/')
     return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
@@ -40,3 +41,7 @@ mq_unlink (const char *name)
 
   return ret;
 }
+versioned_symbol (libc, __mq_unlink, mq_unlink, GLIBC_2_34);
+#if OTHER_SHLIB_COMPAT (librt, GLIBC_2_3_4, GLIBC_2_34)
+compat_symbol (libc, __mq_unlink, mq_unlink, GLIBC_2_3_4);
+#endif
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index cd69447f25..a1f3808f18 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1412,6 +1412,7 @@ 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 mq_unlink F
 GLIBC_2.21 mrand48 F
 GLIBC_2.21 mrand48_r F
 GLIBC_2.21 mremap F
@@ -2531,6 +2532,7 @@ 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 mq_unlink 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 1ebc8dc94b..29111b77bd 100644
--- a/sysdeps/unix/sysv/linux/nios2/librt.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/librt.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.21 mq_unlink F
 GLIBC_2.21 timer_create F
 GLIBC_2.21 timer_delete F
 GLIBC_2.21 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 23ac9ab4ea..c80718d0b1 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2353,6 +2353,7 @@ 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 mq_unlink 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
@@ -2548,6 +2549,7 @@ 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 mq_unlink 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 d697cfa27d..cfe4455a75 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
@@ -4,7 +4,7 @@ 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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __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 6f082b2d25..8156d06db5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2386,6 +2386,7 @@ 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 mq_unlink 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
@@ -2581,6 +2582,7 @@ 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 mq_unlink 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 52cdbc92d4..a99bd9409b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -2199,6 +2199,7 @@ 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 mq_unlink 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
@@ -2315,6 +2316,7 @@ 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 mq_unlink 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 41ac10c6e9..9df959a434 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
@@ -8,6 +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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder 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 a6f254b4da..ae562f2864 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1455,6 +1455,7 @@ 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 mq_unlink F
 GLIBC_2.17 mrand48 F
 GLIBC_2.17 mrand48_r F
 GLIBC_2.17 mremap F
@@ -2615,6 +2616,7 @@ 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 mq_unlink 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 4f4c72f3cc..54bb3e5c7c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.17 mq_unlink F
 GLIBC_2.17 timer_create F
 GLIBC_2.17 timer_delete F
 GLIBC_2.17 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index a2749838fd..7422465183 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1300,6 +1300,7 @@ 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 mq_unlink F
 GLIBC_2.33 mrand48 F
 GLIBC_2.33 mrand48_r F
 GLIBC_2.33 mremap F
@@ -2180,6 +2181,7 @@ 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 mq_unlink 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 bcede2f3c4..540cdef209 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.33 mq_unlink F
 GLIBC_2.33 timer_create F
 GLIBC_2.33 timer_delete F
 GLIBC_2.33 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 7c4d8cc40c..0bb8343ac4 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1350,6 +1350,7 @@ 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 mq_unlink F
 GLIBC_2.27 mrand48 F
 GLIBC_2.27 mrand48_r F
 GLIBC_2.27 mremap F
@@ -2380,6 +2381,7 @@ 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 mq_unlink 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 15bac0b449..e436beaf7e 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.27 mq_unlink F
 GLIBC_2.27 timer_create F
 GLIBC_2.27 timer_delete F
 GLIBC_2.27 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 99c003615f..f9db909d63 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2352,6 +2352,7 @@ 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 mq_unlink 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
@@ -2546,6 +2547,7 @@ 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 mq_unlink 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 d697cfa27d..cfe4455a75 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
@@ -4,7 +4,7 @@ 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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __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 3441d1fcd7..593e5f9ae7 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -2240,6 +2240,7 @@ 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 mq_unlink 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
@@ -2352,6 +2353,7 @@ 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 mq_unlink 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 0d4d401608..9e185ecaef 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
@@ -8,6 +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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder 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 420f80d921..8da4e375d9 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -2219,6 +2219,7 @@ 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 mq_unlink 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
@@ -2401,6 +2402,7 @@ 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 mq_unlink 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 d697cfa27d..cfe4455a75 100644
--- a/sysdeps/unix/sysv/linux/sh/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/librt.abilist
@@ -4,7 +4,7 @@ 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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __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 d4cf18a52d..6f13625e6f 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -2219,6 +2219,7 @@ 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 mq_unlink 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
@@ -2398,6 +2399,7 @@ 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 mq_unlink 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 d697cfa27d..cfe4455a75 100644
--- a/sysdeps/unix/sysv/linux/sh/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/librt.abilist
@@ -4,7 +4,7 @@ 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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __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 0e4ca149d8..984222296d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2350,6 +2350,7 @@ 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 mq_unlink 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
@@ -2541,6 +2542,7 @@ 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 mq_unlink 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 d246e770d0..fb3a2042e0 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
@@ -5,7 +5,7 @@ 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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder F
 GLIBC_2.34 __timer_gettime64 F
 GLIBC_2.34 __timer_settime64 F
 GLIBC_2.4 __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 b9e9d89789..a6dc7f2e40 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -2274,6 +2274,7 @@ 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 mq_unlink 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
@@ -2374,6 +2375,7 @@ 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 mq_unlink 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 3156616c8b..8592c90bdf 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
@@ -10,6 +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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder 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 8029500dd3..5d0a9c4012 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -2228,6 +2228,7 @@ 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 mq_unlink 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
@@ -2330,6 +2331,7 @@ 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 mq_unlink 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 d20321ccad..ce501e124d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
@@ -8,6 +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_unlink F
+GLIBC_2.3.4 __librt_version_placeholder 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 d572f528bc..d67ef0b6d5 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1374,6 +1374,7 @@ 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 mq_unlink F
 GLIBC_2.16 mrand48 F
 GLIBC_2.16 mrand48_r F
 GLIBC_2.16 mremap F
@@ -2434,6 +2435,7 @@ 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 mq_unlink 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 7ae8f7dc74..3144e2e290 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
@@ -1,4 +1,3 @@
-GLIBC_2.16 mq_unlink F
 GLIBC_2.16 timer_create F
 GLIBC_2.16 timer_delete F
 GLIBC_2.16 timer_getoverrun F


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-06-25 11:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-25 11:35 [glibc] Linux: Move mq_unlink from librt to libc Florian Weimer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).