[10/10] nptl: Stop building libpthread

Message ID 82b3610549a7413177855880b89798745bf3931c.1621347402.git.fweimer@redhat.com
State Dropped
Headers
Series nptl: Complete libpthread removal |

Checks

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

Commit Message

Florian Weimer May 18, 2021, 2:25 p.m. UTC
  This removes the compatibility symbols file.  For linking with installed
libraries (primarily for memusagestat), create a libpthread.so.0 stub
file.
---
 Makeconfig                                    |   3 +
 nptl/Makefile                                 |  34 ++----
 nptl/libpthread-compat.c                      | 114 ------------------
 nptl/libpthread-stub.S                        |   1 +
 sysdeps/nptl/Makeconfig                       |   7 +-
 .../sysv/linux/aarch64/libpthread.abilist     |   5 -
 .../unix/sysv/linux/alpha/libpthread.abilist  |  17 ---
 .../unix/sysv/linux/arc/libpthread.abilist    |   1 -
 .../unix/sysv/linux/arm/be/libpthread.abilist |   7 --
 .../unix/sysv/linux/arm/le/libpthread.abilist |   7 --
 .../unix/sysv/linux/csky/libpthread.abilist   |   3 -
 .../unix/sysv/linux/hppa/libpthread.abilist   |  13 --
 .../unix/sysv/linux/i386/libpthread.abilist   |  17 ---
 .../unix/sysv/linux/ia64/libpthread.abilist   |  13 --
 .../linux/m68k/coldfire/libpthread.abilist    |   7 --
 .../sysv/linux/m68k/m680x0/libpthread.abilist |  17 ---
 .../linux/microblaze/be/libpthread.abilist    |   4 -
 .../linux/microblaze/le/libpthread.abilist    |   4 -
 .../sysv/linux/mips/mips32/libpthread.abilist |  14 ---
 .../sysv/linux/mips/mips64/libpthread.abilist |  14 ---
 .../unix/sysv/linux/nios2/libpthread.abilist  |   4 -
 .../powerpc/powerpc32/libpthread.abilist      |  18 ---
 .../powerpc/powerpc64/be/libpthread.abilist   |  12 --
 .../powerpc/powerpc64/le/libpthread.abilist   |   5 -
 .../sysv/linux/riscv/rv32/libpthread.abilist  |   1 -
 .../sysv/linux/riscv/rv64/libpthread.abilist  |   4 -
 .../linux/s390/s390-32/libpthread.abilist     |  18 ---
 .../linux/s390/s390-64/libpthread.abilist     |  14 ---
 .../unix/sysv/linux/sh/be/libpthread.abilist  |  13 --
 .../unix/sysv/linux/sh/le/libpthread.abilist  |  13 --
 .../linux/sparc/sparc32/libpthread.abilist    |  17 ---
 .../linux/sparc/sparc64/libpthread.abilist    |  13 --
 .../sysv/linux/x86_64/64/libpthread.abilist   |  12 --
 .../sysv/linux/x86_64/x32/libpthread.abilist  |   5 -
 34 files changed, 16 insertions(+), 435 deletions(-)
 delete mode 100644 nptl/libpthread-compat.c
 create mode 100644 nptl/libpthread-stub.S
 delete mode 100644 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/alpha/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/arc/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/csky/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/hppa/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/i386/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/ia64/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/nios2/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
  

Patch

diff --git a/Makeconfig b/Makeconfig
index 3ef71cc02b..0021389771 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -586,6 +586,9 @@  $(common-objdir):$(subst $(empty) ,:,$(patsubst ../$(subdir),.,$(rpath-dirs:%=$(
 
 # See $(elf-stub-dso-files) in elf/Makefile.
 rpath-link-stubs=:$(common-objdir)/elf/stub-dsos
+ifeq ($(pthread-in-libc),yes)
+elf-stub-dsos += pthread
+endif
 
 else  # build-static
 link-libc = $(common-objpfx)libc.a $(otherlibs) $(gnulib) $(common-objpfx)libc.a $(gnulib)
diff --git a/nptl/Makefile b/nptl/Makefile
index 64cd0dcbf6..8ddefb1b61 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -25,8 +25,11 @@  include ../Makeconfig
 headers := pthread.h semaphore.h bits/semaphore.h \
 	   bits/struct_mutex.h bits/struct_rwlock.h
 
-extra-libs := libpthread
-extra-libs-others := $(extra-libs)
+# Install an empty libpthread.a, so that -lpthread will work, as
+# required by POSIX.
+install-lib := libpthread.a
+non-lib.a := libpthread.a
+extra-objs += libpthread.a
 
 routines = \
   alloca_cutoff \
@@ -207,9 +210,6 @@  routines = \
 shared-only-routines = forward
 static-only-routines = pthread_atfork
 
-libpthread-routines = libpthread-compat
-libpthread-shared-only-routines = libpthread-compat
-
 # Since cancellation handling is in large parts handled using exceptions
 # we have to compile some files with exception handling enabled, some
 # even with asynchronous unwind tables.
@@ -374,8 +374,6 @@  else
 tests-printers-libs := $(static-thread-library)
 endif
 
-LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete
-
 tests += tst-cancelx7 tst-cancelx17
 
 ifeq ($(build-shared),yes)
@@ -469,6 +467,8 @@  ifeq (yes,$(build-shared))
 lib-noranlib: $(addprefix $(objpfx),$(extra-objs))
 endif
 
+$(objpfx)libpthread.a:
+	$(AR) cr $@
 
 # 'pthread_self' is a simple memory or register load.  Setting up the
 # stack frame is more work than the actual operation.  Disable the
@@ -548,35 +548,15 @@  else
 librt = $(common-objpfx)rt/librt.a
 endif
 
-# `make check' sometimes triggers a rebuild of librt.so using this Makefile,
-# which ignores librt's dependence on libpthread
-$(common-objpfx)rt/librt.so: $(shared-thread-library)
-
 $(objpfx)tst-cancel17: $(librt)
 $(objpfx)tst-cancelx17: $(librt)
 
 LDLIBS-tst-cancel24 = -Wl,--no-as-needed -lstdc++
 LDLIBS-tst-cancel24-static = $(LDLIBS-tst-cancel24)
 
-# Make sure we link with the thread library.
 ifeq ($(build-shared),yes)
-$(addprefix $(objpfx), \
-  $(filter-out $(tests-static) $(xtests-static) $(tests-reverse) \
-    $(tests-nolibpthread), \
-    $(tests) $(tests-internal) $(xtests) $(test-srcs) $(tests-container))): \
-	$(objpfx)libpthread.so
 $(objpfx)tst-unload: $(libdl)
-# $(objpfx)../libc.so is used instead of $(common-objpfx)libc.so,
-# since otherwise libpthread.so comes before libc.so when linking.
-$(addprefix $(objpfx), $(tests-reverse)): \
-  $(objpfx)../libc.so $(objpfx)libpthread.so
-$(objpfx)../libc.so: $(common-objpfx)libc.so ;
-$(addprefix $(objpfx),$(tests-static) $(xtests-static)): $(objpfx)libpthread.a
-else
-$(addprefix $(objpfx),$(tests) $(test-srcs)): $(objpfx)libpthread.a
-endif
 
-ifeq ($(build-shared),yes)
 generated += multidir.mk tst-tls6.out
 endif
 
diff --git a/nptl/libpthread-compat.c b/nptl/libpthread-compat.c
deleted file mode 100644
index fb336d0685..0000000000
--- a/nptl/libpthread-compat.c
+++ /dev/null
@@ -1,114 +0,0 @@ 
-/* Placeholder definitions to pull in removed symbol versions.
-   Copyright (C) 2019-2021 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <https://www.gnu.org/licenses/>.  */
-
-#include <sys/cdefs.h>
-#include <shlib-compat.h>
-
-#ifdef SHARED
-void
-attribute_compat_text_section
-__attribute_used__
-__libpthread_version_placeholder_1 (void)
-{
-}
-#endif
-
-#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_0);
-#endif
-
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_2))
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_1);
-#endif
-
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_1, GLIBC_2_1_2))
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_1_1);
-#endif
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_1_2, GLIBC_2_2))
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_1_2);
-#endif
-
-#if SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_3) \
-  && ABI_libpthread_GLIBC_2_2 != ABI_libpthread_GLIBC_2_0
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_2);
-#endif
-
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_2_3, GLIBC_2_2_4))
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_2_3);
-#endif
-
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_2_6, GLIBC_2_3))
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_2_6);
-#endif
-
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_3_2, GLIBC_2_3_4))
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_3_2);
-#endif
-
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_3_4))
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_3_3);
-#endif
-
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_3_4, GLIBC_2_4))
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_3_4);
-#endif
-
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_4, GLIBC_2_5))
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_4);
-#endif
-
-#if SHLIB_COMPAT (libpthread, GLIBC_2_11, GLIBC_2_12)
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_11);
-#endif
-
-#if SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_13)
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_12);
-#endif
-
-#if SHLIB_COMPAT (libpthread, GLIBC_2_18, GLIBC_2_19)
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_18);
-#endif
-
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_28, GLIBC_2_29))
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_28);
-#endif
-
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_30, GLIBC_2_31))
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_30);
-#endif
-
-#if (SHLIB_COMPAT (libpthread, GLIBC_2_31, GLIBC_2_32))
-compat_symbol (libpthread, __libpthread_version_placeholder_1,
-	       __libpthread_version_placeholder, GLIBC_2_31);
-#endif
diff --git a/nptl/libpthread-stub.S b/nptl/libpthread-stub.S
new file mode 100644
index 0000000000..1fec0b30d6
--- /dev/null
+++ b/nptl/libpthread-stub.S
@@ -0,0 +1 @@ 
+# Empty file to generate stub libpthread.so.0.
diff --git a/sysdeps/nptl/Makeconfig b/sysdeps/nptl/Makeconfig
index 8757ec868b..bae3e75af3 100644
--- a/sysdeps/nptl/Makeconfig
+++ b/sysdeps/nptl/Makeconfig
@@ -21,7 +21,10 @@ 
 
 have-thread-library = yes
 
-shared-thread-library = $(common-objpfx)nptl/libpthread.so
-static-thread-library = $(common-objpfx)nptl/libpthread.a
+# The thread library is integrated.
+shared-thread-library =
+static-thread-library =
 
+# There is no libpthread.so file anymore, but some tests need this to
+# load their own test objects.
 rpath-dirs += nptl
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
deleted file mode 100644
index cebf7c6064..0000000000
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ /dev/null
@@ -1,5 +0,0 @@ 
-GLIBC_2.17 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
deleted file mode 100644
index 051caff7c0..0000000000
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ /dev/null
@@ -1,17 +0,0 @@ 
-GLIBC_2.0 __libpthread_version_placeholder F
-GLIBC_2.1 __libpthread_version_placeholder F
-GLIBC_2.1.1 __libpthread_version_placeholder F
-GLIBC_2.1.2 __libpthread_version_placeholder F
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
deleted file mode 100644
index cd90b49787..0000000000
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ /dev/null
@@ -1 +0,0 @@ 
-GLIBC_2.32 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
deleted file mode 100644
index 1774f414c6..0000000000
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ /dev/null
@@ -1,7 +0,0 @@ 
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
deleted file mode 100644
index 1774f414c6..0000000000
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ /dev/null
@@ -1,7 +0,0 @@ 
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
deleted file mode 100644
index 8ce9efcbf8..0000000000
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ /dev/null
@@ -1,3 +0,0 @@ 
-GLIBC_2.29 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
deleted file mode 100644
index 35b6df4615..0000000000
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ /dev/null
@@ -1,13 +0,0 @@ 
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
deleted file mode 100644
index 051caff7c0..0000000000
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ /dev/null
@@ -1,17 +0,0 @@ 
-GLIBC_2.0 __libpthread_version_placeholder F
-GLIBC_2.1 __libpthread_version_placeholder F
-GLIBC_2.1.1 __libpthread_version_placeholder F
-GLIBC_2.1.2 __libpthread_version_placeholder F
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
deleted file mode 100644
index 35b6df4615..0000000000
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ /dev/null
@@ -1,13 +0,0 @@ 
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
deleted file mode 100644
index 1774f414c6..0000000000
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ /dev/null
@@ -1,7 +0,0 @@ 
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
deleted file mode 100644
index 051caff7c0..0000000000
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ /dev/null
@@ -1,17 +0,0 @@ 
-GLIBC_2.0 __libpthread_version_placeholder F
-GLIBC_2.1 __libpthread_version_placeholder F
-GLIBC_2.1.1 __libpthread_version_placeholder F
-GLIBC_2.1.2 __libpthread_version_placeholder F
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
deleted file mode 100644
index 419561d3ce..0000000000
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ /dev/null
@@ -1,4 +0,0 @@ 
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
deleted file mode 100644
index 419561d3ce..0000000000
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ /dev/null
@@ -1,4 +0,0 @@ 
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
deleted file mode 100644
index eac5591410..0000000000
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ /dev/null
@@ -1,14 +0,0 @@ 
-GLIBC_2.0 __libpthread_version_placeholder F
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
deleted file mode 100644
index eac5591410..0000000000
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ /dev/null
@@ -1,14 +0,0 @@ 
-GLIBC_2.0 __libpthread_version_placeholder F
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
deleted file mode 100644
index 714dfd90aa..0000000000
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ /dev/null
@@ -1,4 +0,0 @@ 
-GLIBC_2.21 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
deleted file mode 100644
index 5623c6a313..0000000000
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ /dev/null
@@ -1,18 +0,0 @@ 
-GLIBC_2.0 __libpthread_version_placeholder F
-GLIBC_2.1 __libpthread_version_placeholder F
-GLIBC_2.1.1 __libpthread_version_placeholder F
-GLIBC_2.1.2 __libpthread_version_placeholder F
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
-GLIBC_2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
deleted file mode 100644
index 3246752fdd..0000000000
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ /dev/null
@@ -1,12 +0,0 @@ 
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
-GLIBC_2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
deleted file mode 100644
index cebf7c6064..0000000000
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ /dev/null
@@ -1,5 +0,0 @@ 
-GLIBC_2.17 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
deleted file mode 100644
index d8835698d8..0000000000
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ /dev/null
@@ -1 +0,0 @@ 
-GLIBC_2.33 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
deleted file mode 100644
index fb241212a5..0000000000
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ /dev/null
@@ -1,4 +0,0 @@ 
-GLIBC_2.27 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
deleted file mode 100644
index 40ce2f1fbd..0000000000
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ /dev/null
@@ -1,18 +0,0 @@ 
-GLIBC_2.0 __libpthread_version_placeholder F
-GLIBC_2.1 __libpthread_version_placeholder F
-GLIBC_2.1.1 __libpthread_version_placeholder F
-GLIBC_2.1.2 __libpthread_version_placeholder F
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.19 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
deleted file mode 100644
index 08ef7c4283..0000000000
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ /dev/null
@@ -1,14 +0,0 @@ 
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.19 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
deleted file mode 100644
index 35b6df4615..0000000000
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ /dev/null
@@ -1,13 +0,0 @@ 
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
deleted file mode 100644
index 35b6df4615..0000000000
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ /dev/null
@@ -1,13 +0,0 @@ 
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
deleted file mode 100644
index 051caff7c0..0000000000
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ /dev/null
@@ -1,17 +0,0 @@ 
-GLIBC_2.0 __libpthread_version_placeholder F
-GLIBC_2.1 __libpthread_version_placeholder F
-GLIBC_2.1.1 __libpthread_version_placeholder F
-GLIBC_2.1.2 __libpthread_version_placeholder F
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
deleted file mode 100644
index 35b6df4615..0000000000
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ /dev/null
@@ -1,13 +0,0 @@ 
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.2 __libpthread_version_placeholder F
-GLIBC_2.2.3 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
deleted file mode 100644
index c94ae208cb..0000000000
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ /dev/null
@@ -1,12 +0,0 @@ 
-GLIBC_2.11 __libpthread_version_placeholder F
-GLIBC_2.12 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.2.5 __libpthread_version_placeholder F
-GLIBC_2.2.6 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.3.2 __libpthread_version_placeholder F
-GLIBC_2.3.3 __libpthread_version_placeholder F
-GLIBC_2.3.4 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F
-GLIBC_2.4 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
deleted file mode 100644
index 38308e4ca7..0000000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ /dev/null
@@ -1,5 +0,0 @@ 
-GLIBC_2.16 __libpthread_version_placeholder F
-GLIBC_2.18 __libpthread_version_placeholder F
-GLIBC_2.28 __libpthread_version_placeholder F
-GLIBC_2.30 __libpthread_version_placeholder F
-GLIBC_2.31 __libpthread_version_placeholder F