[06/35] rt: Move shm_unlink into libc

Message ID 2a0d1cadb0571eef34a54060298db3318112df7e.1622761828.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:15 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.
---
 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/librt.abilist      |  1 -
 sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist   |  2 ++
 sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist   |  2 ++
 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 -
 66 files changed, 77 insertions(+), 34 deletions(-)
  

Comments

Adhemerval Zanella June 17, 2021, 6 p.m. UTC | #1
On 03/06/2021 20:15, Florian Weimer via Libc-alpha wrote:
> 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.

LGTM, thanks.

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/librt.abilist      |  1 -
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist   |  2 ++
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist   |  2 ++
>  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 -
>  66 files changed, 77 insertions(+), 34 deletions(-)
> 
> diff --git a/rt/Makefile b/rt/Makefile
> index 0628ae8aa8..e4ef06a6c5 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 \

Ok.

> 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;

Ok.

> 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

Ok.

> 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 11a93b4f47..0561deac68 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
> @@ -2465,6 +2466,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 622f5ecdb1..cabce7f1ca 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
> @@ -2558,6 +2559,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 0c7b210b97..ba1304fb27 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
> @@ -2224,6 +2225,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 855501dd12..7f828e63e5 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -320,6 +320,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
> @@ -2025,6 +2026,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 fc89b71b2b..126250a101 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
> @@ -25,7 +25,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 6bdb09d974..9f732ace57 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -317,6 +317,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
> @@ -2022,6 +2023,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 fc89b71b2b..126250a101 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
> @@ -25,7 +25,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 9188a21281..2894e35611 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
> @@ -2408,6 +2409,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 31482a39b6..0eeb9046d1 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 038a2b432e..8f7c22c85c 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
> @@ -2362,6 +2363,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 fc899622c3..065f613969 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 113202ad27..b238823ad9 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
> @@ -2546,6 +2547,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 fc899622c3..065f613969 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 7b2e27901a..e46802188e 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
> @@ -2398,6 +2399,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 9544632fa0..4c7be2d991 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -321,6 +321,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
> @@ -2005,6 +2006,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 fc89b71b2b..126250a101 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
> @@ -25,7 +25,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 0dbccbd651..a3bff03a44 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
> @@ -2489,6 +2490,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 fc899622c3..065f613969 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 33c00287a5..967ac92bea 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
> @@ -2459,6 +2460,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 4fd9af2b2d..451966eab1 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 f0a3bd844b..b193aa15c7 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
> @@ -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/microblaze/le/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
> index 4fd9af2b2d..451966eab1 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 cfb82eb1b9..ef44bc1731 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
> @@ -2454,6 +2455,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 e62ed45d14..2c7d661e56 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 a00a18a8bb..c3b28b1a34 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
> @@ -2452,6 +2453,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/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist
> index e62ed45d14..2c7d661e56 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/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/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 22f37a4d5e..f47a436839 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
> @@ -2460,6 +2461,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/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 5df30910b8..11f8b90995 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
> @@ -2454,6 +2455,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/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 5448a51818..68d6138627 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
> @@ -2498,6 +2499,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 77170f30d8..5865026423 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 64d8eecd31..134bdda2cb 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
> @@ -2516,6 +2517,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 fc899622c3..065f613969 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 14b5eb792a..778e34aab2 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
> @@ -2549,6 +2550,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 6fc6134b68..083831b889 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
> @@ -2362,6 +2363,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 1bfa23792e..0d56d2a9f2 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
> @@ -2661,6 +2662,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 89d2efa8c3..a6e7c7c968 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
> @@ -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/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 1d5ed0960f..2bbb45524d 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
> @@ -2426,6 +2427,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 4b7c3ddda8..a9fd5ae173 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
> @@ -2514,6 +2515,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 fc899622c3..065f613969 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 da934580c3..64b72211aa 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
> @@ -2399,6 +2400,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 eca39dbda8..38aa765be4 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
> @@ -2369,6 +2370,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 fc899622c3..065f613969 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 662e99dec5..d31fe21e3f 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
> @@ -2366,6 +2367,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 fc899622c3..065f613969 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 749ea6eb02..84b73842aa 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
> @@ -2507,6 +2508,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 355a98faa0..2c5e7950b7 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 6875623afc..4af8b9a1eb 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
> @@ -2419,6 +2420,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 c79b6c1006..3c482047f7 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
> @@ -2377,6 +2378,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 bf02471db3..302b0d52e2 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
> @@ -2480,6 +2481,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
> 

Ok.
  

Patch

diff --git a/rt/Makefile b/rt/Makefile
index 0628ae8aa8..e4ef06a6c5 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 11a93b4f47..0561deac68 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
@@ -2465,6 +2466,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 622f5ecdb1..cabce7f1ca 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
@@ -2558,6 +2559,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 0c7b210b97..ba1304fb27 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
@@ -2224,6 +2225,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 855501dd12..7f828e63e5 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -320,6 +320,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
@@ -2025,6 +2026,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 fc89b71b2b..126250a101 100644
--- a/sysdeps/unix/sysv/linux/arm/be/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/librt.abilist
@@ -25,7 +25,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 6bdb09d974..9f732ace57 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -317,6 +317,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
@@ -2022,6 +2023,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 fc89b71b2b..126250a101 100644
--- a/sysdeps/unix/sysv/linux/arm/le/librt.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/librt.abilist
@@ -25,7 +25,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 9188a21281..2894e35611 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
@@ -2408,6 +2409,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 31482a39b6..0eeb9046d1 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 038a2b432e..8f7c22c85c 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
@@ -2362,6 +2363,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 fc899622c3..065f613969 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 113202ad27..b238823ad9 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
@@ -2546,6 +2547,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 fc899622c3..065f613969 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 7b2e27901a..e46802188e 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
@@ -2398,6 +2399,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 9544632fa0..4c7be2d991 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -321,6 +321,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
@@ -2005,6 +2006,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 fc89b71b2b..126250a101 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/librt.abilist
@@ -25,7 +25,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 0dbccbd651..a3bff03a44 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
@@ -2489,6 +2490,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 fc899622c3..065f613969 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 33c00287a5..967ac92bea 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
@@ -2459,6 +2460,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 4fd9af2b2d..451966eab1 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 f0a3bd844b..b193aa15c7 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
@@ -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/microblaze/le/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/le/librt.abilist
index 4fd9af2b2d..451966eab1 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 cfb82eb1b9..ef44bc1731 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
@@ -2454,6 +2455,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 e62ed45d14..2c7d661e56 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 a00a18a8bb..c3b28b1a34 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
@@ -2452,6 +2453,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/librt.abilist b/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist
index e62ed45d14..2c7d661e56 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/librt.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/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/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 22f37a4d5e..f47a436839 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
@@ -2460,6 +2461,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/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 5df30910b8..11f8b90995 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
@@ -2454,6 +2455,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/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 5448a51818..68d6138627 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
@@ -2498,6 +2499,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 77170f30d8..5865026423 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 64d8eecd31..134bdda2cb 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
@@ -2516,6 +2517,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 fc899622c3..065f613969 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 14b5eb792a..778e34aab2 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
@@ -2549,6 +2550,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 6fc6134b68..083831b889 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
@@ -2362,6 +2363,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 1bfa23792e..0d56d2a9f2 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
@@ -2661,6 +2662,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 89d2efa8c3..a6e7c7c968 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
@@ -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/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 1d5ed0960f..2bbb45524d 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
@@ -2426,6 +2427,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 4b7c3ddda8..a9fd5ae173 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
@@ -2514,6 +2515,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 fc899622c3..065f613969 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 da934580c3..64b72211aa 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
@@ -2399,6 +2400,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 eca39dbda8..38aa765be4 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
@@ -2369,6 +2370,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 fc899622c3..065f613969 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 662e99dec5..d31fe21e3f 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
@@ -2366,6 +2367,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 fc899622c3..065f613969 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 749ea6eb02..84b73842aa 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
@@ -2507,6 +2508,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 355a98faa0..2c5e7950b7 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 6875623afc..4af8b9a1eb 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
@@ -2419,6 +2420,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 c79b6c1006..3c482047f7 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
@@ -2377,6 +2378,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 bf02471db3..302b0d52e2 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
@@ -2480,6 +2481,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