diff mbox series

[06/34] rt: Move shm_unlink into libc

Message ID ab6a32e3b39186c39c52a8b05be9d4978d4410cb.1623956057.git.fweimer@redhat.com
State Committed
Commit ae830b2d9f5238e1bee9820cd4d4df7f7b13ecff
Headers show
Series Move librt into libc | expand

Checks

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

Commit Message

Florian Weimer June 17, 2021, 6:57 p.m. UTC
This function has no dependency on libpthread, so the move is also
applied to Hurd.

The symbol was moved using scripts/move-symbol-to-libc.py.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
---
 rt/Makefile                                            |  2 +-
 rt/Versions                                            |  3 ++-
 rt/shm_unlink.c                                        | 10 ++++++++--
 sysdeps/mach/hurd/i386/libc.abilist                    |  2 ++
 sysdeps/mach/hurd/i386/librt.abilist                   |  1 -
 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            |  1 -
 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             |  1 -
 sysdeps/unix/sysv/linux/i386/libc.abilist              |  2 ++
 sysdeps/unix/sysv/linux/i386/librt.abilist             |  1 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist              |  2 ++
 sysdeps/unix/sysv/linux/ia64/librt.abilist             |  1 -
 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      |  1 -
 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      |  1 -
 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  |  1 -
 sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist   |  2 ++
 sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist  |  1 -
 sysdeps/unix/sysv/linux/nios2/libc.abilist             |  2 ++
 sysdeps/unix/sysv/linux/nios2/librt.abilist            |  1 -
 .../unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist |  2 ++
 .../unix/sysv/linux/powerpc/powerpc32/librt.abilist    |  1 -
 .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist    |  2 ++
 .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist  |  2 ++
 .../unix/sysv/linux/powerpc/powerpc64/be/librt.abilist |  1 -
 .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist  |  2 ++
 .../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     |  1 -
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist      |  2 ++
 sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist     |  1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist             |  2 ++
 sysdeps/unix/sysv/linux/sh/be/librt.abilist            |  1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist             |  2 ++
 sysdeps/unix/sysv/linux/sh/le/librt.abilist            |  1 -
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist     |  2 ++
 sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist    |  1 -
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist     |  2 ++
 sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist    |  1 -
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist         |  2 ++
 sysdeps/unix/sysv/linux/x86_64/64/librt.abilist        |  1 -
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist        |  2 ++
 sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist       |  1 -
 67 files changed, 77 insertions(+), 35 deletions(-)
diff mbox series

Patch

diff --git a/rt/Makefile b/rt/Makefile
index ba141c82f2..329db09c32 100644
--- a/rt/Makefile
+++ b/rt/Makefile
@@ -26,6 +26,7 @@  headers	:= aio.h mqueue.h bits/mqueue.h bits/mqueue2.h
 
 routines = \
   shm_open \
+  shm_unlink \
 
 librt-routines = \
   aio_cancel \
@@ -52,7 +53,6 @@  librt-routines = \
   mq_timedreceive \
   mq_timedsend \
   mq_unlink \
-  shm_unlink \
   timer_create \
   timer_delete \
   timer_getoverr \
diff --git a/rt/Versions b/rt/Versions
index e1d208eeb3..309486be1e 100644
--- a/rt/Versions
+++ b/rt/Versions
@@ -1,9 +1,11 @@ 
 libc {
   GLIBC_2.2 {
     shm_open;
+    shm_unlink;
   }
   GLIBC_2.34 {
     shm_open;
+    shm_unlink;
   }
 }
 librt {
@@ -27,7 +29,6 @@  librt {
     lio_listio64;
   }
   GLIBC_2.2 {
-    shm_unlink;
     timer_create;
     timer_delete;
     timer_getoverrun;
diff --git a/rt/shm_unlink.c b/rt/shm_unlink.c
index a5af5ac147..85e9360e4c 100644
--- a/rt/shm_unlink.c
+++ b/rt/shm_unlink.c
@@ -17,13 +17,14 @@ 
    <https://www.gnu.org/licenses/>.  */
 
 #include <errno.h>
+#include <shlib-compat.h>
 #include <shm-directory.h>
 #include <string.h>
 #include <unistd.h>
 
 /* Remove shared memory object.  */
 int
-shm_unlink (const char *name)
+__shm_unlink (const char *name)
 {
   struct shmdir_name dirname;
   if (__shm_get_name (&dirname, name, false) != 0)
@@ -32,8 +33,13 @@  shm_unlink (const char *name)
       return -1;
     }
 
-  int result = unlink (dirname.name);
+  int result = __unlink (dirname.name);
   if (result < 0 && errno == EPERM)
     __set_errno (EACCES);
   return result;
 }
+versioned_symbol (libc, __shm_unlink, shm_unlink, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (librt, GLIBC_2_2, GLIBC_2_34)
+compat_symbol (libc, __shm_unlink, shm_unlink, GLIBC_2_2);
+#endif
diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist
index f1e529f087..c3232ba32e 100644
--- a/sysdeps/mach/hurd/i386/libc.abilist
+++ b/sysdeps/mach/hurd/i386/libc.abilist
@@ -1567,6 +1567,7 @@  GLIBC_2.2.6 setvbuf F
 GLIBC_2.2.6 sgetspent F
 GLIBC_2.2.6 sgetspent_r F
 GLIBC_2.2.6 shm_open F
+GLIBC_2.2.6 shm_unlink F
 GLIBC_2.2.6 shmat F
 GLIBC_2.2.6 shmctl F
 GLIBC_2.2.6 shmdt F
@@ -2228,6 +2229,7 @@  GLIBC_2.34 dlsym F
 GLIBC_2.34 dlvsym F
 GLIBC_2.34 execveat F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 timespec_getres F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
diff --git a/sysdeps/mach/hurd/i386/librt.abilist b/sysdeps/mach/hurd/i386/librt.abilist
index efee87f824..022e10b897 100644
--- a/sysdeps/mach/hurd/i386/librt.abilist
+++ b/sysdeps/mach/hurd/i386/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.2.6 aio_write F
 GLIBC_2.2.6 aio_write64 F
 GLIBC_2.2.6 lio_listio F
 GLIBC_2.2.6 lio_listio64 F
-GLIBC_2.2.6 shm_unlink F
 GLIBC_2.2.6 timer_create F
 GLIBC_2.2.6 timer_delete F
 GLIBC_2.2.6 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index f228fc17c3..42e240e284 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1784,6 +1784,7 @@  GLIBC_2.17 sgetsgent_r F
 GLIBC_2.17 sgetspent F
 GLIBC_2.17 sgetspent_r F
 GLIBC_2.17 shm_open F
+GLIBC_2.17 shm_unlink F
 GLIBC_2.17 shmat F
 GLIBC_2.17 shmctl F
 GLIBC_2.17 shmdt F
@@ -2467,6 +2468,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/aarch64/librt.abilist b/sysdeps/unix/sysv/linux/aarch64/librt.abilist
index 7ebb55d15e..c41e0e675b 100644
--- a/sysdeps/unix/sysv/linux/aarch64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/librt.abilist
@@ -26,7 +26,6 @@  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 shm_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 5b90ab838a..fad54555dc 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -2068,6 +2068,7 @@  GLIBC_2.2 ruserok_af F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 svc_getreq_common F
 GLIBC_2.2 svc_getreq_poll F
@@ -2560,6 +2561,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/alpha/librt.abilist b/sysdeps/unix/sysv/linux/alpha/librt.abilist
index bfa53df5cc..c4985067f7 100644
--- a/sysdeps/unix/sysv/linux/alpha/librt.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.1 aio_write F
 GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 00a294c22a..907716ec39 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1729,6 +1729,7 @@  GLIBC_2.32 sgetsgent_r F
 GLIBC_2.32 sgetspent F
 GLIBC_2.32 sgetspent_r F
 GLIBC_2.32 shm_open F
+GLIBC_2.32 shm_unlink F
 GLIBC_2.32 shmat F
 GLIBC_2.32 shmctl F
 GLIBC_2.32 shmdt F
@@ -2226,6 +2227,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/arc/librt.abilist b/sysdeps/unix/sysv/linux/arc/librt.abilist
index febfd3320f..7ee0b6d324 100644
--- a/sysdeps/unix/sysv/linux/arc/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arc/librt.abilist
@@ -26,7 +26,6 @@  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 shm_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 f056f72b77..50f987a429 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -398,6 +398,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
@@ -2103,6 +2104,7 @@  GLIBC_2.4 setxattr F
 GLIBC_2.4 sgetspent F
 GLIBC_2.4 sgetspent_r F
 GLIBC_2.4 shm_open F
+GLIBC_2.4 shm_unlink F
 GLIBC_2.4 shmat F
 GLIBC_2.4 shmctl F
 GLIBC_2.4 shmdt F
diff --git a/sysdeps/unix/sysv/linux/arm/be/librt.abilist b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
index 2c7735e023..278da67f77 100644
--- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
@@ -30,7 +30,6 @@  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 shm_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 45751a3796..bf9038af84 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -395,6 +395,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
@@ -2100,6 +2101,7 @@  GLIBC_2.4 setxattr F
 GLIBC_2.4 sgetspent F
 GLIBC_2.4 sgetspent_r F
 GLIBC_2.4 shm_open F
+GLIBC_2.4 shm_unlink F
 GLIBC_2.4 shmat F
 GLIBC_2.4 shmctl F
 GLIBC_2.4 shmdt F
diff --git a/sysdeps/unix/sysv/linux/arm/le/librt.abilist b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
index 2c7735e023..278da67f77 100644
--- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
@@ -30,7 +30,6 @@  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 shm_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 cd0c551a53..afb91f6f43 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1789,6 +1789,7 @@  GLIBC_2.29 sgetsgent_r F
 GLIBC_2.29 sgetspent F
 GLIBC_2.29 sgetspent_r F
 GLIBC_2.29 shm_open F
+GLIBC_2.29 shm_unlink F
 GLIBC_2.29 shmat F
 GLIBC_2.29 shmctl F
 GLIBC_2.29 shmdt F
@@ -2486,6 +2487,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/csky/librt.abilist b/sysdeps/unix/sysv/linux/csky/librt.abilist
index 397141f226..60400954a3 100644
--- a/sysdeps/unix/sysv/linux/csky/librt.abilist
+++ b/sysdeps/unix/sysv/linux/csky/librt.abilist
@@ -26,7 +26,6 @@  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 shm_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 6492ea8a6a..125f8a269a 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1556,6 +1556,7 @@  GLIBC_2.2 setvbuf F
 GLIBC_2.2 sgetspent F
 GLIBC_2.2 sgetspent_r F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmat F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 shmdt F
@@ -2440,6 +2441,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/hppa/librt.abilist b/sysdeps/unix/sysv/linux/hppa/librt.abilist
index 9330ab2679..6ac4f0597e 100644
--- a/sysdeps/unix/sysv/linux/hppa/librt.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.1 aio_write F
 GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 64e357202e..517753bdd1 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -2081,6 +2081,7 @@  GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 setrlimit F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 svc_getreq_common F
 GLIBC_2.2 svc_getreq_poll F
@@ -2624,6 +2625,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/i386/librt.abilist b/sysdeps/unix/sysv/linux/i386/librt.abilist
index 9330ab2679..6ac4f0597e 100644
--- a/sysdeps/unix/sysv/linux/i386/librt.abilist
+++ b/sysdeps/unix/sysv/linux/i386/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.1 aio_write F
 GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index 2d2a33196d..23d0928360 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1577,6 +1577,7 @@  GLIBC_2.2 setvbuf F
 GLIBC_2.2 sgetspent F
 GLIBC_2.2 sgetspent_r F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmat F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 shmdt F
@@ -2400,6 +2401,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/ia64/librt.abilist b/sysdeps/unix/sysv/linux/ia64/librt.abilist
index 31af578b45..fa7f54dd55 100644
--- a/sysdeps/unix/sysv/linux/ia64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.1 aio_write F
 GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 868964dc1a..dd5fb50b18 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -399,6 +399,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
@@ -2083,6 +2084,7 @@  GLIBC_2.4 setxattr F
 GLIBC_2.4 sgetspent F
 GLIBC_2.4 sgetspent_r F
 GLIBC_2.4 shm_open F
+GLIBC_2.4 shm_unlink F
 GLIBC_2.4 shmat F
 GLIBC_2.4 shmctl F
 GLIBC_2.4 shmdt F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
index 2c7735e023..278da67f77 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
@@ -30,7 +30,6 @@  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 shm_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 2dbaa0e4cd..cb1d553361 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -2037,6 +2037,7 @@  GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 setrlimit F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 svc_getreq_common F
 GLIBC_2.2 svc_getreq_poll F
@@ -2567,6 +2568,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
index 9330ab2679..6ac4f0597e 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.1 aio_write F
 GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index afdb458987..6a20a6fdf2 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1788,6 +1788,7 @@  GLIBC_2.18 sgetsgent_r F
 GLIBC_2.18 sgetspent F
 GLIBC_2.18 sgetspent_r F
 GLIBC_2.18 shm_open F
+GLIBC_2.18 shm_unlink F
 GLIBC_2.18 shmat F
 GLIBC_2.18 shmctl F
 GLIBC_2.18 shmdt F
@@ -2537,6 +2538,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
index e4b9a630af..a14deaabdb 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/librt.abilist
@@ -26,7 +26,6 @@  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 shm_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 054410b405..4c21cbb64d 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1788,6 +1788,7 @@  GLIBC_2.18 sgetsgent_r F
 GLIBC_2.18 sgetspent F
 GLIBC_2.18 sgetspent_r F
 GLIBC_2.18 shm_open F
+GLIBC_2.18 shm_unlink F
 GLIBC_2.18 shmat F
 GLIBC_2.18 shmctl F
 GLIBC_2.18 shmdt F
@@ -2534,6 +2535,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
index e4b9a630af..a14deaabdb 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
@@ -26,7 +26,6 @@  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 shm_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 c39eec99ee..f83ba2f780 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1943,6 +1943,7 @@  GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 sighold F
 GLIBC_2.2 sigignore F
@@ -2532,6 +2533,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
index b187230f59..2c212d29d0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.2 aio_write F
 GLIBC_2.2 aio_write64 F
 GLIBC_2.2 lio_listio F
 GLIBC_2.2 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 0344199ff9..347bbddb94 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1941,6 +1941,7 @@  GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 sighold F
 GLIBC_2.2 sigignore F
@@ -2530,6 +2531,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 8f7783cb26..26b7ab529b 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1940,6 +1940,7 @@  GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 sighold F
 GLIBC_2.2 sigignore F
 GLIBC_2.2 sigqueue F
@@ -2538,6 +2539,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
index b187230f59..2c212d29d0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.2 aio_write F
 GLIBC_2.2 aio_write64 F
 GLIBC_2.2 lio_listio F
 GLIBC_2.2 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 494829a95d..e667b0e553 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1936,6 +1936,7 @@  GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 sighold F
 GLIBC_2.2 sigignore F
 GLIBC_2.2 sigqueue F
@@ -2456,6 +2457,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
index e62ed45d14..2c7d661e56 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.2 aio_write F
 GLIBC_2.2 aio_write64 F
 GLIBC_2.2 lio_listio F
 GLIBC_2.2 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 15236167e9..89a1cc7da6 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1831,6 +1831,7 @@  GLIBC_2.21 sgetsgent_r F
 GLIBC_2.21 sgetspent F
 GLIBC_2.21 sgetspent_r F
 GLIBC_2.21 shm_open F
+GLIBC_2.21 shm_unlink F
 GLIBC_2.21 shmat F
 GLIBC_2.21 shmctl F
 GLIBC_2.21 shmdt F
@@ -2576,6 +2577,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/nios2/librt.abilist b/sysdeps/unix/sysv/linux/nios2/librt.abilist
index d9db8e1781..f600881b44 100644
--- a/sysdeps/unix/sysv/linux/nios2/librt.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/librt.abilist
@@ -26,7 +26,6 @@  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 shm_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 5bfa644345..f364c5219e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -2042,6 +2042,7 @@  GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 setrlimit F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 svc_getreq_common F
 GLIBC_2.2 svc_getreq_poll F
@@ -2594,6 +2595,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
index 9330ab2679..6ac4f0597e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.1 aio_write F
 GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 4d2899b97b..f5bcc78afe 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -2046,6 +2046,7 @@  GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 setrlimit F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 svc_getreq_common F
 GLIBC_2.2 svc_getreq_poll F
@@ -2627,6 +2628,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 1b03a7b2b2..6032716053 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1685,6 +1685,7 @@  GLIBC_2.3 setxattr F
 GLIBC_2.3 sgetspent F
 GLIBC_2.3 sgetspent_r F
 GLIBC_2.3 shm_open F
+GLIBC_2.3 shm_unlink F
 GLIBC_2.3 shmat F
 GLIBC_2.3 shmctl F
 GLIBC_2.3 shmdt F
@@ -2364,6 +2365,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
index ce776089f4..b3c7afb461 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.3 aio_write F
 GLIBC_2.3 aio_write64 F
 GLIBC_2.3 lio_listio F
 GLIBC_2.3 lio_listio64 F
-GLIBC_2.3 shm_unlink F
 GLIBC_2.3 timer_create F
 GLIBC_2.3 timer_delete F
 GLIBC_2.3 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index e69840ef13..8c5494e1dc 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1872,6 +1872,7 @@  GLIBC_2.17 sgetsgent_r F
 GLIBC_2.17 sgetspent F
 GLIBC_2.17 sgetspent_r F
 GLIBC_2.17 shm_open F
+GLIBC_2.17 shm_unlink F
 GLIBC_2.17 shmat F
 GLIBC_2.17 shmctl F
 GLIBC_2.17 shmdt F
@@ -2663,6 +2664,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
index 7ebb55d15e..c41e0e675b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/librt.abilist
@@ -26,7 +26,6 @@  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 shm_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 77e707990b..d7db279c1e 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1731,6 +1731,7 @@  GLIBC_2.33 sgetsgent_r F
 GLIBC_2.33 sgetspent F
 GLIBC_2.33 sgetspent_r F
 GLIBC_2.33 shm_open F
+GLIBC_2.33 shm_unlink F
 GLIBC_2.33 shmat F
 GLIBC_2.33 shmctl F
 GLIBC_2.33 shmdt F
@@ -2228,6 +2229,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
index 1af45783f0..c03b8a741e 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/librt.abilist
@@ -26,7 +26,6 @@  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 shm_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 5eb837832d..ef03dc0f9e 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1778,6 +1778,7 @@  GLIBC_2.27 sgetsgent_r F
 GLIBC_2.27 sgetspent F
 GLIBC_2.27 sgetspent_r F
 GLIBC_2.27 shm_open F
+GLIBC_2.27 shm_unlink F
 GLIBC_2.27 shmat F
 GLIBC_2.27 shmctl F
 GLIBC_2.27 shmdt F
@@ -2428,6 +2429,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
index 51c05877bd..3cc7884927 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/librt.abilist
@@ -26,7 +26,6 @@  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 shm_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 05e5ff3519..9118cb68ec 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -2040,6 +2040,7 @@  GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 setrlimit F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 svc_getreq_common F
 GLIBC_2.2 svc_getreq_poll F
@@ -2592,6 +2593,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
index 9330ab2679..6ac4f0597e 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.1 aio_write F
 GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index bad0a9e3f9..66c01bd7e7 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1573,6 +1573,7 @@  GLIBC_2.2 setvbuf F
 GLIBC_2.2 sgetspent F
 GLIBC_2.2 sgetspent_r F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmat F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 shmdt F
@@ -2401,6 +2402,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
index 269e72621b..80735b140b 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.2 aio_write F
 GLIBC_2.2 aio_write64 F
 GLIBC_2.2 lio_listio F
 GLIBC_2.2 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index e7b48728bb..c40eb412c2 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1560,6 +1560,7 @@  GLIBC_2.2 setvbuf F
 GLIBC_2.2 sgetspent F
 GLIBC_2.2 sgetspent_r F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmat F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 shmdt F
@@ -2447,6 +2448,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/sh/be/librt.abilist b/sysdeps/unix/sysv/linux/sh/be/librt.abilist
index 9330ab2679..6ac4f0597e 100644
--- a/sysdeps/unix/sysv/linux/sh/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.1 aio_write F
 GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 60c84522df..1412d33835 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1560,6 +1560,7 @@  GLIBC_2.2 setvbuf F
 GLIBC_2.2 sgetspent F
 GLIBC_2.2 sgetspent_r F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmat F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 shmdt F
@@ -2444,6 +2445,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/sh/le/librt.abilist b/sysdeps/unix/sysv/linux/sh/le/librt.abilist
index 9330ab2679..6ac4f0597e 100644
--- a/sysdeps/unix/sysv/linux/sh/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.1 aio_write F
 GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 4efddd8db9..7b55d34753 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -2035,6 +2035,7 @@  GLIBC_2.2 scandir64 F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 semctl F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 svc_getreq_common F
 GLIBC_2.2 svc_getreq_poll F
@@ -2585,6 +2586,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
index fa286246e4..100bd4fb76 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.1 aio_write F
 GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index b19426e2e3..cfd5f38864 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1603,6 +1603,7 @@  GLIBC_2.2 setvbuf F
 GLIBC_2.2 sgetspent F
 GLIBC_2.2 sgetspent_r F
 GLIBC_2.2 shm_open F
+GLIBC_2.2 shm_unlink F
 GLIBC_2.2 shmat F
 GLIBC_2.2 shmctl F
 GLIBC_2.2 shmdt F
@@ -2421,6 +2422,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
index bfa53df5cc..c4985067f7 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.1 aio_write F
 GLIBC_2.1 aio_write64 F
 GLIBC_2.1 lio_listio F
 GLIBC_2.1 lio_listio64 F
-GLIBC_2.2 shm_unlink F
 GLIBC_2.2 timer_create F
 GLIBC_2.2 timer_delete F
 GLIBC_2.2 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index e73bc2acea..17be05f14f 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1570,6 +1570,7 @@  GLIBC_2.2.5 setvbuf F
 GLIBC_2.2.5 sgetspent F
 GLIBC_2.2.5 sgetspent_r F
 GLIBC_2.2.5 shm_open F
+GLIBC_2.2.5 shm_unlink F
 GLIBC_2.2.5 shmat F
 GLIBC_2.2.5 shmctl F
 GLIBC_2.2.5 shmdt F
@@ -2379,6 +2380,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
index ec08fcfcb2..a3da4f8e6e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/librt.abilist
@@ -15,7 +15,6 @@  GLIBC_2.2.5 aio_write F
 GLIBC_2.2.5 aio_write64 F
 GLIBC_2.2.5 lio_listio F
 GLIBC_2.2.5 lio_listio64 F
-GLIBC_2.2.5 shm_unlink F
 GLIBC_2.2.5 timer_create F
 GLIBC_2.2.5 timer_delete F
 GLIBC_2.2.5 timer_getoverrun F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 4116101975..a9db18906b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1790,6 +1790,7 @@  GLIBC_2.16 sgetsgent_r F
 GLIBC_2.16 sgetspent F
 GLIBC_2.16 sgetspent_r F
 GLIBC_2.16 shm_open F
+GLIBC_2.16 shm_unlink F
 GLIBC_2.16 shmat F
 GLIBC_2.16 shmctl F
 GLIBC_2.16 shmdt F
@@ -2482,6 +2483,7 @@  GLIBC_2.34 sem_trywait F
 GLIBC_2.34 sem_unlink F
 GLIBC_2.34 sem_wait F
 GLIBC_2.34 shm_open F
+GLIBC_2.34 shm_unlink F
 GLIBC_2.34 thrd_create F
 GLIBC_2.34 thrd_detach F
 GLIBC_2.34 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
index 1e40b05c29..a0069d137b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/librt.abilist
@@ -26,7 +26,6 @@  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 shm_unlink F
 GLIBC_2.16 timer_create F
 GLIBC_2.16 timer_delete F
 GLIBC_2.16 timer_getoverrun F