[4/8] nptl: Move fork into libc

Message ID 20210202151134.2123748-4-adhemerval.zanella@linaro.org
State Superseded
Delegated to: Adhemerval Zanella Netto
Headers
Series [1/8] posix: Consolidate register-atfork |

Commit Message

Adhemerval Zanella Netto Feb. 2, 2021, 3:11 p.m. UTC
  This is part of the libpthread removal project:

   <https://sourceware.org/ml/libc-alpha/2019-10/msg00080.html>

Checked on x86_64-linux-gnu.
---
 nptl/Makefile                                 |  2 +-
 nptl/pt-fork.c                                | 49 -------------------
 .../sysv/linux/aarch64/libpthread.abilist     |  2 -
 .../unix/sysv/linux/alpha/libpthread.abilist  |  2 -
 .../unix/sysv/linux/arm/be/libpthread.abilist |  2 -
 .../unix/sysv/linux/arm/le/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 -
 .../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 -
 27 files changed, 1 insertion(+), 100 deletions(-)
 delete mode 100644 nptl/pt-fork.c
  

Comments

Florian Weimer March 8, 2021, 1:42 p.m. UTC | #1
* Adhemerval Zanella via Libc-alpha:

> This is part of the libpthread removal project:
>
>    <https://sourceware.org/ml/libc-alpha/2019-10/msg00080.html>
>
> Checked on x86_64-linux-gnu.

I assume you used script/move-symbol-to-libc.py for this?  The patch
looks okay.

Thanks,
Florian
  
Adhemerval Zanella Netto March 10, 2021, 5:08 p.m. UTC | #2
On 08/03/2021 10:42, Florian Weimer wrote:
> * Adhemerval Zanella via Libc-alpha:
> 
>> This is part of the libpthread removal project:
>>
>>    <https://sourceware.org/ml/libc-alpha/2019-10/msg00080.html>
>>
>> Checked on x86_64-linux-gnu.
> 
> I assume you used script/move-symbol-to-libc.py for this?  The patch
> looks okay.

I will double-check, but if I recall correctly I did use the script.
  

Patch

diff --git a/nptl/Makefile b/nptl/Makefile
index 85645d9dab..3a8762d7b6 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -146,7 +146,7 @@  libpthread-routines = nptl-init nptlfreeres vars events version pt-interp \
 		      pt-longjmp pt-cleanup\
 		      cancellation \
 		      lowlevellock \
-		      pt-fork pt-fcntl \
+		      pt-fcntl \
 		      $(pthread-compat-wrappers) \
 		      pt-raise pt-system \
 		      flockfile ftrylockfile funlockfile \
diff --git a/nptl/pt-fork.c b/nptl/pt-fork.c
deleted file mode 100644
index 5d694cdbbe..0000000000
--- a/nptl/pt-fork.c
+++ /dev/null
@@ -1,49 +0,0 @@ 
-/* ABI compatibility for 'fork' symbol in libpthread ABI.
-   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 <unistd.h>
-#include <shlib-compat.h>
-
-/* libpthread once had its own fork, though there was no apparent reason
-   for it.  There is no use in having a separate symbol in libpthread, but
-   the historical ABI requires it.  For static linking, there is no need to
-   provide anything here--the libc version will be linked in.  For shared
-   library ABI compatibility, there must be __fork and fork symbols in
-   libpthread.so.
-
-   With an IFUNC resolver, it would be possible to avoid the
-   indirection, but the IFUNC resolver might run before the
-   __libc_fork symbol has been relocated, in which case the IFUNC
-   resolver would not be able to provide the correct address.  */
-
-#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_22)
-
-static pid_t __attribute__ ((used))
-fork_compat (void)
-{
-  return __libc_fork ();
-}
-
-strong_alias (fork_compat, fork_alias)
-compat_symbol (libpthread, fork_alias, fork, GLIBC_2_0);
-
-strong_alias (fork_compat, __fork_alias)
-compat_symbol (libpthread, __fork_alias, __fork, GLIBC_2_0);
-
-#endif
diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
index c6b4ea2dc1..336ee51e7e 100644
--- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.17 __close F
 GLIBC_2.17 __connect F
 GLIBC_2.17 __errno_location F
 GLIBC_2.17 __fcntl F
-GLIBC_2.17 __fork F
 GLIBC_2.17 __h_errno_location F
 GLIBC_2.17 __libc_allocate_rtsig F
 GLIBC_2.17 __libc_current_sigrtmax F
@@ -54,7 +53,6 @@  GLIBC_2.17 close F
 GLIBC_2.17 connect F
 GLIBC_2.17 fcntl F
 GLIBC_2.17 flockfile F
-GLIBC_2.17 fork F
 GLIBC_2.17 fsync F
 GLIBC_2.17 ftrylockfile F
 GLIBC_2.17 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 390b6384d0..5c87b9baa0 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.0 __close F
 GLIBC_2.0 __connect F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __fcntl F
-GLIBC_2.0 __fork F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
@@ -34,7 +33,6 @@  GLIBC_2.0 close F
 GLIBC_2.0 connect F
 GLIBC_2.0 fcntl F
 GLIBC_2.0 flockfile F
-GLIBC_2.0 fork F
 GLIBC_2.0 fsync F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
index b6c26c7a50..b0bb1d0e01 100644
--- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
@@ -40,7 +40,6 @@  GLIBC_2.4 __close F
 GLIBC_2.4 __connect F
 GLIBC_2.4 __errno_location F
 GLIBC_2.4 __fcntl F
-GLIBC_2.4 __fork F
 GLIBC_2.4 __h_errno_location F
 GLIBC_2.4 __libc_allocate_rtsig F
 GLIBC_2.4 __libc_current_sigrtmax F
@@ -89,7 +88,6 @@  GLIBC_2.4 close F
 GLIBC_2.4 connect F
 GLIBC_2.4 fcntl F
 GLIBC_2.4 flockfile F
-GLIBC_2.4 fork F
 GLIBC_2.4 fsync F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
index b6c26c7a50..b0bb1d0e01 100644
--- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
@@ -40,7 +40,6 @@  GLIBC_2.4 __close F
 GLIBC_2.4 __connect F
 GLIBC_2.4 __errno_location F
 GLIBC_2.4 __fcntl F
-GLIBC_2.4 __fork F
 GLIBC_2.4 __h_errno_location F
 GLIBC_2.4 __libc_allocate_rtsig F
 GLIBC_2.4 __libc_current_sigrtmax F
@@ -89,7 +88,6 @@  GLIBC_2.4 close F
 GLIBC_2.4 connect F
 GLIBC_2.4 fcntl F
 GLIBC_2.4 flockfile F
-GLIBC_2.4 fork F
 GLIBC_2.4 fsync F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index cabc5af858..a7bb15be58 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -13,7 +13,6 @@  GLIBC_2.2 __close F
 GLIBC_2.2 __connect F
 GLIBC_2.2 __errno_location F
 GLIBC_2.2 __fcntl F
-GLIBC_2.2 __fork F
 GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
@@ -56,7 +55,6 @@  GLIBC_2.2 close F
 GLIBC_2.2 connect F
 GLIBC_2.2 fcntl F
 GLIBC_2.2 flockfile F
-GLIBC_2.2 fork F
 GLIBC_2.2 fsync F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 18177307c8..017a9d9a86 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.0 __close F
 GLIBC_2.0 __connect F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __fcntl F
-GLIBC_2.0 __fork F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
@@ -34,7 +33,6 @@  GLIBC_2.0 close F
 GLIBC_2.0 connect F
 GLIBC_2.0 fcntl F
 GLIBC_2.0 flockfile F
-GLIBC_2.0 fork F
 GLIBC_2.0 fsync F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index 335f486cb5..6fb2e05072 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -13,7 +13,6 @@  GLIBC_2.2 __close F
 GLIBC_2.2 __connect F
 GLIBC_2.2 __errno_location F
 GLIBC_2.2 __fcntl F
-GLIBC_2.2 __fork F
 GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
@@ -56,7 +55,6 @@  GLIBC_2.2 close F
 GLIBC_2.2 connect F
 GLIBC_2.2 fcntl F
 GLIBC_2.2 flockfile F
-GLIBC_2.2 fork F
 GLIBC_2.2 fsync F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
index b6c26c7a50..b0bb1d0e01 100644
--- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
@@ -40,7 +40,6 @@  GLIBC_2.4 __close F
 GLIBC_2.4 __connect F
 GLIBC_2.4 __errno_location F
 GLIBC_2.4 __fcntl F
-GLIBC_2.4 __fork F
 GLIBC_2.4 __h_errno_location F
 GLIBC_2.4 __libc_allocate_rtsig F
 GLIBC_2.4 __libc_current_sigrtmax F
@@ -89,7 +88,6 @@  GLIBC_2.4 close F
 GLIBC_2.4 connect F
 GLIBC_2.4 fcntl F
 GLIBC_2.4 flockfile F
-GLIBC_2.4 fork F
 GLIBC_2.4 fsync F
 GLIBC_2.4 ftrylockfile F
 GLIBC_2.4 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 18177307c8..017a9d9a86 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.0 __close F
 GLIBC_2.0 __connect F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __fcntl F
-GLIBC_2.0 __fork F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
@@ -34,7 +33,6 @@  GLIBC_2.0 close F
 GLIBC_2.0 connect F
 GLIBC_2.0 fcntl F
 GLIBC_2.0 flockfile F
-GLIBC_2.0 fork F
 GLIBC_2.0 fsync F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
index 60397187b6..9356f6183a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.18 __close F
 GLIBC_2.18 __connect F
 GLIBC_2.18 __errno_location F
 GLIBC_2.18 __fcntl F
-GLIBC_2.18 __fork F
 GLIBC_2.18 __h_errno_location F
 GLIBC_2.18 __libc_allocate_rtsig F
 GLIBC_2.18 __libc_current_sigrtmax F
@@ -54,7 +53,6 @@  GLIBC_2.18 close F
 GLIBC_2.18 connect F
 GLIBC_2.18 fcntl F
 GLIBC_2.18 flockfile F
-GLIBC_2.18 fork F
 GLIBC_2.18 fsync F
 GLIBC_2.18 ftrylockfile F
 GLIBC_2.18 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
index 60397187b6..9356f6183a 100644
--- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.18 __close F
 GLIBC_2.18 __connect F
 GLIBC_2.18 __errno_location F
 GLIBC_2.18 __fcntl F
-GLIBC_2.18 __fork F
 GLIBC_2.18 __h_errno_location F
 GLIBC_2.18 __libc_allocate_rtsig F
 GLIBC_2.18 __libc_current_sigrtmax F
@@ -54,7 +53,6 @@  GLIBC_2.18 close F
 GLIBC_2.18 connect F
 GLIBC_2.18 fcntl F
 GLIBC_2.18 flockfile F
-GLIBC_2.18 fork F
 GLIBC_2.18 fsync F
 GLIBC_2.18 ftrylockfile F
 GLIBC_2.18 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index b35d7f19ca..7aff4d018b 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.0 __close F
 GLIBC_2.0 __connect F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __fcntl F
-GLIBC_2.0 __fork F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
@@ -34,7 +33,6 @@  GLIBC_2.0 close F
 GLIBC_2.0 connect F
 GLIBC_2.0 fcntl F
 GLIBC_2.0 flockfile F
-GLIBC_2.0 fork F
 GLIBC_2.0 fsync F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index b35d7f19ca..7aff4d018b 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.0 __close F
 GLIBC_2.0 __connect F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __fcntl F
-GLIBC_2.0 __fork F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
@@ -34,7 +33,6 @@  GLIBC_2.0 close F
 GLIBC_2.0 connect F
 GLIBC_2.0 fcntl F
 GLIBC_2.0 flockfile F
-GLIBC_2.0 fork F
 GLIBC_2.0 fsync F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
index 924ad6e451..73b4dfbd8e 100644
--- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.21 __close F
 GLIBC_2.21 __connect F
 GLIBC_2.21 __errno_location F
 GLIBC_2.21 __fcntl F
-GLIBC_2.21 __fork F
 GLIBC_2.21 __h_errno_location F
 GLIBC_2.21 __libc_allocate_rtsig F
 GLIBC_2.21 __libc_current_sigrtmax F
@@ -54,7 +53,6 @@  GLIBC_2.21 close F
 GLIBC_2.21 connect F
 GLIBC_2.21 fcntl F
 GLIBC_2.21 flockfile F
-GLIBC_2.21 fork F
 GLIBC_2.21 fsync F
 GLIBC_2.21 ftrylockfile F
 GLIBC_2.21 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 13b41dafb6..0c68fb1b7c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.0 __close F
 GLIBC_2.0 __connect F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __fcntl F
-GLIBC_2.0 __fork F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
@@ -34,7 +33,6 @@  GLIBC_2.0 close F
 GLIBC_2.0 connect F
 GLIBC_2.0 fcntl F
 GLIBC_2.0 flockfile F
-GLIBC_2.0 fork F
 GLIBC_2.0 fsync F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
index e9477a3584..c7f6167250 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
@@ -34,7 +34,6 @@  GLIBC_2.3 __close F
 GLIBC_2.3 __connect F
 GLIBC_2.3 __errno_location F
 GLIBC_2.3 __fcntl F
-GLIBC_2.3 __fork F
 GLIBC_2.3 __h_errno_location F
 GLIBC_2.3 __libc_allocate_rtsig F
 GLIBC_2.3 __libc_current_sigrtmax F
@@ -77,7 +76,6 @@  GLIBC_2.3 close F
 GLIBC_2.3 connect F
 GLIBC_2.3 fcntl F
 GLIBC_2.3 flockfile F
-GLIBC_2.3 fork F
 GLIBC_2.3 fsync F
 GLIBC_2.3 ftrylockfile F
 GLIBC_2.3 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
index c6b4ea2dc1..336ee51e7e 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.17 __close F
 GLIBC_2.17 __connect F
 GLIBC_2.17 __errno_location F
 GLIBC_2.17 __fcntl F
-GLIBC_2.17 __fork F
 GLIBC_2.17 __h_errno_location F
 GLIBC_2.17 __libc_allocate_rtsig F
 GLIBC_2.17 __libc_current_sigrtmax F
@@ -54,7 +53,6 @@  GLIBC_2.17 close F
 GLIBC_2.17 connect F
 GLIBC_2.17 fcntl F
 GLIBC_2.17 flockfile F
-GLIBC_2.17 fork F
 GLIBC_2.17 fsync F
 GLIBC_2.17 ftrylockfile F
 GLIBC_2.17 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 0a60f1cca2..a198e22445 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.0 __close F
 GLIBC_2.0 __connect F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __fcntl F
-GLIBC_2.0 __fork F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
@@ -34,7 +33,6 @@  GLIBC_2.0 close F
 GLIBC_2.0 connect F
 GLIBC_2.0 fcntl F
 GLIBC_2.0 flockfile F
-GLIBC_2.0 fork F
 GLIBC_2.0 fsync F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 0e99688824..6d166d5f97 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -15,7 +15,6 @@  GLIBC_2.2 __close F
 GLIBC_2.2 __connect F
 GLIBC_2.2 __errno_location F
 GLIBC_2.2 __fcntl F
-GLIBC_2.2 __fork F
 GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
@@ -58,7 +57,6 @@  GLIBC_2.2 close F
 GLIBC_2.2 connect F
 GLIBC_2.2 fcntl F
 GLIBC_2.2 flockfile F
-GLIBC_2.2 fork F
 GLIBC_2.2 fsync F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index cabc5af858..a7bb15be58 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -13,7 +13,6 @@  GLIBC_2.2 __close F
 GLIBC_2.2 __connect F
 GLIBC_2.2 __errno_location F
 GLIBC_2.2 __fcntl F
-GLIBC_2.2 __fork F
 GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
@@ -56,7 +55,6 @@  GLIBC_2.2 close F
 GLIBC_2.2 connect F
 GLIBC_2.2 fcntl F
 GLIBC_2.2 flockfile F
-GLIBC_2.2 fork F
 GLIBC_2.2 fsync F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index cabc5af858..a7bb15be58 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -13,7 +13,6 @@  GLIBC_2.2 __close F
 GLIBC_2.2 __connect F
 GLIBC_2.2 __errno_location F
 GLIBC_2.2 __fcntl F
-GLIBC_2.2 __fork F
 GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
@@ -56,7 +55,6 @@  GLIBC_2.2 close F
 GLIBC_2.2 connect F
 GLIBC_2.2 fcntl F
 GLIBC_2.2 flockfile F
-GLIBC_2.2 fork F
 GLIBC_2.2 fsync F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 390b6384d0..5c87b9baa0 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.0 __close F
 GLIBC_2.0 __connect F
 GLIBC_2.0 __errno_location F
 GLIBC_2.0 __fcntl F
-GLIBC_2.0 __fork F
 GLIBC_2.0 __h_errno_location F
 GLIBC_2.0 __lseek F
 GLIBC_2.0 __open F
@@ -34,7 +33,6 @@  GLIBC_2.0 close F
 GLIBC_2.0 connect F
 GLIBC_2.0 fcntl F
 GLIBC_2.0 flockfile F
-GLIBC_2.0 fork F
 GLIBC_2.0 fsync F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index 335f486cb5..6fb2e05072 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -13,7 +13,6 @@  GLIBC_2.2 __close F
 GLIBC_2.2 __connect F
 GLIBC_2.2 __errno_location F
 GLIBC_2.2 __fcntl F
-GLIBC_2.2 __fork F
 GLIBC_2.2 __h_errno_location F
 GLIBC_2.2 __libc_allocate_rtsig F
 GLIBC_2.2 __libc_current_sigrtmax F
@@ -56,7 +55,6 @@  GLIBC_2.2 close F
 GLIBC_2.2 connect F
 GLIBC_2.2 fcntl F
 GLIBC_2.2 flockfile F
-GLIBC_2.2 fork F
 GLIBC_2.2 fsync F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 971269d2ef..f85ab1d3cd 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -13,7 +13,6 @@  GLIBC_2.2.5 __close F
 GLIBC_2.2.5 __connect F
 GLIBC_2.2.5 __errno_location F
 GLIBC_2.2.5 __fcntl F
-GLIBC_2.2.5 __fork 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
@@ -56,7 +55,6 @@  GLIBC_2.2.5 close F
 GLIBC_2.2.5 connect F
 GLIBC_2.2.5 fcntl F
 GLIBC_2.2.5 flockfile F
-GLIBC_2.2.5 fork F
 GLIBC_2.2.5 fsync F
 GLIBC_2.2.5 ftrylockfile F
 GLIBC_2.2.5 funlockfile F
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
index b9bf4324a9..0e24fcd6bf 100644
--- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
@@ -5,7 +5,6 @@  GLIBC_2.16 __close F
 GLIBC_2.16 __connect F
 GLIBC_2.16 __errno_location F
 GLIBC_2.16 __fcntl F
-GLIBC_2.16 __fork F
 GLIBC_2.16 __h_errno_location F
 GLIBC_2.16 __libc_allocate_rtsig F
 GLIBC_2.16 __libc_current_sigrtmax F
@@ -54,7 +53,6 @@  GLIBC_2.16 close F
 GLIBC_2.16 connect F
 GLIBC_2.16 fcntl F
 GLIBC_2.16 flockfile F
-GLIBC_2.16 fork F
 GLIBC_2.16 fsync F
 GLIBC_2.16 ftrylockfile F
 GLIBC_2.16 funlockfile F