public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: libc-alpha@sourceware.org, Florian Weimer <fweimer@redhat.com>
Subject: Re: [PATCH 04/11] nptl: Move sem_close, sem_open into libc
Date: Wed, 5 May 2021 11:33:52 -0300	[thread overview]
Message-ID: <2901c489-d949-bade-cb81-0ef35cdf261a@linaro.org> (raw)
In-Reply-To: <c430f0de2881b8c1b44260d48ea981f412d9788e.1620049437.git.fweimer@redhat.com>



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
> 

  reply	other threads:[~2021-05-05 14:33 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-03 13:51 [PATCH 00/11] nptl: Move semaphore functions " Florian Weimer
2021-05-03 13:51 ` [PATCH 01/11] nptl: Move pthread_testcancel " Florian Weimer
2021-05-05 14:16   ` Adhemerval Zanella
2021-05-03 13:51 ` [PATCH 02/11] nptl: Consolidate aysnc cancel enable/disable implementation in libc Florian Weimer
2021-05-05 14:21   ` Adhemerval Zanella
2021-05-03 13:51 ` [PATCH 03/11] nptl: Move sem_clockwait into libc Florian Weimer
2021-05-05 14:30   ` Adhemerval Zanella
2021-05-03 13:51 ` [PATCH 04/11] nptl: Move sem_close, sem_open " Florian Weimer
2021-05-05 14:33   ` Adhemerval Zanella [this message]
2021-05-05 15:30     ` Florian Weimer
2021-05-03 13:51 ` [PATCH 05/11] nptl: Move sem_destroy " Florian Weimer
2021-05-05 14:35   ` Adhemerval Zanella
2021-05-03 13:51 ` [PATCH 06/11] nptl: Move sem_getvalue " Florian Weimer
2021-05-05 14:35   ` Adhemerval Zanella
2021-05-03 13:52 ` [PATCH 07/11] nptl: Move sem_init " Florian Weimer
2021-05-05 14:36   ` Adhemerval Zanella
2021-05-03 13:52 ` [PATCH 08/11] nptl: Move sem_post " Florian Weimer
2021-05-05 14:36   ` Adhemerval Zanella
2021-05-03 13:52 ` [PATCH 09/11] nptl: Move sem_timedwait " Florian Weimer
2021-05-05 14:37   ` Adhemerval Zanella
2021-05-03 13:52 ` [PATCH 10/11] nptl: Move sem_unlink " Florian Weimer
2021-05-05 14:37   ` Adhemerval Zanella
2021-05-03 13:52 ` [PATCH 11/11] nptl: Move sem_trywait, sem_wait " Florian Weimer
2021-05-05 14:38   ` Adhemerval Zanella

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2901c489-d949-bade-cb81-0ef35cdf261a@linaro.org \
    --to=adhemerval.zanella@linaro.org \
    --cc=fweimer@redhat.com \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).