about summary refs log tree commit diff
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-05-05 17:15:57 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-05-05 17:19:38 +0200
commit0b7d48d1062e4383b4a78e0bb78c5f0f29479780 (patch)
tree7f68d1ddf402078c5ba49416a076b7875fb18b75
parent19cc20ef2e8b9e09429741a3108e55c50758a273 (diff)
downloadglibc-0b7d48d1062e4383b4a78e0bb78c5f0f29479780.tar.gz
glibc-0b7d48d1062e4383b4a78e0bb78c5f0f29479780.tar.xz
glibc-0b7d48d1062e4383b4a78e0bb78c5f0f29479780.zip
nptl: Move sem_close, sem_open into libc
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.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
-rw-r--r--include/shm-directory.h1
-rw-r--r--include/stdlib.h1
-rw-r--r--misc/mktemp.c1
-rw-r--r--nptl/Makefile6
-rw-r--r--nptl/Versions8
-rw-r--r--posix/shm-directory.c1
-rw-r--r--sysdeps/pthread/sem_close.c10
-rw-r--r--sysdeps/pthread/sem_open.c40
-rw-r--r--sysdeps/pthread/sem_routines.c10
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/aarch64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/alpha/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arc/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/arc/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/arm/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/arm/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/csky/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/csky/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/hppa/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/i386/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/i386/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/ia64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/nios2/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sh/be/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sh/le/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist2
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist4
-rw-r--r--sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist2
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..770ab17cdb 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));
+	      __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);
+		  __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);
+      __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 b40a12e606..e8b79d1ccd 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
@@ -2348,6 +2350,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 d1c12b0cd0..f3b6d7b129 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
@@ -2429,6 +2431,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 f15a8c78ab..e16e32264c 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
@@ -2107,6 +2109,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 a4db330bb5..0e3d51f706 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/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
@@ -1839,6 +1841,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 add91fc270..a50969d962 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -251,6 +251,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
@@ -1836,6 +1838,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 dac341d1a6..ed8ce12ded 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
@@ -2291,6 +2293,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 58ecbec738..c83ca38893 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
@@ -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/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 39b3b4b97f..62d1716a22 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
@@ -2419,6 +2421,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 6351c64a25..7f92846b97 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
@@ -2276,6 +2278,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 1999dff3de..4e78f128a6 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -255,6 +255,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
@@ -1819,6 +1821,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 a55e7e103f..5cf6a8bf30 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
@@ -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/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 0b202e1030..85c9f5988d 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
@@ -2342,6 +2344,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 95000d0065..5f3816133a 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
@@ -2339,6 +2341,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 e8ea106aa6..5e8c63ea99 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
@@ -2325,6 +2327,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 30f47276a2..113c442e07 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
@@ -2323,6 +2325,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 c161f8c2ad..ca6091e760 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
@@ -2331,6 +2333,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 bed294b9b8..c4fc75a08b 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
@@ -2325,6 +2327,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 e0fbff03a1..a799ea91ad 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
@@ -2381,6 +2383,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 8f80dab063..05d0bf359f 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
@@ -2389,6 +2391,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 e5754a1e94..a4e07b5587 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
@@ -2422,6 +2424,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 123722398c..96b395295e 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
@@ -2243,6 +2245,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 330c004102..5a32943f4e 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
@@ -2544,6 +2546,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 9d536b08e6..889392cee4 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
@@ -2109,6 +2111,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 7e045a4830..8ddcdd24e9 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
@@ -2309,6 +2311,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 9bb4a92aa1..d44bd086c6 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
@@ -2387,6 +2389,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 ae3ace6ff4..7ebd6a396a 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
@@ -2280,6 +2282,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 3e4955a3c7..dde142a310 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
@@ -2249,6 +2251,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 4d75b82d93..12113a0d09 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
@@ -2246,6 +2248,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 bbdb0f140d..6048ad0a79 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
@@ -2378,6 +2380,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 2b07dd6222..24289f771d 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
@@ -2297,6 +2299,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 bf3fc3aba3..aadaac3e94 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
@@ -2258,6 +2260,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 4205e292f9..ba4fec0f50 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
@@ -2363,6 +2365,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