[04/11] nptl: Move sem_close, sem_open into libc

Message ID c430f0de2881b8c1b44260d48ea981f412d9788e.1620049437.git.fweimer@redhat.com
State New
Headers show
Series
  • nptl: Move semaphore functions into libc
Related show

Commit Message

The symbols were moved using move-symbol-to-libc.py.

Both functions are moved at the same time because they depend
on internal functions in sysdeps/pthread/sem_routines.c, which
are moved in this commit as well.  Additional hidden prototypes
are required to avoid check-localplt failures.
---
 include/shm-directory.h                       |  1 +
 include/stdlib.h                              |  1 +
 misc/mktemp.c                                 |  1 +
 nptl/Makefile                                 |  6 +--
 nptl/Versions                                 |  8 +++-
 posix/shm-directory.c                         |  1 +
 sysdeps/pthread/sem_close.c                   | 10 ++++-
 sysdeps/pthread/sem_open.c                    | 40 +++++++++++++------
 sysdeps/pthread/sem_routines.c                | 10 ++---
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  4 ++
 .../sysv/linux/aarch64/libpthread.abilist     |  2 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist    |  4 ++
 .../unix/sysv/linux/alpha/libpthread.abilist  |  2 -
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  4 ++
 .../unix/sysv/linux/arc/libpthread.abilist    |  2 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  4 ++
 .../unix/sysv/linux/arm/be/libpthread.abilist |  2 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  4 ++
 .../unix/sysv/linux/arm/le/libpthread.abilist |  2 -
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  4 ++
 .../unix/sysv/linux/csky/libpthread.abilist   |  2 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  4 ++
 .../unix/sysv/linux/hppa/libpthread.abilist   |  2 -
 sysdeps/unix/sysv/linux/i386/libc.abilist     |  4 ++
 .../unix/sysv/linux/i386/libpthread.abilist   |  2 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  4 ++
 .../unix/sysv/linux/ia64/libpthread.abilist   |  2 -
 .../sysv/linux/m68k/coldfire/libc.abilist     |  4 ++
 .../linux/m68k/coldfire/libpthread.abilist    |  2 -
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  4 ++
 .../sysv/linux/m68k/m680x0/libpthread.abilist |  2 -
 .../sysv/linux/microblaze/be/libc.abilist     |  4 ++
 .../linux/microblaze/be/libpthread.abilist    |  2 -
 .../sysv/linux/microblaze/le/libc.abilist     |  4 ++
 .../linux/microblaze/le/libpthread.abilist    |  2 -
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  4 ++
 .../sysv/linux/mips/mips32/libpthread.abilist |  2 -
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  4 ++
 .../sysv/linux/mips/mips64/libpthread.abilist |  2 -
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  4 ++
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  4 ++
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  4 ++
 .../unix/sysv/linux/nios2/libpthread.abilist  |  2 -
 .../linux/powerpc/powerpc32/fpu/libc.abilist  |  4 ++
 .../powerpc/powerpc32/libpthread.abilist      |  2 -
 .../powerpc/powerpc32/nofpu/libc.abilist      |  4 ++
 .../linux/powerpc/powerpc64/be/libc.abilist   |  4 ++
 .../powerpc/powerpc64/be/libpthread.abilist   |  2 -
 .../linux/powerpc/powerpc64/le/libc.abilist   |  4 ++
 .../powerpc/powerpc64/le/libpthread.abilist   |  2 -
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  4 ++
 .../sysv/linux/riscv/rv32/libpthread.abilist  |  2 -
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  4 ++
 .../sysv/linux/riscv/rv64/libpthread.abilist  |  2 -
 .../unix/sysv/linux/s390/s390-32/libc.abilist |  4 ++
 .../linux/s390/s390-32/libpthread.abilist     |  2 -
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  4 ++
 .../linux/s390/s390-64/libpthread.abilist     |  2 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  4 ++
 .../unix/sysv/linux/sh/be/libpthread.abilist  |  2 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  4 ++
 .../unix/sysv/linux/sh/le/libpthread.abilist  |  2 -
 .../sysv/linux/sparc/sparc32/libc.abilist     |  4 ++
 .../linux/sparc/sparc32/libpthread.abilist    |  2 -
 .../sysv/linux/sparc/sparc64/libc.abilist     |  4 ++
 .../linux/sparc/sparc64/libpthread.abilist    |  2 -
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  4 ++
 .../sysv/linux/x86_64/64/libpthread.abilist   |  2 -
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  4 ++
 .../sysv/linux/x86_64/x32/libpthread.abilist  |  2 -
 70 files changed, 182 insertions(+), 82 deletions(-)

-- 
2.30.2

Comments

On 03/05/2021 10:51, Florian Weimer via Libc-alpha wrote:
> The symbols were moved using move-symbol-to-libc.py.

> 

> Both functions are moved at the same time because they depend

> on internal functions in sysdeps/pthread/sem_routines.c, which

> are moved in this commit as well.  Additional hidden prototypes

> are required to avoid check-localplt failures.


LGTM, with some small nits below.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>


> ---

>  include/shm-directory.h                       |  1 +

>  include/stdlib.h                              |  1 +

>  misc/mktemp.c                                 |  1 +

>  nptl/Makefile                                 |  6 +--

>  nptl/Versions                                 |  8 +++-

>  posix/shm-directory.c                         |  1 +

>  sysdeps/pthread/sem_close.c                   | 10 ++++-

>  sysdeps/pthread/sem_open.c                    | 40 +++++++++++++------

>  sysdeps/pthread/sem_routines.c                | 10 ++---

>  sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  4 ++

>  .../sysv/linux/aarch64/libpthread.abilist     |  2 -

>  sysdeps/unix/sysv/linux/alpha/libc.abilist    |  4 ++

>  .../unix/sysv/linux/alpha/libpthread.abilist  |  2 -

>  sysdeps/unix/sysv/linux/arc/libc.abilist      |  4 ++

>  .../unix/sysv/linux/arc/libpthread.abilist    |  2 -

>  sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  4 ++

>  .../unix/sysv/linux/arm/be/libpthread.abilist |  2 -

>  sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  4 ++

>  .../unix/sysv/linux/arm/le/libpthread.abilist |  2 -

>  sysdeps/unix/sysv/linux/csky/libc.abilist     |  4 ++

>  .../unix/sysv/linux/csky/libpthread.abilist   |  2 -

>  sysdeps/unix/sysv/linux/hppa/libc.abilist     |  4 ++

>  .../unix/sysv/linux/hppa/libpthread.abilist   |  2 -

>  sysdeps/unix/sysv/linux/i386/libc.abilist     |  4 ++

>  .../unix/sysv/linux/i386/libpthread.abilist   |  2 -

>  sysdeps/unix/sysv/linux/ia64/libc.abilist     |  4 ++

>  .../unix/sysv/linux/ia64/libpthread.abilist   |  2 -

>  .../sysv/linux/m68k/coldfire/libc.abilist     |  4 ++

>  .../linux/m68k/coldfire/libpthread.abilist    |  2 -

>  .../unix/sysv/linux/m68k/m680x0/libc.abilist  |  4 ++

>  .../sysv/linux/m68k/m680x0/libpthread.abilist |  2 -

>  .../sysv/linux/microblaze/be/libc.abilist     |  4 ++

>  .../linux/microblaze/be/libpthread.abilist    |  2 -

>  .../sysv/linux/microblaze/le/libc.abilist     |  4 ++

>  .../linux/microblaze/le/libpthread.abilist    |  2 -

>  .../sysv/linux/mips/mips32/fpu/libc.abilist   |  4 ++

>  .../sysv/linux/mips/mips32/libpthread.abilist |  2 -

>  .../sysv/linux/mips/mips32/nofpu/libc.abilist |  4 ++

>  .../sysv/linux/mips/mips64/libpthread.abilist |  2 -

>  .../sysv/linux/mips/mips64/n32/libc.abilist   |  4 ++

>  .../sysv/linux/mips/mips64/n64/libc.abilist   |  4 ++

>  sysdeps/unix/sysv/linux/nios2/libc.abilist    |  4 ++

>  .../unix/sysv/linux/nios2/libpthread.abilist  |  2 -

>  .../linux/powerpc/powerpc32/fpu/libc.abilist  |  4 ++

>  .../powerpc/powerpc32/libpthread.abilist      |  2 -

>  .../powerpc/powerpc32/nofpu/libc.abilist      |  4 ++

>  .../linux/powerpc/powerpc64/be/libc.abilist   |  4 ++

>  .../powerpc/powerpc64/be/libpthread.abilist   |  2 -

>  .../linux/powerpc/powerpc64/le/libc.abilist   |  4 ++

>  .../powerpc/powerpc64/le/libpthread.abilist   |  2 -

>  .../unix/sysv/linux/riscv/rv32/libc.abilist   |  4 ++

>  .../sysv/linux/riscv/rv32/libpthread.abilist  |  2 -

>  .../unix/sysv/linux/riscv/rv64/libc.abilist   |  4 ++

>  .../sysv/linux/riscv/rv64/libpthread.abilist  |  2 -

>  .../unix/sysv/linux/s390/s390-32/libc.abilist |  4 ++

>  .../linux/s390/s390-32/libpthread.abilist     |  2 -

>  .../unix/sysv/linux/s390/s390-64/libc.abilist |  4 ++

>  .../linux/s390/s390-64/libpthread.abilist     |  2 -

>  sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  4 ++

>  .../unix/sysv/linux/sh/be/libpthread.abilist  |  2 -

>  sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  4 ++

>  .../unix/sysv/linux/sh/le/libpthread.abilist  |  2 -

>  .../sysv/linux/sparc/sparc32/libc.abilist     |  4 ++

>  .../linux/sparc/sparc32/libpthread.abilist    |  2 -

>  .../sysv/linux/sparc/sparc64/libc.abilist     |  4 ++

>  .../linux/sparc/sparc64/libpthread.abilist    |  2 -

>  .../unix/sysv/linux/x86_64/64/libc.abilist    |  4 ++

>  .../sysv/linux/x86_64/64/libpthread.abilist   |  2 -

>  .../unix/sysv/linux/x86_64/x32/libc.abilist   |  4 ++

>  .../sysv/linux/x86_64/x32/libpthread.abilist  |  2 -

>  70 files changed, 182 insertions(+), 82 deletions(-)

> 

> diff --git a/include/shm-directory.h b/include/shm-directory.h

> index 1d3ffb6137..25e9484a5d 100644

> --- a/include/shm-directory.h

> +++ b/include/shm-directory.h

> @@ -37,5 +37,6 @@ struct shmdir_name

>     SEM_PREFIX is true.  */

>  int __shm_get_name (struct shmdir_name *result, const char *name,

>  		    bool sem_prefix);

> +libc_hidden_proto (__shm_get_name)

>  

>  #endif  /* shm-directory.h */

> diff --git a/include/stdlib.h b/include/stdlib.h

> index cdbdbf310d..e2453c1896 100644

> --- a/include/stdlib.h

> +++ b/include/stdlib.h

> @@ -91,6 +91,7 @@ extern int __setenv (const char *__name, const char *__value, int __replace)

>  extern int __unsetenv (const char *__name) attribute_hidden;

>  extern int __clearenv (void) attribute_hidden;

>  extern char *__mktemp (char *__template) __THROW __nonnull ((1));

> +libc_hidden_proto (__mktemp)

>  extern char *__canonicalize_file_name (const char *__name);

>  extern char *__realpath (const char *__name, char *__resolved);

>  libc_hidden_proto (__realpath)

> diff --git a/misc/mktemp.c b/misc/mktemp.c

> index 92bb121ddf..07f195f845 100644

> --- a/misc/mktemp.c

> +++ b/misc/mktemp.c

> @@ -30,6 +30,7 @@ __mktemp (char *template)

>  

>    return template;

>  }

> +libc_hidden_def (__mktemp)

>  weak_alias (__mktemp, mktemp)

>  

>  link_warning (mktemp, "the use of `mktemp' is dangerous, "

> diff --git a/nptl/Makefile b/nptl/Makefile

> index 66fd90049e..ab24222c1d 100644

> --- a/nptl/Makefile

> +++ b/nptl/Makefile

> @@ -151,6 +151,9 @@ routines = \

>    pthread_testcancel \

>    pthread_yield \

>    sem_clockwait \

> +  sem_close \

> +  sem_open \

> +  sem_routines \

>    tpp \

>    unwind \

>  

> @@ -202,13 +205,10 @@ libpthread-routines = \

>    pthread_sigqueue \

>    pthread_timedjoin \

>    pthread_tryjoin \

> -  sem_close \

>    sem_destroy \

>    sem_getvalue \

>    sem_init \

> -  sem_open \

>    sem_post \

> -  sem_routines \

>    sem_timedwait \

>    sem_unlink \

>    sem_wait \

> diff --git a/nptl/Versions b/nptl/Versions

> index 97567b6354..4a9e5a0305 100644

> --- a/nptl/Versions

> +++ b/nptl/Versions

> @@ -81,6 +81,10 @@ libc {

>      pthread_rwlockattr_setkind_np;

>      pthread_rwlockattr_setpshared;

>    }

> +  GLIBC_2.1.1 {

> +    sem_close;

> +    sem_open;

> +  }

>    GLIBC_2.2 {

>      __pthread_rwlock_destroy;

>      __pthread_rwlock_init;

> @@ -249,6 +253,8 @@ libc {

>      pthread_spin_unlock;

>      pthread_testcancel;

>      sem_clockwait;

> +    sem_close;

> +    sem_open;

>      thrd_exit;

>      tss_create;

>      tss_delete;

> @@ -341,8 +347,6 @@ libpthread {

>    }

>  

>    GLIBC_2.1.1 {

> -    sem_close;

> -    sem_open;

>      sem_unlink;

>    }

>  

> diff --git a/posix/shm-directory.c b/posix/shm-directory.c

> index c06bf96aa7..5dd640ebd0 100644

> --- a/posix/shm-directory.c

> +++ b/posix/shm-directory.c

> @@ -42,5 +42,6 @@ __shm_get_name (struct shmdir_name *result, const char *name, bool sem_prefix)

>      return -1;

>    return 0;

>  }

> +libc_hidden_def (__shm_get_name)

>  

>  #endif

> diff --git a/sysdeps/pthread/sem_close.c b/sysdeps/pthread/sem_close.c

> index 6649196cac..212848f745 100644

> --- a/sysdeps/pthread/sem_close.c

> +++ b/sysdeps/pthread/sem_close.c

> @@ -21,7 +21,7 @@

>  #include <sem_routines.h>

>  

>  int

> -sem_close (sem_t *sem)

> +__sem_close (sem_t *sem)

>  {

>    if (!__sem_remove_mapping (sem))

>      {

> @@ -31,3 +31,11 @@ sem_close (sem_t *sem)

>  

>    return 0;

>  }

> +#if PTHREAD_IN_LIBC

> +versioned_symbol (libc, __sem_close, sem_close, GLIBC_2_34);

> +# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_34)

> +compat_symbol (libpthread, __sem_close, sem_close, GLIBC_2_1_1);

> +# endif

> +#else /* !PTHREAD_IN_LIBC */

> +strong_alias (__sem_close, sem_close)

> +#endif

> diff --git a/sysdeps/pthread/sem_open.c b/sysdeps/pthread/sem_open.c

> index 0265abc45b..0185659fb9 100644

> --- a/sysdeps/pthread/sem_open.c

> +++ b/sysdeps/pthread/sem_open.c

> @@ -27,8 +27,14 @@

>  #include <futex-internal.h>

>  #include <libc-lock.h>

>  

> +#if !PTHREAD_IN_LIBC

> +/* The private names are not exported from libc.  */

> +# define __link link

> +# define __unlink unlink

> +#endif

> +

>  sem_t *

> -sem_open (const char *name, int oflag, ...)

> +__sem_open (const char *name, int oflag, ...)

>  {

>    int fd;

>    sem_t *result;

> @@ -59,8 +65,8 @@ sem_open (const char *name, int oflag, ...)

>    if ((oflag & O_CREAT) == 0 || (oflag & O_EXCL) == 0)

>      {

>      try_again:

> -      fd = open (dirname.name,

> -		 (oflag & ~(O_CREAT|O_ACCMODE)) | O_NOFOLLOW | O_RDWR);

> +      fd = __open (dirname.name,

> +		   (oflag & ~(O_CREAT|O_ACCMODE)) | O_NOFOLLOW | O_RDWR);

>  

>        if (fd == -1)

>  	{

> @@ -127,7 +133,7 @@ sem_open (const char *name, int oflag, ...)

>  	    }

>  

>  	  /* Open the file.  Make sure we do not overwrite anything.  */

> -	  fd = open (tmpfname, O_RDWR | O_CREAT | O_EXCL, mode);

> +	  fd = __open (tmpfname, O_RDWR | O_CREAT | O_EXCL, mode);

>  	  if (fd == -1)

>  	    {

>  	      if (errno == EEXIST)

> @@ -154,15 +160,15 @@ sem_open (const char *name, int oflag, ...)

>        if (TEMP_FAILURE_RETRY (write (fd, &sem.initsem, sizeof (sem_t)))

>  	  == sizeof (sem_t)

>  	  /* Map the sem_t structure from the file.  */

> -	  && (result = (sem_t *) mmap (NULL, sizeof (sem_t),

> -				       PROT_READ | PROT_WRITE, MAP_SHARED,

> -				       fd, 0)) != MAP_FAILED)

> +	  && (result = (sem_t *) __mmap (NULL, sizeof (sem_t),

> +					 PROT_READ | PROT_WRITE, MAP_SHARED,

> +					 fd, 0)) != MAP_FAILED)

>  	{

>  	  /* Create the file.  Don't overwrite an existing file.  */

> -	  if (link (tmpfname, dirname.name) != 0)

> +	  if (__link (tmpfname, dirname.name) != 0)

>  	    {

>  	      /* Undo the mapping.  */

> -	      (void) munmap (result, sizeof (sem_t));

> +	      (void) __munmap (result, sizeof (sem_t));

>  


No need to keep the warning supression cast here.

>  	      /* Reinitialize 'result'.  */

>  	      result = SEM_FAILED;

> @@ -172,10 +178,10 @@ sem_open (const char *name, int oflag, ...)

>  	      if ((oflag & O_EXCL) == 0 && errno == EEXIST)

>  		{

>  		  /* Remove the file.  */

> -		  (void) unlink (tmpfname);

> +		  (void) __unlink (tmpfname);


Same as before.

>  

>  		  /* Close the file.  */

> -		  close (fd);

> +		  __close (fd);

>  

>  		  goto try_again;

>  		}

> @@ -189,7 +195,7 @@ sem_open (const char *name, int oflag, ...)

>  

>        /* Now remove the temporary name.  This should never fail.  If

>  	 it fails we leak a file name.  Better fix the kernel.  */

> -      (void) unlink (tmpfname);

> +      (void) __unlink (tmpfname);

>      }

>  


Same as before.

>    /* Map the mmap error to the error we need.  */

> @@ -201,7 +207,7 @@ sem_open (const char *name, int oflag, ...)

>      {

>        /* Do not disturb errno.  */

>        int save = errno;

> -      close (fd);

> +      __close (fd);

>        errno = save;

>      }

>  

> @@ -212,3 +218,11 @@ out:

>  

>    return result;

>  }

> +#if PTHREAD_IN_LIBC

> +versioned_symbol (libc, __sem_open, sem_open, GLIBC_2_34);

> +# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_34)

> +compat_symbol (libpthread, __sem_open, sem_open, GLIBC_2_1_1);

> +# endif

> +#else /* !PTHREAD_IN_LIBC */

> +strong_alias (__sem_open, sem_open)

> +#endif

> diff --git a/sysdeps/pthread/sem_routines.c b/sysdeps/pthread/sem_routines.c

> index 34e6410729..9a78dab5d3 100644

> --- a/sysdeps/pthread/sem_routines.c

> +++ b/sysdeps/pthread/sem_routines.c

> @@ -106,9 +106,9 @@ __sem_check_add_mapping (const char *name, int fd, sem_t *existing)

>  	    {

>  	      /* If the caller hasn't provided any map it now.  */

>  	      if (existing == SEM_FAILED)

> -		existing = (sem_t *) mmap (NULL, sizeof (sem_t),

> -					   PROT_READ | PROT_WRITE, MAP_SHARED,

> -					   fd, 0);

> +		existing = (sem_t *) __mmap (NULL, sizeof (sem_t),

> +					     PROT_READ | PROT_WRITE,

> +					     MAP_SHARED, fd, 0);

>  

>  	      newp->dev = st.st_dev;

>  	      newp->ino = st.st_ino;

> @@ -136,7 +136,7 @@ __sem_check_add_mapping (const char *name, int fd, sem_t *existing)

>      {

>        /* Do not disturb errno.  */

>        int save = errno;

> -      munmap (existing, sizeof (sem_t));

> +      __munmap (existing, sizeof (sem_t));

>        errno = save;

>      }

>  

> @@ -183,7 +183,7 @@ __sem_remove_mapping (sem_t *sem)

>  	  /* Remove the record from the tree.  */

>  	  __tdelete (rec, &sem_mappings, sem_search);

>  

> -	  if (munmap (rec->sem, sizeof (sem_t)) == -1)

> +	  if (__munmap (rec->sem, sizeof (sem_t)) == -1)

>  	    ret = false;

>  

>  	  free (rec);

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> index 0f54f3fa7a..26d440e487 100644

> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist

> @@ -1660,6 +1660,8 @@ GLIBC_2.17 seed48 F

>  GLIBC_2.17 seed48_r F

>  GLIBC_2.17 seekdir F

>  GLIBC_2.17 select F

> +GLIBC_2.17 sem_close F

> +GLIBC_2.17 sem_open F

>  GLIBC_2.17 semctl F

>  GLIBC_2.17 semget F

>  GLIBC_2.17 semop F

> @@ -2347,6 +2349,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist

> index 0481baac9c..f8dc604dfa 100644

> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist

> @@ -39,11 +39,9 @@ GLIBC_2.17 pthread_setschedprio F

>  GLIBC_2.17 pthread_sigqueue F

>  GLIBC_2.17 pthread_timedjoin_np F

>  GLIBC_2.17 pthread_tryjoin_np F

> -GLIBC_2.17 sem_close F

>  GLIBC_2.17 sem_destroy F

>  GLIBC_2.17 sem_getvalue F

>  GLIBC_2.17 sem_init F

> -GLIBC_2.17 sem_open F

>  GLIBC_2.17 sem_post F

>  GLIBC_2.17 sem_timedwait F

>  GLIBC_2.17 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist

> index c0d38ccd38..cef9391d34 100644

> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist

> @@ -1721,6 +1721,8 @@ GLIBC_2.1.1 getutmp F

>  GLIBC_2.1.1 getutmpx F

>  GLIBC_2.1.1 imaxabs F

>  GLIBC_2.1.1 imaxdiv F

> +GLIBC_2.1.1 sem_close F

> +GLIBC_2.1.1 sem_open F

>  GLIBC_2.1.1 strchrnul F

>  GLIBC_2.1.1 xdr_hyper F

>  GLIBC_2.1.1 xdr_int64_t F

> @@ -2428,6 +2430,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist

> index 86b15ad0d7..8cc7e9bc57 100644

> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist

> @@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F

>  GLIBC_2.1 sem_post F

>  GLIBC_2.1 sem_trywait F

>  GLIBC_2.1 sem_wait F

> -GLIBC_2.1.1 sem_close F

> -GLIBC_2.1.1 sem_open F

>  GLIBC_2.1.1 sem_unlink F

>  GLIBC_2.1.2 __libpthread_version_placeholder F

>  GLIBC_2.11 pthread_sigqueue F

> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist

> index 79fad165e1..a9d30544f3 100644

> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist

> @@ -1602,6 +1602,8 @@ GLIBC_2.32 seed48_r F

>  GLIBC_2.32 seekdir F

>  GLIBC_2.32 select F

>  GLIBC_2.32 sem_clockwait F

> +GLIBC_2.32 sem_close F

> +GLIBC_2.32 sem_open F

>  GLIBC_2.32 semctl F

>  GLIBC_2.32 semget F

>  GLIBC_2.32 semop F

> @@ -2106,6 +2108,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist

> index f9bb47a3c5..9032472f97 100644

> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist

> @@ -42,11 +42,9 @@ GLIBC_2.32 pthread_setschedprio F

>  GLIBC_2.32 pthread_sigqueue F

>  GLIBC_2.32 pthread_timedjoin_np F

>  GLIBC_2.32 pthread_tryjoin_np F

> -GLIBC_2.32 sem_close F

>  GLIBC_2.32 sem_destroy F

>  GLIBC_2.32 sem_getvalue F

>  GLIBC_2.32 sem_init F

> -GLIBC_2.32 sem_open F

>  GLIBC_2.32 sem_post F

>  GLIBC_2.32 sem_timedwait F

>  GLIBC_2.32 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> index 38cddc482a..637c85823b 100644

> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist

> @@ -253,6 +253,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> @@ -1838,6 +1840,8 @@ GLIBC_2.4 seed48 F

>  GLIBC_2.4 seed48_r F

>  GLIBC_2.4 seekdir F

>  GLIBC_2.4 select F

> +GLIBC_2.4 sem_close F

> +GLIBC_2.4 sem_open F

>  GLIBC_2.4 semctl F

>  GLIBC_2.4 semget F

>  GLIBC_2.4 semop F

> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist

> index e56c397379..4a8b77148b 100644

> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist

> @@ -47,11 +47,9 @@ GLIBC_2.4 pthread_setconcurrency F

>  GLIBC_2.4 pthread_setschedprio F

>  GLIBC_2.4 pthread_timedjoin_np F

>  GLIBC_2.4 pthread_tryjoin_np F

> -GLIBC_2.4 sem_close F

>  GLIBC_2.4 sem_destroy F

>  GLIBC_2.4 sem_getvalue F

>  GLIBC_2.4 sem_init F

> -GLIBC_2.4 sem_open F

>  GLIBC_2.4 sem_post F

>  GLIBC_2.4 sem_timedwait F

>  GLIBC_2.4 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> index 78ae8c3907..c2d82d24c3 100644

> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist

> @@ -250,6 +250,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> @@ -1835,6 +1837,8 @@ GLIBC_2.4 seed48 F

>  GLIBC_2.4 seed48_r F

>  GLIBC_2.4 seekdir F

>  GLIBC_2.4 select F

> +GLIBC_2.4 sem_close F

> +GLIBC_2.4 sem_open F

>  GLIBC_2.4 semctl F

>  GLIBC_2.4 semget F

>  GLIBC_2.4 semop F

> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist

> index e56c397379..4a8b77148b 100644

> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist

> @@ -47,11 +47,9 @@ GLIBC_2.4 pthread_setconcurrency F

>  GLIBC_2.4 pthread_setschedprio F

>  GLIBC_2.4 pthread_timedjoin_np F

>  GLIBC_2.4 pthread_tryjoin_np F

> -GLIBC_2.4 sem_close F

>  GLIBC_2.4 sem_destroy F

>  GLIBC_2.4 sem_getvalue F

>  GLIBC_2.4 sem_init F

> -GLIBC_2.4 sem_open F

>  GLIBC_2.4 sem_post F

>  GLIBC_2.4 sem_timedwait F

>  GLIBC_2.4 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist

> index 66dae5ded1..de4c614097 100644

> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist

> @@ -1663,6 +1663,8 @@ GLIBC_2.29 seed48 F

>  GLIBC_2.29 seed48_r F

>  GLIBC_2.29 seekdir F

>  GLIBC_2.29 select F

> +GLIBC_2.29 sem_close F

> +GLIBC_2.29 sem_open F

>  GLIBC_2.29 semctl F

>  GLIBC_2.29 semget F

>  GLIBC_2.29 semop F

> @@ -2290,6 +2292,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist

> index 6fd5e8061a..b16ffe2dd8 100644

> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist

> @@ -41,11 +41,9 @@ GLIBC_2.29 pthread_setschedprio F

>  GLIBC_2.29 pthread_sigqueue F

>  GLIBC_2.29 pthread_timedjoin_np F

>  GLIBC_2.29 pthread_tryjoin_np F

> -GLIBC_2.29 sem_close F

>  GLIBC_2.29 sem_destroy F

>  GLIBC_2.29 sem_getvalue F

>  GLIBC_2.29 sem_init F

> -GLIBC_2.29 sem_open F

>  GLIBC_2.29 sem_post F

>  GLIBC_2.29 sem_timedwait F

>  GLIBC_2.29 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist

> index 46875d7402..83bb694e02 100644

> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist

> @@ -1452,6 +1452,8 @@ GLIBC_2.2 seed48 F

>  GLIBC_2.2 seed48_r F

>  GLIBC_2.2 seekdir F

>  GLIBC_2.2 select F

> +GLIBC_2.2 sem_close F

> +GLIBC_2.2 sem_open F

>  GLIBC_2.2 semctl F

>  GLIBC_2.2 semget F

>  GLIBC_2.2 semop F

> @@ -2241,6 +2243,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist

> index c6e9eee45b..c07e43ba36 100644

> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist

> @@ -31,11 +31,9 @@ GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_join F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

>  GLIBC_2.2 sem_init F

> -GLIBC_2.2 sem_open F

>  GLIBC_2.2 sem_post F

>  GLIBC_2.2 sem_timedwait F

>  GLIBC_2.2 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist

> index 5d8ca2e122..361856e177 100644

> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist

> @@ -1727,6 +1727,8 @@ GLIBC_2.1.1 getutmp F

>  GLIBC_2.1.1 getutmpx F

>  GLIBC_2.1.1 imaxabs F

>  GLIBC_2.1.1 imaxdiv F

> +GLIBC_2.1.1 sem_close F

> +GLIBC_2.1.1 sem_open F

>  GLIBC_2.1.1 strchrnul F

>  GLIBC_2.1.1 xdr_hyper F

>  GLIBC_2.1.1 xdr_int64_t F

> @@ -2418,6 +2420,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist

> index 30bc064058..be013d96e2 100644

> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist

> @@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F

>  GLIBC_2.1 sem_post F

>  GLIBC_2.1 sem_trywait F

>  GLIBC_2.1 sem_wait F

> -GLIBC_2.1.1 sem_close F

> -GLIBC_2.1.1 sem_open F

>  GLIBC_2.1.1 sem_unlink F

>  GLIBC_2.1.2 __libpthread_version_placeholder F

>  GLIBC_2.11 pthread_sigqueue F

> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist

> index c14a38e14c..9be17c7672 100644

> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist

> @@ -1473,6 +1473,8 @@ GLIBC_2.2 seed48 F

>  GLIBC_2.2 seed48_r F

>  GLIBC_2.2 seekdir F

>  GLIBC_2.2 select F

> +GLIBC_2.2 sem_close F

> +GLIBC_2.2 sem_open F

>  GLIBC_2.2 semctl F

>  GLIBC_2.2 semget F

>  GLIBC_2.2 semop F

> @@ -2275,6 +2277,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist

> index 6f15ac3cb1..42c7615f64 100644

> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist

> @@ -31,11 +31,9 @@ GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_join F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

>  GLIBC_2.2 sem_init F

> -GLIBC_2.2 sem_open F

>  GLIBC_2.2 sem_post F

>  GLIBC_2.2 sem_timedwait F

>  GLIBC_2.2 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> index aabed7c366..8ded141557 100644

> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist

> @@ -254,6 +254,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> @@ -1818,6 +1820,8 @@ GLIBC_2.4 seed48 F

>  GLIBC_2.4 seed48_r F

>  GLIBC_2.4 seekdir F

>  GLIBC_2.4 select F

> +GLIBC_2.4 sem_close F

> +GLIBC_2.4 sem_open F

>  GLIBC_2.4 semctl F

>  GLIBC_2.4 semget F

>  GLIBC_2.4 semop F

> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist

> index e56c397379..4a8b77148b 100644

> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist

> @@ -47,11 +47,9 @@ GLIBC_2.4 pthread_setconcurrency F

>  GLIBC_2.4 pthread_setschedprio F

>  GLIBC_2.4 pthread_timedjoin_np F

>  GLIBC_2.4 pthread_tryjoin_np F

> -GLIBC_2.4 sem_close F

>  GLIBC_2.4 sem_destroy F

>  GLIBC_2.4 sem_getvalue F

>  GLIBC_2.4 sem_init F

> -GLIBC_2.4 sem_open F

>  GLIBC_2.4 sem_post F

>  GLIBC_2.4 sem_timedwait F

>  GLIBC_2.4 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> index 4a3b9f25fa..e8a006c424 100644

> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist

> @@ -1683,6 +1683,8 @@ GLIBC_2.1.1 getutmp F

>  GLIBC_2.1.1 getutmpx F

>  GLIBC_2.1.1 imaxabs F

>  GLIBC_2.1.1 imaxdiv F

> +GLIBC_2.1.1 sem_close F

> +GLIBC_2.1.1 sem_open F

>  GLIBC_2.1.1 strchrnul F

>  GLIBC_2.1.1 xdr_hyper F

>  GLIBC_2.1.1 xdr_int64_t F

> @@ -2361,6 +2363,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist

> index 30bc064058..be013d96e2 100644

> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist

> @@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F

>  GLIBC_2.1 sem_post F

>  GLIBC_2.1 sem_trywait F

>  GLIBC_2.1 sem_wait F

> -GLIBC_2.1.1 sem_close F

> -GLIBC_2.1.1 sem_open F

>  GLIBC_2.1.1 sem_unlink F

>  GLIBC_2.1.2 __libpthread_version_placeholder F

>  GLIBC_2.11 pthread_sigqueue F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> index 82ac489f32..a4907fad02 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist

> @@ -1662,6 +1662,8 @@ GLIBC_2.18 seed48 F

>  GLIBC_2.18 seed48_r F

>  GLIBC_2.18 seekdir F

>  GLIBC_2.18 select F

> +GLIBC_2.18 sem_close F

> +GLIBC_2.18 sem_open F

>  GLIBC_2.18 semctl F

>  GLIBC_2.18 semget F

>  GLIBC_2.18 semop F

> @@ -2341,6 +2343,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist

> index 703310b8dd..8b3ddcbda9 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist

> @@ -41,11 +41,9 @@ GLIBC_2.18 pthread_setschedprio F

>  GLIBC_2.18 pthread_sigqueue F

>  GLIBC_2.18 pthread_timedjoin_np F

>  GLIBC_2.18 pthread_tryjoin_np F

> -GLIBC_2.18 sem_close F

>  GLIBC_2.18 sem_destroy F

>  GLIBC_2.18 sem_getvalue F

>  GLIBC_2.18 sem_init F

> -GLIBC_2.18 sem_open F

>  GLIBC_2.18 sem_post F

>  GLIBC_2.18 sem_timedwait F

>  GLIBC_2.18 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> index 3ec2794b5b..c5282a3fd1 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist

> @@ -1662,6 +1662,8 @@ GLIBC_2.18 seed48 F

>  GLIBC_2.18 seed48_r F

>  GLIBC_2.18 seekdir F

>  GLIBC_2.18 select F

> +GLIBC_2.18 sem_close F

> +GLIBC_2.18 sem_open F

>  GLIBC_2.18 semctl F

>  GLIBC_2.18 semget F

>  GLIBC_2.18 semop F

> @@ -2338,6 +2340,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist

> index 703310b8dd..8b3ddcbda9 100644

> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist

> @@ -41,11 +41,9 @@ GLIBC_2.18 pthread_setschedprio F

>  GLIBC_2.18 pthread_sigqueue F

>  GLIBC_2.18 pthread_timedjoin_np F

>  GLIBC_2.18 pthread_tryjoin_np F

> -GLIBC_2.18 sem_close F

>  GLIBC_2.18 sem_destroy F

>  GLIBC_2.18 sem_getvalue F

>  GLIBC_2.18 sem_init F

> -GLIBC_2.18 sem_open F

>  GLIBC_2.18 sem_post F

>  GLIBC_2.18 sem_timedwait F

>  GLIBC_2.18 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> index ff623c22f3..a6fb6ac493 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist

> @@ -1888,6 +1888,8 @@ GLIBC_2.2 rresvport_af F

>  GLIBC_2.2 rtime F

>  GLIBC_2.2 ruserok_af F

>  GLIBC_2.2 scandir64 F

> +GLIBC_2.2 sem_close F

> +GLIBC_2.2 sem_open F

>  GLIBC_2.2 semctl F

>  GLIBC_2.2 sendfile F

>  GLIBC_2.2 setrlimit64 F

> @@ -2324,6 +2326,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist

> index 8444fb5280..d79cc95dfd 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist

> @@ -38,11 +38,9 @@ GLIBC_2.2 pthread_create F

>  GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

>  GLIBC_2.2 sem_init F

> -GLIBC_2.2 sem_open F

>  GLIBC_2.2 sem_post F

>  GLIBC_2.2 sem_timedwait F

>  GLIBC_2.2 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> index 6cecd92386..abfe1226b1 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist

> @@ -1886,6 +1886,8 @@ GLIBC_2.2 rresvport_af F

>  GLIBC_2.2 rtime F

>  GLIBC_2.2 ruserok_af F

>  GLIBC_2.2 scandir64 F

> +GLIBC_2.2 sem_close F

> +GLIBC_2.2 sem_open F

>  GLIBC_2.2 semctl F

>  GLIBC_2.2 sendfile F

>  GLIBC_2.2 setrlimit64 F

> @@ -2322,6 +2324,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist

> index 8444fb5280..d79cc95dfd 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist

> @@ -38,11 +38,9 @@ GLIBC_2.2 pthread_create F

>  GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

>  GLIBC_2.2 sem_init F

> -GLIBC_2.2 sem_open F

>  GLIBC_2.2 sem_post F

>  GLIBC_2.2 sem_timedwait F

>  GLIBC_2.2 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist

> index 858fa17010..30851df44a 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist

> @@ -1886,6 +1886,8 @@ GLIBC_2.2 rresvport_af F

>  GLIBC_2.2 rtime F

>  GLIBC_2.2 ruserok_af F

>  GLIBC_2.2 scandir64 F

> +GLIBC_2.2 sem_close F

> +GLIBC_2.2 sem_open F

>  GLIBC_2.2 sendfile F

>  GLIBC_2.2 setrlimit64 F

>  GLIBC_2.2 setutxent F

> @@ -2330,6 +2332,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> index 5c72417ee3..81d37d6322 100644

> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist

> @@ -1882,6 +1882,8 @@ GLIBC_2.2 rresvport_af F

>  GLIBC_2.2 rtime F

>  GLIBC_2.2 ruserok_af F

>  GLIBC_2.2 scandir64 F

> +GLIBC_2.2 sem_close F

> +GLIBC_2.2 sem_open F

>  GLIBC_2.2 sendfile F

>  GLIBC_2.2 setrlimit64 F

>  GLIBC_2.2 setutxent F

> @@ -2324,6 +2326,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist

> index b9cd5703da..a5dbb107db 100644

> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist

> @@ -1705,6 +1705,8 @@ GLIBC_2.21 seed48 F

>  GLIBC_2.21 seed48_r F

>  GLIBC_2.21 seekdir F

>  GLIBC_2.21 select F

> +GLIBC_2.21 sem_close F

> +GLIBC_2.21 sem_open F

>  GLIBC_2.21 semctl F

>  GLIBC_2.21 semget F

>  GLIBC_2.21 semop F

> @@ -2380,6 +2382,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist

> index 6e4845723f..e8f9bdeef4 100644

> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist

> @@ -41,11 +41,9 @@ GLIBC_2.21 pthread_setschedprio F

>  GLIBC_2.21 pthread_sigqueue F

>  GLIBC_2.21 pthread_timedjoin_np F

>  GLIBC_2.21 pthread_tryjoin_np F

> -GLIBC_2.21 sem_close F

>  GLIBC_2.21 sem_destroy F

>  GLIBC_2.21 sem_getvalue F

>  GLIBC_2.21 sem_init F

> -GLIBC_2.21 sem_open F

>  GLIBC_2.21 sem_post F

>  GLIBC_2.21 sem_timedwait F

>  GLIBC_2.21 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> index 2384127281..9f512cfe62 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist

> @@ -1688,6 +1688,8 @@ GLIBC_2.1.1 getutmp F

>  GLIBC_2.1.1 getutmpx F

>  GLIBC_2.1.1 imaxabs F

>  GLIBC_2.1.1 imaxdiv F

> +GLIBC_2.1.1 sem_close F

> +GLIBC_2.1.1 sem_open F

>  GLIBC_2.1.1 strchrnul F

>  GLIBC_2.1.1 xdr_hyper F

>  GLIBC_2.1.1 xdr_int64_t F

> @@ -2388,6 +2390,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist

> index 2614e1e6b9..31ef39020a 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist

> @@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F

>  GLIBC_2.1 sem_post F

>  GLIBC_2.1 sem_trywait F

>  GLIBC_2.1 sem_wait F

> -GLIBC_2.1.1 sem_close F

> -GLIBC_2.1.1 sem_open F

>  GLIBC_2.1.1 sem_unlink F

>  GLIBC_2.1.2 __libpthread_version_placeholder F

>  GLIBC_2.11 pthread_sigqueue F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> index ce47bd3777..99aad58eaa 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist

> @@ -1688,6 +1688,8 @@ GLIBC_2.1.1 getutmp F

>  GLIBC_2.1.1 getutmpx F

>  GLIBC_2.1.1 imaxabs F

>  GLIBC_2.1.1 imaxdiv F

> +GLIBC_2.1.1 sem_close F

> +GLIBC_2.1.1 sem_open F

>  GLIBC_2.1.1 strchrnul F

>  GLIBC_2.1.1 xdr_hyper F

>  GLIBC_2.1.1 xdr_int64_t F

> @@ -2421,6 +2423,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> index 1be222ec73..466f6b5d7b 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist

> @@ -1577,6 +1577,8 @@ GLIBC_2.3 seed48 F

>  GLIBC_2.3 seed48_r F

>  GLIBC_2.3 seekdir F

>  GLIBC_2.3 select F

> +GLIBC_2.3 sem_close F

> +GLIBC_2.3 sem_open F

>  GLIBC_2.3 semctl F

>  GLIBC_2.3 semget F

>  GLIBC_2.3 semop F

> @@ -2242,6 +2244,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist

> index af39b79df0..02c32b9aa6 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist

> @@ -34,11 +34,9 @@ GLIBC_2.3 pthread_getconcurrency F

>  GLIBC_2.3 pthread_getcpuclockid F

>  GLIBC_2.3 pthread_join F

>  GLIBC_2.3 pthread_setconcurrency F

> -GLIBC_2.3 sem_close F

>  GLIBC_2.3 sem_destroy F

>  GLIBC_2.3 sem_getvalue F

>  GLIBC_2.3 sem_init F

> -GLIBC_2.3 sem_open F

>  GLIBC_2.3 sem_post F

>  GLIBC_2.3 sem_timedwait F

>  GLIBC_2.3 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> index 26de7bc08f..b1a2922377 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist

> @@ -1748,6 +1748,8 @@ GLIBC_2.17 seed48 F

>  GLIBC_2.17 seed48_r F

>  GLIBC_2.17 seekdir F

>  GLIBC_2.17 select F

> +GLIBC_2.17 sem_close F

> +GLIBC_2.17 sem_open F

>  GLIBC_2.17 semctl F

>  GLIBC_2.17 semget F

>  GLIBC_2.17 semop F

> @@ -2543,6 +2545,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist

> index 0481baac9c..f8dc604dfa 100644

> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist

> @@ -39,11 +39,9 @@ GLIBC_2.17 pthread_setschedprio F

>  GLIBC_2.17 pthread_sigqueue F

>  GLIBC_2.17 pthread_timedjoin_np F

>  GLIBC_2.17 pthread_tryjoin_np F

> -GLIBC_2.17 sem_close F

>  GLIBC_2.17 sem_destroy F

>  GLIBC_2.17 sem_getvalue F

>  GLIBC_2.17 sem_init F

> -GLIBC_2.17 sem_open F

>  GLIBC_2.17 sem_post F

>  GLIBC_2.17 sem_timedwait F

>  GLIBC_2.17 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> index 423a563d6a..7ed6c10b7c 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist

> @@ -1604,6 +1604,8 @@ GLIBC_2.33 seed48_r F

>  GLIBC_2.33 seekdir F

>  GLIBC_2.33 select F

>  GLIBC_2.33 sem_clockwait F

> +GLIBC_2.33 sem_close F

> +GLIBC_2.33 sem_open F

>  GLIBC_2.33 semctl F

>  GLIBC_2.33 semget F

>  GLIBC_2.33 semop F

> @@ -2108,6 +2110,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist

> index 2c05fed5de..1a87403132 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist

> @@ -42,11 +42,9 @@ GLIBC_2.33 pthread_setschedprio F

>  GLIBC_2.33 pthread_sigqueue F

>  GLIBC_2.33 pthread_timedjoin_np F

>  GLIBC_2.33 pthread_tryjoin_np F

> -GLIBC_2.33 sem_close F

>  GLIBC_2.33 sem_destroy F

>  GLIBC_2.33 sem_getvalue F

>  GLIBC_2.33 sem_init F

> -GLIBC_2.33 sem_open F

>  GLIBC_2.33 sem_post F

>  GLIBC_2.33 sem_timedwait F

>  GLIBC_2.33 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> index 04e587b23c..a0f5d0f988 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist

> @@ -1652,6 +1652,8 @@ GLIBC_2.27 seed48 F

>  GLIBC_2.27 seed48_r F

>  GLIBC_2.27 seekdir F

>  GLIBC_2.27 select F

> +GLIBC_2.27 sem_close F

> +GLIBC_2.27 sem_open F

>  GLIBC_2.27 semctl F

>  GLIBC_2.27 semget F

>  GLIBC_2.27 semop F

> @@ -2308,6 +2310,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist

> index 24c1fc45ce..122cb26879 100644

> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist

> @@ -41,11 +41,9 @@ GLIBC_2.27 pthread_setschedprio F

>  GLIBC_2.27 pthread_sigqueue F

>  GLIBC_2.27 pthread_timedjoin_np F

>  GLIBC_2.27 pthread_tryjoin_np F

> -GLIBC_2.27 sem_close F

>  GLIBC_2.27 sem_destroy F

>  GLIBC_2.27 sem_getvalue F

>  GLIBC_2.27 sem_init F

> -GLIBC_2.27 sem_open F

>  GLIBC_2.27 sem_post F

>  GLIBC_2.27 sem_timedwait F

>  GLIBC_2.27 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> index 7b269ae840..f2a59ab190 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist

> @@ -1680,6 +1680,8 @@ GLIBC_2.1.1 getutmp F

>  GLIBC_2.1.1 getutmpx F

>  GLIBC_2.1.1 imaxabs F

>  GLIBC_2.1.1 imaxdiv F

> +GLIBC_2.1.1 sem_close F

> +GLIBC_2.1.1 sem_open F

>  GLIBC_2.1.1 strchrnul F

>  GLIBC_2.1.1 xdr_hyper F

>  GLIBC_2.1.1 xdr_int64_t F

> @@ -2386,6 +2388,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist

> index 17893bf306..a6adbf2c0c 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist

> @@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F

>  GLIBC_2.1 sem_post F

>  GLIBC_2.1 sem_trywait F

>  GLIBC_2.1 sem_wait F

> -GLIBC_2.1.1 sem_close F

> -GLIBC_2.1.1 sem_open F

>  GLIBC_2.1.1 sem_unlink F

>  GLIBC_2.1.2 __libpthread_version_placeholder F

>  GLIBC_2.11 pthread_sigqueue F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> index c2af5d0ece..232d00b8af 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist

> @@ -1470,6 +1470,8 @@ GLIBC_2.2 seed48 F

>  GLIBC_2.2 seed48_r F

>  GLIBC_2.2 seekdir F

>  GLIBC_2.2 select F

> +GLIBC_2.2 sem_close F

> +GLIBC_2.2 sem_open F

>  GLIBC_2.2 semctl F

>  GLIBC_2.2 semget F

>  GLIBC_2.2 semop F

> @@ -2279,6 +2281,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist

> index 3f42d9dcc5..6b6f17b0dd 100644

> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist

> @@ -32,11 +32,9 @@ GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_join F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

>  GLIBC_2.2 sem_init F

> -GLIBC_2.2 sem_open F

>  GLIBC_2.2 sem_post F

>  GLIBC_2.2 sem_timedwait F

>  GLIBC_2.2 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> index 00ea530f98..e4eb7c0042 100644

> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist

> @@ -1456,6 +1456,8 @@ GLIBC_2.2 seed48 F

>  GLIBC_2.2 seed48_r F

>  GLIBC_2.2 seekdir F

>  GLIBC_2.2 select F

> +GLIBC_2.2 sem_close F

> +GLIBC_2.2 sem_open F

>  GLIBC_2.2 semctl F

>  GLIBC_2.2 semget F

>  GLIBC_2.2 semop F

> @@ -2248,6 +2250,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist

> index c6e9eee45b..c07e43ba36 100644

> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist

> @@ -31,11 +31,9 @@ GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_join F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

>  GLIBC_2.2 sem_init F

> -GLIBC_2.2 sem_open F

>  GLIBC_2.2 sem_post F

>  GLIBC_2.2 sem_timedwait F

>  GLIBC_2.2 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> index ea92a1c366..2a019d5f89 100644

> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist

> @@ -1456,6 +1456,8 @@ GLIBC_2.2 seed48 F

>  GLIBC_2.2 seed48_r F

>  GLIBC_2.2 seekdir F

>  GLIBC_2.2 select F

> +GLIBC_2.2 sem_close F

> +GLIBC_2.2 sem_open F

>  GLIBC_2.2 semctl F

>  GLIBC_2.2 semget F

>  GLIBC_2.2 semop F

> @@ -2245,6 +2247,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist

> index c6e9eee45b..c07e43ba36 100644

> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist

> @@ -31,11 +31,9 @@ GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_join F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

>  GLIBC_2.2 sem_init F

> -GLIBC_2.2 sem_open F

>  GLIBC_2.2 sem_post F

>  GLIBC_2.2 sem_timedwait F

>  GLIBC_2.2 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> index f0d5866658..a0e6b25aeb 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist

> @@ -1681,6 +1681,8 @@ GLIBC_2.1.1 getutmp F

>  GLIBC_2.1.1 getutmpx F

>  GLIBC_2.1.1 imaxabs F

>  GLIBC_2.1.1 imaxdiv F

> +GLIBC_2.1.1 sem_close F

> +GLIBC_2.1.1 sem_open F

>  GLIBC_2.1.1 strchrnul F

>  GLIBC_2.1.1 xdr_hyper F

>  GLIBC_2.1.1 xdr_int64_t F

> @@ -2377,6 +2379,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist

> index 86b15ad0d7..8cc7e9bc57 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist

> @@ -30,8 +30,6 @@ GLIBC_2.1 sem_init F

>  GLIBC_2.1 sem_post F

>  GLIBC_2.1 sem_trywait F

>  GLIBC_2.1 sem_wait F

> -GLIBC_2.1.1 sem_close F

> -GLIBC_2.1.1 sem_open F

>  GLIBC_2.1.1 sem_unlink F

>  GLIBC_2.1.2 __libpthread_version_placeholder F

>  GLIBC_2.11 pthread_sigqueue F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> index da0c9e1e86..f836c0c88b 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist

> @@ -1499,6 +1499,8 @@ GLIBC_2.2 seed48 F

>  GLIBC_2.2 seed48_r F

>  GLIBC_2.2 seekdir F

>  GLIBC_2.2 select F

> +GLIBC_2.2 sem_close F

> +GLIBC_2.2 sem_open F

>  GLIBC_2.2 semctl F

>  GLIBC_2.2 semget F

>  GLIBC_2.2 semop F

> @@ -2296,6 +2298,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist

> index 6f15ac3cb1..42c7615f64 100644

> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist

> @@ -31,11 +31,9 @@ GLIBC_2.2 pthread_getconcurrency F

>  GLIBC_2.2 pthread_getcpuclockid F

>  GLIBC_2.2 pthread_join F

>  GLIBC_2.2 pthread_setconcurrency F

> -GLIBC_2.2 sem_close F

>  GLIBC_2.2 sem_destroy F

>  GLIBC_2.2 sem_getvalue F

>  GLIBC_2.2 sem_init F

> -GLIBC_2.2 sem_open F

>  GLIBC_2.2 sem_post F

>  GLIBC_2.2 sem_timedwait F

>  GLIBC_2.2 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> index 33b4b7a121..8c48f6fbd0 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist

> @@ -1467,6 +1467,8 @@ GLIBC_2.2.5 seed48 F

>  GLIBC_2.2.5 seed48_r F

>  GLIBC_2.2.5 seekdir F

>  GLIBC_2.2.5 select F

> +GLIBC_2.2.5 sem_close F

> +GLIBC_2.2.5 sem_open F

>  GLIBC_2.2.5 semctl F

>  GLIBC_2.2.5 semget F

>  GLIBC_2.2.5 semop F

> @@ -2257,6 +2259,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist

> index 3516798f9a..9a98ac62d7 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist

> @@ -31,11 +31,9 @@ GLIBC_2.2.5 pthread_getconcurrency F

>  GLIBC_2.2.5 pthread_getcpuclockid F

>  GLIBC_2.2.5 pthread_join F

>  GLIBC_2.2.5 pthread_setconcurrency F

> -GLIBC_2.2.5 sem_close F

>  GLIBC_2.2.5 sem_destroy F

>  GLIBC_2.2.5 sem_getvalue F

>  GLIBC_2.2.5 sem_init F

> -GLIBC_2.2.5 sem_open F

>  GLIBC_2.2.5 sem_post F

>  GLIBC_2.2.5 sem_timedwait F

>  GLIBC_2.2.5 sem_trywait F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> index 0a1215efeb..f96ad30cef 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist

> @@ -1666,6 +1666,8 @@ GLIBC_2.16 seed48 F

>  GLIBC_2.16 seed48_r F

>  GLIBC_2.16 seekdir F

>  GLIBC_2.16 select F

> +GLIBC_2.16 sem_close F

> +GLIBC_2.16 sem_open F

>  GLIBC_2.16 semctl F

>  GLIBC_2.16 semget F

>  GLIBC_2.16 semop F

> @@ -2362,6 +2364,8 @@ GLIBC_2.34 pthread_spin_trylock F

>  GLIBC_2.34 pthread_spin_unlock F

>  GLIBC_2.34 pthread_testcancel F

>  GLIBC_2.34 sem_clockwait F

> +GLIBC_2.34 sem_close F

> +GLIBC_2.34 sem_open F

>  GLIBC_2.34 thrd_exit F

>  GLIBC_2.34 tss_create F

>  GLIBC_2.34 tss_delete F

> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist

> index b2c9bca89c..025b02f3de 100644

> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist

> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist

> @@ -39,11 +39,9 @@ GLIBC_2.16 pthread_setschedprio F

>  GLIBC_2.16 pthread_sigqueue F

>  GLIBC_2.16 pthread_timedjoin_np F

>  GLIBC_2.16 pthread_tryjoin_np F

> -GLIBC_2.16 sem_close F

>  GLIBC_2.16 sem_destroy F

>  GLIBC_2.16 sem_getvalue F

>  GLIBC_2.16 sem_init F

> -GLIBC_2.16 sem_open F

>  GLIBC_2.16 sem_post F

>  GLIBC_2.16 sem_timedwait F

>  GLIBC_2.16 sem_trywait F

>
* Adhemerval Zanella:

> On 03/05/2021 10:51, Florian Weimer via Libc-alpha wrote:

>> The symbols were moved using move-symbol-to-libc.py.

>> 

>> Both functions are moved at the same time because they depend

>> on internal functions in sysdeps/pthread/sem_routines.c, which

>> are moved in this commit as well.  Additional hidden prototypes

>> are required to avoid check-localplt failures.

>

> LGTM, with some small nits below.

>

> Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>


Thanks, I've applied these suggestions.

Florian

Patch

diff --git a/include/shm-directory.h b/include/shm-directory.h
index 1d3ffb6137..25e9484a5d 100644
--- a/include/shm-directory.h
+++ b/include/shm-directory.h
@@ -37,5 +37,6 @@  struct shmdir_name
    SEM_PREFIX is true.  */
 int __shm_get_name (struct shmdir_name *result, const char *name,
 		    bool sem_prefix);
+libc_hidden_proto (__shm_get_name)
 
 #endif  /* shm-directory.h */
diff --git a/include/stdlib.h b/include/stdlib.h
index cdbdbf310d..e2453c1896 100644
--- a/include/stdlib.h
+++ b/include/stdlib.h
@@ -91,6 +91,7 @@  extern int __setenv (const char *__name, const char *__value, int __replace)
 extern int __unsetenv (const char *__name) attribute_hidden;
 extern int __clearenv (void) attribute_hidden;
 extern char *__mktemp (char *__template) __THROW __nonnull ((1));
+libc_hidden_proto (__mktemp)
 extern char *__canonicalize_file_name (const char *__name);
 extern char *__realpath (const char *__name, char *__resolved);
 libc_hidden_proto (__realpath)
diff --git a/misc/mktemp.c b/misc/mktemp.c
index 92bb121ddf..07f195f845 100644
--- a/misc/mktemp.c
+++ b/misc/mktemp.c
@@ -30,6 +30,7 @@  __mktemp (char *template)
 
   return template;
 }
+libc_hidden_def (__mktemp)
 weak_alias (__mktemp, mktemp)
 
 link_warning (mktemp, "the use of `mktemp' is dangerous, "
diff --git a/nptl/Makefile b/nptl/Makefile
index 66fd90049e..ab24222c1d 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -151,6 +151,9 @@  routines = \
   pthread_testcancel \
   pthread_yield \
   sem_clockwait \
+  sem_close \
+  sem_open \
+  sem_routines \
   tpp \
   unwind \
 
@@ -202,13 +205,10 @@  libpthread-routines = \
   pthread_sigqueue \
   pthread_timedjoin \
   pthread_tryjoin \
-  sem_close \
   sem_destroy \
   sem_getvalue \
   sem_init \
-  sem_open \
   sem_post \
-  sem_routines \
   sem_timedwait \
   sem_unlink \
   sem_wait \
diff --git a/nptl/Versions b/nptl/Versions
index 97567b6354..4a9e5a0305 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -81,6 +81,10 @@  libc {
     pthread_rwlockattr_setkind_np;
     pthread_rwlockattr_setpshared;
   }
+  GLIBC_2.1.1 {
+    sem_close;
+    sem_open;
+  }
   GLIBC_2.2 {
     __pthread_rwlock_destroy;
     __pthread_rwlock_init;
@@ -249,6 +253,8 @@  libc {
     pthread_spin_unlock;
     pthread_testcancel;
     sem_clockwait;
+    sem_close;
+    sem_open;
     thrd_exit;
     tss_create;
     tss_delete;
@@ -341,8 +347,6 @@  libpthread {
   }
 
   GLIBC_2.1.1 {
-    sem_close;
-    sem_open;
     sem_unlink;
   }
 
diff --git a/posix/shm-directory.c b/posix/shm-directory.c
index c06bf96aa7..5dd640ebd0 100644
--- a/posix/shm-directory.c
+++ b/posix/shm-directory.c
@@ -42,5 +42,6 @@  __shm_get_name (struct shmdir_name *result, const char *name, bool sem_prefix)
     return -1;
   return 0;
 }
+libc_hidden_def (__shm_get_name)
 
 #endif
diff --git a/sysdeps/pthread/sem_close.c b/sysdeps/pthread/sem_close.c
index 6649196cac..212848f745 100644
--- a/sysdeps/pthread/sem_close.c
+++ b/sysdeps/pthread/sem_close.c
@@ -21,7 +21,7 @@ 
 #include <sem_routines.h>
 
 int
-sem_close (sem_t *sem)
+__sem_close (sem_t *sem)
 {
   if (!__sem_remove_mapping (sem))
     {
@@ -31,3 +31,11 @@  sem_close (sem_t *sem)
 
   return 0;
 }
+#if PTHREAD_IN_LIBC
+versioned_symbol (libc, __sem_close, sem_close, GLIBC_2_34);
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_34)
+compat_symbol (libpthread, __sem_close, sem_close, GLIBC_2_1_1);
+# endif
+#else /* !PTHREAD_IN_LIBC */
+strong_alias (__sem_close, sem_close)
+#endif
diff --git a/sysdeps/pthread/sem_open.c b/sysdeps/pthread/sem_open.c
index 0265abc45b..0185659fb9 100644
--- a/sysdeps/pthread/sem_open.c
+++ b/sysdeps/pthread/sem_open.c
@@ -27,8 +27,14 @@ 
 #include <futex-internal.h>
 #include <libc-lock.h>
 
+#if !PTHREAD_IN_LIBC
+/* The private names are not exported from libc.  */
+# define __link link
+# define __unlink unlink
+#endif
+
 sem_t *
-sem_open (const char *name, int oflag, ...)
+__sem_open (const char *name, int oflag, ...)
 {
   int fd;
   sem_t *result;
@@ -59,8 +65,8 @@  sem_open (const char *name, int oflag, ...)
   if ((oflag & O_CREAT) == 0 || (oflag & O_EXCL) == 0)
     {
     try_again:
-      fd = open (dirname.name,
-		 (oflag & ~(O_CREAT|O_ACCMODE)) | O_NOFOLLOW | O_RDWR);
+      fd = __open (dirname.name,
+		   (oflag & ~(O_CREAT|O_ACCMODE)) | O_NOFOLLOW | O_RDWR);
 
       if (fd == -1)
 	{
@@ -127,7 +133,7 @@  sem_open (const char *name, int oflag, ...)
 	    }
 
 	  /* Open the file.  Make sure we do not overwrite anything.  */
-	  fd = open (tmpfname, O_RDWR | O_CREAT | O_EXCL, mode);
+	  fd = __open (tmpfname, O_RDWR | O_CREAT | O_EXCL, mode);
 	  if (fd == -1)
 	    {
 	      if (errno == EEXIST)
@@ -154,15 +160,15 @@  sem_open (const char *name, int oflag, ...)
       if (TEMP_FAILURE_RETRY (write (fd, &sem.initsem, sizeof (sem_t)))
 	  == sizeof (sem_t)
 	  /* Map the sem_t structure from the file.  */
-	  && (result = (sem_t *) mmap (NULL, sizeof (sem_t),
-				       PROT_READ | PROT_WRITE, MAP_SHARED,
-				       fd, 0)) != MAP_FAILED)
+	  && (result = (sem_t *) __mmap (NULL, sizeof (sem_t),
+					 PROT_READ | PROT_WRITE, MAP_SHARED,
+					 fd, 0)) != MAP_FAILED)
 	{
 	  /* Create the file.  Don't overwrite an existing file.  */
-	  if (link (tmpfname, dirname.name) != 0)
+	  if (__link (tmpfname, dirname.name) != 0)
 	    {
 	      /* Undo the mapping.  */
-	      (void) munmap (result, sizeof (sem_t));
+	      (void) __munmap (result, sizeof (sem_t));
 
 	      /* Reinitialize 'result'.  */
 	      result = SEM_FAILED;
@@ -172,10 +178,10 @@  sem_open (const char *name, int oflag, ...)
 	      if ((oflag & O_EXCL) == 0 && errno == EEXIST)
 		{
 		  /* Remove the file.  */
-		  (void) unlink (tmpfname);
+		  (void) __unlink (tmpfname);
 
 		  /* Close the file.  */
-		  close (fd);
+		  __close (fd);
 
 		  goto try_again;
 		}
@@ -189,7 +195,7 @@  sem_open (const char *name, int oflag, ...)
 
       /* Now remove the temporary name.  This should never fail.  If
 	 it fails we leak a file name.  Better fix the kernel.  */
-      (void) unlink (tmpfname);
+      (void) __unlink (tmpfname);
     }
 
   /* Map the mmap error to the error we need.  */
@@ -201,7 +207,7 @@  sem_open (const char *name, int oflag, ...)
     {
       /* Do not disturb errno.  */
       int save = errno;
-      close (fd);
+      __close (fd);
       errno = save;
     }
 
@@ -212,3 +218,11 @@  out:
 
   return result;
 }
+#if PTHREAD_IN_LIBC
+versioned_symbol (libc, __sem_open, sem_open, GLIBC_2_34);
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_34)
+compat_symbol (libpthread, __sem_open, sem_open, GLIBC_2_1_1);
+# endif
+#else /* !PTHREAD_IN_LIBC */
+strong_alias (__sem_open, sem_open)
+#endif
diff --git a/sysdeps/pthread/sem_routines.c b/sysdeps/pthread/sem_routines.c
index 34e6410729..9a78dab5d3 100644
--- a/sysdeps/pthread/sem_routines.c
+++ b/sysdeps/pthread/sem_routines.c
@@ -106,9 +106,9 @@  __sem_check_add_mapping (const char *name, int fd, sem_t *existing)
 	    {
 	      /* If the caller hasn't provided any map it now.  */
 	      if (existing == SEM_FAILED)
-		existing = (sem_t *) mmap (NULL, sizeof (sem_t),
-					   PROT_READ | PROT_WRITE, MAP_SHARED,
-					   fd, 0);
+		existing = (sem_t *) __mmap (NULL, sizeof (sem_t),
+					     PROT_READ | PROT_WRITE,
+					     MAP_SHARED, fd, 0);
 
 	      newp->dev = st.st_dev;
 	      newp->ino = st.st_ino;
@@ -136,7 +136,7 @@  __sem_check_add_mapping (const char *name, int fd, sem_t *existing)
     {
       /* Do not disturb errno.  */
       int save = errno;
-      munmap (existing, sizeof (sem_t));
+      __munmap (existing, sizeof (sem_t));
       errno = save;
     }
 
@@ -183,7 +183,7 @@  __sem_remove_mapping (sem_t *sem)
 	  /* Remove the record from the tree.  */
 	  __tdelete (rec, &sem_mappings, sem_search);
 
-	  if (munmap (rec->sem, sizeof (sem_t)) == -1)
+	  if (__munmap (rec->sem, sizeof (sem_t)) == -1)
 	    ret = false;
 
 	  free (rec);
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 0f54f3fa7a..26d440e487 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1660,6 +1660,8 @@  GLIBC_2.17 seed48 F
 GLIBC_2.17 seed48_r F
 GLIBC_2.17 seekdir F
 GLIBC_2.17 select F
+GLIBC_2.17 sem_close F
+GLIBC_2.17 sem_open F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
 GLIBC_2.17 semop F
@@ -2347,6 +2349,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 0481baac9c..f8dc604dfa 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -39,11 +39,9 @@  GLIBC_2.17 pthread_setschedprio F
 GLIBC_2.17 pthread_sigqueue F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
-GLIBC_2.17 sem_close F
 GLIBC_2.17 sem_destroy F
 GLIBC_2.17 sem_getvalue F
 GLIBC_2.17 sem_init F
-GLIBC_2.17 sem_open F
 GLIBC_2.17 sem_post F
 GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index c0d38ccd38..cef9391d34 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1721,6 +1721,8 @@  GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2428,6 +2430,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 86b15ad0d7..8cc7e9bc57 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -30,8 +30,6 @@  GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 79fad165e1..a9d30544f3 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1602,6 +1602,8 @@  GLIBC_2.32 seed48_r F
 GLIBC_2.32 seekdir F
 GLIBC_2.32 select F
 GLIBC_2.32 sem_clockwait F
+GLIBC_2.32 sem_close F
+GLIBC_2.32 sem_open F
 GLIBC_2.32 semctl F
 GLIBC_2.32 semget F
 GLIBC_2.32 semop F
@@ -2106,6 +2108,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index f9bb47a3c5..9032472f97 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -42,11 +42,9 @@  GLIBC_2.32 pthread_setschedprio F
 GLIBC_2.32 pthread_sigqueue F
 GLIBC_2.32 pthread_timedjoin_np F
 GLIBC_2.32 pthread_tryjoin_np F
-GLIBC_2.32 sem_close F
 GLIBC_2.32 sem_destroy F
 GLIBC_2.32 sem_getvalue F
 GLIBC_2.32 sem_init F
-GLIBC_2.32 sem_open F
 GLIBC_2.32 sem_post F
 GLIBC_2.32 sem_timedwait F
 GLIBC_2.32 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 38cddc482a..637c85823b 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -253,6 +253,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1838,6 +1840,8 @@  GLIBC_2.4 seed48 F
 GLIBC_2.4 seed48_r F
 GLIBC_2.4 seekdir F
 GLIBC_2.4 select F
+GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_open F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index e56c397379..4a8b77148b 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -47,11 +47,9 @@  GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
-GLIBC_2.4 sem_close F
 GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
-GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 78ae8c3907..c2d82d24c3 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -250,6 +250,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1835,6 +1837,8 @@  GLIBC_2.4 seed48 F
 GLIBC_2.4 seed48_r F
 GLIBC_2.4 seekdir F
 GLIBC_2.4 select F
+GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_open F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index e56c397379..4a8b77148b 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -47,11 +47,9 @@  GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
-GLIBC_2.4 sem_close F
 GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
-GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index 66dae5ded1..de4c614097 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1663,6 +1663,8 @@  GLIBC_2.29 seed48 F
 GLIBC_2.29 seed48_r F
 GLIBC_2.29 seekdir F
 GLIBC_2.29 select F
+GLIBC_2.29 sem_close F
+GLIBC_2.29 sem_open F
 GLIBC_2.29 semctl F
 GLIBC_2.29 semget F
 GLIBC_2.29 semop F
@@ -2290,6 +2292,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 6fd5e8061a..b16ffe2dd8 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -41,11 +41,9 @@  GLIBC_2.29 pthread_setschedprio F
 GLIBC_2.29 pthread_sigqueue F
 GLIBC_2.29 pthread_timedjoin_np F
 GLIBC_2.29 pthread_tryjoin_np F
-GLIBC_2.29 sem_close F
 GLIBC_2.29 sem_destroy F
 GLIBC_2.29 sem_getvalue F
 GLIBC_2.29 sem_init F
-GLIBC_2.29 sem_open F
 GLIBC_2.29 sem_post F
 GLIBC_2.29 sem_timedwait F
 GLIBC_2.29 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 46875d7402..83bb694e02 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1452,6 +1452,8 @@  GLIBC_2.2 seed48 F
 GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2241,6 +2243,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index c6e9eee45b..c07e43ba36 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -31,11 +31,9 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 5d8ca2e122..361856e177 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1727,6 +1727,8 @@  GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2418,6 +2420,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 30bc064058..be013d96e2 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -30,8 +30,6 @@  GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index c14a38e14c..9be17c7672 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1473,6 +1473,8 @@  GLIBC_2.2 seed48 F
 GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2275,6 +2277,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 6f15ac3cb1..42c7615f64 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -31,11 +31,9 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index aabed7c366..8ded141557 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -254,6 +254,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
@@ -1818,6 +1820,8 @@  GLIBC_2.4 seed48 F
 GLIBC_2.4 seed48_r F
 GLIBC_2.4 seekdir F
 GLIBC_2.4 select F
+GLIBC_2.4 sem_close F
+GLIBC_2.4 sem_open F
 GLIBC_2.4 semctl F
 GLIBC_2.4 semget F
 GLIBC_2.4 semop F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index e56c397379..4a8b77148b 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -47,11 +47,9 @@  GLIBC_2.4 pthread_setconcurrency F
 GLIBC_2.4 pthread_setschedprio F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
-GLIBC_2.4 sem_close F
 GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
 GLIBC_2.4 sem_init F
-GLIBC_2.4 sem_open F
 GLIBC_2.4 sem_post F
 GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 4a3b9f25fa..e8a006c424 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1683,6 +1683,8 @@  GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2361,6 +2363,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 30bc064058..be013d96e2 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -30,8 +30,6 @@  GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 82ac489f32..a4907fad02 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1662,6 +1662,8 @@  GLIBC_2.18 seed48 F
 GLIBC_2.18 seed48_r F
 GLIBC_2.18 seekdir F
 GLIBC_2.18 select F
+GLIBC_2.18 sem_close F
+GLIBC_2.18 sem_open F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
 GLIBC_2.18 semop F
@@ -2341,6 +2343,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 703310b8dd..8b3ddcbda9 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -41,11 +41,9 @@  GLIBC_2.18 pthread_setschedprio F
 GLIBC_2.18 pthread_sigqueue F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
-GLIBC_2.18 sem_close F
 GLIBC_2.18 sem_destroy F
 GLIBC_2.18 sem_getvalue F
 GLIBC_2.18 sem_init F
-GLIBC_2.18 sem_open F
 GLIBC_2.18 sem_post F
 GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 3ec2794b5b..c5282a3fd1 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1662,6 +1662,8 @@  GLIBC_2.18 seed48 F
 GLIBC_2.18 seed48_r F
 GLIBC_2.18 seekdir F
 GLIBC_2.18 select F
+GLIBC_2.18 sem_close F
+GLIBC_2.18 sem_open F
 GLIBC_2.18 semctl F
 GLIBC_2.18 semget F
 GLIBC_2.18 semop F
@@ -2338,6 +2340,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 703310b8dd..8b3ddcbda9 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -41,11 +41,9 @@  GLIBC_2.18 pthread_setschedprio F
 GLIBC_2.18 pthread_sigqueue F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
-GLIBC_2.18 sem_close F
 GLIBC_2.18 sem_destroy F
 GLIBC_2.18 sem_getvalue F
 GLIBC_2.18 sem_init F
-GLIBC_2.18 sem_open F
 GLIBC_2.18 sem_post F
 GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index ff623c22f3..a6fb6ac493 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -1888,6 +1888,8 @@  GLIBC_2.2 rresvport_af F
 GLIBC_2.2 rtime F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2324,6 +2326,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 8444fb5280..d79cc95dfd 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -38,11 +38,9 @@  GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 6cecd92386..abfe1226b1 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -1886,6 +1886,8 @@  GLIBC_2.2 rresvport_af F
 GLIBC_2.2 rtime F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
@@ -2322,6 +2324,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 8444fb5280..d79cc95dfd 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -38,11 +38,9 @@  GLIBC_2.2 pthread_create F
 GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 858fa17010..30851df44a 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -1886,6 +1886,8 @@  GLIBC_2.2 rresvport_af F
 GLIBC_2.2 rtime F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
@@ -2330,6 +2332,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 5c72417ee3..81d37d6322 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -1882,6 +1882,8 @@  GLIBC_2.2 rresvport_af F
 GLIBC_2.2 rtime F
 GLIBC_2.2 ruserok_af F
 GLIBC_2.2 scandir64 F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 sendfile F
 GLIBC_2.2 setrlimit64 F
 GLIBC_2.2 setutxent F
@@ -2324,6 +2326,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index b9cd5703da..a5dbb107db 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1705,6 +1705,8 @@  GLIBC_2.21 seed48 F
 GLIBC_2.21 seed48_r F
 GLIBC_2.21 seekdir F
 GLIBC_2.21 select F
+GLIBC_2.21 sem_close F
+GLIBC_2.21 sem_open F
 GLIBC_2.21 semctl F
 GLIBC_2.21 semget F
 GLIBC_2.21 semop F
@@ -2380,6 +2382,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 6e4845723f..e8f9bdeef4 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -41,11 +41,9 @@  GLIBC_2.21 pthread_setschedprio F
 GLIBC_2.21 pthread_sigqueue F
 GLIBC_2.21 pthread_timedjoin_np F
 GLIBC_2.21 pthread_tryjoin_np F
-GLIBC_2.21 sem_close F
 GLIBC_2.21 sem_destroy F
 GLIBC_2.21 sem_getvalue F
 GLIBC_2.21 sem_init F
-GLIBC_2.21 sem_open F
 GLIBC_2.21 sem_post F
 GLIBC_2.21 sem_timedwait F
 GLIBC_2.21 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 2384127281..9f512cfe62 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1688,6 +1688,8 @@  GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2388,6 +2390,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 2614e1e6b9..31ef39020a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -30,8 +30,6 @@  GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index ce47bd3777..99aad58eaa 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1688,6 +1688,8 @@  GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2421,6 +2423,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 1be222ec73..466f6b5d7b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1577,6 +1577,8 @@  GLIBC_2.3 seed48 F
 GLIBC_2.3 seed48_r F
 GLIBC_2.3 seekdir F
 GLIBC_2.3 select F
+GLIBC_2.3 sem_close F
+GLIBC_2.3 sem_open F
 GLIBC_2.3 semctl F
 GLIBC_2.3 semget F
 GLIBC_2.3 semop F
@@ -2242,6 +2244,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index af39b79df0..02c32b9aa6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -34,11 +34,9 @@  GLIBC_2.3 pthread_getconcurrency F
 GLIBC_2.3 pthread_getcpuclockid F
 GLIBC_2.3 pthread_join F
 GLIBC_2.3 pthread_setconcurrency F
-GLIBC_2.3 sem_close F
 GLIBC_2.3 sem_destroy F
 GLIBC_2.3 sem_getvalue F
 GLIBC_2.3 sem_init F
-GLIBC_2.3 sem_open F
 GLIBC_2.3 sem_post F
 GLIBC_2.3 sem_timedwait F
 GLIBC_2.3 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 26de7bc08f..b1a2922377 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1748,6 +1748,8 @@  GLIBC_2.17 seed48 F
 GLIBC_2.17 seed48_r F
 GLIBC_2.17 seekdir F
 GLIBC_2.17 select F
+GLIBC_2.17 sem_close F
+GLIBC_2.17 sem_open F
 GLIBC_2.17 semctl F
 GLIBC_2.17 semget F
 GLIBC_2.17 semop F
@@ -2543,6 +2545,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 0481baac9c..f8dc604dfa 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -39,11 +39,9 @@  GLIBC_2.17 pthread_setschedprio F
 GLIBC_2.17 pthread_sigqueue F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
-GLIBC_2.17 sem_close F
 GLIBC_2.17 sem_destroy F
 GLIBC_2.17 sem_getvalue F
 GLIBC_2.17 sem_init F
-GLIBC_2.17 sem_open F
 GLIBC_2.17 sem_post F
 GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index 423a563d6a..7ed6c10b7c 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1604,6 +1604,8 @@  GLIBC_2.33 seed48_r F
 GLIBC_2.33 seekdir F
 GLIBC_2.33 select F
 GLIBC_2.33 sem_clockwait F
+GLIBC_2.33 sem_close F
+GLIBC_2.33 sem_open F
 GLIBC_2.33 semctl F
 GLIBC_2.33 semget F
 GLIBC_2.33 semop F
@@ -2108,6 +2110,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 2c05fed5de..1a87403132 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -42,11 +42,9 @@  GLIBC_2.33 pthread_setschedprio F
 GLIBC_2.33 pthread_sigqueue F
 GLIBC_2.33 pthread_timedjoin_np F
 GLIBC_2.33 pthread_tryjoin_np F
-GLIBC_2.33 sem_close F
 GLIBC_2.33 sem_destroy F
 GLIBC_2.33 sem_getvalue F
 GLIBC_2.33 sem_init F
-GLIBC_2.33 sem_open F
 GLIBC_2.33 sem_post F
 GLIBC_2.33 sem_timedwait F
 GLIBC_2.33 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index 04e587b23c..a0f5d0f988 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1652,6 +1652,8 @@  GLIBC_2.27 seed48 F
 GLIBC_2.27 seed48_r F
 GLIBC_2.27 seekdir F
 GLIBC_2.27 select F
+GLIBC_2.27 sem_close F
+GLIBC_2.27 sem_open F
 GLIBC_2.27 semctl F
 GLIBC_2.27 semget F
 GLIBC_2.27 semop F
@@ -2308,6 +2310,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 24c1fc45ce..122cb26879 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -41,11 +41,9 @@  GLIBC_2.27 pthread_setschedprio F
 GLIBC_2.27 pthread_sigqueue F
 GLIBC_2.27 pthread_timedjoin_np F
 GLIBC_2.27 pthread_tryjoin_np F
-GLIBC_2.27 sem_close F
 GLIBC_2.27 sem_destroy F
 GLIBC_2.27 sem_getvalue F
 GLIBC_2.27 sem_init F
-GLIBC_2.27 sem_open F
 GLIBC_2.27 sem_post F
 GLIBC_2.27 sem_timedwait F
 GLIBC_2.27 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 7b269ae840..f2a59ab190 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1680,6 +1680,8 @@  GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2386,6 +2388,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 17893bf306..a6adbf2c0c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -30,8 +30,6 @@  GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index c2af5d0ece..232d00b8af 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1470,6 +1470,8 @@  GLIBC_2.2 seed48 F
 GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2279,6 +2281,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 3f42d9dcc5..6b6f17b0dd 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -32,11 +32,9 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 00ea530f98..e4eb7c0042 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1456,6 +1456,8 @@  GLIBC_2.2 seed48 F
 GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2248,6 +2250,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index c6e9eee45b..c07e43ba36 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -31,11 +31,9 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index ea92a1c366..2a019d5f89 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1456,6 +1456,8 @@  GLIBC_2.2 seed48 F
 GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2245,6 +2247,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index c6e9eee45b..c07e43ba36 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -31,11 +31,9 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index f0d5866658..a0e6b25aeb 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1681,6 +1681,8 @@  GLIBC_2.1.1 getutmp F
 GLIBC_2.1.1 getutmpx F
 GLIBC_2.1.1 imaxabs F
 GLIBC_2.1.1 imaxdiv F
+GLIBC_2.1.1 sem_close F
+GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 strchrnul F
 GLIBC_2.1.1 xdr_hyper F
 GLIBC_2.1.1 xdr_int64_t F
@@ -2377,6 +2379,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 86b15ad0d7..8cc7e9bc57 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -30,8 +30,6 @@  GLIBC_2.1 sem_init F
 GLIBC_2.1 sem_post F
 GLIBC_2.1 sem_trywait F
 GLIBC_2.1 sem_wait F
-GLIBC_2.1.1 sem_close F
-GLIBC_2.1.1 sem_open F
 GLIBC_2.1.1 sem_unlink F
 GLIBC_2.1.2 __libpthread_version_placeholder F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index da0c9e1e86..f836c0c88b 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1499,6 +1499,8 @@  GLIBC_2.2 seed48 F
 GLIBC_2.2 seed48_r F
 GLIBC_2.2 seekdir F
 GLIBC_2.2 select F
+GLIBC_2.2 sem_close F
+GLIBC_2.2 sem_open F
 GLIBC_2.2 semctl F
 GLIBC_2.2 semget F
 GLIBC_2.2 semop F
@@ -2296,6 +2298,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 6f15ac3cb1..42c7615f64 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -31,11 +31,9 @@  GLIBC_2.2 pthread_getconcurrency F
 GLIBC_2.2 pthread_getcpuclockid F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_setconcurrency F
-GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
 GLIBC_2.2 sem_init F
-GLIBC_2.2 sem_open F
 GLIBC_2.2 sem_post F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 33b4b7a121..8c48f6fbd0 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1467,6 +1467,8 @@  GLIBC_2.2.5 seed48 F
 GLIBC_2.2.5 seed48_r F
 GLIBC_2.2.5 seekdir F
 GLIBC_2.2.5 select F
+GLIBC_2.2.5 sem_close F
+GLIBC_2.2.5 sem_open F
 GLIBC_2.2.5 semctl F
 GLIBC_2.2.5 semget F
 GLIBC_2.2.5 semop F
@@ -2257,6 +2259,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 3516798f9a..9a98ac62d7 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -31,11 +31,9 @@  GLIBC_2.2.5 pthread_getconcurrency F
 GLIBC_2.2.5 pthread_getcpuclockid F
 GLIBC_2.2.5 pthread_join F
 GLIBC_2.2.5 pthread_setconcurrency F
-GLIBC_2.2.5 sem_close F
 GLIBC_2.2.5 sem_destroy F
 GLIBC_2.2.5 sem_getvalue F
 GLIBC_2.2.5 sem_init F
-GLIBC_2.2.5 sem_open F
 GLIBC_2.2.5 sem_post F
 GLIBC_2.2.5 sem_timedwait F
 GLIBC_2.2.5 sem_trywait F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 0a1215efeb..f96ad30cef 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1666,6 +1666,8 @@  GLIBC_2.16 seed48 F
 GLIBC_2.16 seed48_r F
 GLIBC_2.16 seekdir F
 GLIBC_2.16 select F
+GLIBC_2.16 sem_close F
+GLIBC_2.16 sem_open F
 GLIBC_2.16 semctl F
 GLIBC_2.16 semget F
 GLIBC_2.16 semop F
@@ -2362,6 +2364,8 @@  GLIBC_2.34 pthread_spin_trylock F
 GLIBC_2.34 pthread_spin_unlock F
 GLIBC_2.34 pthread_testcancel F
 GLIBC_2.34 sem_clockwait F
+GLIBC_2.34 sem_close F
+GLIBC_2.34 sem_open F
 GLIBC_2.34 thrd_exit F
 GLIBC_2.34 tss_create F
 GLIBC_2.34 tss_delete F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index b2c9bca89c..025b02f3de 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -39,11 +39,9 @@  GLIBC_2.16 pthread_setschedprio F
 GLIBC_2.16 pthread_sigqueue F
 GLIBC_2.16 pthread_timedjoin_np F
 GLIBC_2.16 pthread_tryjoin_np F
-GLIBC_2.16 sem_close F
 GLIBC_2.16 sem_destroy F
 GLIBC_2.16 sem_getvalue F
 GLIBC_2.16 sem_init F
-GLIBC_2.16 sem_open F
 GLIBC_2.16 sem_post F
 GLIBC_2.16 sem_timedwait F
 GLIBC_2.16 sem_trywait F