public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols
@ 2021-03-19 20:29 Adhemerval Zanella
  2021-03-19 20:29 ` [PATCH v2 01/14] Add OTHER_SHLIB_COMPAT Adhemerval Zanella
                   ` (14 more replies)
  0 siblings, 15 replies; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

This patchse moves all missing the pthread-compat-wrappers symbols 
from libpthread plus some others that are already presented on libc
(the pthread_kill was done to enable the raise removal).

I based this version on top of Florian's 'Transparent multi-version
symbol support' [1] so it can use compat_symbol without the 
strong_alias requirement.

It has been tested on i686-linux-gnu and x86_64-linux-gnu, and
built by build-many-glibcs.py for all ABIs that required abilist
changes.

Changes from v1 [2]:
* Make libc version the default one for lseek, open, pread, and pwrite.
* Make aarch64 and nios2 libpthread __send compat symbol.
* Removed alpha specific implementation for pread and pwrite.
* Renamed the commit message for msgrcv, msgsnd, and sigsupend.
* Fixed the split pthread_kill abi addition.
* Fixed the localplt.data for raise on arm.

[1] https://patchwork.sourceware.org/project/glibc/list/?series=1881
[2] https://patchwork.sourceware.org/project/glibc/list/?series=1862

Adhemerval Zanella (14):
  Add OTHER_SHLIB_COMPAT
  nptl: Remove send from libpthread
  nptl: Remove lseek from libpthread
  nptl: Remove open from libpthread
  nptl: Remove pread from libpthread
  nptl: Remove pwrite from libpthread
  nptl: Remove msgsnd from pthread-compat-wrappers
  nptl: Remove msgrcv from pthread-compat-wrappers
  nptl: Remove sigsuspend from pthread-compat-wrappers
  nptl: Move pthread_kill to libc
  nptl: Remove pthread raise implementation
  nptl: Move sigaction to libc
  nptl: Remove __libc_allocate_rtsig, __libc_current_sigrtmax, and
    __libc_current_sigrtmin
  nptl: Remove unused rules

 include/shlib-compat.h                        |  9 ++++
 include/unistd.h                              |  7 ++-
 nptl/Makefile                                 | 32 +-----------
 nptl/Versions                                 | 29 ++---------
 nptl/pt-allocrtsig.c                          | 50 -------------------
 nptl/pt-raise.c                               | 29 -----------
 nptl/pthread_kill.c                           |  7 ++-
 nptl/sigaction.c                              | 33 ------------
 signal/Versions                               |  3 ++
 signal/allocrtsig.c                           |  9 +---
 socket/Makefile                               |  1 +
 sysdeps/generic/internal-signals.h            |  4 ++
 sysdeps/mach/hurd/i386/ld.abilist             |  2 -
 sysdeps/nptl/allocrtsig.c                     | 31 ------------
 sysdeps/pthread/sem_open.c                    |  6 +--
 sysdeps/unix/sysv/linux/aarch64/libc.abilist  |  3 ++
 .../sysv/linux/aarch64/libpthread.abilist     | 22 --------
 sysdeps/unix/sysv/linux/aarch64/send.c        |  9 ++++
 sysdeps/unix/sysv/linux/aarch64/sysdep.h      |  4 --
 sysdeps/unix/sysv/linux/alpha/libc.abilist    | 10 ++++
 .../unix/sysv/linux/alpha/libpthread.abilist  | 22 --------
 sysdeps/unix/sysv/linux/arc/libc.abilist      |  2 +
 .../unix/sysv/linux/arc/libpthread.abilist    | 22 --------
 sysdeps/unix/sysv/linux/arm/be/libc.abilist   |  2 +
 .../unix/sysv/linux/arm/be/libpthread.abilist | 22 --------
 sysdeps/unix/sysv/linux/arm/le/libc.abilist   |  2 +
 .../unix/sysv/linux/arm/le/libpthread.abilist | 22 --------
 sysdeps/unix/sysv/linux/arm/localplt.data     |  1 -
 sysdeps/unix/sysv/linux/csky/libc.abilist     |  2 +
 .../unix/sysv/linux/csky/libpthread.abilist   | 22 --------
 sysdeps/unix/sysv/linux/hppa/libc.abilist     |  2 +
 .../unix/sysv/linux/hppa/libpthread.abilist   | 22 --------
 sysdeps/unix/sysv/linux/i386/libc.abilist     | 10 ++++
 .../unix/sysv/linux/i386/libpthread.abilist   | 22 --------
 sysdeps/unix/sysv/linux/ia64/libc.abilist     |  2 +
 .../unix/sysv/linux/ia64/libpthread.abilist   | 22 --------
 sysdeps/unix/sysv/linux/internal-signals.h    |  5 ++
 sysdeps/unix/sysv/linux/lseek64.c             |  7 ++-
 .../sysv/linux/m68k/coldfire/libc.abilist     |  2 +
 .../linux/m68k/coldfire/libpthread.abilist    | 22 --------
 .../unix/sysv/linux/m68k/m680x0/libc.abilist  | 10 ++++
 .../sysv/linux/m68k/m680x0/libpthread.abilist | 22 --------
 .../sysv/linux/microblaze/be/libc.abilist     |  2 +
 .../linux/microblaze/be/libpthread.abilist    | 22 --------
 .../sysv/linux/microblaze/le/libc.abilist     |  2 +
 .../linux/microblaze/le/libpthread.abilist    | 22 --------
 .../sysv/linux/mips/mips32/fpu/libc.abilist   |  2 +
 .../sysv/linux/mips/mips32/libpthread.abilist | 22 --------
 .../sysv/linux/mips/mips32/nofpu/libc.abilist |  2 +
 .../sysv/linux/mips/mips64/libpthread.abilist | 22 --------
 .../sysv/linux/mips/mips64/n32/libc.abilist   |  2 +
 .../sysv/linux/mips/mips64/n64/libc.abilist   |  2 +
 sysdeps/unix/sysv/linux/nios2/libc.abilist    |  3 ++
 .../unix/sysv/linux/nios2/libpthread.abilist  | 22 --------
 sysdeps/unix/sysv/linux/nios2/send.c          |  9 ++++
 sysdeps/unix/sysv/linux/nios2/sysdep.h        |  4 --
 sysdeps/unix/sysv/linux/open64.c              |  6 ++-
 .../linux/powerpc/powerpc32/fpu/libc.abilist  | 10 ++++
 .../powerpc/powerpc32/libpthread.abilist      | 22 --------
 .../powerpc/powerpc32/nofpu/libc.abilist      | 10 ++++
 .../linux/powerpc/powerpc64/be/libc.abilist   |  2 +
 .../powerpc/powerpc64/be/libpthread.abilist   | 22 --------
 .../linux/powerpc/powerpc64/le/libc.abilist   |  2 +
 .../powerpc/powerpc64/le/libpthread.abilist   | 22 --------
 sysdeps/unix/sysv/linux/pread.c               |  6 +++
 sysdeps/unix/sysv/linux/pread64.c             | 10 ++++
 sysdeps/unix/sysv/linux/pt-raise.c            | 20 --------
 sysdeps/unix/sysv/linux/pwrite.c              |  6 +++
 sysdeps/unix/sysv/linux/pwrite64.c            | 10 ++++
 .../unix/sysv/linux/riscv/rv32/libc.abilist   |  2 +
 .../sysv/linux/riscv/rv32/libpthread.abilist  | 22 --------
 .../unix/sysv/linux/riscv/rv64/libc.abilist   |  2 +
 .../sysv/linux/riscv/rv64/libpthread.abilist  | 22 --------
 .../unix/sysv/linux/s390/s390-32/libc.abilist | 10 ++++
 .../linux/s390/s390-32/libpthread.abilist     | 22 --------
 .../unix/sysv/linux/s390/s390-64/libc.abilist |  2 +
 .../linux/s390/s390-64/libpthread.abilist     | 22 --------
 sysdeps/unix/sysv/linux/send.c                |  2 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist    |  2 +
 .../unix/sysv/linux/sh/be/libpthread.abilist  | 22 --------
 sysdeps/unix/sysv/linux/sh/le/libc.abilist    |  2 +
 .../unix/sysv/linux/sh/le/libpthread.abilist  | 22 --------
 .../sysv/linux/sparc/sparc32/libc.abilist     | 10 ++++
 .../linux/sparc/sparc32/libpthread.abilist    | 22 --------
 .../sysv/linux/sparc/sparc64/libc.abilist     |  2 +
 .../linux/sparc/sparc64/libpthread.abilist    | 22 --------
 sysdeps/unix/sysv/linux/sysdep.h              |  4 --
 .../unix/sysv/linux/x86_64/64/libc.abilist    |  2 +
 .../sysv/linux/x86_64/64/libpthread.abilist   | 22 --------
 .../unix/sysv/linux/x86_64/x32/libc.abilist   |  2 +
 .../sysv/linux/x86_64/x32/libpthread.abilist  | 22 --------
 91 files changed, 222 insertions(+), 893 deletions(-)
 delete mode 100644 nptl/pt-allocrtsig.c
 delete mode 100644 nptl/pt-raise.c
 delete mode 100644 nptl/sigaction.c
 delete mode 100644 sysdeps/nptl/allocrtsig.c
 create mode 100644 sysdeps/unix/sysv/linux/aarch64/send.c
 create mode 100644 sysdeps/unix/sysv/linux/nios2/send.c
 delete mode 100644 sysdeps/unix/sysv/linux/pt-raise.c

-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 01/14] Add OTHER_SHLIB_COMPAT
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-19 20:36   ` Florian Weimer
  2021-03-19 20:29 ` [PATCH v2 02/14] nptl: Remove send from libpthread Adhemerval Zanella
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

It is similar to SHLIB_COMPAT, but allows to check versions from
other libraries.  It is used to move compat symbol from other libraries
to libc.
---
 include/shlib-compat.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/include/shlib-compat.h b/include/shlib-compat.h
index f4978c05af..750d72b732 100644
--- a/include/shlib-compat.h
+++ b/include/shlib-compat.h
@@ -53,6 +53,14 @@
 # define SHLIB_COMPAT(lib, introduced, obsoleted)			      \
   _LIB_COMPAT (lib, introduced, obsoleted)
 
+/* Like SHLIB_COMPAT, but can check versions in other libraries.  It is
+   not always false outside for !IS_IN (LIB).  */
+#define OTHER_SHLIB_COMPAT(lib, introduced, obsoleted)	\
+  _OTHER_SHLIB_COMPAT (lib, introduced, obsoleted)
+#define _OTHER_SHLIB_COMPAT(lib, introduced, obsoleted)			\
+  (!(ABI_##lib##_##obsoleted - 0)					\
+   || ((ABI_##lib##_##introduced - 0) < (ABI_##lib##_##obsoleted - 0)))
+
 /* That header also defines symbols like `VERSION_libm_GLIBC_2_1' to
    the version set name to use for e.g. symbols first introduced into
    libm in the GLIBC_2.1 version.  Definitions of symbols with explicit
@@ -88,6 +96,7 @@
 
 /* Not compiling ELF shared libraries at all, so never any old versions.  */
 # define SHLIB_COMPAT(lib, introduced, obsoleted)	0
+# define OTHER_SHLIB_COMPAT(lib, introduced, obsoleted)	0
 
 /* No versions to worry about, just make this the global definition.  */
 # define versioned_symbol(lib, local, symbol, version) \
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 02/14] nptl: Remove send from libpthread
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
  2021-03-19 20:29 ` [PATCH v2 01/14] Add OTHER_SHLIB_COMPAT Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-25 13:36   ` Florian Weimer
  2021-03-19 20:29 ` [PATCH v2 03/14] nptl: Remove lseek " Adhemerval Zanella
                   ` (12 subsequent siblings)
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

The libc version is identical and built with same flags.  Both aarch64
and nios2 also requires to export __send and tt was done previously with
the HAVE_INTERNAL_SEND_SYMBOL (which forced the symbol creation).

All __send callers are internal to libc and the original issue that
required the symbol export was due a missing libc_hidden_def.  So
a compat symbol is added for __send and the libc_hidden_def is
defined regardless.

Checked on x86_64-linux-gnu and i686-linux-gnu.
---
 nptl/Makefile                                            | 2 --
 nptl/Versions                                            | 2 --
 socket/Makefile                                          | 1 +
 sysdeps/unix/sysv/linux/aarch64/libc.abilist             | 1 +
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist       | 2 --
 sysdeps/unix/sysv/linux/aarch64/send.c                   | 9 +++++++++
 sysdeps/unix/sysv/linux/aarch64/sysdep.h                 | 4 ----
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist         | 2 --
 sysdeps/unix/sysv/linux/arc/libpthread.abilist           | 2 --
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist        | 2 --
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist        | 2 --
 sysdeps/unix/sysv/linux/csky/libpthread.abilist          | 2 --
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist          | 2 --
 sysdeps/unix/sysv/linux/i386/libpthread.abilist          | 2 --
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist          | 2 --
 sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist | 2 --
 sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist   | 2 --
 sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist | 2 --
 sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist | 2 --
 sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist   | 2 --
 sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist   | 2 --
 sysdeps/unix/sysv/linux/nios2/libc.abilist               | 1 +
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist         | 2 --
 sysdeps/unix/sysv/linux/nios2/send.c                     | 9 +++++++++
 sysdeps/unix/sysv/linux/nios2/sysdep.h                   | 4 ----
 .../unix/sysv/linux/powerpc/powerpc32/libpthread.abilist | 2 --
 .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist   | 2 --
 .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist   | 2 --
 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist    | 2 --
 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist    | 2 --
 sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist  | 2 --
 sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist  | 2 --
 sysdeps/unix/sysv/linux/send.c                           | 2 --
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist         | 2 --
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist         | 2 --
 sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist | 2 --
 sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist | 2 --
 sysdeps/unix/sysv/linux/sysdep.h                         | 4 ----
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist     | 2 --
 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist    | 2 --
 40 files changed, 21 insertions(+), 76 deletions(-)
 create mode 100644 sysdeps/unix/sysv/linux/aarch64/send.c
 create mode 100644 sysdeps/unix/sysv/linux/nios2/send.c

diff --git a/nptl/Makefile b/nptl/Makefile
index b1948cc47a..3cf48c3042 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -81,7 +81,6 @@ static-only-routines = pthread_atfork
 # We need to provide certain routines for compatibility with existing
 # binaries.
 pthread-compat-wrappers = \
-		      send \
 		      lseek lseek64 \
 		      open open64 \
 		      pread pread64 pwrite pwrite64 \
@@ -292,7 +291,6 @@ CFLAGS-msgrcv.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-msgsnd.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-open.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-open64.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-send.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sigsuspend.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-fdatasync.c += -fexceptions -fasynchronous-unwind-tables
 
diff --git a/nptl/Versions b/nptl/Versions
index be7a8e68cc..6e80568e57 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -120,7 +120,6 @@ libpthread {
     __pthread_mutexattr_settype;
     __pthread_once;
     __pthread_setspecific;
-    __send;
     __sigaction;
     _exit;
     _pthread_cleanup_pop;
@@ -170,7 +169,6 @@ libpthread {
     sem_post;
     sem_trywait;
     sem_wait;
-    send;
     sigaction;
     siglongjmp;
   }
diff --git a/socket/Makefile b/socket/Makefile
index 75582b1513..855510ad48 100644
--- a/socket/Makefile
+++ b/socket/Makefile
@@ -42,3 +42,4 @@ CFLAGS-recvfrom.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sendto.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-recvmsg.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sendmsg.c += -fexceptions -fasynchronous-unwind-tables
+CFLAGS-send.c += -fexceptions -fasynchronous-unwind-tables
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index bac795262d..29f41b7ed5 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -371,6 +371,7 @@ GLIBC_2.17 __sched_getscheduler F
 GLIBC_2.17 __sched_setscheduler F
 GLIBC_2.17 __sched_yield F
 GLIBC_2.17 __select F
+GLIBC_2.17 __send F
 GLIBC_2.17 __setmntent F
 GLIBC_2.17 __setpgid F
 GLIBC_2.17 __sigaction F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index bbd24afae2..beeb6c64c7 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 __pthread_unwind_next F
 GLIBC_2.17 __pwrite64 F
 GLIBC_2.17 __res_state F
-GLIBC_2.17 __send F
 GLIBC_2.17 __sigaction F
 GLIBC_2.17 _pthread_cleanup_pop F
 GLIBC_2.17 _pthread_cleanup_pop_restore F
@@ -162,7 +161,6 @@ GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 sem_trywait F
 GLIBC_2.17 sem_unlink F
 GLIBC_2.17 sem_wait F
-GLIBC_2.17 send F
 GLIBC_2.17 sigaction F
 GLIBC_2.17 siglongjmp F
 GLIBC_2.18 pthread_getattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/aarch64/send.c b/sysdeps/unix/sysv/linux/aarch64/send.c
new file mode 100644
index 0000000000..db4d36b2b1
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/aarch64/send.c
@@ -0,0 +1,9 @@
+#include <shlib-compat.h>
+
+#include <sysdeps/unix/sysv/linux/send.c>
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_17, GLIBC_2_34)
+/* libpthread compat symbol: AArch64 used the generic version without the
+   libc_hidden_def which lead in a non existent __send symbol in libc.so.  */
+compat_symbol (libc, __libc_send, __send, GLIBC_2_17);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/sysdep.h b/sysdeps/unix/sysv/linux/aarch64/sysdep.h
index 3059b8a147..b01911247f 100644
--- a/sysdeps/unix/sysv/linux/aarch64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/aarch64/sysdep.h
@@ -164,10 +164,6 @@
 # define HAVE_CLOCK_GETTIME64_VSYSCALL	"__kernel_clock_gettime"
 # define HAVE_GETTIMEOFDAY_VSYSCALL	"__kernel_gettimeofday"
 
-/* Previously AArch64 used the generic version without the libc_hidden_def
-   which lead in a non existent __send symbol in libc.so.  */
-# undef HAVE_INTERNAL_SEND_SYMBOL
-
 # define SINGLE_THREAD_BY_GLOBAL		1
 
 # undef INTERNAL_SYSCALL_RAW
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index ec2128b5ab..c8f1793ddf 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __send F
 GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
@@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 send F
 GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.1 __libc_allocate_rtsig F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 06e013f4a3..1d40b1c972 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.32 __pthread_unregister_cancel_restore F
 GLIBC_2.32 __pthread_unwind_next F
 GLIBC_2.32 __pwrite64 F
 GLIBC_2.32 __res_state F
-GLIBC_2.32 __send F
 GLIBC_2.32 __sigaction F
 GLIBC_2.32 _pthread_cleanup_pop F
 GLIBC_2.32 _pthread_cleanup_pop_restore F
@@ -182,7 +181,6 @@ GLIBC_2.32 sem_timedwait F
 GLIBC_2.32 sem_trywait F
 GLIBC_2.32 sem_unlink F
 GLIBC_2.32 sem_wait F
-GLIBC_2.32 send F
 GLIBC_2.32 sigaction F
 GLIBC_2.32 thrd_create F
 GLIBC_2.32 thrd_detach F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 6abba5736d..31fa48cb8a 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __pthread_unwind_next F
 GLIBC_2.4 __pwrite64 F
 GLIBC_2.4 __res_state F
-GLIBC_2.4 __send F
 GLIBC_2.4 __sigaction F
 GLIBC_2.4 _pthread_cleanup_pop F
 GLIBC_2.4 _pthread_cleanup_pop_restore F
@@ -191,6 +190,5 @@ GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
 GLIBC_2.4 sem_wait F
-GLIBC_2.4 send F
 GLIBC_2.4 sigaction F
 GLIBC_2.4 siglongjmp F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 6abba5736d..31fa48cb8a 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __pthread_unwind_next F
 GLIBC_2.4 __pwrite64 F
 GLIBC_2.4 __res_state F
-GLIBC_2.4 __send F
 GLIBC_2.4 __sigaction F
 GLIBC_2.4 _pthread_cleanup_pop F
 GLIBC_2.4 _pthread_cleanup_pop_restore F
@@ -191,6 +190,5 @@ GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
 GLIBC_2.4 sem_wait F
-GLIBC_2.4 send F
 GLIBC_2.4 sigaction F
 GLIBC_2.4 siglongjmp F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 9e1fbdb969..858fbaaf80 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.29 __pthread_unregister_cancel_restore F
 GLIBC_2.29 __pthread_unwind_next F
 GLIBC_2.29 __pwrite64 F
 GLIBC_2.29 __res_state F
-GLIBC_2.29 __send F
 GLIBC_2.29 __sigaction F
 GLIBC_2.29 _pthread_cleanup_pop F
 GLIBC_2.29 _pthread_cleanup_pop_restore F
@@ -176,7 +175,6 @@ GLIBC_2.29 sem_timedwait F
 GLIBC_2.29 sem_trywait F
 GLIBC_2.29 sem_unlink F
 GLIBC_2.29 sem_wait F
-GLIBC_2.29 send F
 GLIBC_2.29 sigaction F
 GLIBC_2.29 thrd_create F
 GLIBC_2.29 thrd_detach F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 8c729752d0..199f1244d0 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 __send F
 GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
 GLIBC_2.2 _pthread_cleanup_pop_restore F
@@ -142,7 +141,6 @@ GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2 send F
 GLIBC_2.2 sigaction F
 GLIBC_2.2 siglongjmp F
 GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index aa748acf8f..40685d5f51 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __send F
 GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
@@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 send F
 GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.1 __libc_allocate_rtsig F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 479dfb394d..2787631dca 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 __send F
 GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
 GLIBC_2.2 _pthread_cleanup_pop_restore F
@@ -142,7 +141,6 @@ GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2 send F
 GLIBC_2.2 sigaction F
 GLIBC_2.2 siglongjmp F
 GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 6abba5736d..31fa48cb8a 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -72,7 +72,6 @@ GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __pthread_unwind_next F
 GLIBC_2.4 __pwrite64 F
 GLIBC_2.4 __res_state F
-GLIBC_2.4 __send F
 GLIBC_2.4 __sigaction F
 GLIBC_2.4 _pthread_cleanup_pop F
 GLIBC_2.4 _pthread_cleanup_pop_restore F
@@ -191,6 +190,5 @@ GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
 GLIBC_2.4 sem_wait F
-GLIBC_2.4 send F
 GLIBC_2.4 sigaction F
 GLIBC_2.4 siglongjmp F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index aa748acf8f..40685d5f51 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __send F
 GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
@@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 send F
 GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.1 __libc_allocate_rtsig F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index a1f250b9f5..83ad202e73 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 __pthread_unwind_next F
 GLIBC_2.18 __pwrite64 F
 GLIBC_2.18 __res_state F
-GLIBC_2.18 __send F
 GLIBC_2.18 __sigaction F
 GLIBC_2.18 _pthread_cleanup_pop F
 GLIBC_2.18 _pthread_cleanup_pop_restore F
@@ -164,7 +163,6 @@ GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
 GLIBC_2.18 sem_wait F
-GLIBC_2.18 send F
 GLIBC_2.18 sigaction F
 GLIBC_2.18 siglongjmp F
 GLIBC_2.28 call_once F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index a1f250b9f5..83ad202e73 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 __pthread_unwind_next F
 GLIBC_2.18 __pwrite64 F
 GLIBC_2.18 __res_state F
-GLIBC_2.18 __send F
 GLIBC_2.18 __sigaction F
 GLIBC_2.18 _pthread_cleanup_pop F
 GLIBC_2.18 _pthread_cleanup_pop_restore F
@@ -164,7 +163,6 @@ GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
 GLIBC_2.18 sem_wait F
-GLIBC_2.18 send F
 GLIBC_2.18 sigaction F
 GLIBC_2.18 siglongjmp F
 GLIBC_2.28 call_once F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 9c35d0da80..88b6d3155c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __send F
 GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
@@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 send F
 GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 9c35d0da80..88b6d3155c 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __send F
 GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
@@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 send F
 GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.11 pthread_sigqueue F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 17f5609e06..3acb12c22f 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -409,6 +409,7 @@ GLIBC_2.21 __sched_getscheduler F
 GLIBC_2.21 __sched_setscheduler F
 GLIBC_2.21 __sched_yield F
 GLIBC_2.21 __select F
+GLIBC_2.21 __send F
 GLIBC_2.21 __setmntent F
 GLIBC_2.21 __setpgid F
 GLIBC_2.21 __sigaction F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index afdbd3d286..3307186a3b 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.21 __pthread_unregister_cancel_restore F
 GLIBC_2.21 __pthread_unwind_next F
 GLIBC_2.21 __pwrite64 F
 GLIBC_2.21 __res_state F
-GLIBC_2.21 __send F
 GLIBC_2.21 __sigaction F
 GLIBC_2.21 _pthread_cleanup_pop F
 GLIBC_2.21 _pthread_cleanup_pop_restore F
@@ -164,7 +163,6 @@ GLIBC_2.21 sem_timedwait F
 GLIBC_2.21 sem_trywait F
 GLIBC_2.21 sem_unlink F
 GLIBC_2.21 sem_wait F
-GLIBC_2.21 send F
 GLIBC_2.21 sigaction F
 GLIBC_2.21 siglongjmp F
 GLIBC_2.28 call_once F
diff --git a/sysdeps/unix/sysv/linux/nios2/send.c b/sysdeps/unix/sysv/linux/nios2/send.c
new file mode 100644
index 0000000000..c1621c8348
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/nios2/send.c
@@ -0,0 +1,9 @@
+#include <shlib-compat.h>
+
+#include <sysdeps/unix/sysv/linux/send.c>
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_21, GLIBC_2_34)
+/* libpthread compat symbol: Nios2 used the generic version without the
+   libc_hidden_def which lead in a non existent __send symbol in libc.so.  */
+compat_symbol (libc, __libc_send, __send, GLIBC_2_21);
+#endif
diff --git a/sysdeps/unix/sysv/linux/nios2/sysdep.h b/sysdeps/unix/sysv/linux/nios2/sysdep.h
index e37e66fe2e..bd802c40ff 100644
--- a/sysdeps/unix/sysv/linux/nios2/sysdep.h
+++ b/sysdeps/unix/sysv/linux/nios2/sysdep.h
@@ -140,10 +140,6 @@
 /* In order to get __set_errno() definition in INLINE_SYSCALL.  */
 #include <errno.h>
 
-/* Previously Nios2 used the generic version without the libc_hidden_def
-   which lead in a non existent __send symbol in libc.so.  */
-# undef HAVE_INTERNAL_SEND_SYMBOL
-
 #undef INTERNAL_SYSCALL_RAW
 #define INTERNAL_SYSCALL_RAW(name, nr, args...)                 \
   ({ unsigned int _sys_result;                                  \
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 9c173663ab..72d5782419 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __send F
 GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
@@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 send F
 GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.1 __libc_allocate_rtsig F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 3d14cbccfe..31e636b59b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -60,7 +60,6 @@ GLIBC_2.3 __pthread_rwlock_wrlock F
 GLIBC_2.3 __pthread_setspecific F
 GLIBC_2.3 __pwrite64 F
 GLIBC_2.3 __res_state F
-GLIBC_2.3 __send F
 GLIBC_2.3 __sigaction F
 GLIBC_2.3 _pthread_cleanup_pop F
 GLIBC_2.3 _pthread_cleanup_pop_restore F
@@ -162,7 +161,6 @@ GLIBC_2.3 sem_timedwait F
 GLIBC_2.3 sem_trywait F
 GLIBC_2.3 sem_unlink F
 GLIBC_2.3 sem_wait F
-GLIBC_2.3 send F
 GLIBC_2.3 sigaction F
 GLIBC_2.3 siglongjmp F
 GLIBC_2.3.2 pthread_cond_broadcast F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index bbd24afae2..beeb6c64c7 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 __pthread_unwind_next F
 GLIBC_2.17 __pwrite64 F
 GLIBC_2.17 __res_state F
-GLIBC_2.17 __send F
 GLIBC_2.17 __sigaction F
 GLIBC_2.17 _pthread_cleanup_pop F
 GLIBC_2.17 _pthread_cleanup_pop_restore F
@@ -162,7 +161,6 @@ GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 sem_trywait F
 GLIBC_2.17 sem_unlink F
 GLIBC_2.17 sem_wait F
-GLIBC_2.17 send F
 GLIBC_2.17 sigaction F
 GLIBC_2.17 siglongjmp F
 GLIBC_2.18 pthread_getattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 48c03fc081..b28f1fb468 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.33 __pthread_unregister_cancel_restore F
 GLIBC_2.33 __pthread_unwind_next F
 GLIBC_2.33 __pwrite64 F
 GLIBC_2.33 __res_state F
-GLIBC_2.33 __send F
 GLIBC_2.33 __sigaction F
 GLIBC_2.33 _pthread_cleanup_pop F
 GLIBC_2.33 _pthread_cleanup_pop_restore F
@@ -182,7 +181,6 @@ GLIBC_2.33 sem_timedwait F
 GLIBC_2.33 sem_trywait F
 GLIBC_2.33 sem_unlink F
 GLIBC_2.33 sem_wait F
-GLIBC_2.33 send F
 GLIBC_2.33 sigaction F
 GLIBC_2.33 thrd_create F
 GLIBC_2.33 thrd_detach F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index b740081ba8..824f36adae 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.27 __pthread_unregister_cancel_restore F
 GLIBC_2.27 __pthread_unwind_next F
 GLIBC_2.27 __pwrite64 F
 GLIBC_2.27 __res_state F
-GLIBC_2.27 __send F
 GLIBC_2.27 __sigaction F
 GLIBC_2.27 _pthread_cleanup_pop F
 GLIBC_2.27 _pthread_cleanup_pop_restore F
@@ -163,7 +162,6 @@ GLIBC_2.27 sem_timedwait F
 GLIBC_2.27 sem_trywait F
 GLIBC_2.27 sem_unlink F
 GLIBC_2.27 sem_wait F
-GLIBC_2.27 send F
 GLIBC_2.27 sigaction F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index aeeeae51a3..f43c094983 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __send F
 GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
@@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 send F
 GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.1 __libc_allocate_rtsig F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 105842b87e..9958ecb259 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -41,7 +41,6 @@ GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 __send F
 GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
 GLIBC_2.2 _pthread_cleanup_pop_restore F
@@ -144,7 +143,6 @@ GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2 send F
 GLIBC_2.2 sigaction F
 GLIBC_2.2 siglongjmp F
 GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/send.c b/sysdeps/unix/sysv/linux/send.c
index 283e09e2f3..f29a7de349 100644
--- a/sysdeps/unix/sysv/linux/send.c
+++ b/sysdeps/unix/sysv/linux/send.c
@@ -32,6 +32,4 @@ __libc_send (int fd, const void *buf, size_t len, int flags)
 }
 weak_alias (__libc_send, send)
 weak_alias (__libc_send, __send)
-#ifdef HAVE_INTERNAL_SEND_SYMBOL
 libc_hidden_def (__send)
-#endif
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 8c729752d0..199f1244d0 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 __send F
 GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
 GLIBC_2.2 _pthread_cleanup_pop_restore F
@@ -142,7 +141,6 @@ GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2 send F
 GLIBC_2.2 sigaction F
 GLIBC_2.2 siglongjmp F
 GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 8c729752d0..199f1244d0 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 __send F
 GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
 GLIBC_2.2 _pthread_cleanup_pop_restore F
@@ -142,7 +141,6 @@ GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2 send F
 GLIBC_2.2 sigaction F
 GLIBC_2.2 siglongjmp F
 GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index ec2128b5ab..c8f1793ddf 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -17,7 +17,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __send F
 GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
@@ -65,7 +64,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 send F
 GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.1 __libc_allocate_rtsig F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 479dfb394d..2787631dca 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 __send F
 GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
 GLIBC_2.2 _pthread_cleanup_pop_restore F
@@ -142,7 +141,6 @@ GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2 send F
 GLIBC_2.2 sigaction F
 GLIBC_2.2 siglongjmp F
 GLIBC_2.2.3 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sysdep.h b/sysdeps/unix/sysv/linux/sysdep.h
index bff83e5bcd..3ef72dc805 100644
--- a/sysdeps/unix/sysv/linux/sysdep.h
+++ b/sysdeps/unix/sysv/linux/sysdep.h
@@ -95,10 +95,6 @@
  (long) (val), \
  (long) (((uint64_t) (val)) >> 32)
 
-/* Exports the __send symbol on send.c linux implementation (some ABI have
-   it missing due the usage of a old generic version without it).  */
-#define HAVE_INTERNAL_SEND_SYMBOL	1
-
 /* Export the ___brk_addr symbol on brk.c implementation (some ABIs export
    it due and old crtstuff.c code).  */
 #define HAVE_INTERNAL_BRK_ADDR_SYMBOL   0
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 0211160097..b8d5fa3517 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -39,7 +39,6 @@ GLIBC_2.2.5 __pthread_rwlock_wrlock F
 GLIBC_2.2.5 __pthread_setspecific F
 GLIBC_2.2.5 __pwrite64 F
 GLIBC_2.2.5 __res_state F
-GLIBC_2.2.5 __send F
 GLIBC_2.2.5 __sigaction F
 GLIBC_2.2.5 _pthread_cleanup_pop F
 GLIBC_2.2.5 _pthread_cleanup_pop_restore F
@@ -142,7 +141,6 @@ GLIBC_2.2.5 sem_timedwait F
 GLIBC_2.2.5 sem_trywait F
 GLIBC_2.2.5 sem_unlink F
 GLIBC_2.2.5 sem_wait F
-GLIBC_2.2.5 send F
 GLIBC_2.2.5 sigaction F
 GLIBC_2.2.5 siglongjmp F
 GLIBC_2.2.6 __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
index e79b5d6e28..86b646a608 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.16 __pthread_unregister_cancel_restore F
 GLIBC_2.16 __pthread_unwind_next F
 GLIBC_2.16 __pwrite64 F
 GLIBC_2.16 __res_state F
-GLIBC_2.16 __send F
 GLIBC_2.16 __sigaction F
 GLIBC_2.16 _pthread_cleanup_pop F
 GLIBC_2.16 _pthread_cleanup_pop_restore F
@@ -162,7 +161,6 @@ GLIBC_2.16 sem_timedwait F
 GLIBC_2.16 sem_trywait F
 GLIBC_2.16 sem_unlink F
 GLIBC_2.16 sem_wait F
-GLIBC_2.16 send F
 GLIBC_2.16 sigaction F
 GLIBC_2.16 siglongjmp F
 GLIBC_2.18 pthread_getattr_default_np F
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 03/14] nptl: Remove lseek from libpthread
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
  2021-03-19 20:29 ` [PATCH v2 01/14] Add OTHER_SHLIB_COMPAT Adhemerval Zanella
  2021-03-19 20:29 ` [PATCH v2 02/14] nptl: Remove send from libpthread Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-25 13:37   ` Florian Weimer
  2021-03-19 20:29 ` [PATCH v2 04/14] nptl: Remove open " Adhemerval Zanella
                   ` (11 subsequent siblings)
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

The libc version is identical and built with same flags.  The libc
version is set as the default version.

The libpthread compat symbol requires to mask it when building the
loader object otherwise ld might complain about a missing
versioned symbol (as for alpha).

Checked on x86_64-linux-gnu.
---
 include/unistd.h                                           | 3 +--
 nptl/Makefile                                              | 1 -
 nptl/Versions                                              | 3 ---
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist         | 3 ---
 sysdeps/unix/sysv/linux/alpha/libc.abilist                 | 1 +
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist           | 3 ---
 sysdeps/unix/sysv/linux/arc/libpthread.abilist             | 3 ---
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist          | 3 ---
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist          | 3 ---
 sysdeps/unix/sysv/linux/csky/libpthread.abilist            | 3 ---
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist            | 3 ---
 sysdeps/unix/sysv/linux/i386/libc.abilist                  | 1 +
 sysdeps/unix/sysv/linux/i386/libpthread.abilist            | 3 ---
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist            | 3 ---
 sysdeps/unix/sysv/linux/lseek64.c                          | 7 +++++--
 sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist   | 3 ---
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist           | 1 +
 sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist     | 3 ---
 sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist   | 3 ---
 sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist   | 3 ---
 sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist     | 3 ---
 sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist     | 3 ---
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist           | 3 ---
 sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 1 +
 .../unix/sysv/linux/powerpc/powerpc32/libpthread.abilist   | 3 ---
 .../unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   | 1 +
 .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist     | 3 ---
 .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist     | 3 ---
 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist      | 3 ---
 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist      | 3 ---
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist          | 1 +
 sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist    | 3 ---
 sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist    | 3 ---
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist           | 3 ---
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist           | 3 ---
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist         | 1 +
 sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist   | 3 ---
 sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist   | 3 ---
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist       | 3 ---
 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist      | 3 ---
 40 files changed, 13 insertions(+), 95 deletions(-)

diff --git a/include/unistd.h b/include/unistd.h
index 54becbc9eb..cdc31c3c0c 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -33,8 +33,7 @@ extern int __euidaccess (const char *__name, int __type);
 extern int __faccessat (int __fd, const char *__file, int __type, int __flag);
 extern int __faccessat_noerrno (int __fd, const char *__file, int __type,
 			        int __flag);
-extern __off64_t __lseek64 (int __fd, __off64_t __offset, int __whence)
-     attribute_hidden;
+extern __off64_t __lseek64 (int __fd, __off64_t __offset, int __whence);
 extern __off_t __lseek (int __fd, __off_t __offset, int __whence);
 libc_hidden_proto (__lseek)
 extern __off_t __libc_lseek (int __fd, __off_t __offset, int __whence);
diff --git a/nptl/Makefile b/nptl/Makefile
index 3cf48c3042..6a38dc5022 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -81,7 +81,6 @@ static-only-routines = pthread_atfork
 # We need to provide certain routines for compatibility with existing
 # binaries.
 pthread-compat-wrappers = \
-		      lseek lseek64 \
 		      open open64 \
 		      pread pread64 pwrite pwrite64 \
 		      msgrcv msgsnd \
diff --git a/nptl/Versions b/nptl/Versions
index 6e80568e57..7118403b35 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -105,7 +105,6 @@ libpthread {
     _IO_funlockfile;
     __errno_location;
     __h_errno_location;
-    __lseek;
     __open;
     __pthread_atfork;
     __pthread_getspecific;
@@ -130,7 +129,6 @@ libpthread {
     ftrylockfile;
     funlockfile;
     longjmp;
-    lseek;
     open;
     pthread_atfork;
     pthread_cancel;
@@ -231,7 +229,6 @@ libpthread {
     __pthread_rwlock_wrlock;
     __pwrite64;
     __res_state;
-    lseek64;
     open64;
     pread64;
     pread;
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index beeb6c64c7..b7e002e258 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.17 __h_errno_location F
 GLIBC_2.17 __libc_allocate_rtsig F
 GLIBC_2.17 __libc_current_sigrtmax F
 GLIBC_2.17 __libc_current_sigrtmin F
-GLIBC_2.17 __lseek F
 GLIBC_2.17 __open F
 GLIBC_2.17 __open64 F
 GLIBC_2.17 __pread64 F
@@ -46,8 +45,6 @@ GLIBC_2.17 flockfile F
 GLIBC_2.17 ftrylockfile F
 GLIBC_2.17 funlockfile F
 GLIBC_2.17 longjmp F
-GLIBC_2.17 lseek F
-GLIBC_2.17 lseek64 F
 GLIBC_2.17 open F
 GLIBC_2.17 open64 F
 GLIBC_2.17 pread F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 897f70db22..ec7a5a47f2 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1896,6 +1896,7 @@ GLIBC_2.2 getwchar F
 GLIBC_2.2 getwchar_unlocked F
 GLIBC_2.2 iruserok_af F
 GLIBC_2.2 localeconv F
+GLIBC_2.2 lseek64 F
 GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 memrchr F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index c8f1793ddf..225123604d 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
@@ -26,7 +25,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 lseek F
 GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
@@ -122,7 +120,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 1d40b1c972..dbb502fd65 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.32 __h_errno_location F
 GLIBC_2.32 __libc_allocate_rtsig F
 GLIBC_2.32 __libc_current_sigrtmax F
 GLIBC_2.32 __libc_current_sigrtmin F
-GLIBC_2.32 __lseek F
 GLIBC_2.32 __open F
 GLIBC_2.32 __open64 F
 GLIBC_2.32 __pread64 F
@@ -52,8 +51,6 @@ GLIBC_2.32 cnd_wait F
 GLIBC_2.32 flockfile F
 GLIBC_2.32 ftrylockfile F
 GLIBC_2.32 funlockfile F
-GLIBC_2.32 lseek F
-GLIBC_2.32 lseek64 F
 GLIBC_2.32 mtx_destroy F
 GLIBC_2.32 mtx_init F
 GLIBC_2.32 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 31fa48cb8a..24a6a38920 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -41,7 +41,6 @@ GLIBC_2.4 __h_errno_location F
 GLIBC_2.4 __libc_allocate_rtsig F
 GLIBC_2.4 __libc_current_sigrtmax F
 GLIBC_2.4 __libc_current_sigrtmin F
-GLIBC_2.4 __lseek F
 GLIBC_2.4 __open F
 GLIBC_2.4 __open64 F
 GLIBC_2.4 __pread64 F
@@ -81,8 +80,6 @@ GLIBC_2.4 flockfile F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
 GLIBC_2.4 longjmp F
-GLIBC_2.4 lseek F
-GLIBC_2.4 lseek64 F
 GLIBC_2.4 open F
 GLIBC_2.4 open64 F
 GLIBC_2.4 pread F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 31fa48cb8a..24a6a38920 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -41,7 +41,6 @@ GLIBC_2.4 __h_errno_location F
 GLIBC_2.4 __libc_allocate_rtsig F
 GLIBC_2.4 __libc_current_sigrtmax F
 GLIBC_2.4 __libc_current_sigrtmin F
-GLIBC_2.4 __lseek F
 GLIBC_2.4 __open F
 GLIBC_2.4 __open64 F
 GLIBC_2.4 __pread64 F
@@ -81,8 +80,6 @@ GLIBC_2.4 flockfile F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
 GLIBC_2.4 longjmp F
-GLIBC_2.4 lseek F
-GLIBC_2.4 lseek64 F
 GLIBC_2.4 open F
 GLIBC_2.4 open64 F
 GLIBC_2.4 pread F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 858fbaaf80..be4507e5ac 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.29 __h_errno_location F
 GLIBC_2.29 __libc_allocate_rtsig F
 GLIBC_2.29 __libc_current_sigrtmax F
 GLIBC_2.29 __libc_current_sigrtmin F
-GLIBC_2.29 __lseek F
 GLIBC_2.29 __open F
 GLIBC_2.29 __open64 F
 GLIBC_2.29 __pread64 F
@@ -52,8 +51,6 @@ GLIBC_2.29 cnd_wait F
 GLIBC_2.29 flockfile F
 GLIBC_2.29 ftrylockfile F
 GLIBC_2.29 funlockfile F
-GLIBC_2.29 lseek F
-GLIBC_2.29 lseek64 F
 GLIBC_2.29 mtx_destroy F
 GLIBC_2.29 mtx_init F
 GLIBC_2.29 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 199f1244d0..d20fa17c94 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -14,7 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __lseek F
 GLIBC_2.2 __open F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
@@ -48,8 +47,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 lseek F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 943331f01e..4249ffd53c 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1905,6 +1905,7 @@ GLIBC_2.2 getwchar_unlocked F
 GLIBC_2.2 glob64 F
 GLIBC_2.2 iruserok_af F
 GLIBC_2.2 localeconv F
+GLIBC_2.2 lseek64 F
 GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 memrchr F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 40685d5f51..a3f1f91ed6 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
@@ -26,7 +25,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 lseek F
 GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
@@ -122,7 +120,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 2787631dca..c7e502460a 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -14,7 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __lseek F
 GLIBC_2.2 __open F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
@@ -48,8 +47,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 lseek F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
diff --git a/sysdeps/unix/sysv/linux/lseek64.c b/sysdeps/unix/sysv/linux/lseek64.c
index 44efb70aea..4b7c8b77e3 100644
--- a/sysdeps/unix/sysv/linux/lseek64.c
+++ b/sysdeps/unix/sysv/linux/lseek64.c
@@ -48,6 +48,9 @@ strong_alias (__lseek64, __libc_lseek64)
 weak_alias (__lseek64, lseek64)
 
 #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_28)
-strong_alias (__lseek64, __compat_llseek)
-compat_symbol (libc, __compat_llseek, llseek, GLIBC_2_0);
+compat_symbol (libc, __lseek64, llseek, GLIBC_2_0);
+#endif
+
+#if !IS_IN(rtld) && OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_2)
+compat_symbol (libc, __lseek64, lseek64, GLIBC_2_2);
 #endif
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 31fa48cb8a..24a6a38920 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -41,7 +41,6 @@ GLIBC_2.4 __h_errno_location F
 GLIBC_2.4 __libc_allocate_rtsig F
 GLIBC_2.4 __libc_current_sigrtmax F
 GLIBC_2.4 __libc_current_sigrtmin F
-GLIBC_2.4 __lseek F
 GLIBC_2.4 __open F
 GLIBC_2.4 __open64 F
 GLIBC_2.4 __pread64 F
@@ -81,8 +80,6 @@ GLIBC_2.4 flockfile F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
 GLIBC_2.4 longjmp F
-GLIBC_2.4 lseek F
-GLIBC_2.4 lseek64 F
 GLIBC_2.4 open F
 GLIBC_2.4 open64 F
 GLIBC_2.4 pread F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 7541b8289f..c1eaa57190 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1861,6 +1861,7 @@ GLIBC_2.2 getwchar_unlocked F
 GLIBC_2.2 glob64 F
 GLIBC_2.2 iruserok_af F
 GLIBC_2.2 localeconv F
+GLIBC_2.2 lseek64 F
 GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 memrchr F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 40685d5f51..a3f1f91ed6 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
@@ -26,7 +25,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 lseek F
 GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
@@ -122,7 +120,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 83ad202e73..59da2262b4 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.18 __h_errno_location F
 GLIBC_2.18 __libc_allocate_rtsig F
 GLIBC_2.18 __libc_current_sigrtmax F
 GLIBC_2.18 __libc_current_sigrtmin F
-GLIBC_2.18 __lseek F
 GLIBC_2.18 __open F
 GLIBC_2.18 __open64 F
 GLIBC_2.18 __pread64 F
@@ -46,8 +45,6 @@ GLIBC_2.18 flockfile F
 GLIBC_2.18 ftrylockfile F
 GLIBC_2.18 funlockfile F
 GLIBC_2.18 longjmp F
-GLIBC_2.18 lseek F
-GLIBC_2.18 lseek64 F
 GLIBC_2.18 open F
 GLIBC_2.18 open64 F
 GLIBC_2.18 pread F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 83ad202e73..59da2262b4 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.18 __h_errno_location F
 GLIBC_2.18 __libc_allocate_rtsig F
 GLIBC_2.18 __libc_current_sigrtmax F
 GLIBC_2.18 __libc_current_sigrtmin F
-GLIBC_2.18 __lseek F
 GLIBC_2.18 __open F
 GLIBC_2.18 __open64 F
 GLIBC_2.18 __pread64 F
@@ -46,8 +45,6 @@ GLIBC_2.18 flockfile F
 GLIBC_2.18 ftrylockfile F
 GLIBC_2.18 funlockfile F
 GLIBC_2.18 longjmp F
-GLIBC_2.18 lseek F
-GLIBC_2.18 lseek64 F
 GLIBC_2.18 open F
 GLIBC_2.18 open64 F
 GLIBC_2.18 pread F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 88b6d3155c..7afda39c49 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
@@ -26,7 +25,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 lseek F
 GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
@@ -88,7 +86,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 88b6d3155c..7afda39c49 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
@@ -26,7 +25,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 lseek F
 GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
@@ -88,7 +86,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 3307186a3b..7e8d091a9d 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.21 __h_errno_location F
 GLIBC_2.21 __libc_allocate_rtsig F
 GLIBC_2.21 __libc_current_sigrtmax F
 GLIBC_2.21 __libc_current_sigrtmin F
-GLIBC_2.21 __lseek F
 GLIBC_2.21 __open F
 GLIBC_2.21 __open64 F
 GLIBC_2.21 __pread64 F
@@ -46,8 +45,6 @@ GLIBC_2.21 flockfile F
 GLIBC_2.21 ftrylockfile F
 GLIBC_2.21 funlockfile F
 GLIBC_2.21 longjmp F
-GLIBC_2.21 lseek F
-GLIBC_2.21 lseek64 F
 GLIBC_2.21 open F
 GLIBC_2.21 open64 F
 GLIBC_2.21 pread F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 76a16e2a6d..e6fd54355e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1866,6 +1866,7 @@ GLIBC_2.2 getwchar_unlocked F
 GLIBC_2.2 glob64 F
 GLIBC_2.2 iruserok_af F
 GLIBC_2.2 localeconv F
+GLIBC_2.2 lseek64 F
 GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 memrchr F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 72d5782419..1322e933fe 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
@@ -26,7 +25,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 lseek F
 GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
@@ -122,7 +120,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 697f072fd4..fbacd7a032 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1870,6 +1870,7 @@ GLIBC_2.2 getwchar_unlocked F
 GLIBC_2.2 glob64 F
 GLIBC_2.2 iruserok_af F
 GLIBC_2.2 localeconv F
+GLIBC_2.2 lseek64 F
 GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 memrchr F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 31e636b59b..4074b94854 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -35,7 +35,6 @@ GLIBC_2.3 __h_errno_location F
 GLIBC_2.3 __libc_allocate_rtsig F
 GLIBC_2.3 __libc_current_sigrtmax F
 GLIBC_2.3 __libc_current_sigrtmin F
-GLIBC_2.3 __lseek F
 GLIBC_2.3 __open F
 GLIBC_2.3 __open64 F
 GLIBC_2.3 __pread64 F
@@ -69,8 +68,6 @@ GLIBC_2.3 flockfile F
 GLIBC_2.3 ftrylockfile F
 GLIBC_2.3 funlockfile F
 GLIBC_2.3 longjmp F
-GLIBC_2.3 lseek F
-GLIBC_2.3 lseek64 F
 GLIBC_2.3 open F
 GLIBC_2.3 open64 F
 GLIBC_2.3 pread F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index beeb6c64c7..b7e002e258 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.17 __h_errno_location F
 GLIBC_2.17 __libc_allocate_rtsig F
 GLIBC_2.17 __libc_current_sigrtmax F
 GLIBC_2.17 __libc_current_sigrtmin F
-GLIBC_2.17 __lseek F
 GLIBC_2.17 __open F
 GLIBC_2.17 __open64 F
 GLIBC_2.17 __pread64 F
@@ -46,8 +45,6 @@ GLIBC_2.17 flockfile F
 GLIBC_2.17 ftrylockfile F
 GLIBC_2.17 funlockfile F
 GLIBC_2.17 longjmp F
-GLIBC_2.17 lseek F
-GLIBC_2.17 lseek64 F
 GLIBC_2.17 open F
 GLIBC_2.17 open64 F
 GLIBC_2.17 pread F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index b28f1fb468..eeb20113f2 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.33 __h_errno_location F
 GLIBC_2.33 __libc_allocate_rtsig F
 GLIBC_2.33 __libc_current_sigrtmax F
 GLIBC_2.33 __libc_current_sigrtmin F
-GLIBC_2.33 __lseek F
 GLIBC_2.33 __open F
 GLIBC_2.33 __open64 F
 GLIBC_2.33 __pread64 F
@@ -52,8 +51,6 @@ GLIBC_2.33 cnd_wait F
 GLIBC_2.33 flockfile F
 GLIBC_2.33 ftrylockfile F
 GLIBC_2.33 funlockfile F
-GLIBC_2.33 lseek F
-GLIBC_2.33 lseek64 F
 GLIBC_2.33 mtx_destroy F
 GLIBC_2.33 mtx_init F
 GLIBC_2.33 mtx_lock F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 824f36adae..85381e7a34 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.27 __h_errno_location F
 GLIBC_2.27 __libc_allocate_rtsig F
 GLIBC_2.27 __libc_current_sigrtmax F
 GLIBC_2.27 __libc_current_sigrtmin F
-GLIBC_2.27 __lseek F
 GLIBC_2.27 __open F
 GLIBC_2.27 __open64 F
 GLIBC_2.27 __pread64 F
@@ -45,8 +44,6 @@ GLIBC_2.27 _pthread_cleanup_push_defer F
 GLIBC_2.27 flockfile F
 GLIBC_2.27 ftrylockfile F
 GLIBC_2.27 funlockfile F
-GLIBC_2.27 lseek F
-GLIBC_2.27 lseek64 F
 GLIBC_2.27 open F
 GLIBC_2.27 open64 F
 GLIBC_2.27 pread F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index cead75acc5..95b93a7369 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1864,6 +1864,7 @@ GLIBC_2.2 getwchar F
 GLIBC_2.2 getwchar_unlocked F
 GLIBC_2.2 iruserok_af F
 GLIBC_2.2 localeconv F
+GLIBC_2.2 lseek64 F
 GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 memrchr F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index f43c094983..7aa1746d39 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
@@ -26,7 +25,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 lseek F
 GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
@@ -124,7 +122,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 9958ecb259..b02251ec7d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -16,7 +16,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __lseek F
 GLIBC_2.2 __open F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
@@ -50,8 +49,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 lseek F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 199f1244d0..d20fa17c94 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -14,7 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __lseek F
 GLIBC_2.2 __open F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
@@ -48,8 +47,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 lseek F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 199f1244d0..d20fa17c94 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -14,7 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __lseek F
 GLIBC_2.2 __open F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
@@ -48,8 +47,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 lseek F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 53ef6304f1..a660a9f062 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1860,6 +1860,7 @@ GLIBC_2.2 getwchar_unlocked F
 GLIBC_2.2 glob64 F
 GLIBC_2.2 iruserok_af F
 GLIBC_2.2 localeconv F
+GLIBC_2.2 lseek64 F
 GLIBC_2.2 mcheck_check_all F
 GLIBC_2.2 mcheck_pedantic F
 GLIBC_2.2 memrchr F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index c8f1793ddf..225123604d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
@@ -26,7 +25,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 lseek F
 GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
@@ -122,7 +120,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 2787631dca..c7e502460a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -14,7 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __lseek F
 GLIBC_2.2 __open F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
@@ -48,8 +47,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 lseek F
-GLIBC_2.2 lseek64 F
 GLIBC_2.2 open F
 GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index b8d5fa3517..e8fe6b0101 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -14,7 +14,6 @@ GLIBC_2.2.5 __h_errno_location F
 GLIBC_2.2.5 __libc_allocate_rtsig F
 GLIBC_2.2.5 __libc_current_sigrtmax F
 GLIBC_2.2.5 __libc_current_sigrtmin F
-GLIBC_2.2.5 __lseek F
 GLIBC_2.2.5 __open F
 GLIBC_2.2.5 __open64 F
 GLIBC_2.2.5 __pread64 F
@@ -48,8 +47,6 @@ GLIBC_2.2.5 flockfile F
 GLIBC_2.2.5 ftrylockfile F
 GLIBC_2.2.5 funlockfile F
 GLIBC_2.2.5 longjmp F
-GLIBC_2.2.5 lseek F
-GLIBC_2.2.5 lseek64 F
 GLIBC_2.2.5 open F
 GLIBC_2.2.5 open64 F
 GLIBC_2.2.5 pread F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 86b646a608..0133881099 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.16 __h_errno_location F
 GLIBC_2.16 __libc_allocate_rtsig F
 GLIBC_2.16 __libc_current_sigrtmax F
 GLIBC_2.16 __libc_current_sigrtmin F
-GLIBC_2.16 __lseek F
 GLIBC_2.16 __open F
 GLIBC_2.16 __open64 F
 GLIBC_2.16 __pread64 F
@@ -46,8 +45,6 @@ GLIBC_2.16 flockfile F
 GLIBC_2.16 ftrylockfile F
 GLIBC_2.16 funlockfile F
 GLIBC_2.16 longjmp F
-GLIBC_2.16 lseek F
-GLIBC_2.16 lseek64 F
 GLIBC_2.16 open F
 GLIBC_2.16 open64 F
 GLIBC_2.16 pread F
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 04/14] nptl: Remove open from libpthread
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
                   ` (2 preceding siblings ...)
  2021-03-19 20:29 ` [PATCH v2 03/14] nptl: Remove lseek " Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-25 13:46   ` Florian Weimer
  2021-03-19 20:29 ` [PATCH v2 05/14] nptl: Remove pread " Adhemerval Zanella
                   ` (10 subsequent siblings)
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

The libc version is identical and built with same flags.  The libc
version is set as the default version.

Checked on x86_64-linux-gnu.
---
 nptl/Makefile                                               | 3 ---
 nptl/Versions                                               | 4 ----
 sysdeps/mach/hurd/i386/ld.abilist                           | 2 --
 sysdeps/pthread/sem_open.c                                  | 6 +++---
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist          | 4 ----
 sysdeps/unix/sysv/linux/alpha/libc.abilist                  | 1 +
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist            | 4 ----
 sysdeps/unix/sysv/linux/arc/libpthread.abilist              | 4 ----
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist           | 4 ----
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist           | 4 ----
 sysdeps/unix/sysv/linux/csky/libpthread.abilist             | 4 ----
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist             | 4 ----
 sysdeps/unix/sysv/linux/i386/libc.abilist                   | 1 +
 sysdeps/unix/sysv/linux/i386/libpthread.abilist             | 4 ----
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist             | 4 ----
 sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist    | 4 ----
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist            | 1 +
 sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist      | 4 ----
 sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist    | 4 ----
 sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist    | 4 ----
 sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist      | 4 ----
 sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist      | 4 ----
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist            | 4 ----
 sysdeps/unix/sysv/linux/open64.c                            | 6 +++++-
 sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist  | 1 +
 .../unix/sysv/linux/powerpc/powerpc32/libpthread.abilist    | 4 ----
 .../unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist    | 1 +
 .../unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist | 4 ----
 .../unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist | 4 ----
 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist       | 4 ----
 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist       | 4 ----
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist           | 1 +
 sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist     | 4 ----
 sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist     | 4 ----
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist            | 4 ----
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist            | 4 ----
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist          | 1 +
 sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist    | 4 ----
 sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist    | 4 ----
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist        | 4 ----
 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist       | 4 ----
 41 files changed, 15 insertions(+), 129 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index 6a38dc5022..6ebba19b96 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -81,7 +81,6 @@ static-only-routines = pthread_atfork
 # We need to provide certain routines for compatibility with existing
 # binaries.
 pthread-compat-wrappers = \
-		      open open64 \
 		      pread pread64 pwrite pwrite64 \
 		      msgrcv msgsnd \
 		      sigsuspend \
@@ -288,8 +287,6 @@ CFLAGS-pwrite64.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sigwait.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-msgrcv.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-msgsnd.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-open.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-open64.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sigsuspend.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-fdatasync.c += -fexceptions -fasynchronous-unwind-tables
 
diff --git a/nptl/Versions b/nptl/Versions
index 7118403b35..b16871d807 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -105,7 +105,6 @@ libpthread {
     _IO_funlockfile;
     __errno_location;
     __h_errno_location;
-    __open;
     __pthread_atfork;
     __pthread_getspecific;
     __pthread_key_create;
@@ -129,7 +128,6 @@ libpthread {
     ftrylockfile;
     funlockfile;
     longjmp;
-    open;
     pthread_atfork;
     pthread_cancel;
     pthread_cond_broadcast;
@@ -218,7 +216,6 @@ libpthread {
   }
 
   GLIBC_2.2 {
-    __open64;
     __pread64;
     __pthread_rwlock_destroy;
     __pthread_rwlock_init;
@@ -229,7 +226,6 @@ libpthread {
     __pthread_rwlock_wrlock;
     __pwrite64;
     __res_state;
-    open64;
     pread64;
     pread;
     pthread_attr_getstack;
diff --git a/sysdeps/mach/hurd/i386/ld.abilist b/sysdeps/mach/hurd/i386/ld.abilist
index 7e20c5e7ce..a2a16523b5 100644
--- a/sysdeps/mach/hurd/i386/ld.abilist
+++ b/sysdeps/mach/hurd/i386/ld.abilist
@@ -3,8 +3,6 @@ GLIBC_2.2.6 __errno_location F
 GLIBC_2.2.6 __getpid F
 GLIBC_2.2.6 __libc_stack_end D 0x4
 GLIBC_2.2.6 __mmap F
-GLIBC_2.2.6 __open F
-GLIBC_2.2.6 __open64 F
 GLIBC_2.2.6 __pread64 F
 GLIBC_2.2.6 __read F
 GLIBC_2.2.6 __sbrk F
diff --git a/sysdeps/pthread/sem_open.c b/sysdeps/pthread/sem_open.c
index 9755be70ee..0265abc45b 100644
--- a/sysdeps/pthread/sem_open.c
+++ b/sysdeps/pthread/sem_open.c
@@ -59,8 +59,8 @@ sem_open (const char *name, int oflag, ...)
   if ((oflag & O_CREAT) == 0 || (oflag & O_EXCL) == 0)
     {
     try_again:
-      fd = __libc_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 +127,7 @@ sem_open (const char *name, int oflag, ...)
 	    }
 
 	  /* Open the file.  Make sure we do not overwrite anything.  */
-	  fd = __libc_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)
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index b7e002e258..23aa949791 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -6,8 +6,6 @@ GLIBC_2.17 __h_errno_location F
 GLIBC_2.17 __libc_allocate_rtsig F
 GLIBC_2.17 __libc_current_sigrtmax F
 GLIBC_2.17 __libc_current_sigrtmin F
-GLIBC_2.17 __open F
-GLIBC_2.17 __open64 F
 GLIBC_2.17 __pread64 F
 GLIBC_2.17 __pthread_cleanup_routine F
 GLIBC_2.17 __pthread_getspecific F
@@ -45,8 +43,6 @@ GLIBC_2.17 flockfile F
 GLIBC_2.17 ftrylockfile F
 GLIBC_2.17 funlockfile F
 GLIBC_2.17 longjmp F
-GLIBC_2.17 open F
-GLIBC_2.17 open64 F
 GLIBC_2.17 pread F
 GLIBC_2.17 pread64 F
 GLIBC_2.17 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index ec7a5a47f2..ef49b96bf8 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1906,6 +1906,7 @@ GLIBC_2.2 mkstemp64 F
 GLIBC_2.2 moncontrol F
 GLIBC_2.2 msgctl F
 GLIBC_2.2 ngettext F
+GLIBC_2.2 open64 F
 GLIBC_2.2 posix_fadvise F
 GLIBC_2.2 posix_fadvise64 F
 GLIBC_2.2 posix_fallocate F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 225123604d..4d908d4527 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_mutex_destroy F
@@ -25,7 +24,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
@@ -109,7 +107,6 @@ GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
@@ -120,7 +117,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index dbb502fd65..f25fca45c5 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -6,8 +6,6 @@ GLIBC_2.32 __h_errno_location F
 GLIBC_2.32 __libc_allocate_rtsig F
 GLIBC_2.32 __libc_current_sigrtmax F
 GLIBC_2.32 __libc_current_sigrtmin F
-GLIBC_2.32 __open F
-GLIBC_2.32 __open64 F
 GLIBC_2.32 __pread64 F
 GLIBC_2.32 __pthread_cleanup_routine F
 GLIBC_2.32 __pthread_getspecific F
@@ -57,8 +55,6 @@ GLIBC_2.32 mtx_lock F
 GLIBC_2.32 mtx_timedlock F
 GLIBC_2.32 mtx_trylock F
 GLIBC_2.32 mtx_unlock F
-GLIBC_2.32 open F
-GLIBC_2.32 open64 F
 GLIBC_2.32 pread F
 GLIBC_2.32 pread64 F
 GLIBC_2.32 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 24a6a38920..8e60d60b21 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -41,8 +41,6 @@ GLIBC_2.4 __h_errno_location F
 GLIBC_2.4 __libc_allocate_rtsig F
 GLIBC_2.4 __libc_current_sigrtmax F
 GLIBC_2.4 __libc_current_sigrtmin F
-GLIBC_2.4 __open F
-GLIBC_2.4 __open64 F
 GLIBC_2.4 __pread64 F
 GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
@@ -80,8 +78,6 @@ GLIBC_2.4 flockfile F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
 GLIBC_2.4 longjmp F
-GLIBC_2.4 open F
-GLIBC_2.4 open64 F
 GLIBC_2.4 pread F
 GLIBC_2.4 pread64 F
 GLIBC_2.4 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 24a6a38920..8e60d60b21 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -41,8 +41,6 @@ GLIBC_2.4 __h_errno_location F
 GLIBC_2.4 __libc_allocate_rtsig F
 GLIBC_2.4 __libc_current_sigrtmax F
 GLIBC_2.4 __libc_current_sigrtmin F
-GLIBC_2.4 __open F
-GLIBC_2.4 __open64 F
 GLIBC_2.4 __pread64 F
 GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
@@ -80,8 +78,6 @@ GLIBC_2.4 flockfile F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
 GLIBC_2.4 longjmp F
-GLIBC_2.4 open F
-GLIBC_2.4 open64 F
 GLIBC_2.4 pread F
 GLIBC_2.4 pread64 F
 GLIBC_2.4 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index be4507e5ac..bac436bd00 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -6,8 +6,6 @@ GLIBC_2.29 __h_errno_location F
 GLIBC_2.29 __libc_allocate_rtsig F
 GLIBC_2.29 __libc_current_sigrtmax F
 GLIBC_2.29 __libc_current_sigrtmin F
-GLIBC_2.29 __open F
-GLIBC_2.29 __open64 F
 GLIBC_2.29 __pread64 F
 GLIBC_2.29 __pthread_cleanup_routine F
 GLIBC_2.29 __pthread_getspecific F
@@ -57,8 +55,6 @@ GLIBC_2.29 mtx_lock F
 GLIBC_2.29 mtx_timedlock F
 GLIBC_2.29 mtx_trylock F
 GLIBC_2.29 mtx_unlock F
-GLIBC_2.29 open F
-GLIBC_2.29 open64 F
 GLIBC_2.29 pread F
 GLIBC_2.29 pread64 F
 GLIBC_2.29 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index d20fa17c94..ed1cd3a6e3 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -14,8 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __open F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
@@ -47,8 +45,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 open F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_atfork F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 4249ffd53c..759e488238 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1915,6 +1915,7 @@ GLIBC_2.2 mkstemp64 F
 GLIBC_2.2 moncontrol F
 GLIBC_2.2 msgctl F
 GLIBC_2.2 ngettext F
+GLIBC_2.2 open64 F
 GLIBC_2.2 posix_fadvise F
 GLIBC_2.2 posix_fadvise64 F
 GLIBC_2.2 posix_fallocate F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index a3f1f91ed6..8866f2f049 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_mutex_destroy F
@@ -25,7 +24,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
@@ -109,7 +107,6 @@ GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
@@ -120,7 +117,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index c7e502460a..2d96fd1a41 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -14,8 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __open F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
@@ -47,8 +45,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 open F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_atfork F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 24a6a38920..8e60d60b21 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -41,8 +41,6 @@ GLIBC_2.4 __h_errno_location F
 GLIBC_2.4 __libc_allocate_rtsig F
 GLIBC_2.4 __libc_current_sigrtmax F
 GLIBC_2.4 __libc_current_sigrtmin F
-GLIBC_2.4 __open F
-GLIBC_2.4 __open64 F
 GLIBC_2.4 __pread64 F
 GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
@@ -80,8 +78,6 @@ GLIBC_2.4 flockfile F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
 GLIBC_2.4 longjmp F
-GLIBC_2.4 open F
-GLIBC_2.4 open64 F
 GLIBC_2.4 pread F
 GLIBC_2.4 pread64 F
 GLIBC_2.4 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index c1eaa57190..9f6b0adeaf 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1871,6 +1871,7 @@ GLIBC_2.2 mkstemp64 F
 GLIBC_2.2 moncontrol F
 GLIBC_2.2 msgctl F
 GLIBC_2.2 ngettext F
+GLIBC_2.2 open64 F
 GLIBC_2.2 posix_fadvise F
 GLIBC_2.2 posix_fadvise64 F
 GLIBC_2.2 posix_fallocate F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index a3f1f91ed6..8866f2f049 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_mutex_destroy F
@@ -25,7 +24,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
@@ -109,7 +107,6 @@ GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
@@ -120,7 +117,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 59da2262b4..82faec3024 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -6,8 +6,6 @@ GLIBC_2.18 __h_errno_location F
 GLIBC_2.18 __libc_allocate_rtsig F
 GLIBC_2.18 __libc_current_sigrtmax F
 GLIBC_2.18 __libc_current_sigrtmin F
-GLIBC_2.18 __open F
-GLIBC_2.18 __open64 F
 GLIBC_2.18 __pread64 F
 GLIBC_2.18 __pthread_cleanup_routine F
 GLIBC_2.18 __pthread_getspecific F
@@ -45,8 +43,6 @@ GLIBC_2.18 flockfile F
 GLIBC_2.18 ftrylockfile F
 GLIBC_2.18 funlockfile F
 GLIBC_2.18 longjmp F
-GLIBC_2.18 open F
-GLIBC_2.18 open64 F
 GLIBC_2.18 pread F
 GLIBC_2.18 pread64 F
 GLIBC_2.18 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 59da2262b4..82faec3024 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -6,8 +6,6 @@ GLIBC_2.18 __h_errno_location F
 GLIBC_2.18 __libc_allocate_rtsig F
 GLIBC_2.18 __libc_current_sigrtmax F
 GLIBC_2.18 __libc_current_sigrtmin F
-GLIBC_2.18 __open F
-GLIBC_2.18 __open64 F
 GLIBC_2.18 __pread64 F
 GLIBC_2.18 __pthread_cleanup_routine F
 GLIBC_2.18 __pthread_getspecific F
@@ -45,8 +43,6 @@ GLIBC_2.18 flockfile F
 GLIBC_2.18 ftrylockfile F
 GLIBC_2.18 funlockfile F
 GLIBC_2.18 longjmp F
-GLIBC_2.18 open F
-GLIBC_2.18 open64 F
 GLIBC_2.18 pread F
 GLIBC_2.18 pread64 F
 GLIBC_2.18 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 7afda39c49..d9deb67fb8 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_mutex_destroy F
@@ -25,7 +24,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
@@ -75,7 +73,6 @@ GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
@@ -86,7 +83,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 7afda39c49..d9deb67fb8 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_mutex_destroy F
@@ -25,7 +24,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
@@ -75,7 +73,6 @@ GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
@@ -86,7 +83,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 7e8d091a9d..4b69ecd332 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -6,8 +6,6 @@ GLIBC_2.21 __h_errno_location F
 GLIBC_2.21 __libc_allocate_rtsig F
 GLIBC_2.21 __libc_current_sigrtmax F
 GLIBC_2.21 __libc_current_sigrtmin F
-GLIBC_2.21 __open F
-GLIBC_2.21 __open64 F
 GLIBC_2.21 __pread64 F
 GLIBC_2.21 __pthread_cleanup_routine F
 GLIBC_2.21 __pthread_getspecific F
@@ -45,8 +43,6 @@ GLIBC_2.21 flockfile F
 GLIBC_2.21 ftrylockfile F
 GLIBC_2.21 funlockfile F
 GLIBC_2.21 longjmp F
-GLIBC_2.21 open F
-GLIBC_2.21 open64 F
 GLIBC_2.21 pread F
 GLIBC_2.21 pread64 F
 GLIBC_2.21 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/open64.c b/sysdeps/unix/sysv/linux/open64.c
index 98db26f501..0904696973 100644
--- a/sysdeps/unix/sysv/linux/open64.c
+++ b/sysdeps/unix/sysv/linux/open64.c
@@ -20,8 +20,8 @@
 #include <sys/stat.h>
 #include <fcntl.h>
 #include <stdarg.h>
-
 #include <sysdep-cancel.h>
+#include <shlib-compat.h>
 
 
 #ifdef __OFF_T_MATCHES_OFF64_T
@@ -59,3 +59,7 @@ strong_alias (__libc_open64, __open)
 libc_hidden_weak (__open)
 weak_alias (__libc_open64, open)
 #endif
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_2)
+compat_symbol (libc, __libc_open64, open64, GLIBC_2_2);
+#endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index e6fd54355e..1861a901e9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1876,6 +1876,7 @@ GLIBC_2.2 mkstemp64 F
 GLIBC_2.2 moncontrol F
 GLIBC_2.2 msgctl F
 GLIBC_2.2 ngettext F
+GLIBC_2.2 open64 F
 GLIBC_2.2 posix_fadvise F
 GLIBC_2.2 posix_fadvise64 F
 GLIBC_2.2 posix_fallocate F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 1322e933fe..6fe70d287a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_mutex_destroy F
@@ -25,7 +24,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
@@ -109,7 +107,6 @@ GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
@@ -120,7 +117,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index fbacd7a032..20c9c6cba4 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1880,6 +1880,7 @@ GLIBC_2.2 mkstemp64 F
 GLIBC_2.2 moncontrol F
 GLIBC_2.2 msgctl F
 GLIBC_2.2 ngettext F
+GLIBC_2.2 open64 F
 GLIBC_2.2 posix_fadvise F
 GLIBC_2.2 posix_fadvise64 F
 GLIBC_2.2 posix_fallocate F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 4074b94854..00e3e9e820 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -35,8 +35,6 @@ GLIBC_2.3 __h_errno_location F
 GLIBC_2.3 __libc_allocate_rtsig F
 GLIBC_2.3 __libc_current_sigrtmax F
 GLIBC_2.3 __libc_current_sigrtmin F
-GLIBC_2.3 __open F
-GLIBC_2.3 __open64 F
 GLIBC_2.3 __pread64 F
 GLIBC_2.3 __pthread_getspecific F
 GLIBC_2.3 __pthread_key_create F
@@ -68,8 +66,6 @@ GLIBC_2.3 flockfile F
 GLIBC_2.3 ftrylockfile F
 GLIBC_2.3 funlockfile F
 GLIBC_2.3 longjmp F
-GLIBC_2.3 open F
-GLIBC_2.3 open64 F
 GLIBC_2.3 pread F
 GLIBC_2.3 pread64 F
 GLIBC_2.3 pthread_attr_getguardsize F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index b7e002e258..23aa949791 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -6,8 +6,6 @@ GLIBC_2.17 __h_errno_location F
 GLIBC_2.17 __libc_allocate_rtsig F
 GLIBC_2.17 __libc_current_sigrtmax F
 GLIBC_2.17 __libc_current_sigrtmin F
-GLIBC_2.17 __open F
-GLIBC_2.17 __open64 F
 GLIBC_2.17 __pread64 F
 GLIBC_2.17 __pthread_cleanup_routine F
 GLIBC_2.17 __pthread_getspecific F
@@ -45,8 +43,6 @@ GLIBC_2.17 flockfile F
 GLIBC_2.17 ftrylockfile F
 GLIBC_2.17 funlockfile F
 GLIBC_2.17 longjmp F
-GLIBC_2.17 open F
-GLIBC_2.17 open64 F
 GLIBC_2.17 pread F
 GLIBC_2.17 pread64 F
 GLIBC_2.17 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index eeb20113f2..8adb5990a2 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -6,8 +6,6 @@ GLIBC_2.33 __h_errno_location F
 GLIBC_2.33 __libc_allocate_rtsig F
 GLIBC_2.33 __libc_current_sigrtmax F
 GLIBC_2.33 __libc_current_sigrtmin F
-GLIBC_2.33 __open F
-GLIBC_2.33 __open64 F
 GLIBC_2.33 __pread64 F
 GLIBC_2.33 __pthread_cleanup_routine F
 GLIBC_2.33 __pthread_getspecific F
@@ -57,8 +55,6 @@ GLIBC_2.33 mtx_lock F
 GLIBC_2.33 mtx_timedlock F
 GLIBC_2.33 mtx_trylock F
 GLIBC_2.33 mtx_unlock F
-GLIBC_2.33 open F
-GLIBC_2.33 open64 F
 GLIBC_2.33 pread F
 GLIBC_2.33 pread64 F
 GLIBC_2.33 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 85381e7a34..e2cd105df0 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -6,8 +6,6 @@ GLIBC_2.27 __h_errno_location F
 GLIBC_2.27 __libc_allocate_rtsig F
 GLIBC_2.27 __libc_current_sigrtmax F
 GLIBC_2.27 __libc_current_sigrtmin F
-GLIBC_2.27 __open F
-GLIBC_2.27 __open64 F
 GLIBC_2.27 __pread64 F
 GLIBC_2.27 __pthread_cleanup_routine F
 GLIBC_2.27 __pthread_getspecific F
@@ -44,8 +42,6 @@ GLIBC_2.27 _pthread_cleanup_push_defer F
 GLIBC_2.27 flockfile F
 GLIBC_2.27 ftrylockfile F
 GLIBC_2.27 funlockfile F
-GLIBC_2.27 open F
-GLIBC_2.27 open64 F
 GLIBC_2.27 pread F
 GLIBC_2.27 pread64 F
 GLIBC_2.27 pthread_attr_getaffinity_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 95b93a7369..d821c145a0 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1874,6 +1874,7 @@ GLIBC_2.2 mkstemp64 F
 GLIBC_2.2 moncontrol F
 GLIBC_2.2 msgctl F
 GLIBC_2.2 ngettext F
+GLIBC_2.2 open64 F
 GLIBC_2.2 posix_fadvise F
 GLIBC_2.2 posix_fadvise64 F
 GLIBC_2.2 posix_fallocate F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 7aa1746d39..f7ad32376a 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_mutex_destroy F
@@ -25,7 +24,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
@@ -111,7 +109,6 @@ GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.19 longjmp F
 GLIBC_2.19 siglongjmp F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
@@ -122,7 +119,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index b02251ec7d..8ecb675798 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -16,8 +16,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __open F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
@@ -49,8 +47,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 open F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_atfork F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index d20fa17c94..ed1cd3a6e3 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -14,8 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __open F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
@@ -47,8 +45,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 open F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_atfork F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index d20fa17c94..ed1cd3a6e3 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -14,8 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __open F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
@@ -47,8 +45,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 open F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_atfork F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index a660a9f062..7006678a9a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1870,6 +1870,7 @@ GLIBC_2.2 mkstemp64 F
 GLIBC_2.2 moncontrol F
 GLIBC_2.2 msgctl F
 GLIBC_2.2 ngettext F
+GLIBC_2.2 open64 F
 GLIBC_2.2 posix_fadvise F
 GLIBC_2.2 posix_fadvise64 F
 GLIBC_2.2 posix_fallocate F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 225123604d..4d908d4527 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F
 GLIBC_2.0 _IO_funlockfile F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __h_errno_location F
-GLIBC_2.0 __open F
 GLIBC_2.0 __pthread_getspecific F
 GLIBC_2.0 __pthread_key_create F
 GLIBC_2.0 __pthread_mutex_destroy F
@@ -25,7 +24,6 @@ GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
 GLIBC_2.0 longjmp F
-GLIBC_2.0 open F
 GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_cond_broadcast F
@@ -109,7 +107,6 @@ GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
@@ -120,7 +117,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index c7e502460a..2d96fd1a41 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -14,8 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __open F
-GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
@@ -47,8 +45,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 open F
-GLIBC_2.2 open64 F
 GLIBC_2.2 pread F
 GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_atfork F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index e8fe6b0101..1429c67b42 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -14,8 +14,6 @@ GLIBC_2.2.5 __h_errno_location F
 GLIBC_2.2.5 __libc_allocate_rtsig F
 GLIBC_2.2.5 __libc_current_sigrtmax F
 GLIBC_2.2.5 __libc_current_sigrtmin F
-GLIBC_2.2.5 __open F
-GLIBC_2.2.5 __open64 F
 GLIBC_2.2.5 __pread64 F
 GLIBC_2.2.5 __pthread_getspecific F
 GLIBC_2.2.5 __pthread_key_create F
@@ -47,8 +45,6 @@ GLIBC_2.2.5 flockfile F
 GLIBC_2.2.5 ftrylockfile F
 GLIBC_2.2.5 funlockfile F
 GLIBC_2.2.5 longjmp F
-GLIBC_2.2.5 open F
-GLIBC_2.2.5 open64 F
 GLIBC_2.2.5 pread F
 GLIBC_2.2.5 pread64 F
 GLIBC_2.2.5 pthread_atfork F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 0133881099..060ad61de2 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -6,8 +6,6 @@ GLIBC_2.16 __h_errno_location F
 GLIBC_2.16 __libc_allocate_rtsig F
 GLIBC_2.16 __libc_current_sigrtmax F
 GLIBC_2.16 __libc_current_sigrtmin F
-GLIBC_2.16 __open F
-GLIBC_2.16 __open64 F
 GLIBC_2.16 __pread64 F
 GLIBC_2.16 __pthread_cleanup_routine F
 GLIBC_2.16 __pthread_getspecific F
@@ -45,8 +43,6 @@ GLIBC_2.16 flockfile F
 GLIBC_2.16 ftrylockfile F
 GLIBC_2.16 funlockfile F
 GLIBC_2.16 longjmp F
-GLIBC_2.16 open F
-GLIBC_2.16 open64 F
 GLIBC_2.16 pread F
 GLIBC_2.16 pread64 F
 GLIBC_2.16 pthread_attr_getaffinity_np F
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 05/14] nptl: Remove pread from libpthread
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
                   ` (3 preceding siblings ...)
  2021-03-19 20:29 ` [PATCH v2 04/14] nptl: Remove open " Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-25 14:07   ` Florian Weimer
  2021-03-19 20:29 ` [PATCH v2 06/14] nptl: Remove pwrite " Adhemerval Zanella
                   ` (9 subsequent siblings)
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

The libc version is identical and built with same flags, it is also
uses as the default version.

Checked on x86_64-linux-gnu.
---
 include/unistd.h                                       |  2 +-
 nptl/Makefile                                          |  4 +---
 nptl/Versions                                          |  3 ---
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist     |  3 ---
 sysdeps/unix/sysv/linux/alpha/libc.abilist             |  3 +++
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist       |  3 ---
 sysdeps/unix/sysv/linux/arc/libpthread.abilist         |  3 ---
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist      |  3 ---
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist      |  3 ---
 sysdeps/unix/sysv/linux/csky/libpthread.abilist        |  3 ---
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist        |  3 ---
 sysdeps/unix/sysv/linux/i386/libc.abilist              |  3 +++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist        |  3 ---
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist        |  3 ---
 .../unix/sysv/linux/m68k/coldfire/libpthread.abilist   |  3 ---
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist       |  3 +++
 sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist |  3 ---
 .../unix/sysv/linux/microblaze/be/libpthread.abilist   |  3 ---
 .../unix/sysv/linux/microblaze/le/libpthread.abilist   |  3 ---
 sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist |  3 ---
 sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist |  3 ---
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist       |  3 ---
 .../unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist |  3 +++
 .../sysv/linux/powerpc/powerpc32/libpthread.abilist    |  3 ---
 .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist    |  3 +++
 .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist |  3 ---
 .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist |  3 ---
 sysdeps/unix/sysv/linux/pread.c                        |  6 ++++++
 sysdeps/unix/sysv/linux/pread64.c                      | 10 ++++++++++
 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist  |  3 ---
 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist  |  3 ---
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist      |  3 +++
 .../unix/sysv/linux/s390/s390-32/libpthread.abilist    |  3 ---
 .../unix/sysv/linux/s390/s390-64/libpthread.abilist    |  3 ---
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist       |  3 ---
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist       |  3 ---
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist     |  3 +++
 .../unix/sysv/linux/sparc/sparc32/libpthread.abilist   |  3 ---
 .../unix/sysv/linux/sparc/sparc64/libpthread.abilist   |  3 ---
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist   |  3 ---
 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist  |  3 ---
 41 files changed, 39 insertions(+), 94 deletions(-)

diff --git a/include/unistd.h b/include/unistd.h
index cdc31c3c0c..2d3698575c 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -47,7 +47,7 @@ extern ssize_t __pread64 (int __fd, void *__buf, size_t __nbytes,
 			  __off64_t __offset);
 libc_hidden_proto (__pread64);
 extern ssize_t __libc_pread64 (int __fd, void *__buf, size_t __nbytes,
-			       __off64_t __offset) attribute_hidden;
+			       __off64_t __offset);
 extern ssize_t __pwrite (int __fd, const void *__buf, size_t __n,
 			 __off_t __offset);
 libc_hidden_proto (__pwrite)
diff --git a/nptl/Makefile b/nptl/Makefile
index 6ebba19b96..e2dd6d47a2 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -81,7 +81,7 @@ static-only-routines = pthread_atfork
 # We need to provide certain routines for compatibility with existing
 # binaries.
 pthread-compat-wrappers = \
-		      pread pread64 pwrite pwrite64 \
+		      pwrite pwrite64 \
 		      msgrcv msgsnd \
 		      sigsuspend \
 
@@ -280,8 +280,6 @@ CFLAGS-sem_clockwait.c = -fexceptions -fasynchronous-unwind-tables
 
 # These are the function wrappers we have to duplicate here.
 CFLAGS-lockf.c += -fexceptions
-CFLAGS-pread.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-pread64.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-pwrite.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-pwrite64.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sigwait.c += -fexceptions -fasynchronous-unwind-tables
diff --git a/nptl/Versions b/nptl/Versions
index b16871d807..10d8ea0629 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -216,7 +216,6 @@ libpthread {
   }
 
   GLIBC_2.2 {
-    __pread64;
     __pthread_rwlock_destroy;
     __pthread_rwlock_init;
     __pthread_rwlock_rdlock;
@@ -226,8 +225,6 @@ libpthread {
     __pthread_rwlock_wrlock;
     __pwrite64;
     __res_state;
-    pread64;
-    pread;
     pthread_attr_getstack;
     pthread_attr_setstack;
     pthread_barrier_destroy;
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 23aa949791..f3568411f3 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.17 __h_errno_location F
 GLIBC_2.17 __libc_allocate_rtsig F
 GLIBC_2.17 __libc_current_sigrtmax F
 GLIBC_2.17 __libc_current_sigrtmin F
-GLIBC_2.17 __pread64 F
 GLIBC_2.17 __pthread_cleanup_routine F
 GLIBC_2.17 __pthread_getspecific F
 GLIBC_2.17 __pthread_key_create F
@@ -43,8 +42,6 @@ GLIBC_2.17 flockfile F
 GLIBC_2.17 ftrylockfile F
 GLIBC_2.17 funlockfile F
 GLIBC_2.17 longjmp F
-GLIBC_2.17 pread F
-GLIBC_2.17 pread64 F
 GLIBC_2.17 pthread_attr_getaffinity_np F
 GLIBC_2.17 pthread_attr_getguardsize F
 GLIBC_2.17 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index ef49b96bf8..3de66531a2 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1847,6 +1847,7 @@ GLIBC_2.2 __fwriting F
 GLIBC_2.2 __getmntent_r F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1934,6 +1935,8 @@ GLIBC_2.2 posix_spawnattr_setschedpolicy F
 GLIBC_2.2 posix_spawnattr_setsigdefault F
 GLIBC_2.2 posix_spawnattr_setsigmask F
 GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
 GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 4d908d4527..cad7261d8f 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -107,7 +107,6 @@ GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -117,8 +116,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_barrier_destroy F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index f25fca45c5..d55abc12af 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.32 __h_errno_location F
 GLIBC_2.32 __libc_allocate_rtsig F
 GLIBC_2.32 __libc_current_sigrtmax F
 GLIBC_2.32 __libc_current_sigrtmin F
-GLIBC_2.32 __pread64 F
 GLIBC_2.32 __pthread_cleanup_routine F
 GLIBC_2.32 __pthread_getspecific F
 GLIBC_2.32 __pthread_key_create F
@@ -55,8 +54,6 @@ GLIBC_2.32 mtx_lock F
 GLIBC_2.32 mtx_timedlock F
 GLIBC_2.32 mtx_trylock F
 GLIBC_2.32 mtx_unlock F
-GLIBC_2.32 pread F
-GLIBC_2.32 pread64 F
 GLIBC_2.32 pthread_attr_getaffinity_np F
 GLIBC_2.32 pthread_attr_getguardsize F
 GLIBC_2.32 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 8e60d60b21..d2e4c05f86 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -41,7 +41,6 @@ GLIBC_2.4 __h_errno_location F
 GLIBC_2.4 __libc_allocate_rtsig F
 GLIBC_2.4 __libc_current_sigrtmax F
 GLIBC_2.4 __libc_current_sigrtmin F
-GLIBC_2.4 __pread64 F
 GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
 GLIBC_2.4 __pthread_key_create F
@@ -78,8 +77,6 @@ GLIBC_2.4 flockfile F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
 GLIBC_2.4 longjmp F
-GLIBC_2.4 pread F
-GLIBC_2.4 pread64 F
 GLIBC_2.4 pthread_attr_getaffinity_np F
 GLIBC_2.4 pthread_attr_getguardsize F
 GLIBC_2.4 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 8e60d60b21..d2e4c05f86 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -41,7 +41,6 @@ GLIBC_2.4 __h_errno_location F
 GLIBC_2.4 __libc_allocate_rtsig F
 GLIBC_2.4 __libc_current_sigrtmax F
 GLIBC_2.4 __libc_current_sigrtmin F
-GLIBC_2.4 __pread64 F
 GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
 GLIBC_2.4 __pthread_key_create F
@@ -78,8 +77,6 @@ GLIBC_2.4 flockfile F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
 GLIBC_2.4 longjmp F
-GLIBC_2.4 pread F
-GLIBC_2.4 pread64 F
 GLIBC_2.4 pthread_attr_getaffinity_np F
 GLIBC_2.4 pthread_attr_getguardsize F
 GLIBC_2.4 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index bac436bd00..8324449d3d 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.29 __h_errno_location F
 GLIBC_2.29 __libc_allocate_rtsig F
 GLIBC_2.29 __libc_current_sigrtmax F
 GLIBC_2.29 __libc_current_sigrtmin F
-GLIBC_2.29 __pread64 F
 GLIBC_2.29 __pthread_cleanup_routine F
 GLIBC_2.29 __pthread_getspecific F
 GLIBC_2.29 __pthread_key_create F
@@ -55,8 +54,6 @@ GLIBC_2.29 mtx_lock F
 GLIBC_2.29 mtx_timedlock F
 GLIBC_2.29 mtx_trylock F
 GLIBC_2.29 mtx_unlock F
-GLIBC_2.29 pread F
-GLIBC_2.29 pread64 F
 GLIBC_2.29 pthread_attr_getaffinity_np F
 GLIBC_2.29 pthread_attr_getguardsize F
 GLIBC_2.29 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index ed1cd3a6e3..6d77e8b917 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -14,7 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_mutex_destroy F
@@ -45,8 +44,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_atfork F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 759e488238..f88a24bb51 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1851,6 +1851,7 @@ GLIBC_2.2 __getmntent_r F
 GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1943,6 +1944,8 @@ GLIBC_2.2 posix_spawnattr_setschedpolicy F
 GLIBC_2.2 posix_spawnattr_setsigdefault F
 GLIBC_2.2 posix_spawnattr_setsigmask F
 GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
 GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 8866f2f049..db03a23a65 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -107,7 +107,6 @@ GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -117,8 +116,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_barrier_destroy F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 2d96fd1a41..453c60952d 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -14,7 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_mutex_destroy F
@@ -45,8 +44,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_atfork F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 8e60d60b21..d2e4c05f86 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -41,7 +41,6 @@ GLIBC_2.4 __h_errno_location F
 GLIBC_2.4 __libc_allocate_rtsig F
 GLIBC_2.4 __libc_current_sigrtmax F
 GLIBC_2.4 __libc_current_sigrtmin F
-GLIBC_2.4 __pread64 F
 GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
 GLIBC_2.4 __pthread_key_create F
@@ -78,8 +77,6 @@ GLIBC_2.4 flockfile F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
 GLIBC_2.4 longjmp F
-GLIBC_2.4 pread F
-GLIBC_2.4 pread64 F
 GLIBC_2.4 pthread_attr_getaffinity_np F
 GLIBC_2.4 pthread_attr_getguardsize F
 GLIBC_2.4 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 9f6b0adeaf..dd75512e35 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1807,6 +1807,7 @@ GLIBC_2.2 __getmntent_r F
 GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1899,6 +1900,8 @@ GLIBC_2.2 posix_spawnattr_setschedpolicy F
 GLIBC_2.2 posix_spawnattr_setsigdefault F
 GLIBC_2.2 posix_spawnattr_setsigmask F
 GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
 GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 8866f2f049..db03a23a65 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -107,7 +107,6 @@ GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -117,8 +116,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_barrier_destroy F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 82faec3024..d018354186 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.18 __h_errno_location F
 GLIBC_2.18 __libc_allocate_rtsig F
 GLIBC_2.18 __libc_current_sigrtmax F
 GLIBC_2.18 __libc_current_sigrtmin F
-GLIBC_2.18 __pread64 F
 GLIBC_2.18 __pthread_cleanup_routine F
 GLIBC_2.18 __pthread_getspecific F
 GLIBC_2.18 __pthread_key_create F
@@ -43,8 +42,6 @@ GLIBC_2.18 flockfile F
 GLIBC_2.18 ftrylockfile F
 GLIBC_2.18 funlockfile F
 GLIBC_2.18 longjmp F
-GLIBC_2.18 pread F
-GLIBC_2.18 pread64 F
 GLIBC_2.18 pthread_attr_getaffinity_np F
 GLIBC_2.18 pthread_attr_getguardsize F
 GLIBC_2.18 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 82faec3024..d018354186 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.18 __h_errno_location F
 GLIBC_2.18 __libc_allocate_rtsig F
 GLIBC_2.18 __libc_current_sigrtmax F
 GLIBC_2.18 __libc_current_sigrtmin F
-GLIBC_2.18 __pread64 F
 GLIBC_2.18 __pthread_cleanup_routine F
 GLIBC_2.18 __pthread_getspecific F
 GLIBC_2.18 __pthread_key_create F
@@ -43,8 +42,6 @@ GLIBC_2.18 flockfile F
 GLIBC_2.18 ftrylockfile F
 GLIBC_2.18 funlockfile F
 GLIBC_2.18 longjmp F
-GLIBC_2.18 pread F
-GLIBC_2.18 pread64 F
 GLIBC_2.18 pthread_attr_getaffinity_np F
 GLIBC_2.18 pthread_attr_getguardsize F
 GLIBC_2.18 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index d9deb67fb8..c2e1455b6d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -73,7 +73,6 @@ GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -83,8 +82,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_getstackaddr F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index d9deb67fb8..c2e1455b6d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -73,7 +73,6 @@ GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -83,8 +82,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_getstackaddr F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 4b69ecd332..7106cab1a3 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.21 __h_errno_location F
 GLIBC_2.21 __libc_allocate_rtsig F
 GLIBC_2.21 __libc_current_sigrtmax F
 GLIBC_2.21 __libc_current_sigrtmin F
-GLIBC_2.21 __pread64 F
 GLIBC_2.21 __pthread_cleanup_routine F
 GLIBC_2.21 __pthread_getspecific F
 GLIBC_2.21 __pthread_key_create F
@@ -43,8 +42,6 @@ GLIBC_2.21 flockfile F
 GLIBC_2.21 ftrylockfile F
 GLIBC_2.21 funlockfile F
 GLIBC_2.21 longjmp F
-GLIBC_2.21 pread F
-GLIBC_2.21 pread64 F
 GLIBC_2.21 pthread_attr_getaffinity_np F
 GLIBC_2.21 pthread_attr_getguardsize F
 GLIBC_2.21 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 1861a901e9..aa622a5415 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1813,6 +1813,7 @@ GLIBC_2.2 __getmntent_r F
 GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1904,6 +1905,8 @@ GLIBC_2.2 posix_spawnattr_setschedpolicy F
 GLIBC_2.2 posix_spawnattr_setsigdefault F
 GLIBC_2.2 posix_spawnattr_setsigmask F
 GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
 GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 6fe70d287a..4d2a26abe9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -107,7 +107,6 @@ GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -117,8 +116,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_barrier_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 20c9c6cba4..f9840c739f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1817,6 +1817,7 @@ GLIBC_2.2 __getmntent_r F
 GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1908,6 +1909,8 @@ GLIBC_2.2 posix_spawnattr_setschedpolicy F
 GLIBC_2.2 posix_spawnattr_setsigdefault F
 GLIBC_2.2 posix_spawnattr_setsigmask F
 GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
 GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 00e3e9e820..d1d79e5f3c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -35,7 +35,6 @@ GLIBC_2.3 __h_errno_location F
 GLIBC_2.3 __libc_allocate_rtsig F
 GLIBC_2.3 __libc_current_sigrtmax F
 GLIBC_2.3 __libc_current_sigrtmin F
-GLIBC_2.3 __pread64 F
 GLIBC_2.3 __pthread_getspecific F
 GLIBC_2.3 __pthread_key_create F
 GLIBC_2.3 __pthread_mutex_destroy F
@@ -66,8 +65,6 @@ GLIBC_2.3 flockfile F
 GLIBC_2.3 ftrylockfile F
 GLIBC_2.3 funlockfile F
 GLIBC_2.3 longjmp F
-GLIBC_2.3 pread F
-GLIBC_2.3 pread64 F
 GLIBC_2.3 pthread_attr_getguardsize F
 GLIBC_2.3 pthread_attr_getstack F
 GLIBC_2.3 pthread_attr_getstackaddr F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 23aa949791..f3568411f3 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.17 __h_errno_location F
 GLIBC_2.17 __libc_allocate_rtsig F
 GLIBC_2.17 __libc_current_sigrtmax F
 GLIBC_2.17 __libc_current_sigrtmin F
-GLIBC_2.17 __pread64 F
 GLIBC_2.17 __pthread_cleanup_routine F
 GLIBC_2.17 __pthread_getspecific F
 GLIBC_2.17 __pthread_key_create F
@@ -43,8 +42,6 @@ GLIBC_2.17 flockfile F
 GLIBC_2.17 ftrylockfile F
 GLIBC_2.17 funlockfile F
 GLIBC_2.17 longjmp F
-GLIBC_2.17 pread F
-GLIBC_2.17 pread64 F
 GLIBC_2.17 pthread_attr_getaffinity_np F
 GLIBC_2.17 pthread_attr_getguardsize F
 GLIBC_2.17 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/pread.c b/sysdeps/unix/sysv/linux/pread.c
index 2574c97331..ebd7f52438 100644
--- a/sysdeps/unix/sysv/linux/pread.c
+++ b/sysdeps/unix/sysv/linux/pread.c
@@ -18,6 +18,7 @@
 
 #include <unistd.h>
 #include <sysdep-cancel.h>
+#include <shlib-compat.h>
 
 #ifndef __OFF_T_MATCHES_OFF64_T
 
@@ -30,4 +31,9 @@ __libc_pread (int fd, void *buf, size_t count, off_t offset)
 strong_alias (__libc_pread, __pread)
 libc_hidden_weak (__pread)
 weak_alias (__libc_pread, pread)
+
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_2)
+compat_symbol (libc, __libc_pread, pread, GLIBC_2_2);
+# endif
+
 #endif
diff --git a/sysdeps/unix/sysv/linux/pread64.c b/sysdeps/unix/sysv/linux/pread64.c
index 83c6896a18..7631182108 100644
--- a/sysdeps/unix/sysv/linux/pread64.c
+++ b/sysdeps/unix/sysv/linux/pread64.c
@@ -18,6 +18,7 @@
 
 #include <unistd.h>
 #include <sysdep-cancel.h>
+#include <shlib-compat.h>
 
 ssize_t
 __libc_pread64 (int fd, void *buf, size_t count, off64_t offset)
@@ -33,4 +34,13 @@ weak_alias (__libc_pread64, pread64)
 strong_alias (__libc_pread64, __libc_pread)
 weak_alias (__libc_pread64, __pread)
 weak_alias (__libc_pread64, pread)
+
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_2)
+compat_symbol (libc, __libc_pread64, pread, GLIBC_2_2);
+# endif
+#endif
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_2)
+compat_symbol (libc, __libc_pread64, pread64, GLIBC_2_2);
+compat_symbol (libc, __libc_pread64, __pread64, GLIBC_2_2);
 #endif
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 8adb5990a2..6a6d933e07 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.33 __h_errno_location F
 GLIBC_2.33 __libc_allocate_rtsig F
 GLIBC_2.33 __libc_current_sigrtmax F
 GLIBC_2.33 __libc_current_sigrtmin F
-GLIBC_2.33 __pread64 F
 GLIBC_2.33 __pthread_cleanup_routine F
 GLIBC_2.33 __pthread_getspecific F
 GLIBC_2.33 __pthread_key_create F
@@ -55,8 +54,6 @@ GLIBC_2.33 mtx_lock F
 GLIBC_2.33 mtx_timedlock F
 GLIBC_2.33 mtx_trylock F
 GLIBC_2.33 mtx_unlock F
-GLIBC_2.33 pread F
-GLIBC_2.33 pread64 F
 GLIBC_2.33 pthread_attr_getaffinity_np F
 GLIBC_2.33 pthread_attr_getguardsize F
 GLIBC_2.33 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index e2cd105df0..1dd466bf6a 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.27 __h_errno_location F
 GLIBC_2.27 __libc_allocate_rtsig F
 GLIBC_2.27 __libc_current_sigrtmax F
 GLIBC_2.27 __libc_current_sigrtmin F
-GLIBC_2.27 __pread64 F
 GLIBC_2.27 __pthread_cleanup_routine F
 GLIBC_2.27 __pthread_getspecific F
 GLIBC_2.27 __pthread_key_create F
@@ -42,8 +41,6 @@ GLIBC_2.27 _pthread_cleanup_push_defer F
 GLIBC_2.27 flockfile F
 GLIBC_2.27 ftrylockfile F
 GLIBC_2.27 funlockfile F
-GLIBC_2.27 pread F
-GLIBC_2.27 pread64 F
 GLIBC_2.27 pthread_attr_getaffinity_np F
 GLIBC_2.27 pthread_attr_getguardsize F
 GLIBC_2.27 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index d821c145a0..2164777ce1 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1811,6 +1811,7 @@ GLIBC_2.2 __getmntent_r F
 GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1902,6 +1903,8 @@ GLIBC_2.2 posix_spawnattr_setschedpolicy F
 GLIBC_2.2 posix_spawnattr_setsigdefault F
 GLIBC_2.2 posix_spawnattr_setsigmask F
 GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
 GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index f7ad32376a..c786d3abe3 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -109,7 +109,6 @@ GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
 GLIBC_2.19 longjmp F
 GLIBC_2.19 siglongjmp F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -119,8 +118,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_barrier_destroy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 8ecb675798..b7d69b63ed 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -16,7 +16,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_mutex_destroy F
@@ -47,8 +46,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_atfork F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index ed1cd3a6e3..6d77e8b917 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -14,7 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_mutex_destroy F
@@ -45,8 +44,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_atfork F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index ed1cd3a6e3..6d77e8b917 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -14,7 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_mutex_destroy F
@@ -45,8 +44,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_atfork F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 7006678a9a..0b28566840 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1809,6 +1809,7 @@ GLIBC_2.2 __getmntent_r F
 GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
+GLIBC_2.2 __pread64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1898,6 +1899,8 @@ GLIBC_2.2 posix_spawnattr_setschedpolicy F
 GLIBC_2.2 posix_spawnattr_setsigdefault F
 GLIBC_2.2 posix_spawnattr_setsigmask F
 GLIBC_2.2 posix_spawnp F
+GLIBC_2.2 pread F
+GLIBC_2.2 pread64 F
 GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 4d908d4527..cad7261d8f 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -107,7 +107,6 @@ GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_rdlock F
@@ -117,8 +116,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
 GLIBC_2.2 pthread_barrier_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 2d96fd1a41..453c60952d 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -14,7 +14,6 @@ GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
 GLIBC_2.2 __libc_current_sigrtmin F
-GLIBC_2.2 __pread64 F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_mutex_destroy F
@@ -45,8 +44,6 @@ GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
 GLIBC_2.2 longjmp F
-GLIBC_2.2 pread F
-GLIBC_2.2 pread64 F
 GLIBC_2.2 pthread_atfork F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 1429c67b42..916cfdd20e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -14,7 +14,6 @@ GLIBC_2.2.5 __h_errno_location F
 GLIBC_2.2.5 __libc_allocate_rtsig F
 GLIBC_2.2.5 __libc_current_sigrtmax F
 GLIBC_2.2.5 __libc_current_sigrtmin F
-GLIBC_2.2.5 __pread64 F
 GLIBC_2.2.5 __pthread_getspecific F
 GLIBC_2.2.5 __pthread_key_create F
 GLIBC_2.2.5 __pthread_mutex_destroy F
@@ -45,8 +44,6 @@ GLIBC_2.2.5 flockfile F
 GLIBC_2.2.5 ftrylockfile F
 GLIBC_2.2.5 funlockfile F
 GLIBC_2.2.5 longjmp F
-GLIBC_2.2.5 pread F
-GLIBC_2.2.5 pread64 F
 GLIBC_2.2.5 pthread_atfork F
 GLIBC_2.2.5 pthread_attr_getguardsize F
 GLIBC_2.2.5 pthread_attr_getstack F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 060ad61de2..e4d5f0a576 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -6,7 +6,6 @@ GLIBC_2.16 __h_errno_location F
 GLIBC_2.16 __libc_allocate_rtsig F
 GLIBC_2.16 __libc_current_sigrtmax F
 GLIBC_2.16 __libc_current_sigrtmin F
-GLIBC_2.16 __pread64 F
 GLIBC_2.16 __pthread_cleanup_routine F
 GLIBC_2.16 __pthread_getspecific F
 GLIBC_2.16 __pthread_key_create F
@@ -43,8 +42,6 @@ GLIBC_2.16 flockfile F
 GLIBC_2.16 ftrylockfile F
 GLIBC_2.16 funlockfile F
 GLIBC_2.16 longjmp F
-GLIBC_2.16 pread F
-GLIBC_2.16 pread64 F
 GLIBC_2.16 pthread_attr_getaffinity_np F
 GLIBC_2.16 pthread_attr_getguardsize F
 GLIBC_2.16 pthread_attr_getstack F
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 06/14] nptl: Remove pwrite from libpthread
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
                   ` (4 preceding siblings ...)
  2021-03-19 20:29 ` [PATCH v2 05/14] nptl: Remove pread " Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-25 14:11   ` Florian Weimer
  2021-03-19 20:29 ` [PATCH v2 07/14] nptl: Remove msgsnd from pthread-compat-wrappers Adhemerval Zanella
                   ` (8 subsequent siblings)
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

The libc version is identical and built with same flags, it is also
uses as the default version.

Checked on x86_64-linux-gnu.
---
 include/unistd.h                                       |  2 +-
 nptl/Makefile                                          |  3 ---
 nptl/Versions                                          |  3 ---
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist     |  3 ---
 sysdeps/unix/sysv/linux/alpha/libc.abilist             |  3 +++
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist       |  3 ---
 sysdeps/unix/sysv/linux/arc/libpthread.abilist         |  3 ---
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist      |  3 ---
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist      |  3 ---
 sysdeps/unix/sysv/linux/csky/libpthread.abilist        |  3 ---
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist        |  3 ---
 sysdeps/unix/sysv/linux/i386/libc.abilist              |  3 +++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist        |  3 ---
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist        |  3 ---
 .../unix/sysv/linux/m68k/coldfire/libpthread.abilist   |  3 ---
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist       |  3 +++
 sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist |  3 ---
 .../unix/sysv/linux/microblaze/be/libpthread.abilist   |  3 ---
 .../unix/sysv/linux/microblaze/le/libpthread.abilist   |  3 ---
 sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist |  3 ---
 sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist |  3 ---
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist       |  3 ---
 .../unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist |  3 +++
 .../sysv/linux/powerpc/powerpc32/libpthread.abilist    |  3 ---
 .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist    |  3 +++
 .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist |  3 ---
 .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist |  3 ---
 sysdeps/unix/sysv/linux/pwrite.c                       |  6 ++++++
 sysdeps/unix/sysv/linux/pwrite64.c                     | 10 ++++++++++
 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist  |  3 ---
 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist  |  3 ---
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist      |  3 +++
 .../unix/sysv/linux/s390/s390-32/libpthread.abilist    |  3 ---
 .../unix/sysv/linux/s390/s390-64/libpthread.abilist    |  3 ---
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist       |  3 ---
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist       |  3 ---
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist     |  3 +++
 .../unix/sysv/linux/sparc/sparc32/libpthread.abilist   |  3 ---
 .../unix/sysv/linux/sparc/sparc64/libpthread.abilist   |  3 ---
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist   |  3 ---
 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist  |  3 ---
 41 files changed, 38 insertions(+), 94 deletions(-)

diff --git a/include/unistd.h b/include/unistd.h
index 2d3698575c..1363976161 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -57,7 +57,7 @@ extern ssize_t __pwrite64 (int __fd, const void *__buf, size_t __n,
 			   __off64_t __offset);
 libc_hidden_proto (__pwrite64)
 extern ssize_t __libc_pwrite64 (int __fd, const void *__buf, size_t __n,
-				__off64_t __offset) attribute_hidden;
+				__off64_t __offset);
 extern ssize_t __libc_read (int __fd, void *__buf, size_t __n);
 libc_hidden_proto (__libc_read)
 libc_hidden_proto (read)
diff --git a/nptl/Makefile b/nptl/Makefile
index e2dd6d47a2..c5ad85507d 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -81,7 +81,6 @@ static-only-routines = pthread_atfork
 # We need to provide certain routines for compatibility with existing
 # binaries.
 pthread-compat-wrappers = \
-		      pwrite pwrite64 \
 		      msgrcv msgsnd \
 		      sigsuspend \
 
@@ -280,8 +279,6 @@ CFLAGS-sem_clockwait.c = -fexceptions -fasynchronous-unwind-tables
 
 # These are the function wrappers we have to duplicate here.
 CFLAGS-lockf.c += -fexceptions
-CFLAGS-pwrite.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-pwrite64.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sigwait.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-msgrcv.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-msgsnd.c += -fexceptions -fasynchronous-unwind-tables
diff --git a/nptl/Versions b/nptl/Versions
index 10d8ea0629..674b31e87e 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -223,7 +223,6 @@ libpthread {
     __pthread_rwlock_trywrlock;
     __pthread_rwlock_unlock;
     __pthread_rwlock_wrlock;
-    __pwrite64;
     __res_state;
     pthread_attr_getstack;
     pthread_attr_setstack;
@@ -247,8 +246,6 @@ libpthread {
     pthread_spin_trylock;
     pthread_spin_unlock;
     pthread_yield;
-    pwrite64;
-    pwrite;
     sem_timedwait;
   }
 
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index f3568411f3..f171ffff75 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.17 __pthread_setspecific F
 GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 __pthread_unwind_next F
-GLIBC_2.17 __pwrite64 F
 GLIBC_2.17 __res_state F
 GLIBC_2.17 __sigaction F
 GLIBC_2.17 _pthread_cleanup_pop F
@@ -138,8 +137,6 @@ GLIBC_2.17 pthread_testcancel F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
 GLIBC_2.17 pthread_yield F
-GLIBC_2.17 pwrite F
-GLIBC_2.17 pwrite64 F
 GLIBC_2.17 raise F
 GLIBC_2.17 sem_close F
 GLIBC_2.17 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 3de66531a2..2578675af2 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -1848,6 +1848,7 @@ GLIBC_2.2 __getmntent_r F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1941,6 +1942,8 @@ GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
 GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
 GLIBC_2.2 rcmd_af F
 GLIBC_2.2 rexec_af F
 GLIBC_2.2 rresvport_af F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index cad7261d8f..12f3f308dd 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -114,7 +114,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
@@ -138,8 +137,6 @@ GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index d55abc12af..99fd486c69 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.32 __pthread_setspecific F
 GLIBC_2.32 __pthread_unregister_cancel F
 GLIBC_2.32 __pthread_unregister_cancel_restore F
 GLIBC_2.32 __pthread_unwind_next F
-GLIBC_2.32 __pwrite64 F
 GLIBC_2.32 __res_state F
 GLIBC_2.32 __sigaction F
 GLIBC_2.32 _pthread_cleanup_pop F
@@ -157,8 +156,6 @@ GLIBC_2.32 pthread_testcancel F
 GLIBC_2.32 pthread_timedjoin_np F
 GLIBC_2.32 pthread_tryjoin_np F
 GLIBC_2.32 pthread_yield F
-GLIBC_2.32 pwrite F
-GLIBC_2.32 pwrite64 F
 GLIBC_2.32 raise F
 GLIBC_2.32 sem_clockwait F
 GLIBC_2.32 sem_close F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index d2e4c05f86..c0f504c788 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -66,7 +66,6 @@ GLIBC_2.4 __pthread_setspecific F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __pthread_unwind_next F
-GLIBC_2.4 __pwrite64 F
 GLIBC_2.4 __res_state F
 GLIBC_2.4 __sigaction F
 GLIBC_2.4 _pthread_cleanup_pop F
@@ -167,8 +166,6 @@ GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 pthread_yield F
-GLIBC_2.4 pwrite F
-GLIBC_2.4 pwrite64 F
 GLIBC_2.4 raise F
 GLIBC_2.4 sem_close F
 GLIBC_2.4 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index d2e4c05f86..c0f504c788 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -66,7 +66,6 @@ GLIBC_2.4 __pthread_setspecific F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __pthread_unwind_next F
-GLIBC_2.4 __pwrite64 F
 GLIBC_2.4 __res_state F
 GLIBC_2.4 __sigaction F
 GLIBC_2.4 _pthread_cleanup_pop F
@@ -167,8 +166,6 @@ GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 pthread_yield F
-GLIBC_2.4 pwrite F
-GLIBC_2.4 pwrite64 F
 GLIBC_2.4 raise F
 GLIBC_2.4 sem_close F
 GLIBC_2.4 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 8324449d3d..b5bf15c7b8 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.29 __pthread_setspecific F
 GLIBC_2.29 __pthread_unregister_cancel F
 GLIBC_2.29 __pthread_unregister_cancel_restore F
 GLIBC_2.29 __pthread_unwind_next F
-GLIBC_2.29 __pwrite64 F
 GLIBC_2.29 __res_state F
 GLIBC_2.29 __sigaction F
 GLIBC_2.29 _pthread_cleanup_pop F
@@ -152,8 +151,6 @@ GLIBC_2.29 pthread_testcancel F
 GLIBC_2.29 pthread_timedjoin_np F
 GLIBC_2.29 pthread_tryjoin_np F
 GLIBC_2.29 pthread_yield F
-GLIBC_2.29 pwrite F
-GLIBC_2.29 pwrite64 F
 GLIBC_2.29 raise F
 GLIBC_2.29 sem_close F
 GLIBC_2.29 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 6d77e8b917..85c671a897 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
@@ -118,8 +117,6 @@ GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 raise F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index f88a24bb51..9faf9c158c 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -1852,6 +1852,7 @@ GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1950,6 +1951,8 @@ GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
 GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
 GLIBC_2.2 rcmd_af F
 GLIBC_2.2 readdir64 F
 GLIBC_2.2 readdir64_r F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index db03a23a65..82b841485c 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -114,7 +114,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
@@ -138,8 +137,6 @@ GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 453c60952d..24259467de 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
@@ -118,8 +117,6 @@ GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 raise F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index d2e4c05f86..c0f504c788 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -66,7 +66,6 @@ GLIBC_2.4 __pthread_setspecific F
 GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __pthread_unwind_next F
-GLIBC_2.4 __pwrite64 F
 GLIBC_2.4 __res_state F
 GLIBC_2.4 __sigaction F
 GLIBC_2.4 _pthread_cleanup_pop F
@@ -167,8 +166,6 @@ GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 pthread_yield F
-GLIBC_2.4 pwrite F
-GLIBC_2.4 pwrite64 F
 GLIBC_2.4 raise F
 GLIBC_2.4 sem_close F
 GLIBC_2.4 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index dd75512e35..9fea9b5c4a 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -1808,6 +1808,7 @@ GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1906,6 +1907,8 @@ GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
 GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
 GLIBC_2.2 rcmd_af F
 GLIBC_2.2 readdir64 F
 GLIBC_2.2 readdir64_r F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index db03a23a65..82b841485c 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -114,7 +114,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
@@ -138,8 +137,6 @@ GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index d018354186..1575b0f422 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.18 __pthread_setspecific F
 GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 __pthread_unwind_next F
-GLIBC_2.18 __pwrite64 F
 GLIBC_2.18 __res_state F
 GLIBC_2.18 __sigaction F
 GLIBC_2.18 _pthread_cleanup_pop F
@@ -140,8 +139,6 @@ GLIBC_2.18 pthread_testcancel F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
 GLIBC_2.18 pthread_yield F
-GLIBC_2.18 pwrite F
-GLIBC_2.18 pwrite64 F
 GLIBC_2.18 raise F
 GLIBC_2.18 sem_close F
 GLIBC_2.18 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index d018354186..1575b0f422 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.18 __pthread_setspecific F
 GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 __pthread_unwind_next F
-GLIBC_2.18 __pwrite64 F
 GLIBC_2.18 __res_state F
 GLIBC_2.18 __sigaction F
 GLIBC_2.18 _pthread_cleanup_pop F
@@ -140,8 +139,6 @@ GLIBC_2.18 pthread_testcancel F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
 GLIBC_2.18 pthread_yield F
-GLIBC_2.18 pwrite F
-GLIBC_2.18 pwrite64 F
 GLIBC_2.18 raise F
 GLIBC_2.18 sem_close F
 GLIBC_2.18 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index c2e1455b6d..75761f9615 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -80,7 +80,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
@@ -128,8 +127,6 @@ GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index c2e1455b6d..75761f9615 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -80,7 +80,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 pthread_attr_getguardsize F
 GLIBC_2.2 pthread_attr_getstack F
@@ -128,8 +127,6 @@ GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 7106cab1a3..4486aeaa9e 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.21 __pthread_setspecific F
 GLIBC_2.21 __pthread_unregister_cancel F
 GLIBC_2.21 __pthread_unregister_cancel_restore F
 GLIBC_2.21 __pthread_unwind_next F
-GLIBC_2.21 __pwrite64 F
 GLIBC_2.21 __res_state F
 GLIBC_2.21 __sigaction F
 GLIBC_2.21 _pthread_cleanup_pop F
@@ -140,8 +139,6 @@ GLIBC_2.21 pthread_testcancel F
 GLIBC_2.21 pthread_timedjoin_np F
 GLIBC_2.21 pthread_tryjoin_np F
 GLIBC_2.21 pthread_yield F
-GLIBC_2.21 pwrite F
-GLIBC_2.21 pwrite64 F
 GLIBC_2.21 raise F
 GLIBC_2.21 sem_close F
 GLIBC_2.21 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index aa622a5415..b1bff398d6 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -1814,6 +1814,7 @@ GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1911,6 +1912,8 @@ GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
 GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
 GLIBC_2.2 rcmd_af F
 GLIBC_2.2 readdir64 F
 GLIBC_2.2 readdir64_r F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 4d2a26abe9..6960b58415 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -114,7 +114,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
@@ -138,8 +137,6 @@ GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index f9840c739f..1598abd156 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -1818,6 +1818,7 @@ GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1915,6 +1916,8 @@ GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
 GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
 GLIBC_2.2 rcmd_af F
 GLIBC_2.2 readdir64 F
 GLIBC_2.2 readdir64_r F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index d1d79e5f3c..cc45647683 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -54,7 +54,6 @@ GLIBC_2.3 __pthread_rwlock_trywrlock F
 GLIBC_2.3 __pthread_rwlock_unlock F
 GLIBC_2.3 __pthread_rwlock_wrlock F
 GLIBC_2.3 __pthread_setspecific F
-GLIBC_2.3 __pwrite64 F
 GLIBC_2.3 __res_state F
 GLIBC_2.3 __sigaction F
 GLIBC_2.3 _pthread_cleanup_pop F
@@ -138,8 +137,6 @@ GLIBC_2.3 pthread_spin_trylock F
 GLIBC_2.3 pthread_spin_unlock F
 GLIBC_2.3 pthread_testcancel F
 GLIBC_2.3 pthread_yield F
-GLIBC_2.3 pwrite F
-GLIBC_2.3 pwrite64 F
 GLIBC_2.3 raise F
 GLIBC_2.3 sem_close F
 GLIBC_2.3 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index f3568411f3..f171ffff75 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.17 __pthread_setspecific F
 GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 __pthread_unwind_next F
-GLIBC_2.17 __pwrite64 F
 GLIBC_2.17 __res_state F
 GLIBC_2.17 __sigaction F
 GLIBC_2.17 _pthread_cleanup_pop F
@@ -138,8 +137,6 @@ GLIBC_2.17 pthread_testcancel F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
 GLIBC_2.17 pthread_yield F
-GLIBC_2.17 pwrite F
-GLIBC_2.17 pwrite64 F
 GLIBC_2.17 raise F
 GLIBC_2.17 sem_close F
 GLIBC_2.17 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/pwrite.c b/sysdeps/unix/sysv/linux/pwrite.c
index 5ab046273f..c39ee8a163 100644
--- a/sysdeps/unix/sysv/linux/pwrite.c
+++ b/sysdeps/unix/sysv/linux/pwrite.c
@@ -18,6 +18,7 @@
 
 #include <unistd.h>
 #include <sysdep-cancel.h>
+#include <shlib-compat.h>
 
 #ifndef __OFF_T_MATCHES_OFF64_T
 
@@ -30,4 +31,9 @@ __libc_pwrite (int fd, const void *buf, size_t count, off_t offset)
 strong_alias (__libc_pwrite, __pwrite)
 libc_hidden_weak (__pwrite)
 weak_alias (__libc_pwrite, pwrite)
+
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_2)
+compat_symbol (libc, __libc_pwrite, pwrite, GLIBC_2_2);
+# endif
+
 #endif
diff --git a/sysdeps/unix/sysv/linux/pwrite64.c b/sysdeps/unix/sysv/linux/pwrite64.c
index bfbee9350f..f39e1238a4 100644
--- a/sysdeps/unix/sysv/linux/pwrite64.c
+++ b/sysdeps/unix/sysv/linux/pwrite64.c
@@ -18,6 +18,7 @@
 
 #include <unistd.h>
 #include <sysdep-cancel.h>
+#include <shlib-compat.h>
 
 ssize_t
 __libc_pwrite64 (int fd, const void *buf, size_t count, off64_t offset)
@@ -33,4 +34,13 @@ weak_alias (__libc_pwrite64, pwrite64)
 strong_alias (__libc_pwrite64, __libc_pwrite)
 weak_alias (__libc_pwrite64, __pwrite)
 weak_alias (__libc_pwrite64, pwrite)
+
+# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_2)
+compat_symbol (libc, __libc_pwrite64, pwrite, GLIBC_2_2);
+# endif
+#endif
+
+#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2)
+compat_symbol (libc, __libc_pwrite64, pwrite64, GLIBC_2_2);
+compat_symbol (libc, __libc_pwrite64, __pwrite64, GLIBC_2_2);
 #endif
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 6a6d933e07..fb3965a32a 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.33 __pthread_setspecific F
 GLIBC_2.33 __pthread_unregister_cancel F
 GLIBC_2.33 __pthread_unregister_cancel_restore F
 GLIBC_2.33 __pthread_unwind_next F
-GLIBC_2.33 __pwrite64 F
 GLIBC_2.33 __res_state F
 GLIBC_2.33 __sigaction F
 GLIBC_2.33 _pthread_cleanup_pop F
@@ -157,8 +156,6 @@ GLIBC_2.33 pthread_testcancel F
 GLIBC_2.33 pthread_timedjoin_np F
 GLIBC_2.33 pthread_tryjoin_np F
 GLIBC_2.33 pthread_yield F
-GLIBC_2.33 pwrite F
-GLIBC_2.33 pwrite64 F
 GLIBC_2.33 raise F
 GLIBC_2.33 sem_clockwait F
 GLIBC_2.33 sem_close F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 1dd466bf6a..8c69c41db4 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.27 __pthread_setspecific F
 GLIBC_2.27 __pthread_unregister_cancel F
 GLIBC_2.27 __pthread_unregister_cancel_restore F
 GLIBC_2.27 __pthread_unwind_next F
-GLIBC_2.27 __pwrite64 F
 GLIBC_2.27 __res_state F
 GLIBC_2.27 __sigaction F
 GLIBC_2.27 _pthread_cleanup_pop F
@@ -139,8 +138,6 @@ GLIBC_2.27 pthread_testcancel F
 GLIBC_2.27 pthread_timedjoin_np F
 GLIBC_2.27 pthread_tryjoin_np F
 GLIBC_2.27 pthread_yield F
-GLIBC_2.27 pwrite F
-GLIBC_2.27 pwrite64 F
 GLIBC_2.27 raise F
 GLIBC_2.27 sem_close F
 GLIBC_2.27 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 2164777ce1..5fd3caa37d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -1812,6 +1812,7 @@ GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1909,6 +1910,8 @@ GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
 GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
 GLIBC_2.2 rcmd_af F
 GLIBC_2.2 readdir64 F
 GLIBC_2.2 readdir64_r F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index c786d3abe3..4b95d12663 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -116,7 +116,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
@@ -140,8 +139,6 @@ GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __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
index b7d69b63ed..9cc4ddb82e 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -35,7 +35,6 @@ GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
@@ -120,8 +119,6 @@ GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 raise F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 6d77e8b917..85c671a897 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
@@ -118,8 +117,6 @@ GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 raise F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 6d77e8b917..85c671a897 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
@@ -118,8 +117,6 @@ GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 raise F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 0b28566840..cb8c0d398a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -1810,6 +1810,7 @@ GLIBC_2.2 __lxstat64 F
 GLIBC_2.2 __nl_langinfo_l F
 GLIBC_2.2 __open64 F
 GLIBC_2.2 __pread64 F
+GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_init F
 GLIBC_2.2 __res_nclose F
 GLIBC_2.2 __res_ninit F
@@ -1905,6 +1906,8 @@ GLIBC_2.2 putwc F
 GLIBC_2.2 putwc_unlocked F
 GLIBC_2.2 putwchar F
 GLIBC_2.2 putwchar_unlocked F
+GLIBC_2.2 pwrite F
+GLIBC_2.2 pwrite64 F
 GLIBC_2.2 rcmd_af F
 GLIBC_2.2 readdir64 F
 GLIBC_2.2 readdir64_r F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index cad7261d8f..12f3f308dd 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -114,7 +114,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F
 GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 pthread_attr_getstack F
 GLIBC_2.2 pthread_attr_setstack F
@@ -138,8 +137,6 @@ GLIBC_2.2 pthread_spin_lock F
 GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 sem_timedwait F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 453c60952d..24259467de 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.2 __pthread_rwlock_trywrlock F
 GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
-GLIBC_2.2 __pwrite64 F
 GLIBC_2.2 __res_state F
 GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
@@ -118,8 +117,6 @@ GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 pwrite F
-GLIBC_2.2 pwrite64 F
 GLIBC_2.2 raise F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 916cfdd20e..2b98fbbe72 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -33,7 +33,6 @@ GLIBC_2.2.5 __pthread_rwlock_trywrlock F
 GLIBC_2.2.5 __pthread_rwlock_unlock F
 GLIBC_2.2.5 __pthread_rwlock_wrlock F
 GLIBC_2.2.5 __pthread_setspecific F
-GLIBC_2.2.5 __pwrite64 F
 GLIBC_2.2.5 __res_state F
 GLIBC_2.2.5 __sigaction F
 GLIBC_2.2.5 _pthread_cleanup_pop F
@@ -118,8 +117,6 @@ GLIBC_2.2.5 pthread_spin_trylock F
 GLIBC_2.2.5 pthread_spin_unlock F
 GLIBC_2.2.5 pthread_testcancel F
 GLIBC_2.2.5 pthread_yield F
-GLIBC_2.2.5 pwrite F
-GLIBC_2.2.5 pwrite64 F
 GLIBC_2.2.5 raise F
 GLIBC_2.2.5 sem_close F
 GLIBC_2.2.5 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index e4d5f0a576..660eb97cd3 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -31,7 +31,6 @@ GLIBC_2.16 __pthread_setspecific F
 GLIBC_2.16 __pthread_unregister_cancel F
 GLIBC_2.16 __pthread_unregister_cancel_restore F
 GLIBC_2.16 __pthread_unwind_next F
-GLIBC_2.16 __pwrite64 F
 GLIBC_2.16 __res_state F
 GLIBC_2.16 __sigaction F
 GLIBC_2.16 _pthread_cleanup_pop F
@@ -138,8 +137,6 @@ GLIBC_2.16 pthread_testcancel F
 GLIBC_2.16 pthread_timedjoin_np F
 GLIBC_2.16 pthread_tryjoin_np F
 GLIBC_2.16 pthread_yield F
-GLIBC_2.16 pwrite F
-GLIBC_2.16 pwrite64 F
 GLIBC_2.16 raise F
 GLIBC_2.16 sem_close F
 GLIBC_2.16 sem_destroy F
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 07/14] nptl: Remove msgsnd from pthread-compat-wrappers
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
                   ` (5 preceding siblings ...)
  2021-03-19 20:29 ` [PATCH v2 06/14] nptl: Remove pwrite " Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-25 14:33   ` Florian Weimer
  2021-03-19 20:29 ` [PATCH v2 08/14] nptl: Remove msgrcv " Adhemerval Zanella
                   ` (7 subsequent siblings)
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

The symbol is not exported by libpthread.
---
 nptl/Makefile | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index c5ad85507d..c159af8a33 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -81,7 +81,7 @@ static-only-routines = pthread_atfork
 # We need to provide certain routines for compatibility with existing
 # binaries.
 pthread-compat-wrappers = \
-		      msgrcv msgsnd \
+		      msgrcv \
 		      sigsuspend \
 
 libpthread-routines = \
@@ -281,7 +281,6 @@ CFLAGS-sem_clockwait.c = -fexceptions -fasynchronous-unwind-tables
 CFLAGS-lockf.c += -fexceptions
 CFLAGS-sigwait.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-msgrcv.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-msgsnd.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sigsuspend.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-fdatasync.c += -fexceptions -fasynchronous-unwind-tables
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 08/14] nptl: Remove msgrcv from pthread-compat-wrappers
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
                   ` (6 preceding siblings ...)
  2021-03-19 20:29 ` [PATCH v2 07/14] nptl: Remove msgsnd from pthread-compat-wrappers Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-25 14:33   ` Florian Weimer
  2021-03-19 20:29 ` [PATCH v2 09/14] nptl: Remove sigsuspend " Adhemerval Zanella
                   ` (6 subsequent siblings)
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

The symbol is not exported by libpthread.
---
 nptl/Makefile | 2 --
 1 file changed, 2 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index c159af8a33..6d29815b35 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -81,7 +81,6 @@ static-only-routines = pthread_atfork
 # We need to provide certain routines for compatibility with existing
 # binaries.
 pthread-compat-wrappers = \
-		      msgrcv \
 		      sigsuspend \
 
 libpthread-routines = \
@@ -280,7 +279,6 @@ CFLAGS-sem_clockwait.c = -fexceptions -fasynchronous-unwind-tables
 # These are the function wrappers we have to duplicate here.
 CFLAGS-lockf.c += -fexceptions
 CFLAGS-sigwait.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-msgrcv.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sigsuspend.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-fdatasync.c += -fexceptions -fasynchronous-unwind-tables
 
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 09/14] nptl: Remove sigsuspend from pthread-compat-wrappers
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
                   ` (7 preceding siblings ...)
  2021-03-19 20:29 ` [PATCH v2 08/14] nptl: Remove msgrcv " Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-25 14:34   ` Florian Weimer
  2021-03-19 20:29 ` [PATCH v2 10/14] nptl: Move pthread_kill to libc Adhemerval Zanella
                   ` (5 subsequent siblings)
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

The symbol is not exported by libpthread.
---
 nptl/Makefile | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index 6d29815b35..6ff2d5e208 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -78,13 +78,7 @@ routines = \
 shared-only-routines = forward
 static-only-routines = pthread_atfork
 
-# We need to provide certain routines for compatibility with existing
-# binaries.
-pthread-compat-wrappers = \
-		      sigsuspend \
-
 libpthread-routines = \
-  $(pthread-compat-wrappers) \
   cancellation \
   cleanup \
   cleanup_compat \
@@ -279,7 +273,6 @@ CFLAGS-sem_clockwait.c = -fexceptions -fasynchronous-unwind-tables
 # These are the function wrappers we have to duplicate here.
 CFLAGS-lockf.c += -fexceptions
 CFLAGS-sigwait.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-sigsuspend.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-fdatasync.c += -fexceptions -fasynchronous-unwind-tables
 
 CFLAGS-futex-internal.c += -fexceptions -fasynchronous-unwind-tables
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 10/14] nptl: Move pthread_kill to libc
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
                   ` (8 preceding siblings ...)
  2021-03-19 20:29 ` [PATCH v2 09/14] nptl: Remove sigsuspend " Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-25 14:45   ` Florian Weimer
  2021-03-19 20:29 ` [PATCH v2 11/14] nptl: Remove pthread raise implementation Adhemerval Zanella
                   ` (4 subsequent siblings)
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

A new 2.34 version is also provided.

Checked on x86_64-linux-gnu.
---
 nptl/Makefile                                              | 2 +-
 nptl/Versions                                              | 5 ++++-
 nptl/pthread_kill.c                                        | 7 ++++++-
 sysdeps/unix/sysv/linux/aarch64/libc.abilist               | 2 ++
 sysdeps/unix/sysv/linux/aarch64/libpthread.abilist         | 1 -
 sysdeps/unix/sysv/linux/alpha/libc.abilist                 | 2 ++
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist           | 1 -
 sysdeps/unix/sysv/linux/arc/libc.abilist                   | 2 ++
 sysdeps/unix/sysv/linux/arc/libpthread.abilist             | 1 -
 sysdeps/unix/sysv/linux/arm/be/libc.abilist                | 2 ++
 sysdeps/unix/sysv/linux/arm/be/libpthread.abilist          | 1 -
 sysdeps/unix/sysv/linux/arm/le/libc.abilist                | 2 ++
 sysdeps/unix/sysv/linux/arm/le/libpthread.abilist          | 1 -
 sysdeps/unix/sysv/linux/csky/libc.abilist                  | 2 ++
 sysdeps/unix/sysv/linux/csky/libpthread.abilist            | 1 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist                  | 2 ++
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist            | 1 -
 sysdeps/unix/sysv/linux/i386/libc.abilist                  | 2 ++
 sysdeps/unix/sysv/linux/i386/libpthread.abilist            | 1 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist                  | 2 ++
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist            | 1 -
 sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist         | 2 ++
 sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist   | 1 -
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist           | 2 ++
 sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist     | 1 -
 sysdeps/unix/sysv/linux/microblaze/be/libc.abilist         | 2 ++
 sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist   | 1 -
 sysdeps/unix/sysv/linux/microblaze/le/libc.abilist         | 2 ++
 sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist   | 1 -
 sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist       | 2 ++
 sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist     | 1 -
 sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist     | 2 ++
 sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist     | 1 -
 sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist       | 2 ++
 sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist       | 2 ++
 sysdeps/unix/sysv/linux/nios2/libc.abilist                 | 2 ++
 sysdeps/unix/sysv/linux/nios2/libpthread.abilist           | 1 -
 sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 2 ++
 .../unix/sysv/linux/powerpc/powerpc32/libpthread.abilist   | 1 -
 .../unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   | 2 ++
 sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist  | 2 ++
 .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist     | 1 -
 sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist  | 2 ++
 .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist     | 1 -
 sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist            | 2 ++
 sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist      | 1 -
 sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist            | 2 ++
 sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist      | 1 -
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist          | 2 ++
 sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist    | 1 -
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist          | 2 ++
 sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist    | 1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist                 | 2 ++
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist           | 1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist                 | 2 ++
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist           | 1 -
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist         | 2 ++
 sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist   | 1 -
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist         | 2 ++
 sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist   | 1 -
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist             | 2 ++
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist       | 1 -
 sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist            | 2 ++
 sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist      | 1 -
 64 files changed, 75 insertions(+), 32 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index 6ff2d5e208..1e01d8e24c 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -71,6 +71,7 @@ routines = \
   pthread_getaffinity \
   pthread_getattr_np \
   pthread_getschedparam \
+  pthread_kill \
   pthread_self \
   pthread_setschedparam \
   pthread_sigmask \
@@ -140,7 +141,6 @@ libpthread-routines = \
   pthread_join_common \
   pthread_key_create \
   pthread_key_delete \
-  pthread_kill \
   pthread_kill_other_threads \
   pthread_mutex_cond_lock \
   pthread_mutex_conf \
diff --git a/nptl/Versions b/nptl/Versions
index 674b31e87e..4b91eacc4a 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -23,6 +23,7 @@ libc {
     pthread_equal;
     pthread_exit;
     pthread_getschedparam;
+    pthread_kill;
     pthread_mutex_destroy;
     pthread_mutex_init;
     pthread_mutex_lock;
@@ -70,6 +71,9 @@ libc {
     pthread_getattr_np;
     pthread_sigmask;
   }
+  GLIBC_2.34 {
+    pthread_kill;
+  }
   GLIBC_PRIVATE {
     __futex_abstimed_wait64;
     __futex_abstimed_wait_cancelable64;
@@ -141,7 +145,6 @@ libpthread {
     pthread_join;
     pthread_key_create;
     pthread_key_delete;
-    pthread_kill;
     pthread_kill_other_threads_np;
     pthread_mutex_destroy;
     pthread_mutex_init;
diff --git a/nptl/pthread_kill.c b/nptl/pthread_kill.c
index 84b40478aa..ad7e011779 100644
--- a/nptl/pthread_kill.c
+++ b/nptl/pthread_kill.c
@@ -18,6 +18,7 @@
 
 #include <unistd.h>
 #include <pthreadP.h>
+#include <shlib-compat.h>
 
 int
 __pthread_kill (pthread_t threadid, int signo)
@@ -43,4 +44,8 @@ __pthread_kill (pthread_t threadid, int signo)
   return (INTERNAL_SYSCALL_ERROR_P (val)
 	  ? INTERNAL_SYSCALL_ERRNO (val) : 0);
 }
-strong_alias (__pthread_kill, pthread_kill)
+versioned_symbol (libc, __pthread_kill, pthread_kill, GLIBC_2_34);
+
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34)
+compat_symbol (libc, __pthread_kill, pthread_kill, GLIBC_2_0);
+#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
index 29f41b7ed5..851f15a566 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
@@ -1443,6 +1443,7 @@ GLIBC_2.17 pthread_exit F
 GLIBC_2.17 pthread_getaffinity_np F
 GLIBC_2.17 pthread_getattr_np F
 GLIBC_2.17 pthread_getschedparam F
+GLIBC_2.17 pthread_kill F
 GLIBC_2.17 pthread_mutex_destroy F
 GLIBC_2.17 pthread_mutex_init F
 GLIBC_2.17 pthread_mutex_lock F
@@ -2173,3 +2174,4 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index f171ffff75..57d20b9916 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -76,7 +76,6 @@ GLIBC_2.17 pthread_getspecific F
 GLIBC_2.17 pthread_join F
 GLIBC_2.17 pthread_key_create F
 GLIBC_2.17 pthread_key_delete F
-GLIBC_2.17 pthread_kill F
 GLIBC_2.17 pthread_kill_other_threads_np F
 GLIBC_2.17 pthread_mutex_consistent F
 GLIBC_2.17 pthread_mutex_consistent_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 2578675af2..33b426ef20 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -883,6 +883,7 @@ GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_equal F
 GLIBC_2.0 pthread_exit F
 GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
 GLIBC_2.0 pthread_mutex_lock F
@@ -2262,6 +2263,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 12f3f308dd..251adefc29 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.0 pthread_getspecific F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_key_create F
 GLIBC_2.0 pthread_key_delete F
-GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
index 604d259ad6..c09947ad58 100644
--- a/sysdeps/unix/sysv/linux/arc/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
@@ -1369,6 +1369,7 @@ GLIBC_2.32 pthread_exit F
 GLIBC_2.32 pthread_getaffinity_np F
 GLIBC_2.32 pthread_getattr_np F
 GLIBC_2.32 pthread_getschedparam F
+GLIBC_2.32 pthread_kill F
 GLIBC_2.32 pthread_mutex_destroy F
 GLIBC_2.32 pthread_mutex_init F
 GLIBC_2.32 pthread_mutex_lock F
@@ -1932,3 +1933,4 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 99fd486c69..0ce5a9b4e0 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -91,7 +91,6 @@ GLIBC_2.32 pthread_getspecific F
 GLIBC_2.32 pthread_join F
 GLIBC_2.32 pthread_key_create F
 GLIBC_2.32 pthread_key_delete F
-GLIBC_2.32 pthread_kill F
 GLIBC_2.32 pthread_kill_other_threads_np F
 GLIBC_2.32 pthread_mutex_clocklock F
 GLIBC_2.32 pthread_mutex_consistent F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
index 094236f713..57be971f81 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
@@ -156,6 +156,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
 GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
@@ -1535,6 +1536,7 @@ GLIBC_2.4 pthread_exit F
 GLIBC_2.4 pthread_getaffinity_np F
 GLIBC_2.4 pthread_getattr_np F
 GLIBC_2.4 pthread_getschedparam F
+GLIBC_2.4 pthread_kill F
 GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_init F
 GLIBC_2.4 pthread_mutex_lock F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index c0f504c788..ad662c1e90 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -110,7 +110,6 @@ GLIBC_2.4 pthread_getspecific F
 GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_key_create F
 GLIBC_2.4 pthread_key_delete F
-GLIBC_2.4 pthread_kill F
 GLIBC_2.4 pthread_kill_other_threads_np F
 GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_destroy F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
index 2bb4d31e81..2db02fae07 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
@@ -153,6 +153,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0xa0
 GLIBC_2.4 _IO_2_1_stdin_ D 0xa0
@@ -1532,6 +1533,7 @@ GLIBC_2.4 pthread_exit F
 GLIBC_2.4 pthread_getaffinity_np F
 GLIBC_2.4 pthread_getattr_np F
 GLIBC_2.4 pthread_getschedparam F
+GLIBC_2.4 pthread_kill F
 GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_init F
 GLIBC_2.4 pthread_mutex_lock F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index c0f504c788..ad662c1e90 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -110,7 +110,6 @@ GLIBC_2.4 pthread_getspecific F
 GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_key_create F
 GLIBC_2.4 pthread_key_delete F
-GLIBC_2.4 pthread_kill F
 GLIBC_2.4 pthread_kill_other_threads_np F
 GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_destroy F
diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
index d4291fecfb..0dd3527892 100644
--- a/sysdeps/unix/sysv/linux/csky/libc.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
@@ -1430,6 +1430,7 @@ GLIBC_2.29 pthread_exit F
 GLIBC_2.29 pthread_getaffinity_np F
 GLIBC_2.29 pthread_getattr_np F
 GLIBC_2.29 pthread_getschedparam F
+GLIBC_2.29 pthread_kill F
 GLIBC_2.29 pthread_mutex_destroy F
 GLIBC_2.29 pthread_mutex_init F
 GLIBC_2.29 pthread_mutex_lock F
@@ -2116,3 +2117,4 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index b5bf15c7b8..d9a38c96bf 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -89,7 +89,6 @@ GLIBC_2.29 pthread_getspecific F
 GLIBC_2.29 pthread_join F
 GLIBC_2.29 pthread_key_create F
 GLIBC_2.29 pthread_key_delete F
-GLIBC_2.29 pthread_kill F
 GLIBC_2.29 pthread_kill_other_threads_np F
 GLIBC_2.29 pthread_mutex_consistent F
 GLIBC_2.29 pthread_mutex_consistent_np F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index 1fd2a862f6..04c32f9b65 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1266,6 +1266,7 @@ GLIBC_2.2 pthread_condattr_init F
 GLIBC_2.2 pthread_equal F
 GLIBC_2.2 pthread_exit F
 GLIBC_2.2 pthread_getschedparam F
+GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_mutex_destroy F
 GLIBC_2.2 pthread_mutex_init F
 GLIBC_2.2 pthread_mutex_lock F
@@ -2075,6 +2076,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 85c671a897..dcd57e5407 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -74,7 +74,6 @@ GLIBC_2.2 pthread_getspecific F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_key_create F
 GLIBC_2.2 pthread_key_delete F
-GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_kill_other_threads_np F
 GLIBC_2.2 pthread_mutex_destroy F
 GLIBC_2.2 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 9faf9c158c..cdb6ec501a 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -860,6 +860,7 @@ GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_equal F
 GLIBC_2.0 pthread_exit F
 GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
 GLIBC_2.0 pthread_mutex_lock F
@@ -2250,6 +2251,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 82b841485c..a9e64dff53 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.0 pthread_getspecific F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_key_create F
 GLIBC_2.0 pthread_key_delete F
-GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index f530151bde..d0424a8b1a 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1287,6 +1287,7 @@ GLIBC_2.2 pthread_condattr_init F
 GLIBC_2.2 pthread_equal F
 GLIBC_2.2 pthread_exit F
 GLIBC_2.2 pthread_getschedparam F
+GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_mutex_destroy F
 GLIBC_2.2 pthread_mutex_init F
 GLIBC_2.2 pthread_mutex_lock F
@@ -2107,6 +2108,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 24259467de..f9792290f4 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -74,7 +74,6 @@ GLIBC_2.2 pthread_getspecific F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_key_create F
 GLIBC_2.2 pthread_key_delete F
-GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_kill_other_threads_np F
 GLIBC_2.2 pthread_mutex_destroy F
 GLIBC_2.2 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
index 6e76b6dcaa..bdecf60fae 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
@@ -157,6 +157,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 _Exit F
 GLIBC_2.4 _IO_2_1_stderr_ D 0x98
 GLIBC_2.4 _IO_2_1_stdin_ D 0x98
@@ -1515,6 +1516,7 @@ GLIBC_2.4 pthread_exit F
 GLIBC_2.4 pthread_getaffinity_np F
 GLIBC_2.4 pthread_getattr_np F
 GLIBC_2.4 pthread_getschedparam F
+GLIBC_2.4 pthread_kill F
 GLIBC_2.4 pthread_mutex_destroy F
 GLIBC_2.4 pthread_mutex_init F
 GLIBC_2.4 pthread_mutex_lock F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index c0f504c788..ad662c1e90 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -110,7 +110,6 @@ GLIBC_2.4 pthread_getspecific F
 GLIBC_2.4 pthread_join F
 GLIBC_2.4 pthread_key_create F
 GLIBC_2.4 pthread_key_delete F
-GLIBC_2.4 pthread_kill F
 GLIBC_2.4 pthread_kill_other_threads_np F
 GLIBC_2.4 pthread_mutex_consistent_np F
 GLIBC_2.4 pthread_mutex_destroy F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index 9fea9b5c4a..eaa5a97a61 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -859,6 +859,7 @@ GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_equal F
 GLIBC_2.0 pthread_exit F
 GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
 GLIBC_2.0 pthread_mutex_lock F
@@ -2195,6 +2196,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 82b841485c..a9e64dff53 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.0 pthread_getspecific F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_key_create F
 GLIBC_2.0 pthread_key_delete F
-GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
index 6cf1936c42..571315511b 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
@@ -1445,6 +1445,7 @@ GLIBC_2.18 pthread_exit F
 GLIBC_2.18 pthread_getaffinity_np F
 GLIBC_2.18 pthread_getattr_np F
 GLIBC_2.18 pthread_getschedparam F
+GLIBC_2.18 pthread_kill F
 GLIBC_2.18 pthread_mutex_destroy F
 GLIBC_2.18 pthread_mutex_init F
 GLIBC_2.18 pthread_mutex_lock F
@@ -2167,3 +2168,4 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 1575b0f422..065f5ea671 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -77,7 +77,6 @@ GLIBC_2.18 pthread_getspecific F
 GLIBC_2.18 pthread_join F
 GLIBC_2.18 pthread_key_create F
 GLIBC_2.18 pthread_key_delete F
-GLIBC_2.18 pthread_kill F
 GLIBC_2.18 pthread_kill_other_threads_np F
 GLIBC_2.18 pthread_mutex_consistent F
 GLIBC_2.18 pthread_mutex_consistent_np F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
index 98730ebcda..9d4c1f53f7 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
@@ -1445,6 +1445,7 @@ GLIBC_2.18 pthread_exit F
 GLIBC_2.18 pthread_getaffinity_np F
 GLIBC_2.18 pthread_getattr_np F
 GLIBC_2.18 pthread_getschedparam F
+GLIBC_2.18 pthread_kill F
 GLIBC_2.18 pthread_mutex_destroy F
 GLIBC_2.18 pthread_mutex_init F
 GLIBC_2.18 pthread_mutex_lock F
@@ -2164,3 +2165,4 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 1575b0f422..065f5ea671 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -77,7 +77,6 @@ GLIBC_2.18 pthread_getspecific F
 GLIBC_2.18 pthread_join F
 GLIBC_2.18 pthread_key_create F
 GLIBC_2.18 pthread_key_delete F
-GLIBC_2.18 pthread_kill F
 GLIBC_2.18 pthread_kill_other_threads_np F
 GLIBC_2.18 pthread_mutex_consistent F
 GLIBC_2.18 pthread_mutex_consistent_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index 92fa6cbc73..6de58a4680 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -856,6 +856,7 @@ GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_equal F
 GLIBC_2.0 pthread_exit F
 GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
 GLIBC_2.0 pthread_mutex_lock F
@@ -2158,6 +2159,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 75761f9615..ed6314cf6e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.0 pthread_getspecific F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_key_create F
 GLIBC_2.0 pthread_key_delete F
-GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 265a49e74e..e1c971c361 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -856,6 +856,7 @@ GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_equal F
 GLIBC_2.0 pthread_exit F
 GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
 GLIBC_2.0 pthread_mutex_lock F
@@ -2156,6 +2157,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 75761f9615..ed6314cf6e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.0 pthread_getspecific F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_key_create F
 GLIBC_2.0 pthread_key_delete F
-GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index cfa5e1111b..28d6d3284d 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -856,6 +856,7 @@ GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_equal F
 GLIBC_2.0 pthread_exit F
 GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
 GLIBC_2.0 pthread_mutex_lock F
@@ -2164,6 +2165,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 8c03ac52cd..3060a503ab 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -854,6 +854,7 @@ GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_equal F
 GLIBC_2.0 pthread_exit F
 GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
 GLIBC_2.0 pthread_mutex_lock F
@@ -2158,6 +2159,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
index 3acb12c22f..24e0a6f16a 100644
--- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
@@ -1488,6 +1488,7 @@ GLIBC_2.21 pthread_exit F
 GLIBC_2.21 pthread_getaffinity_np F
 GLIBC_2.21 pthread_getattr_np F
 GLIBC_2.21 pthread_getschedparam F
+GLIBC_2.21 pthread_kill F
 GLIBC_2.21 pthread_mutex_destroy F
 GLIBC_2.21 pthread_mutex_init F
 GLIBC_2.21 pthread_mutex_lock F
@@ -2206,3 +2207,4 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 4486aeaa9e..10d9bde874 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -77,7 +77,6 @@ GLIBC_2.21 pthread_getspecific F
 GLIBC_2.21 pthread_join F
 GLIBC_2.21 pthread_key_create F
 GLIBC_2.21 pthread_key_delete F
-GLIBC_2.21 pthread_kill F
 GLIBC_2.21 pthread_kill_other_threads_np F
 GLIBC_2.21 pthread_mutex_consistent F
 GLIBC_2.21 pthread_mutex_consistent_np F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index b1bff398d6..b9cccc3fe5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -867,6 +867,7 @@ GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_equal F
 GLIBC_2.0 pthread_exit F
 GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
 GLIBC_2.0 pthread_mutex_lock F
@@ -2222,6 +2223,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 6960b58415..9bf00bbaae 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.0 pthread_getspecific F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_key_create F
 GLIBC_2.0 pthread_key_delete F
-GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 1598abd156..5c81a23740 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -867,6 +867,7 @@ GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_equal F
 GLIBC_2.0 pthread_exit F
 GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
 GLIBC_2.0 pthread_mutex_lock F
@@ -2255,6 +2256,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
index 2647bb51f1..a61d2502d5 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
@@ -1373,6 +1373,7 @@ GLIBC_2.3 pthread_equal F
 GLIBC_2.3 pthread_exit F
 GLIBC_2.3 pthread_getattr_np F
 GLIBC_2.3 pthread_getschedparam F
+GLIBC_2.3 pthread_kill F
 GLIBC_2.3 pthread_mutex_destroy F
 GLIBC_2.3 pthread_mutex_init F
 GLIBC_2.3 pthread_mutex_lock F
@@ -2077,6 +2078,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index cc45647683..387e37731c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -94,7 +94,6 @@ GLIBC_2.3 pthread_getspecific F
 GLIBC_2.3 pthread_join F
 GLIBC_2.3 pthread_key_create F
 GLIBC_2.3 pthread_key_delete F
-GLIBC_2.3 pthread_kill F
 GLIBC_2.3 pthread_kill_other_threads_np F
 GLIBC_2.3 pthread_mutex_destroy F
 GLIBC_2.3 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
index 036b1c8345..d99afb2f60 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
@@ -1531,6 +1531,7 @@ GLIBC_2.17 pthread_exit F
 GLIBC_2.17 pthread_getaffinity_np F
 GLIBC_2.17 pthread_getattr_np F
 GLIBC_2.17 pthread_getschedparam F
+GLIBC_2.17 pthread_kill F
 GLIBC_2.17 pthread_mutex_destroy F
 GLIBC_2.17 pthread_mutex_init F
 GLIBC_2.17 pthread_mutex_lock F
@@ -2367,3 +2368,4 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index f171ffff75..57d20b9916 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -76,7 +76,6 @@ GLIBC_2.17 pthread_getspecific F
 GLIBC_2.17 pthread_join F
 GLIBC_2.17 pthread_key_create F
 GLIBC_2.17 pthread_key_delete F
-GLIBC_2.17 pthread_kill F
 GLIBC_2.17 pthread_kill_other_threads_np F
 GLIBC_2.17 pthread_mutex_consistent F
 GLIBC_2.17 pthread_mutex_consistent_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
index ff3225e16f..b08ece30b8 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
@@ -1371,6 +1371,7 @@ GLIBC_2.33 pthread_exit F
 GLIBC_2.33 pthread_getaffinity_np F
 GLIBC_2.33 pthread_getattr_np F
 GLIBC_2.33 pthread_getschedparam F
+GLIBC_2.33 pthread_kill F
 GLIBC_2.33 pthread_mutex_destroy F
 GLIBC_2.33 pthread_mutex_init F
 GLIBC_2.33 pthread_mutex_lock F
@@ -1934,3 +1935,4 @@ GLIBC_2.33 write F
 GLIBC_2.33 writev F
 GLIBC_2.33 wscanf F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index fb3965a32a..32390ebeaa 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -91,7 +91,6 @@ GLIBC_2.33 pthread_getspecific F
 GLIBC_2.33 pthread_join F
 GLIBC_2.33 pthread_key_create F
 GLIBC_2.33 pthread_key_delete F
-GLIBC_2.33 pthread_kill F
 GLIBC_2.33 pthread_kill_other_threads_np F
 GLIBC_2.33 pthread_mutex_clocklock F
 GLIBC_2.33 pthread_mutex_consistent F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
index fb5ad9909f..12ced01cf7 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
@@ -1433,6 +1433,7 @@ GLIBC_2.27 pthread_exit F
 GLIBC_2.27 pthread_getaffinity_np F
 GLIBC_2.27 pthread_getattr_np F
 GLIBC_2.27 pthread_getschedparam F
+GLIBC_2.27 pthread_kill F
 GLIBC_2.27 pthread_mutex_destroy F
 GLIBC_2.27 pthread_mutex_init F
 GLIBC_2.27 pthread_mutex_lock F
@@ -2134,3 +2135,4 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 8c69c41db4..a94c7bdb9a 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -76,7 +76,6 @@ GLIBC_2.27 pthread_getspecific F
 GLIBC_2.27 pthread_join F
 GLIBC_2.27 pthread_key_create F
 GLIBC_2.27 pthread_key_delete F
-GLIBC_2.27 pthread_kill F
 GLIBC_2.27 pthread_kill_other_threads_np F
 GLIBC_2.27 pthread_mutex_consistent F
 GLIBC_2.27 pthread_mutex_consistent_np F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index 5fd3caa37d..7ed5e4c515 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -858,6 +858,7 @@ GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_equal F
 GLIBC_2.0 pthread_exit F
 GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
 GLIBC_2.0 pthread_mutex_lock F
@@ -2220,6 +2221,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 4b95d12663..f72d0e81b2 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.0 pthread_getspecific F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_key_create F
 GLIBC_2.0 pthread_key_delete F
-GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 31366dd7e6..73a46b01b2 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1284,6 +1284,7 @@ GLIBC_2.2 pthread_condattr_init F
 GLIBC_2.2 pthread_equal F
 GLIBC_2.2 pthread_exit F
 GLIBC_2.2 pthread_getschedparam F
+GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_mutex_destroy F
 GLIBC_2.2 pthread_mutex_init F
 GLIBC_2.2 pthread_mutex_lock F
@@ -2113,6 +2114,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 9cc4ddb82e..5b5d2e394d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -76,7 +76,6 @@ GLIBC_2.2 pthread_getspecific F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_key_create F
 GLIBC_2.2 pthread_key_delete F
-GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_kill_other_threads_np F
 GLIBC_2.2 pthread_mutex_destroy F
 GLIBC_2.2 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index a3a8be8910..2aa68f1def 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1270,6 +1270,7 @@ GLIBC_2.2 pthread_condattr_init F
 GLIBC_2.2 pthread_equal F
 GLIBC_2.2 pthread_exit F
 GLIBC_2.2 pthread_getschedparam F
+GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_mutex_destroy F
 GLIBC_2.2 pthread_mutex_init F
 GLIBC_2.2 pthread_mutex_lock F
@@ -2082,6 +2083,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 85c671a897..dcd57e5407 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -74,7 +74,6 @@ GLIBC_2.2 pthread_getspecific F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_key_create F
 GLIBC_2.2 pthread_key_delete F
-GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_kill_other_threads_np F
 GLIBC_2.2 pthread_mutex_destroy F
 GLIBC_2.2 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 8f505c5045..07f3c23873 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1270,6 +1270,7 @@ GLIBC_2.2 pthread_condattr_init F
 GLIBC_2.2 pthread_equal F
 GLIBC_2.2 pthread_exit F
 GLIBC_2.2 pthread_getschedparam F
+GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_mutex_destroy F
 GLIBC_2.2 pthread_mutex_init F
 GLIBC_2.2 pthread_mutex_lock F
@@ -2079,6 +2080,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 85c671a897..dcd57e5407 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -74,7 +74,6 @@ GLIBC_2.2 pthread_getspecific F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_key_create F
 GLIBC_2.2 pthread_key_delete F
-GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_kill_other_threads_np F
 GLIBC_2.2 pthread_mutex_destroy F
 GLIBC_2.2 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index cb8c0d398a..cc1d278c72 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -861,6 +861,7 @@ GLIBC_2.0 pthread_condattr_init F
 GLIBC_2.0 pthread_equal F
 GLIBC_2.0 pthread_exit F
 GLIBC_2.0 pthread_getschedparam F
+GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
 GLIBC_2.0 pthread_mutex_lock F
@@ -2211,6 +2212,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 _IO_fprintf F
 GLIBC_2.4 _IO_printf F
 GLIBC_2.4 _IO_sprintf F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 12f3f308dd..251adefc29 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -37,7 +37,6 @@ GLIBC_2.0 pthread_getspecific F
 GLIBC_2.0 pthread_join F
 GLIBC_2.0 pthread_key_create F
 GLIBC_2.0 pthread_key_delete F
-GLIBC_2.0 pthread_kill F
 GLIBC_2.0 pthread_kill_other_threads_np F
 GLIBC_2.0 pthread_mutex_destroy F
 GLIBC_2.0 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index eba0cb156d..79ca3d5d9c 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1313,6 +1313,7 @@ GLIBC_2.2 pthread_condattr_init F
 GLIBC_2.2 pthread_equal F
 GLIBC_2.2 pthread_exit F
 GLIBC_2.2 pthread_getschedparam F
+GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_mutex_destroy F
 GLIBC_2.2 pthread_mutex_init F
 GLIBC_2.2 pthread_mutex_lock F
@@ -2130,6 +2131,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 24259467de..f9792290f4 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -74,7 +74,6 @@ GLIBC_2.2 pthread_getspecific F
 GLIBC_2.2 pthread_join F
 GLIBC_2.2 pthread_key_create F
 GLIBC_2.2 pthread_key_delete F
-GLIBC_2.2 pthread_kill F
 GLIBC_2.2 pthread_kill_other_threads_np F
 GLIBC_2.2 pthread_mutex_destroy F
 GLIBC_2.2 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index 17ce5dfd58..dde107a249 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1281,6 +1281,7 @@ GLIBC_2.2.5 pthread_equal F
 GLIBC_2.2.5 pthread_exit F
 GLIBC_2.2.5 pthread_getattr_np F
 GLIBC_2.2.5 pthread_getschedparam F
+GLIBC_2.2.5 pthread_kill F
 GLIBC_2.2.5 pthread_mutex_destroy F
 GLIBC_2.2.5 pthread_mutex_init F
 GLIBC_2.2.5 pthread_mutex_lock F
@@ -2089,6 +2090,7 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
 GLIBC_2.4 __confstr_chk F
 GLIBC_2.4 __fgets_chk F
 GLIBC_2.4 __fgets_unlocked_chk F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 2b98fbbe72..ae063e5992 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -74,7 +74,6 @@ GLIBC_2.2.5 pthread_getspecific F
 GLIBC_2.2.5 pthread_join F
 GLIBC_2.2.5 pthread_key_create F
 GLIBC_2.2.5 pthread_key_delete F
-GLIBC_2.2.5 pthread_kill F
 GLIBC_2.2.5 pthread_kill_other_threads_np F
 GLIBC_2.2.5 pthread_mutex_destroy F
 GLIBC_2.2.5 pthread_mutex_init F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
index 17a1c83903..dcea87ca22 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
@@ -1450,6 +1450,7 @@ GLIBC_2.16 pthread_exit F
 GLIBC_2.16 pthread_getaffinity_np F
 GLIBC_2.16 pthread_getattr_np F
 GLIBC_2.16 pthread_getschedparam F
+GLIBC_2.16 pthread_kill F
 GLIBC_2.16 pthread_mutex_destroy F
 GLIBC_2.16 pthread_mutex_init F
 GLIBC_2.16 pthread_mutex_lock F
@@ -2186,3 +2187,4 @@ GLIBC_2.33 mknodat F
 GLIBC_2.33 stat F
 GLIBC_2.33 stat64 F
 GLIBC_2.34 __libc_start_main F
+GLIBC_2.34 pthread_kill F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 660eb97cd3..bbefb35328 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -76,7 +76,6 @@ GLIBC_2.16 pthread_getspecific F
 GLIBC_2.16 pthread_join F
 GLIBC_2.16 pthread_key_create F
 GLIBC_2.16 pthread_key_delete F
-GLIBC_2.16 pthread_kill F
 GLIBC_2.16 pthread_kill_other_threads_np F
 GLIBC_2.16 pthread_mutex_consistent F
 GLIBC_2.16 pthread_mutex_consistent_np F
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 11/14] nptl: Remove pthread raise implementation
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
                   ` (9 preceding siblings ...)
  2021-03-19 20:29 ` [PATCH v2 10/14] nptl: Move pthread_kill to libc Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-25 14:49   ` Florian Weimer
  2021-03-19 20:29 ` [PATCH v2 12/14] nptl: Move sigaction to libc Adhemerval Zanella
                   ` (3 subsequent siblings)
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

The Linux version already target the current thread by using tgkill
along with getpid and gettid.

For arm, libpthread does not do a intra PLT since it will call the
raise from libc.

Checked on x86_64-linux-gnu.
---
 nptl/Makefile                                 |  1 -
 nptl/Versions                                 |  1 -
 nptl/pt-raise.c                               | 29 -------------------
 .../sysv/linux/aarch64/libpthread.abilist     |  1 -
 .../unix/sysv/linux/alpha/libpthread.abilist  |  1 -
 .../unix/sysv/linux/arc/libpthread.abilist    |  1 -
 .../unix/sysv/linux/arm/be/libpthread.abilist |  1 -
 .../unix/sysv/linux/arm/le/libpthread.abilist |  1 -
 sysdeps/unix/sysv/linux/arm/localplt.data     |  1 -
 .../unix/sysv/linux/csky/libpthread.abilist   |  1 -
 .../unix/sysv/linux/hppa/libpthread.abilist   |  1 -
 .../unix/sysv/linux/i386/libpthread.abilist   |  1 -
 .../unix/sysv/linux/ia64/libpthread.abilist   |  1 -
 .../linux/m68k/coldfire/libpthread.abilist    |  1 -
 .../sysv/linux/m68k/m680x0/libpthread.abilist |  1 -
 .../linux/microblaze/be/libpthread.abilist    |  1 -
 .../linux/microblaze/le/libpthread.abilist    |  1 -
 .../sysv/linux/mips/mips32/libpthread.abilist |  1 -
 .../sysv/linux/mips/mips64/libpthread.abilist |  1 -
 .../unix/sysv/linux/nios2/libpthread.abilist  |  1 -
 .../powerpc/powerpc32/libpthread.abilist      |  1 -
 .../powerpc/powerpc64/be/libpthread.abilist   |  1 -
 .../powerpc/powerpc64/le/libpthread.abilist   |  1 -
 sysdeps/unix/sysv/linux/pt-raise.c            | 20 -------------
 .../sysv/linux/riscv/rv32/libpthread.abilist  |  1 -
 .../sysv/linux/riscv/rv64/libpthread.abilist  |  1 -
 .../linux/s390/s390-32/libpthread.abilist     |  1 -
 .../linux/s390/s390-64/libpthread.abilist     |  1 -
 .../unix/sysv/linux/sh/be/libpthread.abilist  |  1 -
 .../unix/sysv/linux/sh/le/libpthread.abilist  |  1 -
 .../linux/sparc/sparc32/libpthread.abilist    |  1 -
 .../linux/sparc/sparc64/libpthread.abilist    |  1 -
 .../sysv/linux/x86_64/64/libpthread.abilist   |  1 -
 .../sysv/linux/x86_64/x32/libpthread.abilist  |  1 -
 34 files changed, 81 deletions(-)
 delete mode 100644 nptl/pt-raise.c
 delete mode 100644 sysdeps/unix/sysv/linux/pt-raise.c

diff --git a/nptl/Makefile b/nptl/Makefile
index 1e01d8e24c..dc56002c1e 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -103,7 +103,6 @@ libpthread-routines = \
   pt-cleanup \
   pt-interp \
   pt-longjmp \
-  pt-raise \
   pthread_attr_getaffinity \
   pthread_attr_getguardsize \
   pthread_attr_getstack \
diff --git a/nptl/Versions b/nptl/Versions
index 4b91eacc4a..697982bf1f 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -161,7 +161,6 @@ libpthread {
     pthread_setspecific;
     pthread_sigmask;
     pthread_testcancel;
-    raise;
     sem_destroy;
     sem_getvalue;
     sem_init;
diff --git a/nptl/pt-raise.c b/nptl/pt-raise.c
deleted file mode 100644
index 711c870fab..0000000000
--- a/nptl/pt-raise.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* ISO C raise function for libpthread.
-   Copyright (C) 2002-2021 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
-   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 <pthread.h>
-#include <signal.h>
-
-
-int
-raise (int sig)
-{
-  /* This is what POSIX says must happen.  */
-  return pthread_kill (pthread_self (), sig);
-}
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 57d20b9916..8f29a20e1e 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -136,7 +136,6 @@ GLIBC_2.17 pthread_testcancel F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
 GLIBC_2.17 pthread_yield F
-GLIBC_2.17 raise F
 GLIBC_2.17 sem_close F
 GLIBC_2.17 sem_destroy F
 GLIBC_2.17 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 251adefc29..4d6547c75e 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -52,7 +52,6 @@ GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
-GLIBC_2.0 raise F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 0ce5a9b4e0..d279cc73e0 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -155,7 +155,6 @@ GLIBC_2.32 pthread_testcancel F
 GLIBC_2.32 pthread_timedjoin_np F
 GLIBC_2.32 pthread_tryjoin_np F
 GLIBC_2.32 pthread_yield F
-GLIBC_2.32 raise F
 GLIBC_2.32 sem_clockwait F
 GLIBC_2.32 sem_close F
 GLIBC_2.32 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index ad662c1e90..8df3bafa99 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -165,7 +165,6 @@ GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 pthread_yield F
-GLIBC_2.4 raise F
 GLIBC_2.4 sem_close F
 GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index ad662c1e90..8df3bafa99 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -165,7 +165,6 @@ GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 pthread_yield F
-GLIBC_2.4 raise F
 GLIBC_2.4 sem_close F
 GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/arm/localplt.data b/sysdeps/unix/sysv/linux/arm/localplt.data
index 0c3af0c64e..eb315da2f1 100644
--- a/sysdeps/unix/sysv/linux/arm/localplt.data
+++ b/sysdeps/unix/sysv/linux/arm/localplt.data
@@ -5,7 +5,6 @@ libc.so: memalign
 libc.so: raise
 libc.so: realloc
 libm.so: matherr
-libpthread.so: raise
 # The dynamic loader needs __tls_get_addr for TLS.
 ld.so: __tls_get_addr
 # The TLS-enabled version of these functions is interposed from libc.so.
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index d9a38c96bf..6dc646b74e 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -150,7 +150,6 @@ GLIBC_2.29 pthread_testcancel F
 GLIBC_2.29 pthread_timedjoin_np F
 GLIBC_2.29 pthread_tryjoin_np F
 GLIBC_2.29 pthread_yield F
-GLIBC_2.29 raise F
 GLIBC_2.29 sem_close F
 GLIBC_2.29 sem_destroy F
 GLIBC_2.29 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index dcd57e5407..26a4a18a91 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -116,7 +116,6 @@ GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 raise F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index a9e64dff53..fe6d086be6 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -52,7 +52,6 @@ GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
-GLIBC_2.0 raise F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index f9792290f4..43fd3ea39a 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -116,7 +116,6 @@ GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 raise F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index ad662c1e90..8df3bafa99 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -165,7 +165,6 @@ GLIBC_2.4 pthread_testcancel F
 GLIBC_2.4 pthread_timedjoin_np F
 GLIBC_2.4 pthread_tryjoin_np F
 GLIBC_2.4 pthread_yield F
-GLIBC_2.4 raise F
 GLIBC_2.4 sem_close F
 GLIBC_2.4 sem_destroy F
 GLIBC_2.4 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index a9e64dff53..fe6d086be6 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -52,7 +52,6 @@ GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
-GLIBC_2.0 raise F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 065f5ea671..c54635be17 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -138,7 +138,6 @@ GLIBC_2.18 pthread_testcancel F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
 GLIBC_2.18 pthread_yield F
-GLIBC_2.18 raise F
 GLIBC_2.18 sem_close F
 GLIBC_2.18 sem_destroy F
 GLIBC_2.18 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 065f5ea671..c54635be17 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -138,7 +138,6 @@ GLIBC_2.18 pthread_testcancel F
 GLIBC_2.18 pthread_timedjoin_np F
 GLIBC_2.18 pthread_tryjoin_np F
 GLIBC_2.18 pthread_yield F
-GLIBC_2.18 raise F
 GLIBC_2.18 sem_close F
 GLIBC_2.18 sem_destroy F
 GLIBC_2.18 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index ed6314cf6e..45611b7e19 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -52,7 +52,6 @@ GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
-GLIBC_2.0 raise F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index ed6314cf6e..45611b7e19 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -52,7 +52,6 @@ GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
-GLIBC_2.0 raise F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 10d9bde874..9a041c574b 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -138,7 +138,6 @@ GLIBC_2.21 pthread_testcancel F
 GLIBC_2.21 pthread_timedjoin_np F
 GLIBC_2.21 pthread_tryjoin_np F
 GLIBC_2.21 pthread_yield F
-GLIBC_2.21 raise F
 GLIBC_2.21 sem_close F
 GLIBC_2.21 sem_destroy F
 GLIBC_2.21 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 9bf00bbaae..2db967a661 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -52,7 +52,6 @@ GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
-GLIBC_2.0 raise F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 387e37731c..92522e3050 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -136,7 +136,6 @@ GLIBC_2.3 pthread_spin_trylock F
 GLIBC_2.3 pthread_spin_unlock F
 GLIBC_2.3 pthread_testcancel F
 GLIBC_2.3 pthread_yield F
-GLIBC_2.3 raise F
 GLIBC_2.3 sem_close F
 GLIBC_2.3 sem_destroy F
 GLIBC_2.3 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 57d20b9916..8f29a20e1e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -136,7 +136,6 @@ GLIBC_2.17 pthread_testcancel F
 GLIBC_2.17 pthread_timedjoin_np F
 GLIBC_2.17 pthread_tryjoin_np F
 GLIBC_2.17 pthread_yield F
-GLIBC_2.17 raise F
 GLIBC_2.17 sem_close F
 GLIBC_2.17 sem_destroy F
 GLIBC_2.17 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/pt-raise.c b/sysdeps/unix/sysv/linux/pt-raise.c
deleted file mode 100644
index f76f3416d6..0000000000
--- a/sysdeps/unix/sysv/linux/pt-raise.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* ISO C raise function for libpthread.
-   Copyright (C) 2002-2021 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
-   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 <sysdeps/unix/sysv/linux/raise.c>
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 32390ebeaa..fd205edde3 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -155,7 +155,6 @@ GLIBC_2.33 pthread_testcancel F
 GLIBC_2.33 pthread_timedjoin_np F
 GLIBC_2.33 pthread_tryjoin_np F
 GLIBC_2.33 pthread_yield F
-GLIBC_2.33 raise F
 GLIBC_2.33 sem_clockwait F
 GLIBC_2.33 sem_close F
 GLIBC_2.33 sem_destroy F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index a94c7bdb9a..847136b274 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -137,7 +137,6 @@ GLIBC_2.27 pthread_testcancel F
 GLIBC_2.27 pthread_timedjoin_np F
 GLIBC_2.27 pthread_tryjoin_np F
 GLIBC_2.27 pthread_yield F
-GLIBC_2.27 raise F
 GLIBC_2.27 sem_close F
 GLIBC_2.27 sem_destroy F
 GLIBC_2.27 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index f72d0e81b2..c2e140d4a8 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -52,7 +52,6 @@ GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
-GLIBC_2.0 raise F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 5b5d2e394d..7091c72066 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -118,7 +118,6 @@ GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 raise F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index dcd57e5407..26a4a18a91 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -116,7 +116,6 @@ GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 raise F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index dcd57e5407..26a4a18a91 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -116,7 +116,6 @@ GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 raise F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 251adefc29..4d6547c75e 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -52,7 +52,6 @@ GLIBC_2.0 pthread_setcancelstate F
 GLIBC_2.0 pthread_setcanceltype F
 GLIBC_2.0 pthread_setspecific F
 GLIBC_2.0 pthread_testcancel F
-GLIBC_2.0 raise F
 GLIBC_2.0 sem_destroy F
 GLIBC_2.0 sem_getvalue F
 GLIBC_2.0 sem_init F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index f9792290f4..43fd3ea39a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -116,7 +116,6 @@ GLIBC_2.2 pthread_spin_trylock F
 GLIBC_2.2 pthread_spin_unlock F
 GLIBC_2.2 pthread_testcancel F
 GLIBC_2.2 pthread_yield F
-GLIBC_2.2 raise F
 GLIBC_2.2 sem_close F
 GLIBC_2.2 sem_destroy F
 GLIBC_2.2 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index ae063e5992..13112ed13e 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -116,7 +116,6 @@ GLIBC_2.2.5 pthread_spin_trylock F
 GLIBC_2.2.5 pthread_spin_unlock F
 GLIBC_2.2.5 pthread_testcancel F
 GLIBC_2.2.5 pthread_yield F
-GLIBC_2.2.5 raise F
 GLIBC_2.2.5 sem_close F
 GLIBC_2.2.5 sem_destroy F
 GLIBC_2.2.5 sem_getvalue F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index bbefb35328..68a5f3d8ef 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -136,7 +136,6 @@ GLIBC_2.16 pthread_testcancel F
 GLIBC_2.16 pthread_timedjoin_np F
 GLIBC_2.16 pthread_tryjoin_np F
 GLIBC_2.16 pthread_yield F
-GLIBC_2.16 raise F
 GLIBC_2.16 sem_close F
 GLIBC_2.16 sem_destroy F
 GLIBC_2.16 sem_getvalue F
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 12/14] nptl: Move sigaction to libc
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
                   ` (10 preceding siblings ...)
  2021-03-19 20:29 ` [PATCH v2 11/14] nptl: Remove pthread raise implementation Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-25 15:00   ` Florian Weimer
  2021-03-19 20:29 ` [PATCH v2 13/14] nptl: Remove __libc_allocate_rtsig, __libc_current_sigrtmax, and __libc_current_sigrtmin Adhemerval Zanella
                   ` (2 subsequent siblings)
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

The libc version is identical and built with same flags.

Checked on x86_64-linux-gnu.
---
 nptl/Makefile                                 |  2 --
 nptl/Versions                                 |  2 --
 nptl/sigaction.c                              | 33 -------------------
 signal/Versions                               |  3 ++
 .../sysv/linux/aarch64/libpthread.abilist     |  2 --
 .../unix/sysv/linux/alpha/libpthread.abilist  |  2 --
 .../unix/sysv/linux/arc/libpthread.abilist    |  2 --
 .../unix/sysv/linux/arm/be/libpthread.abilist |  2 --
 .../unix/sysv/linux/arm/le/libpthread.abilist |  2 --
 .../unix/sysv/linux/csky/libpthread.abilist   |  2 --
 .../unix/sysv/linux/hppa/libpthread.abilist   |  2 --
 .../unix/sysv/linux/i386/libpthread.abilist   |  2 --
 .../unix/sysv/linux/ia64/libpthread.abilist   |  2 --
 .../linux/m68k/coldfire/libpthread.abilist    |  2 --
 .../sysv/linux/m68k/m680x0/libpthread.abilist |  2 --
 .../linux/microblaze/be/libpthread.abilist    |  2 --
 .../linux/microblaze/le/libpthread.abilist    |  2 --
 .../sysv/linux/mips/mips32/libpthread.abilist |  2 --
 .../sysv/linux/mips/mips64/libpthread.abilist |  2 --
 .../unix/sysv/linux/nios2/libpthread.abilist  |  2 --
 .../powerpc/powerpc32/libpthread.abilist      |  2 --
 .../powerpc/powerpc64/be/libpthread.abilist   |  2 --
 .../powerpc/powerpc64/le/libpthread.abilist   |  2 --
 .../sysv/linux/riscv/rv32/libpthread.abilist  |  2 --
 .../sysv/linux/riscv/rv64/libpthread.abilist  |  2 --
 .../linux/s390/s390-32/libpthread.abilist     |  2 --
 .../linux/s390/s390-64/libpthread.abilist     |  2 --
 .../unix/sysv/linux/sh/be/libpthread.abilist  |  2 --
 .../unix/sysv/linux/sh/le/libpthread.abilist  |  2 --
 .../linux/sparc/sparc32/libpthread.abilist    |  2 --
 .../linux/sparc/sparc64/libpthread.abilist    |  2 --
 .../sysv/linux/x86_64/64/libpthread.abilist   |  2 --
 .../sysv/linux/x86_64/x32/libpthread.abilist  |  2 --
 33 files changed, 3 insertions(+), 95 deletions(-)
 delete mode 100644 nptl/sigaction.c

diff --git a/nptl/Makefile b/nptl/Makefile
index dc56002c1e..e2528c9ac3 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -212,8 +212,6 @@ libpthread-routines = \
   sem_timedwait \
   sem_unlink \
   sem_wait \
-  sigaction \
-  libc_sigaction \
   tpp \
   unwind \
   unwind-forcedunwind \
diff --git a/nptl/Versions b/nptl/Versions
index 697982bf1f..fdabab01fa 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -122,7 +122,6 @@ libpthread {
     __pthread_mutexattr_settype;
     __pthread_once;
     __pthread_setspecific;
-    __sigaction;
     _exit;
     _pthread_cleanup_pop;
     _pthread_cleanup_pop_restore;
@@ -167,7 +166,6 @@ libpthread {
     sem_post;
     sem_trywait;
     sem_wait;
-    sigaction;
     siglongjmp;
   }
 
diff --git a/nptl/sigaction.c b/nptl/sigaction.c
deleted file mode 100644
index 3de724b6b2..0000000000
--- a/nptl/sigaction.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
-   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 <internal-signals.h>
-
-int
-__sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
-{
-  if (sig <= 0 || sig >= NSIG || __is_internal_signal (sig))
-    {
-      __set_errno (EINVAL);
-      return -1;
-    }
-
-  return __libc_sigaction (sig, act, oact);
-}
-libc_hidden_weak (__sigaction)
-weak_alias (__sigaction, sigaction)
diff --git a/signal/Versions b/signal/Versions
index a915ef400f..c844d4c144 100644
--- a/signal/Versions
+++ b/signal/Versions
@@ -51,4 +51,7 @@ libc {
   }
   GLIBC_2.21 {
   }
+  GLIBC_PRIVATE {
+    __libc_sigaction;
+  }
 }
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 8f29a20e1e..73d4d7ce48 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 __pthread_unwind_next F
 GLIBC_2.17 __res_state F
-GLIBC_2.17 __sigaction F
 GLIBC_2.17 _pthread_cleanup_pop F
 GLIBC_2.17 _pthread_cleanup_pop_restore F
 GLIBC_2.17 _pthread_cleanup_push F
@@ -146,7 +145,6 @@ GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 sem_trywait F
 GLIBC_2.17 sem_unlink F
 GLIBC_2.17 sem_wait F
-GLIBC_2.17 sigaction F
 GLIBC_2.17 siglongjmp F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 4d6547c75e..b18c666b01 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
 GLIBC_2.0 _pthread_cleanup_push F
@@ -58,7 +57,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.1 __libc_allocate_rtsig F
 GLIBC_2.1 __libc_current_sigrtmax F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index d279cc73e0..865715cdfc 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.32 __pthread_unregister_cancel F
 GLIBC_2.32 __pthread_unregister_cancel_restore F
 GLIBC_2.32 __pthread_unwind_next F
 GLIBC_2.32 __res_state F
-GLIBC_2.32 __sigaction F
 GLIBC_2.32 _pthread_cleanup_pop F
 GLIBC_2.32 _pthread_cleanup_pop_restore F
 GLIBC_2.32 _pthread_cleanup_push F
@@ -166,7 +165,6 @@ GLIBC_2.32 sem_timedwait F
 GLIBC_2.32 sem_trywait F
 GLIBC_2.32 sem_unlink F
 GLIBC_2.32 sem_wait F
-GLIBC_2.32 sigaction F
 GLIBC_2.32 thrd_create F
 GLIBC_2.32 thrd_detach F
 GLIBC_2.32 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 8df3bafa99..1c63d79c84 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -67,7 +67,6 @@ GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __pthread_unwind_next F
 GLIBC_2.4 __res_state F
-GLIBC_2.4 __sigaction F
 GLIBC_2.4 _pthread_cleanup_pop F
 GLIBC_2.4 _pthread_cleanup_pop_restore F
 GLIBC_2.4 _pthread_cleanup_push F
@@ -175,5 +174,4 @@ GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
 GLIBC_2.4 sem_wait F
-GLIBC_2.4 sigaction F
 GLIBC_2.4 siglongjmp F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 8df3bafa99..1c63d79c84 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -67,7 +67,6 @@ GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __pthread_unwind_next F
 GLIBC_2.4 __res_state F
-GLIBC_2.4 __sigaction F
 GLIBC_2.4 _pthread_cleanup_pop F
 GLIBC_2.4 _pthread_cleanup_pop_restore F
 GLIBC_2.4 _pthread_cleanup_push F
@@ -175,5 +174,4 @@ GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
 GLIBC_2.4 sem_wait F
-GLIBC_2.4 sigaction F
 GLIBC_2.4 siglongjmp F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 6dc646b74e..2408ab5462 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.29 __pthread_unregister_cancel F
 GLIBC_2.29 __pthread_unregister_cancel_restore F
 GLIBC_2.29 __pthread_unwind_next F
 GLIBC_2.29 __res_state F
-GLIBC_2.29 __sigaction F
 GLIBC_2.29 _pthread_cleanup_pop F
 GLIBC_2.29 _pthread_cleanup_pop_restore F
 GLIBC_2.29 _pthread_cleanup_push F
@@ -160,7 +159,6 @@ GLIBC_2.29 sem_timedwait F
 GLIBC_2.29 sem_trywait F
 GLIBC_2.29 sem_unlink F
 GLIBC_2.29 sem_wait F
-GLIBC_2.29 sigaction F
 GLIBC_2.29 thrd_create F
 GLIBC_2.29 thrd_detach F
 GLIBC_2.29 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 26a4a18a91..bdf9195208 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -34,7 +34,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
 GLIBC_2.2 _pthread_cleanup_pop_restore F
 GLIBC_2.2 _pthread_cleanup_push F
@@ -126,7 +125,6 @@ GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2 sigaction F
 GLIBC_2.2 siglongjmp F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index fe6d086be6..88aaf4147e 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
 GLIBC_2.0 _pthread_cleanup_push F
@@ -58,7 +57,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.1 __libc_allocate_rtsig F
 GLIBC_2.1 __libc_current_sigrtmax F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 43fd3ea39a..409779a2eb 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -34,7 +34,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
 GLIBC_2.2 _pthread_cleanup_pop_restore F
 GLIBC_2.2 _pthread_cleanup_push F
@@ -126,7 +125,6 @@ GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2 sigaction F
 GLIBC_2.2 siglongjmp F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 8df3bafa99..1c63d79c84 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -67,7 +67,6 @@ GLIBC_2.4 __pthread_unregister_cancel F
 GLIBC_2.4 __pthread_unregister_cancel_restore F
 GLIBC_2.4 __pthread_unwind_next F
 GLIBC_2.4 __res_state F
-GLIBC_2.4 __sigaction F
 GLIBC_2.4 _pthread_cleanup_pop F
 GLIBC_2.4 _pthread_cleanup_pop_restore F
 GLIBC_2.4 _pthread_cleanup_push F
@@ -175,5 +174,4 @@ GLIBC_2.4 sem_timedwait F
 GLIBC_2.4 sem_trywait F
 GLIBC_2.4 sem_unlink F
 GLIBC_2.4 sem_wait F
-GLIBC_2.4 sigaction F
 GLIBC_2.4 siglongjmp F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index fe6d086be6..88aaf4147e 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
 GLIBC_2.0 _pthread_cleanup_push F
@@ -58,7 +57,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.1 __libc_allocate_rtsig F
 GLIBC_2.1 __libc_current_sigrtmax F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index c54635be17..40c77fcc99 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 __pthread_unwind_next F
 GLIBC_2.18 __res_state F
-GLIBC_2.18 __sigaction F
 GLIBC_2.18 _pthread_cleanup_pop F
 GLIBC_2.18 _pthread_cleanup_pop_restore F
 GLIBC_2.18 _pthread_cleanup_push F
@@ -148,7 +147,6 @@ GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
 GLIBC_2.18 sem_wait F
-GLIBC_2.18 sigaction F
 GLIBC_2.18 siglongjmp F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index c54635be17..40c77fcc99 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.18 __pthread_unregister_cancel F
 GLIBC_2.18 __pthread_unregister_cancel_restore F
 GLIBC_2.18 __pthread_unwind_next F
 GLIBC_2.18 __res_state F
-GLIBC_2.18 __sigaction F
 GLIBC_2.18 _pthread_cleanup_pop F
 GLIBC_2.18 _pthread_cleanup_pop_restore F
 GLIBC_2.18 _pthread_cleanup_push F
@@ -148,7 +147,6 @@ GLIBC_2.18 sem_timedwait F
 GLIBC_2.18 sem_trywait F
 GLIBC_2.18 sem_unlink F
 GLIBC_2.18 sem_wait F
-GLIBC_2.18 sigaction F
 GLIBC_2.18 siglongjmp F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 45611b7e19..f991279bf5 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
 GLIBC_2.0 _pthread_cleanup_push F
@@ -58,7 +57,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 45611b7e19..f991279bf5 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
 GLIBC_2.0 _pthread_cleanup_push F
@@ -58,7 +57,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.11 pthread_sigqueue F
 GLIBC_2.12 pthread_getname_np F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 9a041c574b..0ccde43c25 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.21 __pthread_unregister_cancel F
 GLIBC_2.21 __pthread_unregister_cancel_restore F
 GLIBC_2.21 __pthread_unwind_next F
 GLIBC_2.21 __res_state F
-GLIBC_2.21 __sigaction F
 GLIBC_2.21 _pthread_cleanup_pop F
 GLIBC_2.21 _pthread_cleanup_pop_restore F
 GLIBC_2.21 _pthread_cleanup_push F
@@ -148,7 +147,6 @@ GLIBC_2.21 sem_timedwait F
 GLIBC_2.21 sem_trywait F
 GLIBC_2.21 sem_unlink F
 GLIBC_2.21 sem_wait F
-GLIBC_2.21 sigaction F
 GLIBC_2.21 siglongjmp F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 2db967a661..f9e188cc0f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
 GLIBC_2.0 _pthread_cleanup_push F
@@ -58,7 +57,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.1 __libc_allocate_rtsig F
 GLIBC_2.1 __libc_current_sigrtmax F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 92522e3050..9447c703a3 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -55,7 +55,6 @@ GLIBC_2.3 __pthread_rwlock_unlock F
 GLIBC_2.3 __pthread_rwlock_wrlock F
 GLIBC_2.3 __pthread_setspecific F
 GLIBC_2.3 __res_state F
-GLIBC_2.3 __sigaction F
 GLIBC_2.3 _pthread_cleanup_pop F
 GLIBC_2.3 _pthread_cleanup_pop_restore F
 GLIBC_2.3 _pthread_cleanup_push F
@@ -146,7 +145,6 @@ GLIBC_2.3 sem_timedwait F
 GLIBC_2.3 sem_trywait F
 GLIBC_2.3 sem_unlink F
 GLIBC_2.3 sem_wait F
-GLIBC_2.3 sigaction F
 GLIBC_2.3 siglongjmp F
 GLIBC_2.3.2 pthread_cond_broadcast F
 GLIBC_2.3.2 pthread_cond_signal F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 8f29a20e1e..73d4d7ce48 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.17 __pthread_unregister_cancel F
 GLIBC_2.17 __pthread_unregister_cancel_restore F
 GLIBC_2.17 __pthread_unwind_next F
 GLIBC_2.17 __res_state F
-GLIBC_2.17 __sigaction F
 GLIBC_2.17 _pthread_cleanup_pop F
 GLIBC_2.17 _pthread_cleanup_pop_restore F
 GLIBC_2.17 _pthread_cleanup_push F
@@ -146,7 +145,6 @@ GLIBC_2.17 sem_timedwait F
 GLIBC_2.17 sem_trywait F
 GLIBC_2.17 sem_unlink F
 GLIBC_2.17 sem_wait F
-GLIBC_2.17 sigaction F
 GLIBC_2.17 siglongjmp F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index fd205edde3..2bae36a939 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.33 __pthread_unregister_cancel F
 GLIBC_2.33 __pthread_unregister_cancel_restore F
 GLIBC_2.33 __pthread_unwind_next F
 GLIBC_2.33 __res_state F
-GLIBC_2.33 __sigaction F
 GLIBC_2.33 _pthread_cleanup_pop F
 GLIBC_2.33 _pthread_cleanup_pop_restore F
 GLIBC_2.33 _pthread_cleanup_push F
@@ -166,7 +165,6 @@ GLIBC_2.33 sem_timedwait F
 GLIBC_2.33 sem_trywait F
 GLIBC_2.33 sem_unlink F
 GLIBC_2.33 sem_wait F
-GLIBC_2.33 sigaction F
 GLIBC_2.33 thrd_create F
 GLIBC_2.33 thrd_detach F
 GLIBC_2.33 thrd_exit F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index 847136b274..d4c07e880f 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.27 __pthread_unregister_cancel F
 GLIBC_2.27 __pthread_unregister_cancel_restore F
 GLIBC_2.27 __pthread_unwind_next F
 GLIBC_2.27 __res_state F
-GLIBC_2.27 __sigaction F
 GLIBC_2.27 _pthread_cleanup_pop F
 GLIBC_2.27 _pthread_cleanup_pop_restore F
 GLIBC_2.27 _pthread_cleanup_push F
@@ -147,7 +146,6 @@ GLIBC_2.27 sem_timedwait F
 GLIBC_2.27 sem_trywait F
 GLIBC_2.27 sem_unlink F
 GLIBC_2.27 sem_wait F
-GLIBC_2.27 sigaction F
 GLIBC_2.28 call_once F
 GLIBC_2.28 cnd_broadcast F
 GLIBC_2.28 cnd_destroy F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index c2e140d4a8..181a605803 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
 GLIBC_2.0 _pthread_cleanup_push F
@@ -58,7 +57,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.1 __libc_allocate_rtsig F
 GLIBC_2.1 __libc_current_sigrtmax F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 7091c72066..1758f462aa 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -36,7 +36,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
 GLIBC_2.2 _pthread_cleanup_pop_restore F
 GLIBC_2.2 _pthread_cleanup_push F
@@ -128,7 +127,6 @@ GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2 sigaction F
 GLIBC_2.2 siglongjmp F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 26a4a18a91..bdf9195208 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -34,7 +34,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
 GLIBC_2.2 _pthread_cleanup_pop_restore F
 GLIBC_2.2 _pthread_cleanup_push F
@@ -126,7 +125,6 @@ GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2 sigaction F
 GLIBC_2.2 siglongjmp F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 26a4a18a91..bdf9195208 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -34,7 +34,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
 GLIBC_2.2 _pthread_cleanup_pop_restore F
 GLIBC_2.2 _pthread_cleanup_push F
@@ -126,7 +125,6 @@ GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2 sigaction F
 GLIBC_2.2 siglongjmp F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __libpthread_version_placeholder F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 4d6547c75e..b18c666b01 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -15,7 +15,6 @@ GLIBC_2.0 __pthread_mutexattr_init F
 GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 __pthread_once F
 GLIBC_2.0 __pthread_setspecific F
-GLIBC_2.0 __sigaction F
 GLIBC_2.0 _pthread_cleanup_pop F
 GLIBC_2.0 _pthread_cleanup_pop_restore F
 GLIBC_2.0 _pthread_cleanup_push F
@@ -58,7 +57,6 @@ GLIBC_2.0 sem_init F
 GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
-GLIBC_2.0 sigaction F
 GLIBC_2.0 siglongjmp F
 GLIBC_2.1 __libc_allocate_rtsig F
 GLIBC_2.1 __libc_current_sigrtmax F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 43fd3ea39a..409779a2eb 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -34,7 +34,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F
 GLIBC_2.2 __pthread_rwlock_wrlock F
 GLIBC_2.2 __pthread_setspecific F
 GLIBC_2.2 __res_state F
-GLIBC_2.2 __sigaction F
 GLIBC_2.2 _pthread_cleanup_pop F
 GLIBC_2.2 _pthread_cleanup_pop_restore F
 GLIBC_2.2 _pthread_cleanup_push F
@@ -126,7 +125,6 @@ GLIBC_2.2 sem_timedwait F
 GLIBC_2.2 sem_trywait F
 GLIBC_2.2 sem_unlink F
 GLIBC_2.2 sem_wait F
-GLIBC_2.2 sigaction F
 GLIBC_2.2 siglongjmp F
 GLIBC_2.2.3 __libpthread_version_placeholder F
 GLIBC_2.2.6 __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
index 13112ed13e..2d3b2274b9 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -34,7 +34,6 @@ GLIBC_2.2.5 __pthread_rwlock_unlock F
 GLIBC_2.2.5 __pthread_rwlock_wrlock F
 GLIBC_2.2.5 __pthread_setspecific F
 GLIBC_2.2.5 __res_state F
-GLIBC_2.2.5 __sigaction F
 GLIBC_2.2.5 _pthread_cleanup_pop F
 GLIBC_2.2.5 _pthread_cleanup_pop_restore F
 GLIBC_2.2.5 _pthread_cleanup_push F
@@ -126,7 +125,6 @@ GLIBC_2.2.5 sem_timedwait F
 GLIBC_2.2.5 sem_trywait F
 GLIBC_2.2.5 sem_unlink F
 GLIBC_2.2.5 sem_wait F
-GLIBC_2.2.5 sigaction F
 GLIBC_2.2.5 siglongjmp F
 GLIBC_2.2.6 __libpthread_version_placeholder F
 GLIBC_2.28 call_once F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 68a5f3d8ef..7851be75b5 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -32,7 +32,6 @@ GLIBC_2.16 __pthread_unregister_cancel F
 GLIBC_2.16 __pthread_unregister_cancel_restore F
 GLIBC_2.16 __pthread_unwind_next F
 GLIBC_2.16 __res_state F
-GLIBC_2.16 __sigaction F
 GLIBC_2.16 _pthread_cleanup_pop F
 GLIBC_2.16 _pthread_cleanup_pop_restore F
 GLIBC_2.16 _pthread_cleanup_push F
@@ -146,7 +145,6 @@ GLIBC_2.16 sem_timedwait F
 GLIBC_2.16 sem_trywait F
 GLIBC_2.16 sem_unlink F
 GLIBC_2.16 sem_wait F
-GLIBC_2.16 sigaction F
 GLIBC_2.16 siglongjmp F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 13/14] nptl: Remove __libc_allocate_rtsig, __libc_current_sigrtmax, and __libc_current_sigrtmin
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
                   ` (11 preceding siblings ...)
  2021-03-19 20:29 ` [PATCH v2 12/14] nptl: Move sigaction to libc Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-25 15:31   ` Florian Weimer
  2021-03-19 20:29 ` [PATCH v2 14/14] nptl: Remove unused rules Adhemerval Zanella
  2021-03-25 17:59 ` [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Florian Weimer
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

The libc version is identical and built with same flags.

Checked on x86_64-linux-gnu.
---
 nptl/Makefile                                 |  1 -
 nptl/Versions                                 |  6 ---
 nptl/pt-allocrtsig.c                          | 50 -------------------
 signal/allocrtsig.c                           |  9 +---
 sysdeps/generic/internal-signals.h            |  4 ++
 sysdeps/nptl/allocrtsig.c                     | 31 ------------
 .../sysv/linux/aarch64/libpthread.abilist     |  3 --
 .../unix/sysv/linux/alpha/libpthread.abilist  |  3 --
 .../unix/sysv/linux/arc/libpthread.abilist    |  3 --
 .../unix/sysv/linux/arm/be/libpthread.abilist |  3 --
 .../unix/sysv/linux/arm/le/libpthread.abilist |  3 --
 .../unix/sysv/linux/csky/libpthread.abilist   |  3 --
 .../unix/sysv/linux/hppa/libpthread.abilist   |  3 --
 .../unix/sysv/linux/i386/libpthread.abilist   |  3 --
 .../unix/sysv/linux/ia64/libpthread.abilist   |  3 --
 sysdeps/unix/sysv/linux/internal-signals.h    |  5 ++
 .../linux/m68k/coldfire/libpthread.abilist    |  3 --
 .../sysv/linux/m68k/m680x0/libpthread.abilist |  3 --
 .../linux/microblaze/be/libpthread.abilist    |  3 --
 .../linux/microblaze/le/libpthread.abilist    |  3 --
 .../sysv/linux/mips/mips32/libpthread.abilist |  3 --
 .../sysv/linux/mips/mips64/libpthread.abilist |  3 --
 .../unix/sysv/linux/nios2/libpthread.abilist  |  3 --
 .../powerpc/powerpc32/libpthread.abilist      |  3 --
 .../powerpc/powerpc64/be/libpthread.abilist   |  3 --
 .../powerpc/powerpc64/le/libpthread.abilist   |  3 --
 .../sysv/linux/riscv/rv32/libpthread.abilist  |  3 --
 .../sysv/linux/riscv/rv64/libpthread.abilist  |  3 --
 .../linux/s390/s390-32/libpthread.abilist     |  3 --
 .../linux/s390/s390-64/libpthread.abilist     |  3 --
 .../unix/sysv/linux/sh/be/libpthread.abilist  |  3 --
 .../unix/sysv/linux/sh/le/libpthread.abilist  |  3 --
 .../linux/sparc/sparc32/libpthread.abilist    |  3 --
 .../linux/sparc/sparc64/libpthread.abilist    |  3 --
 .../sysv/linux/x86_64/64/libpthread.abilist   |  3 --
 .../sysv/linux/x86_64/x32/libpthread.abilist  |  3 --
 36 files changed, 10 insertions(+), 183 deletions(-)
 delete mode 100644 nptl/pt-allocrtsig.c
 delete mode 100644 sysdeps/nptl/allocrtsig.c

diff --git a/nptl/Makefile b/nptl/Makefile
index e2528c9ac3..3c607899b0 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -99,7 +99,6 @@ libpthread-routines = \
   old_pthread_cond_signal \
   old_pthread_cond_timedwait \
   old_pthread_cond_wait \
-  pt-allocrtsig \
   pt-cleanup \
   pt-interp \
   pt-longjmp \
diff --git a/nptl/Versions b/nptl/Versions
index fdabab01fa..494fb3efd9 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -78,9 +78,6 @@ libc {
     __futex_abstimed_wait64;
     __futex_abstimed_wait_cancelable64;
     __libc_alloca_cutoff;
-    __libc_allocate_rtsig_private;
-    __libc_current_sigrtmax_private;
-    __libc_current_sigrtmin_private;
     __libc_dl_error_tsd;
     __libc_pthread_init;
     __lll_clocklock_elision;
@@ -170,9 +167,6 @@ libpthread {
   }
 
   GLIBC_2.1 {
-    __libc_allocate_rtsig;
-    __libc_current_sigrtmax;
-    __libc_current_sigrtmin;
     pthread_attr_getguardsize;
     pthread_attr_getstackaddr;
     pthread_attr_getstacksize;
diff --git a/nptl/pt-allocrtsig.c b/nptl/pt-allocrtsig.c
deleted file mode 100644
index 89ef014a3d..0000000000
--- a/nptl/pt-allocrtsig.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
-
-   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 <signal.h>
-
-
-/* These are defined in libc.  We want to have only one definition
-   so we "forward" the calls.  */
-extern int __libc_current_sigrtmin_private (void);
-extern int __libc_current_sigrtmax_private (void);
-extern int __libc_allocate_rtsig_private (int high);
-
-
-/* We reserve __SIGRTMIN for use as the cancellation signal and
-   __SIGRTMIN+1 to handle setuid et.al.  These signals are used
-   internally.  */
-int
-__libc_current_sigrtmin (void)
-{
-  return __libc_current_sigrtmin_private ();
-}
-
-
-int
-__libc_current_sigrtmax (void)
-{
-  return __libc_current_sigrtmax_private ();
-}
-
-
-int
-__libc_allocate_rtsig (int high)
-{
-  return __libc_allocate_rtsig_private (high);
-}
diff --git a/signal/allocrtsig.c b/signal/allocrtsig.c
index 5e847695e2..b79aed5f8a 100644
--- a/signal/allocrtsig.c
+++ b/signal/allocrtsig.c
@@ -18,11 +18,7 @@
    <https://www.gnu.org/licenses/>.  */
 
 #include <signal.h>
-
-/* Another sysdeps file can #define this and then #include this file.  */
-#ifndef RESERVED_SIGRT
-# define RESERVED_SIGRT 0
-#endif
+#include <internal-signals.h>
 
 /* In these variables we keep track of the used variables.  If the
    platform does not support any real-time signals we will define the
@@ -44,7 +40,6 @@ __libc_current_sigrtmin (void)
 #endif
 }
 libc_hidden_def (__libc_current_sigrtmin)
-strong_alias (__libc_current_sigrtmin, __libc_current_sigrtmin_private)
 
 /* Return number of available real-time signal with lowest priority.  */
 int
@@ -57,7 +52,6 @@ __libc_current_sigrtmax (void)
 #endif
 }
 libc_hidden_def (__libc_current_sigrtmax)
-strong_alias (__libc_current_sigrtmax, __libc_current_sigrtmax_private)
 
 /* Allocate real-time signal with highest/lowest available
    priority.  Please note that we don't use a lock since we assume
@@ -75,4 +69,3 @@ __libc_allocate_rtsig (int high)
   return high ? current_rtmin++ : current_rtmax--;
 #endif
 }
-strong_alias (__libc_allocate_rtsig, __libc_allocate_rtsig_private)
diff --git a/sysdeps/generic/internal-signals.h b/sysdeps/generic/internal-signals.h
index 592c1c7d5c..eaa068dd2c 100644
--- a/sysdeps/generic/internal-signals.h
+++ b/sysdeps/generic/internal-signals.h
@@ -24,6 +24,10 @@
 #include <stdbool.h>
 #include <stddef.h>
 
+/* How many signal numbers need to be reserved for libpthread's private uses
+   (SIGCANCEL and SIGSETXID).  */
+#define RESERVED_SIGRT  0
+
 static inline bool
 __is_internal_signal (int sig)
 {
diff --git a/sysdeps/nptl/allocrtsig.c b/sysdeps/nptl/allocrtsig.c
deleted file mode 100644
index 79aad3be1e..0000000000
--- a/sysdeps/nptl/allocrtsig.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Handle real-time signal allocation.  NPTL version.
-   Copyright (C) 2015-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 <signal.h>
-#include <nptl/pthreadP.h>
-
-#if SIGTIMER != SIGCANCEL
-# error "SIGTIMER and SIGCANCEL must be the same"
-#endif
-
-/* This tells the generic code (included below) how many signal
-   numbers need to be reserved for libpthread's private uses
-   (SIGCANCEL and SIGSETXID).  */
-#define RESERVED_SIGRT 2
-
-#include <signal/allocrtsig.c>
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index 73d4d7ce48..99e29cba0b 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -3,9 +3,6 @@ GLIBC_2.17 _IO_ftrylockfile F
 GLIBC_2.17 _IO_funlockfile F
 GLIBC_2.17 __errno_location F
 GLIBC_2.17 __h_errno_location F
-GLIBC_2.17 __libc_allocate_rtsig F
-GLIBC_2.17 __libc_current_sigrtmax F
-GLIBC_2.17 __libc_current_sigrtmin F
 GLIBC_2.17 __pthread_cleanup_routine F
 GLIBC_2.17 __pthread_getspecific F
 GLIBC_2.17 __pthread_key_create F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index b18c666b01..ac83ad6be0 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -58,9 +58,6 @@ GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.0 siglongjmp F
-GLIBC_2.1 __libc_allocate_rtsig F
-GLIBC_2.1 __libc_current_sigrtmax F
-GLIBC_2.1 __libc_current_sigrtmin F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
 GLIBC_2.1 pthread_attr_getstacksize F
diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
index 865715cdfc..c23d6a8237 100644
--- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
@@ -3,9 +3,6 @@ GLIBC_2.32 _IO_ftrylockfile F
 GLIBC_2.32 _IO_funlockfile F
 GLIBC_2.32 __errno_location F
 GLIBC_2.32 __h_errno_location F
-GLIBC_2.32 __libc_allocate_rtsig F
-GLIBC_2.32 __libc_current_sigrtmax F
-GLIBC_2.32 __libc_current_sigrtmin F
 GLIBC_2.32 __pthread_cleanup_routine F
 GLIBC_2.32 __pthread_getspecific F
 GLIBC_2.32 __pthread_key_create F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index 1c63d79c84..07e0cb6942 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -38,9 +38,6 @@ GLIBC_2.4 _IO_ftrylockfile F
 GLIBC_2.4 _IO_funlockfile F
 GLIBC_2.4 __errno_location F
 GLIBC_2.4 __h_errno_location F
-GLIBC_2.4 __libc_allocate_rtsig F
-GLIBC_2.4 __libc_current_sigrtmax F
-GLIBC_2.4 __libc_current_sigrtmin F
 GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
 GLIBC_2.4 __pthread_key_create F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index 1c63d79c84..07e0cb6942 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -38,9 +38,6 @@ GLIBC_2.4 _IO_ftrylockfile F
 GLIBC_2.4 _IO_funlockfile F
 GLIBC_2.4 __errno_location F
 GLIBC_2.4 __h_errno_location F
-GLIBC_2.4 __libc_allocate_rtsig F
-GLIBC_2.4 __libc_current_sigrtmax F
-GLIBC_2.4 __libc_current_sigrtmin F
 GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
 GLIBC_2.4 __pthread_key_create F
diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
index 2408ab5462..6a508b6876 100644
--- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
@@ -3,9 +3,6 @@ GLIBC_2.29 _IO_ftrylockfile F
 GLIBC_2.29 _IO_funlockfile F
 GLIBC_2.29 __errno_location F
 GLIBC_2.29 __h_errno_location F
-GLIBC_2.29 __libc_allocate_rtsig F
-GLIBC_2.29 __libc_current_sigrtmax F
-GLIBC_2.29 __libc_current_sigrtmin F
 GLIBC_2.29 __pthread_cleanup_routine F
 GLIBC_2.29 __pthread_getspecific F
 GLIBC_2.29 __pthread_key_create F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index bdf9195208..23ddf5265b 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -11,9 +11,6 @@ GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
 GLIBC_2.2 __h_errno_location F
-GLIBC_2.2 __libc_allocate_rtsig F
-GLIBC_2.2 __libc_current_sigrtmax F
-GLIBC_2.2 __libc_current_sigrtmin F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_mutex_destroy F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 88aaf4147e..966b1f58a0 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -58,9 +58,6 @@ GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.0 siglongjmp F
-GLIBC_2.1 __libc_allocate_rtsig F
-GLIBC_2.1 __libc_current_sigrtmax F
-GLIBC_2.1 __libc_current_sigrtmin F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
 GLIBC_2.1 pthread_attr_getstacksize F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 409779a2eb..93bc938771 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -11,9 +11,6 @@ GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
 GLIBC_2.2 __h_errno_location F
-GLIBC_2.2 __libc_allocate_rtsig F
-GLIBC_2.2 __libc_current_sigrtmax F
-GLIBC_2.2 __libc_current_sigrtmin F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_mutex_destroy F
diff --git a/sysdeps/unix/sysv/linux/internal-signals.h b/sysdeps/unix/sysv/linux/internal-signals.h
index 1535f5e530..734989a83a 100644
--- a/sysdeps/unix/sysv/linux/internal-signals.h
+++ b/sysdeps/unix/sysv/linux/internal-signals.h
@@ -40,6 +40,11 @@
 #define SIGSETXID       (__SIGRTMIN + 1)
 
 
+/* How many signal numbers need to be reserved for libpthread's private uses
+   (SIGCANCEL and SIGSETXID).  */
+#define RESERVED_SIGRT  2
+
+
 /* Return is sig is used internally.  */
 static inline bool
 __is_internal_signal (int sig)
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index 1c63d79c84..07e0cb6942 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -38,9 +38,6 @@ GLIBC_2.4 _IO_ftrylockfile F
 GLIBC_2.4 _IO_funlockfile F
 GLIBC_2.4 __errno_location F
 GLIBC_2.4 __h_errno_location F
-GLIBC_2.4 __libc_allocate_rtsig F
-GLIBC_2.4 __libc_current_sigrtmax F
-GLIBC_2.4 __libc_current_sigrtmin F
 GLIBC_2.4 __pthread_cleanup_routine F
 GLIBC_2.4 __pthread_getspecific F
 GLIBC_2.4 __pthread_key_create F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 88aaf4147e..966b1f58a0 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -58,9 +58,6 @@ GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.0 siglongjmp F
-GLIBC_2.1 __libc_allocate_rtsig F
-GLIBC_2.1 __libc_current_sigrtmax F
-GLIBC_2.1 __libc_current_sigrtmin F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
 GLIBC_2.1 pthread_attr_getstacksize F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 40c77fcc99..1011011cd8 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -3,9 +3,6 @@ GLIBC_2.18 _IO_ftrylockfile F
 GLIBC_2.18 _IO_funlockfile F
 GLIBC_2.18 __errno_location F
 GLIBC_2.18 __h_errno_location F
-GLIBC_2.18 __libc_allocate_rtsig F
-GLIBC_2.18 __libc_current_sigrtmax F
-GLIBC_2.18 __libc_current_sigrtmin F
 GLIBC_2.18 __pthread_cleanup_routine F
 GLIBC_2.18 __pthread_getspecific F
 GLIBC_2.18 __pthread_key_create F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 40c77fcc99..1011011cd8 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -3,9 +3,6 @@ GLIBC_2.18 _IO_ftrylockfile F
 GLIBC_2.18 _IO_funlockfile F
 GLIBC_2.18 __errno_location F
 GLIBC_2.18 __h_errno_location F
-GLIBC_2.18 __libc_allocate_rtsig F
-GLIBC_2.18 __libc_current_sigrtmax F
-GLIBC_2.18 __libc_current_sigrtmin F
 GLIBC_2.18 __pthread_cleanup_routine F
 GLIBC_2.18 __pthread_getspecific F
 GLIBC_2.18 __pthread_key_create F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index f991279bf5..165603e894 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -66,9 +66,6 @@ GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __libc_allocate_rtsig F
-GLIBC_2.2 __libc_current_sigrtmax F
-GLIBC_2.2 __libc_current_sigrtmin F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index f991279bf5..165603e894 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -66,9 +66,6 @@ GLIBC_2.12 pthread_mutexattr_setrobust F
 GLIBC_2.12 pthread_setname_np F
 GLIBC_2.18 pthread_getattr_default_np F
 GLIBC_2.18 pthread_setattr_default_np F
-GLIBC_2.2 __libc_allocate_rtsig F
-GLIBC_2.2 __libc_current_sigrtmax F
-GLIBC_2.2 __libc_current_sigrtmin F
 GLIBC_2.2 __pthread_rwlock_destroy F
 GLIBC_2.2 __pthread_rwlock_init F
 GLIBC_2.2 __pthread_rwlock_rdlock F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 0ccde43c25..53590cff89 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -3,9 +3,6 @@ GLIBC_2.21 _IO_ftrylockfile F
 GLIBC_2.21 _IO_funlockfile F
 GLIBC_2.21 __errno_location F
 GLIBC_2.21 __h_errno_location F
-GLIBC_2.21 __libc_allocate_rtsig F
-GLIBC_2.21 __libc_current_sigrtmax F
-GLIBC_2.21 __libc_current_sigrtmin F
 GLIBC_2.21 __pthread_cleanup_routine F
 GLIBC_2.21 __pthread_getspecific F
 GLIBC_2.21 __pthread_key_create F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index f9e188cc0f..d2283c7014 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -58,9 +58,6 @@ GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.0 siglongjmp F
-GLIBC_2.1 __libc_allocate_rtsig F
-GLIBC_2.1 __libc_current_sigrtmax F
-GLIBC_2.1 __libc_current_sigrtmin F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
 GLIBC_2.1 pthread_attr_getstacksize F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index 9447c703a3..a6c12a8578 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -32,9 +32,6 @@ GLIBC_2.3 _IO_ftrylockfile F
 GLIBC_2.3 _IO_funlockfile F
 GLIBC_2.3 __errno_location F
 GLIBC_2.3 __h_errno_location F
-GLIBC_2.3 __libc_allocate_rtsig F
-GLIBC_2.3 __libc_current_sigrtmax F
-GLIBC_2.3 __libc_current_sigrtmin F
 GLIBC_2.3 __pthread_getspecific F
 GLIBC_2.3 __pthread_key_create F
 GLIBC_2.3 __pthread_mutex_destroy F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index 73d4d7ce48..99e29cba0b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -3,9 +3,6 @@ GLIBC_2.17 _IO_ftrylockfile F
 GLIBC_2.17 _IO_funlockfile F
 GLIBC_2.17 __errno_location F
 GLIBC_2.17 __h_errno_location F
-GLIBC_2.17 __libc_allocate_rtsig F
-GLIBC_2.17 __libc_current_sigrtmax F
-GLIBC_2.17 __libc_current_sigrtmin F
 GLIBC_2.17 __pthread_cleanup_routine F
 GLIBC_2.17 __pthread_getspecific F
 GLIBC_2.17 __pthread_key_create F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
index 2bae36a939..17e2435e03 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
@@ -3,9 +3,6 @@ GLIBC_2.33 _IO_ftrylockfile F
 GLIBC_2.33 _IO_funlockfile F
 GLIBC_2.33 __errno_location F
 GLIBC_2.33 __h_errno_location F
-GLIBC_2.33 __libc_allocate_rtsig F
-GLIBC_2.33 __libc_current_sigrtmax F
-GLIBC_2.33 __libc_current_sigrtmin F
 GLIBC_2.33 __pthread_cleanup_routine F
 GLIBC_2.33 __pthread_getspecific F
 GLIBC_2.33 __pthread_key_create F
diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
index d4c07e880f..1bc3c38ed6 100644
--- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
@@ -3,9 +3,6 @@ GLIBC_2.27 _IO_ftrylockfile F
 GLIBC_2.27 _IO_funlockfile F
 GLIBC_2.27 __errno_location F
 GLIBC_2.27 __h_errno_location F
-GLIBC_2.27 __libc_allocate_rtsig F
-GLIBC_2.27 __libc_current_sigrtmax F
-GLIBC_2.27 __libc_current_sigrtmin F
 GLIBC_2.27 __pthread_cleanup_routine F
 GLIBC_2.27 __pthread_getspecific F
 GLIBC_2.27 __pthread_key_create F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 181a605803..06ccaab2d8 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -58,9 +58,6 @@ GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.0 siglongjmp F
-GLIBC_2.1 __libc_allocate_rtsig F
-GLIBC_2.1 __libc_current_sigrtmax F
-GLIBC_2.1 __libc_current_sigrtmin F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
 GLIBC_2.1 pthread_attr_getstacksize F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 1758f462aa..9bfa16b8c6 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -13,9 +13,6 @@ GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
 GLIBC_2.2 __h_errno_location F
-GLIBC_2.2 __libc_allocate_rtsig F
-GLIBC_2.2 __libc_current_sigrtmax F
-GLIBC_2.2 __libc_current_sigrtmin F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_mutex_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index bdf9195208..23ddf5265b 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -11,9 +11,6 @@ GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
 GLIBC_2.2 __h_errno_location F
-GLIBC_2.2 __libc_allocate_rtsig F
-GLIBC_2.2 __libc_current_sigrtmax F
-GLIBC_2.2 __libc_current_sigrtmin F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_mutex_destroy F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index bdf9195208..23ddf5265b 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -11,9 +11,6 @@ GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
 GLIBC_2.2 __h_errno_location F
-GLIBC_2.2 __libc_allocate_rtsig F
-GLIBC_2.2 __libc_current_sigrtmax F
-GLIBC_2.2 __libc_current_sigrtmin F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_mutex_destroy F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index b18c666b01..ac83ad6be0 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -58,9 +58,6 @@ GLIBC_2.0 sem_post F
 GLIBC_2.0 sem_trywait F
 GLIBC_2.0 sem_wait F
 GLIBC_2.0 siglongjmp F
-GLIBC_2.1 __libc_allocate_rtsig F
-GLIBC_2.1 __libc_current_sigrtmax F
-GLIBC_2.1 __libc_current_sigrtmin F
 GLIBC_2.1 pthread_attr_getguardsize F
 GLIBC_2.1 pthread_attr_getstackaddr F
 GLIBC_2.1 pthread_attr_getstacksize F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 409779a2eb..93bc938771 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -11,9 +11,6 @@ GLIBC_2.2 _IO_ftrylockfile F
 GLIBC_2.2 _IO_funlockfile F
 GLIBC_2.2 __errno_location F
 GLIBC_2.2 __h_errno_location F
-GLIBC_2.2 __libc_allocate_rtsig F
-GLIBC_2.2 __libc_current_sigrtmax F
-GLIBC_2.2 __libc_current_sigrtmin F
 GLIBC_2.2 __pthread_getspecific F
 GLIBC_2.2 __pthread_key_create F
 GLIBC_2.2 __pthread_mutex_destroy F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 2d3b2274b9..adef48581d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -11,9 +11,6 @@ GLIBC_2.2.5 _IO_ftrylockfile F
 GLIBC_2.2.5 _IO_funlockfile F
 GLIBC_2.2.5 __errno_location F
 GLIBC_2.2.5 __h_errno_location F
-GLIBC_2.2.5 __libc_allocate_rtsig F
-GLIBC_2.2.5 __libc_current_sigrtmax F
-GLIBC_2.2.5 __libc_current_sigrtmin F
 GLIBC_2.2.5 __pthread_getspecific F
 GLIBC_2.2.5 __pthread_key_create F
 GLIBC_2.2.5 __pthread_mutex_destroy F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index 7851be75b5..b37bf5dcb1 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -3,9 +3,6 @@ GLIBC_2.16 _IO_ftrylockfile F
 GLIBC_2.16 _IO_funlockfile F
 GLIBC_2.16 __errno_location F
 GLIBC_2.16 __h_errno_location F
-GLIBC_2.16 __libc_allocate_rtsig F
-GLIBC_2.16 __libc_current_sigrtmax F
-GLIBC_2.16 __libc_current_sigrtmin F
 GLIBC_2.16 __pthread_cleanup_routine F
 GLIBC_2.16 __pthread_getspecific F
 GLIBC_2.16 __pthread_key_create F
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* [PATCH v2 14/14] nptl: Remove unused rules
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
                   ` (12 preceding siblings ...)
  2021-03-19 20:29 ` [PATCH v2 13/14] nptl: Remove __libc_allocate_rtsig, __libc_current_sigrtmax, and __libc_current_sigrtmin Adhemerval Zanella
@ 2021-03-19 20:29 ` Adhemerval Zanella
  2021-03-25 15:33   ` Florian Weimer
  2021-03-25 17:59 ` [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Florian Weimer
  14 siblings, 1 reply; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-19 20:29 UTC (permalink / raw)
  To: libc-alpha

The wrapper are not exported by libpthread.
---
 nptl/Makefile | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/nptl/Makefile b/nptl/Makefile
index 3c607899b0..8fe92d43fa 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -266,11 +266,6 @@ CFLAGS-sem_wait.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sem_timedwait.c += -fexceptions -fasynchronous-unwind-tables
 CFLAGS-sem_clockwait.c = -fexceptions -fasynchronous-unwind-tables
 
-# These are the function wrappers we have to duplicate here.
-CFLAGS-lockf.c += -fexceptions
-CFLAGS-sigwait.c += -fexceptions -fasynchronous-unwind-tables
-CFLAGS-fdatasync.c += -fexceptions -fasynchronous-unwind-tables
-
 CFLAGS-futex-internal.c += -fexceptions -fasynchronous-unwind-tables
 
 LDLIBS-tst-once5 = -lstdc++
-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 01/14] Add OTHER_SHLIB_COMPAT
  2021-03-19 20:29 ` [PATCH v2 01/14] Add OTHER_SHLIB_COMPAT Adhemerval Zanella
@ 2021-03-19 20:36   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-19 20:36 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> +/* Like SHLIB_COMPAT, but can check versions in other libraries.  It is
> +   not always false outside for !IS_IN (LIB).  */
> +#define OTHER_SHLIB_COMPAT(lib, introduced, obsoleted)	\
> +  _OTHER_SHLIB_COMPAT (lib, introduced, obsoleted)
> +#define _OTHER_SHLIB_COMPAT(lib, introduced, obsoleted)			\
> +  (!(ABI_##lib##_##obsoleted - 0)					\
> +   || ((ABI_##lib##_##introduced - 0) < (ABI_##lib##_##obsoleted - 0)))
> +

Maybe: “Like SHLIB_COMPAT, but it can check versions in other
libraries.  It is not always false for !IS_IN (LIB).”

Looks okay otherwise.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 02/14] nptl: Remove send from libpthread
  2021-03-19 20:29 ` [PATCH v2 02/14] nptl: Remove send from libpthread Adhemerval Zanella
@ 2021-03-25 13:36   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 13:36 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> The libc version is identical and built with same flags.  Both aarch64
> and nios2 also requires to export __send and tt was done previously with
> the HAVE_INTERNAL_SEND_SYMBOL (which forced the symbol creation).
>
> All __send callers are internal to libc and the original issue that
> required the symbol export was due a missing libc_hidden_def.  So
> a compat symbol is added for __send and the libc_hidden_def is
> defined regardless.

What's the intended compat symbol status of __send with this patch?

Presently, it's a compat symbol on aarch64 and nios2 only, I think.
This is sufficient to avoid the additional of the __send@@GLIBC_2.34
symbol there.  The other architectures already have a public __send
symbol, so the issue does not apply to them.

I think this split approach is okay for now, and as far as I can tell,
this patch achieves it, so I think it should go in.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 03/14] nptl: Remove lseek from libpthread
  2021-03-19 20:29 ` [PATCH v2 03/14] nptl: Remove lseek " Adhemerval Zanella
@ 2021-03-25 13:37   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 13:37 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> The libc version is identical and built with same flags.  The libc
> version is set as the default version.
>
> The libpthread compat symbol requires to mask it when building the
> loader object otherwise ld might complain about a missing
> versioned symbol (as for alpha).
>
> Checked on x86_64-linux-gnu.
> ---
>  include/unistd.h                                           | 3 +--
>  nptl/Makefile                                              | 1 -
>  nptl/Versions                                              | 3 ---
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist         | 3 ---
>  sysdeps/unix/sysv/linux/alpha/libc.abilist                 | 1 +
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist           | 3 ---
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist             | 3 ---
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist          | 3 ---
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist          | 3 ---
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist            | 3 ---
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist            | 3 ---
>  sysdeps/unix/sysv/linux/i386/libc.abilist                  | 1 +
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist            | 3 ---
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist            | 3 ---
>  sysdeps/unix/sysv/linux/lseek64.c                          | 7 +++++--
>  sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist   | 3 ---
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist           | 1 +
>  sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist     | 3 ---
>  sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist   | 3 ---
>  sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist   | 3 ---
>  sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist     | 3 ---
>  sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist     | 3 ---
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist           | 3 ---
>  sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 1 +
>  .../unix/sysv/linux/powerpc/powerpc32/libpthread.abilist   | 3 ---
>  .../unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   | 1 +
>  .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist     | 3 ---
>  .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist     | 3 ---
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist      | 3 ---
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist      | 3 ---
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist          | 1 +
>  sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist    | 3 ---
>  sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist    | 3 ---
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist           | 3 ---
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist           | 3 ---
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist         | 1 +
>  sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist   | 3 ---
>  sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist   | 3 ---
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist       | 3 ---
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist      | 3 ---
>  40 files changed, 13 insertions(+), 95 deletions(-)

As far as I can tell, this patch is okay.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 04/14] nptl: Remove open from libpthread
  2021-03-19 20:29 ` [PATCH v2 04/14] nptl: Remove open " Adhemerval Zanella
@ 2021-03-25 13:46   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 13:46 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> diff --git a/sysdeps/mach/hurd/i386/ld.abilist b/sysdeps/mach/hurd/i386/ld.abilist
> index 7e20c5e7ce..a2a16523b5 100644
> --- a/sysdeps/mach/hurd/i386/ld.abilist
> +++ b/sysdeps/mach/hurd/i386/ld.abilist
> @@ -3,8 +3,6 @@ GLIBC_2.2.6 __errno_location F
>  GLIBC_2.2.6 __getpid F
>  GLIBC_2.2.6 __libc_stack_end D 0x4
>  GLIBC_2.2.6 __mmap F
> -GLIBC_2.2.6 __open F
> -GLIBC_2.2.6 __open64 F
>  GLIBC_2.2.6 __pread64 F
>  GLIBC_2.2.6 __read F
>  GLIBC_2.2.6 __sbrk F

This change seems unintended.  It causes elf/check-abi-ld to fail on
i686-gnu.

If you drop this part, I think the patch is okay.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 05/14] nptl: Remove pread from libpthread
  2021-03-19 20:29 ` [PATCH v2 05/14] nptl: Remove pread " Adhemerval Zanella
@ 2021-03-25 14:07   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 14:07 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> The libc version is identical and built with same flags, it is also
> uses as the default version.
>
> Checked on x86_64-linux-gnu.
> ---
>  include/unistd.h                                       |  2 +-
>  nptl/Makefile                                          |  4 +---
>  nptl/Versions                                          |  3 ---
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist     |  3 ---
>  sysdeps/unix/sysv/linux/alpha/libc.abilist             |  3 +++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist       |  3 ---
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist         |  3 ---
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist      |  3 ---
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist      |  3 ---
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist        |  3 ---
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist        |  3 ---
>  sysdeps/unix/sysv/linux/i386/libc.abilist              |  3 +++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist        |  3 ---
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist        |  3 ---
>  .../unix/sysv/linux/m68k/coldfire/libpthread.abilist   |  3 ---
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist       |  3 +++
>  sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist |  3 ---
>  .../unix/sysv/linux/microblaze/be/libpthread.abilist   |  3 ---
>  .../unix/sysv/linux/microblaze/le/libpthread.abilist   |  3 ---
>  sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist |  3 ---
>  sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist |  3 ---
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist       |  3 ---
>  .../unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist |  3 +++
>  .../sysv/linux/powerpc/powerpc32/libpthread.abilist    |  3 ---
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist    |  3 +++
>  .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist |  3 ---
>  .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist |  3 ---
>  sysdeps/unix/sysv/linux/pread.c                        |  6 ++++++
>  sysdeps/unix/sysv/linux/pread64.c                      | 10 ++++++++++
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist  |  3 ---
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist  |  3 ---
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist      |  3 +++
>  .../unix/sysv/linux/s390/s390-32/libpthread.abilist    |  3 ---
>  .../unix/sysv/linux/s390/s390-64/libpthread.abilist    |  3 ---
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist       |  3 ---
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist       |  3 ---
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist     |  3 +++
>  .../unix/sysv/linux/sparc/sparc32/libpthread.abilist   |  3 ---
>  .../unix/sysv/linux/sparc/sparc64/libpthread.abilist   |  3 ---
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist   |  3 ---
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist  |  3 ---
>  41 files changed, 39 insertions(+), 94 deletions(-)

Patch looks good to me, thanks.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 06/14] nptl: Remove pwrite from libpthread
  2021-03-19 20:29 ` [PATCH v2 06/14] nptl: Remove pwrite " Adhemerval Zanella
@ 2021-03-25 14:11   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 14:11 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> The libc version is identical and built with same flags, it is also
> uses as the default version.
>
> Checked on x86_64-linux-gnu.
> ---
>  include/unistd.h                                       |  2 +-
>  nptl/Makefile                                          |  3 ---
>  nptl/Versions                                          |  3 ---
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist     |  3 ---
>  sysdeps/unix/sysv/linux/alpha/libc.abilist             |  3 +++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist       |  3 ---
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist         |  3 ---
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist      |  3 ---
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist      |  3 ---
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist        |  3 ---
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist        |  3 ---
>  sysdeps/unix/sysv/linux/i386/libc.abilist              |  3 +++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist        |  3 ---
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist        |  3 ---
>  .../unix/sysv/linux/m68k/coldfire/libpthread.abilist   |  3 ---
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist       |  3 +++
>  sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist |  3 ---
>  .../unix/sysv/linux/microblaze/be/libpthread.abilist   |  3 ---
>  .../unix/sysv/linux/microblaze/le/libpthread.abilist   |  3 ---
>  sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist |  3 ---
>  sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist |  3 ---
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist       |  3 ---
>  .../unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist |  3 +++
>  .../sysv/linux/powerpc/powerpc32/libpthread.abilist    |  3 ---
>  .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist    |  3 +++
>  .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist |  3 ---
>  .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist |  3 ---
>  sysdeps/unix/sysv/linux/pwrite.c                       |  6 ++++++
>  sysdeps/unix/sysv/linux/pwrite64.c                     | 10 ++++++++++
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist  |  3 ---
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist  |  3 ---
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist      |  3 +++
>  .../unix/sysv/linux/s390/s390-32/libpthread.abilist    |  3 ---
>  .../unix/sysv/linux/s390/s390-64/libpthread.abilist    |  3 ---
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist       |  3 ---
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist       |  3 ---
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist     |  3 +++
>  .../unix/sysv/linux/sparc/sparc32/libpthread.abilist   |  3 ---
>  .../unix/sysv/linux/sparc/sparc64/libpthread.abilist   |  3 ---
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist   |  3 ---
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist  |  3 ---
>  41 files changed, 38 insertions(+), 94 deletions(-)

Looks okay as well.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 07/14] nptl: Remove msgsnd from pthread-compat-wrappers
  2021-03-19 20:29 ` [PATCH v2 07/14] nptl: Remove msgsnd from pthread-compat-wrappers Adhemerval Zanella
@ 2021-03-25 14:33   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 14:33 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> The symbol is not exported by libpthread.
> ---
>  nptl/Makefile | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/nptl/Makefile b/nptl/Makefile
> index c5ad85507d..c159af8a33 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -81,7 +81,7 @@ static-only-routines = pthread_atfork
>  # We need to provide certain routines for compatibility with existing
>  # binaries.
>  pthread-compat-wrappers = \
> -		      msgrcv msgsnd \
> +		      msgrcv \
>  		      sigsuspend \
>  
>  libpthread-routines = \
> @@ -281,7 +281,6 @@ CFLAGS-sem_clockwait.c = -fexceptions -fasynchronous-unwind-tables
>  CFLAGS-lockf.c += -fexceptions
>  CFLAGS-sigwait.c += -fexceptions -fasynchronous-unwind-tables
>  CFLAGS-msgrcv.c += -fexceptions -fasynchronous-unwind-tables
> -CFLAGS-msgsnd.c += -fexceptions -fasynchronous-unwind-tables
>  CFLAGS-sigsuspend.c += -fexceptions -fasynchronous-unwind-tables
>  CFLAGS-fdatasync.c += -fexceptions -fasynchronous-unwind-tables

Looks good.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 08/14] nptl: Remove msgrcv from pthread-compat-wrappers
  2021-03-19 20:29 ` [PATCH v2 08/14] nptl: Remove msgrcv " Adhemerval Zanella
@ 2021-03-25 14:33   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 14:33 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> The symbol is not exported by libpthread.
> ---
>  nptl/Makefile | 2 --
>  1 file changed, 2 deletions(-)
>
> diff --git a/nptl/Makefile b/nptl/Makefile
> index c159af8a33..6d29815b35 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -81,7 +81,6 @@ static-only-routines = pthread_atfork
>  # We need to provide certain routines for compatibility with existing
>  # binaries.
>  pthread-compat-wrappers = \
> -		      msgrcv \
>  		      sigsuspend \
>  
>  libpthread-routines = \
> @@ -280,7 +279,6 @@ CFLAGS-sem_clockwait.c = -fexceptions -fasynchronous-unwind-tables
>  # These are the function wrappers we have to duplicate here.
>  CFLAGS-lockf.c += -fexceptions
>  CFLAGS-sigwait.c += -fexceptions -fasynchronous-unwind-tables
> -CFLAGS-msgrcv.c += -fexceptions -fasynchronous-unwind-tables
>  CFLAGS-sigsuspend.c += -fexceptions -fasynchronous-unwind-tables
>  CFLAGS-fdatasync.c += -fexceptions -fasynchronous-unwind-tables

Also good.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 09/14] nptl: Remove sigsuspend from pthread-compat-wrappers
  2021-03-19 20:29 ` [PATCH v2 09/14] nptl: Remove sigsuspend " Adhemerval Zanella
@ 2021-03-25 14:34   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 14:34 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> The symbol is not exported by libpthread.
> ---
>  nptl/Makefile | 7 -------
>  1 file changed, 7 deletions(-)
>
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 6d29815b35..6ff2d5e208 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -78,13 +78,7 @@ routines = \
>  shared-only-routines = forward
>  static-only-routines = pthread_atfork
>  
> -# We need to provide certain routines for compatibility with existing
> -# binaries.
> -pthread-compat-wrappers = \
> -		      sigsuspend \
> -
>  libpthread-routines = \
> -  $(pthread-compat-wrappers) \
>    cancellation \
>    cleanup \
>    cleanup_compat \
> @@ -279,7 +273,6 @@ CFLAGS-sem_clockwait.c = -fexceptions -fasynchronous-unwind-tables
>  # These are the function wrappers we have to duplicate here.
>  CFLAGS-lockf.c += -fexceptions
>  CFLAGS-sigwait.c += -fexceptions -fasynchronous-unwind-tables
> -CFLAGS-sigsuspend.c += -fexceptions -fasynchronous-unwind-tables
>  CFLAGS-fdatasync.c += -fexceptions -fasynchronous-unwind-tables
>  
>  CFLAGS-futex-internal.c += -fexceptions -fasynchronous-unwind-tables

Good as well.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 10/14] nptl: Move pthread_kill to libc
  2021-03-19 20:29 ` [PATCH v2 10/14] nptl: Move pthread_kill to libc Adhemerval Zanella
@ 2021-03-25 14:45   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 14:45 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> A new 2.34 version is also provided.
>
> Checked on x86_64-linux-gnu.
> ---
>  nptl/Makefile                                              | 2 +-
>  nptl/Versions                                              | 5 ++++-
>  nptl/pthread_kill.c                                        | 7 ++++++-
>  sysdeps/unix/sysv/linux/aarch64/libc.abilist               | 2 ++
>  sysdeps/unix/sysv/linux/aarch64/libpthread.abilist         | 1 -
>  sysdeps/unix/sysv/linux/alpha/libc.abilist                 | 2 ++
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist           | 1 -
>  sysdeps/unix/sysv/linux/arc/libc.abilist                   | 2 ++
>  sysdeps/unix/sysv/linux/arc/libpthread.abilist             | 1 -
>  sysdeps/unix/sysv/linux/arm/be/libc.abilist                | 2 ++
>  sysdeps/unix/sysv/linux/arm/be/libpthread.abilist          | 1 -
>  sysdeps/unix/sysv/linux/arm/le/libc.abilist                | 2 ++
>  sysdeps/unix/sysv/linux/arm/le/libpthread.abilist          | 1 -
>  sysdeps/unix/sysv/linux/csky/libc.abilist                  | 2 ++
>  sysdeps/unix/sysv/linux/csky/libpthread.abilist            | 1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist                  | 2 ++
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist            | 1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist                  | 2 ++
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist            | 1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist                  | 2 ++
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist            | 1 -
>  sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist         | 2 ++
>  sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist   | 1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist           | 2 ++
>  sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist     | 1 -
>  sysdeps/unix/sysv/linux/microblaze/be/libc.abilist         | 2 ++
>  sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist   | 1 -
>  sysdeps/unix/sysv/linux/microblaze/le/libc.abilist         | 2 ++
>  sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist   | 1 -
>  sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist       | 2 ++
>  sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist     | 1 -
>  sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist     | 2 ++
>  sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist     | 1 -
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist       | 2 ++
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist       | 2 ++
>  sysdeps/unix/sysv/linux/nios2/libc.abilist                 | 2 ++
>  sysdeps/unix/sysv/linux/nios2/libpthread.abilist           | 1 -
>  sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 2 ++
>  .../unix/sysv/linux/powerpc/powerpc32/libpthread.abilist   | 1 -
>  .../unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist   | 2 ++
>  sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist  | 2 ++
>  .../sysv/linux/powerpc/powerpc64/be/libpthread.abilist     | 1 -
>  sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist  | 2 ++
>  .../sysv/linux/powerpc/powerpc64/le/libpthread.abilist     | 1 -
>  sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist            | 2 ++
>  sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist      | 1 -
>  sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist            | 2 ++
>  sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist      | 1 -
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist          | 2 ++
>  sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist    | 1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist          | 2 ++
>  sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist    | 1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist                 | 2 ++
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist           | 1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist                 | 2 ++
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist           | 1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist         | 2 ++
>  sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist   | 1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist         | 2 ++
>  sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist   | 1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist             | 2 ++
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist       | 1 -
>  sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist            | 2 ++
>  sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist      | 1 -
>  64 files changed, 75 insertions(+), 32 deletions(-)

Patch looks okay, thanks.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 11/14] nptl: Remove pthread raise implementation
  2021-03-19 20:29 ` [PATCH v2 11/14] nptl: Remove pthread raise implementation Adhemerval Zanella
@ 2021-03-25 14:49   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 14:49 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> The Linux version already target the current thread by using tgkill
> along with getpid and gettid.
>
> For arm, libpthread does not do a intra PLT since it will call the
> raise from libc.
>
> Checked on x86_64-linux-gnu.

This one looks okay to me.  Thanks.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 12/14] nptl: Move sigaction to libc
  2021-03-19 20:29 ` [PATCH v2 12/14] nptl: Move sigaction to libc Adhemerval Zanella
@ 2021-03-25 15:00   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 15:00 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> The libc version is identical and built with same flags.
>
> Checked on x86_64-linux-gnu.
> ---
>  nptl/Makefile                                 |  2 --
>  nptl/Versions                                 |  2 --
>  nptl/sigaction.c                              | 33 -------------------
>  signal/Versions                               |  3 ++
>  .../sysv/linux/aarch64/libpthread.abilist     |  2 --
>  .../unix/sysv/linux/alpha/libpthread.abilist  |  2 --
>  .../unix/sysv/linux/arc/libpthread.abilist    |  2 --
>  .../unix/sysv/linux/arm/be/libpthread.abilist |  2 --
>  .../unix/sysv/linux/arm/le/libpthread.abilist |  2 --
>  .../unix/sysv/linux/csky/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/hppa/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/i386/libpthread.abilist   |  2 --
>  .../unix/sysv/linux/ia64/libpthread.abilist   |  2 --
>  .../linux/m68k/coldfire/libpthread.abilist    |  2 --
>  .../sysv/linux/m68k/m680x0/libpthread.abilist |  2 --
>  .../linux/microblaze/be/libpthread.abilist    |  2 --
>  .../linux/microblaze/le/libpthread.abilist    |  2 --
>  .../sysv/linux/mips/mips32/libpthread.abilist |  2 --
>  .../sysv/linux/mips/mips64/libpthread.abilist |  2 --
>  .../unix/sysv/linux/nios2/libpthread.abilist  |  2 --
>  .../powerpc/powerpc32/libpthread.abilist      |  2 --
>  .../powerpc/powerpc64/be/libpthread.abilist   |  2 --
>  .../powerpc/powerpc64/le/libpthread.abilist   |  2 --
>  .../sysv/linux/riscv/rv32/libpthread.abilist  |  2 --
>  .../sysv/linux/riscv/rv64/libpthread.abilist  |  2 --
>  .../linux/s390/s390-32/libpthread.abilist     |  2 --
>  .../linux/s390/s390-64/libpthread.abilist     |  2 --
>  .../unix/sysv/linux/sh/be/libpthread.abilist  |  2 --
>  .../unix/sysv/linux/sh/le/libpthread.abilist  |  2 --
>  .../linux/sparc/sparc32/libpthread.abilist    |  2 --
>  .../linux/sparc/sparc64/libpthread.abilist    |  2 --
>  .../sysv/linux/x86_64/64/libpthread.abilist   |  2 --
>  .../sysv/linux/x86_64/x32/libpthread.abilist  |  2 --
>  33 files changed, 3 insertions(+), 95 deletions(-)
>  delete mode 100644 nptl/sigaction.c

Looks fine, thanks.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 13/14] nptl: Remove __libc_allocate_rtsig, __libc_current_sigrtmax, and __libc_current_sigrtmin
  2021-03-19 20:29 ` [PATCH v2 13/14] nptl: Remove __libc_allocate_rtsig, __libc_current_sigrtmax, and __libc_current_sigrtmin Adhemerval Zanella
@ 2021-03-25 15:31   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 15:31 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> The libc version is identical and built with same flags.
>
> Checked on x86_64-linux-gnu.
> ---
>  nptl/Makefile                                 |  1 -
>  nptl/Versions                                 |  6 ---
>  nptl/pt-allocrtsig.c                          | 50 -------------------
>  signal/allocrtsig.c                           |  9 +---
>  sysdeps/generic/internal-signals.h            |  4 ++
>  sysdeps/nptl/allocrtsig.c                     | 31 ------------
>  .../sysv/linux/aarch64/libpthread.abilist     |  3 --
>  .../unix/sysv/linux/alpha/libpthread.abilist  |  3 --
>  .../unix/sysv/linux/arc/libpthread.abilist    |  3 --
>  .../unix/sysv/linux/arm/be/libpthread.abilist |  3 --
>  .../unix/sysv/linux/arm/le/libpthread.abilist |  3 --
>  .../unix/sysv/linux/csky/libpthread.abilist   |  3 --
>  .../unix/sysv/linux/hppa/libpthread.abilist   |  3 --
>  .../unix/sysv/linux/i386/libpthread.abilist   |  3 --
>  .../unix/sysv/linux/ia64/libpthread.abilist   |  3 --
>  sysdeps/unix/sysv/linux/internal-signals.h    |  5 ++
>  .../linux/m68k/coldfire/libpthread.abilist    |  3 --
>  .../sysv/linux/m68k/m680x0/libpthread.abilist |  3 --
>  .../linux/microblaze/be/libpthread.abilist    |  3 --
>  .../linux/microblaze/le/libpthread.abilist    |  3 --
>  .../sysv/linux/mips/mips32/libpthread.abilist |  3 --
>  .../sysv/linux/mips/mips64/libpthread.abilist |  3 --
>  .../unix/sysv/linux/nios2/libpthread.abilist  |  3 --
>  .../powerpc/powerpc32/libpthread.abilist      |  3 --
>  .../powerpc/powerpc64/be/libpthread.abilist   |  3 --
>  .../powerpc/powerpc64/le/libpthread.abilist   |  3 --
>  .../sysv/linux/riscv/rv32/libpthread.abilist  |  3 --
>  .../sysv/linux/riscv/rv64/libpthread.abilist  |  3 --
>  .../linux/s390/s390-32/libpthread.abilist     |  3 --
>  .../linux/s390/s390-64/libpthread.abilist     |  3 --
>  .../unix/sysv/linux/sh/be/libpthread.abilist  |  3 --
>  .../unix/sysv/linux/sh/le/libpthread.abilist  |  3 --
>  .../linux/sparc/sparc32/libpthread.abilist    |  3 --
>  .../linux/sparc/sparc64/libpthread.abilist    |  3 --
>  .../sysv/linux/x86_64/64/libpthread.abilist   |  3 --
>  .../sysv/linux/x86_64/x32/libpthread.abilist  |  3 --
>  36 files changed, 10 insertions(+), 183 deletions(-)
>  delete mode 100644 nptl/pt-allocrtsig.c
>  delete mode 100644 sysdeps/nptl/allocrtsig.c

Nice cleanup, looks good.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 14/14] nptl: Remove unused rules
  2021-03-19 20:29 ` [PATCH v2 14/14] nptl: Remove unused rules Adhemerval Zanella
@ 2021-03-25 15:33   ` Florian Weimer
  0 siblings, 0 replies; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 15:33 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

* Adhemerval Zanella via Libc-alpha:

> The wrapper are not exported by libpthread.
> ---
>  nptl/Makefile | 5 -----
>  1 file changed, 5 deletions(-)
>
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 3c607899b0..8fe92d43fa 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -266,11 +266,6 @@ CFLAGS-sem_wait.c += -fexceptions -fasynchronous-unwind-tables
>  CFLAGS-sem_timedwait.c += -fexceptions -fasynchronous-unwind-tables
>  CFLAGS-sem_clockwait.c = -fexceptions -fasynchronous-unwind-tables
>  
> -# These are the function wrappers we have to duplicate here.
> -CFLAGS-lockf.c += -fexceptions
> -CFLAGS-sigwait.c += -fexceptions -fasynchronous-unwind-tables
> -CFLAGS-fdatasync.c += -fexceptions -fasynchronous-unwind-tables
> -
>  CFLAGS-futex-internal.c += -fexceptions -fasynchronous-unwind-tables
>  
>  LDLIBS-tst-once5 = -lstdc++

This one is okay, too.  Thanks.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols
  2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
                   ` (13 preceding siblings ...)
  2021-03-19 20:29 ` [PATCH v2 14/14] nptl: Remove unused rules Adhemerval Zanella
@ 2021-03-25 17:59 ` Florian Weimer
  2021-03-25 18:13   ` Adhemerval Zanella
  14 siblings, 1 reply; 31+ messages in thread
From: Florian Weimer @ 2021-03-25 17:59 UTC (permalink / raw)
  To: Adhemerval Zanella via Libc-alpha

I think nothing blocks this series from going in.  Are you aware of
any blockers?

There's the issue of the Hurd abilist glitch, but that is easily
corrected.

^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols
  2021-03-25 17:59 ` [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Florian Weimer
@ 2021-03-25 18:13   ` Adhemerval Zanella
  0 siblings, 0 replies; 31+ messages in thread
From: Adhemerval Zanella @ 2021-03-25 18:13 UTC (permalink / raw)
  To: Florian Weimer; +Cc: Adhemerval Zanella via Libc-alpha

On Thu, Mar 25, 2021 at 2:59 PM Florian Weimer <fw@deneb.enyo.de> wrote:
>
> I think nothing blocks this series from going in.  Are you aware of
> any blockers?
>
> There's the issue of the Hurd abilist glitch, but that is easily
> corrected.

I don't think so, I will rebase, fix the Hurd issue and commit.
Meanwhile I will finish your set, I think
I am missing only 6 ou 7 patches.

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2021-03-25 18:13 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-19 20:29 [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Adhemerval Zanella
2021-03-19 20:29 ` [PATCH v2 01/14] Add OTHER_SHLIB_COMPAT Adhemerval Zanella
2021-03-19 20:36   ` Florian Weimer
2021-03-19 20:29 ` [PATCH v2 02/14] nptl: Remove send from libpthread Adhemerval Zanella
2021-03-25 13:36   ` Florian Weimer
2021-03-19 20:29 ` [PATCH v2 03/14] nptl: Remove lseek " Adhemerval Zanella
2021-03-25 13:37   ` Florian Weimer
2021-03-19 20:29 ` [PATCH v2 04/14] nptl: Remove open " Adhemerval Zanella
2021-03-25 13:46   ` Florian Weimer
2021-03-19 20:29 ` [PATCH v2 05/14] nptl: Remove pread " Adhemerval Zanella
2021-03-25 14:07   ` Florian Weimer
2021-03-19 20:29 ` [PATCH v2 06/14] nptl: Remove pwrite " Adhemerval Zanella
2021-03-25 14:11   ` Florian Weimer
2021-03-19 20:29 ` [PATCH v2 07/14] nptl: Remove msgsnd from pthread-compat-wrappers Adhemerval Zanella
2021-03-25 14:33   ` Florian Weimer
2021-03-19 20:29 ` [PATCH v2 08/14] nptl: Remove msgrcv " Adhemerval Zanella
2021-03-25 14:33   ` Florian Weimer
2021-03-19 20:29 ` [PATCH v2 09/14] nptl: Remove sigsuspend " Adhemerval Zanella
2021-03-25 14:34   ` Florian Weimer
2021-03-19 20:29 ` [PATCH v2 10/14] nptl: Move pthread_kill to libc Adhemerval Zanella
2021-03-25 14:45   ` Florian Weimer
2021-03-19 20:29 ` [PATCH v2 11/14] nptl: Remove pthread raise implementation Adhemerval Zanella
2021-03-25 14:49   ` Florian Weimer
2021-03-19 20:29 ` [PATCH v2 12/14] nptl: Move sigaction to libc Adhemerval Zanella
2021-03-25 15:00   ` Florian Weimer
2021-03-19 20:29 ` [PATCH v2 13/14] nptl: Remove __libc_allocate_rtsig, __libc_current_sigrtmax, and __libc_current_sigrtmin Adhemerval Zanella
2021-03-25 15:31   ` Florian Weimer
2021-03-19 20:29 ` [PATCH v2 14/14] nptl: Remove unused rules Adhemerval Zanella
2021-03-25 15:33   ` Florian Weimer
2021-03-25 17:59 ` [PATCH v2 00/14] libpthread removal: pthread-compat-wrappers and other libc symbols Florian Weimer
2021-03-25 18:13   ` Adhemerval Zanella

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).