nptl: Move pthread_atfork compatibility symbol to libc

Message ID 87k0ougyr3.fsf@oldenburg.str.redhat.com
State Committed
Commit 33b20249b567724664568fc6475b6f502c958be4
Headers
Series nptl: Move pthread_atfork compatibility symbol to libc |

Commit Message

Florian Weimer April 22, 2021, 2:49 p.m. UTC
  The symbol was moved using scripts/move-symbol-to-libc.py.

There is no new symbol version because of the compatibility symbol
status.  The __pthread_atfork reference in nptl/Versions was unused.

Tested on i686-linux-gnu, x86_64-linux-gnu, and built with
build-many-glibcs.py.

---
 nptl/Makefile                                                | 2 +-
 nptl/Versions                                                | 3 +--
 nptl/old_pthread_atfork.c                                    | 2 +-
 sysdeps/unix/sysv/linux/alpha/libc.abilist                   | 1 +
 sysdeps/unix/sysv/linux/alpha/libpthread.abilist             | 1 -
 sysdeps/unix/sysv/linux/hppa/libc.abilist                    | 1 +
 sysdeps/unix/sysv/linux/hppa/libpthread.abilist              | 1 -
 sysdeps/unix/sysv/linux/i386/libc.abilist                    | 1 +
 sysdeps/unix/sysv/linux/i386/libpthread.abilist              | 1 -
 sysdeps/unix/sysv/linux/ia64/libc.abilist                    | 1 +
 sysdeps/unix/sysv/linux/ia64/libpthread.abilist              | 1 -
 sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist             | 1 +
 sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist       | 1 -
 sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist         | 1 +
 sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist       | 1 -
 sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist       | 1 +
 sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist       | 1 -
 sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist         | 1 +
 sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist         | 1 +
 sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist   | 1 +
 sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist | 1 -
 sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist | 1 +
 sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist            | 1 +
 sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist      | 1 -
 sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist            | 1 +
 sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist      | 1 -
 sysdeps/unix/sysv/linux/sh/be/libc.abilist                   | 1 +
 sysdeps/unix/sysv/linux/sh/be/libpthread.abilist             | 1 -
 sysdeps/unix/sysv/linux/sh/le/libc.abilist                   | 1 +
 sysdeps/unix/sysv/linux/sh/le/libpthread.abilist             | 1 -
 sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist           | 1 +
 sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist     | 1 -
 sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist           | 1 +
 sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist     | 1 -
 sysdeps/unix/sysv/linux/x86_64/64/libc.abilist               | 1 +
 sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist         | 1 -
 36 files changed, 21 insertions(+), 19 deletions(-)
  

Comments

H.J. Lu April 22, 2021, 4:59 p.m. UTC | #1
On Thu, Apr 22, 2021 at 9:29 AM Florian Weimer via Libc-alpha
<libc-alpha@sourceware.org> wrote:
>
> The symbol was moved using scripts/move-symbol-to-libc.py.
>
> There is no new symbol version because of the compatibility symbol
> status.  The __pthread_atfork reference in nptl/Versions was unused.
>
> Tested on i686-linux-gnu, x86_64-linux-gnu, and built with
> build-many-glibcs.py.
>
> ---
>  nptl/Makefile                                                | 2 +-
>  nptl/Versions                                                | 3 +--
>  nptl/old_pthread_atfork.c                                    | 2 +-
>  sysdeps/unix/sysv/linux/alpha/libc.abilist                   | 1 +
>  sysdeps/unix/sysv/linux/alpha/libpthread.abilist             | 1 -
>  sysdeps/unix/sysv/linux/hppa/libc.abilist                    | 1 +
>  sysdeps/unix/sysv/linux/hppa/libpthread.abilist              | 1 -
>  sysdeps/unix/sysv/linux/i386/libc.abilist                    | 1 +
>  sysdeps/unix/sysv/linux/i386/libpthread.abilist              | 1 -
>  sysdeps/unix/sysv/linux/ia64/libc.abilist                    | 1 +
>  sysdeps/unix/sysv/linux/ia64/libpthread.abilist              | 1 -
>  sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist             | 1 +
>  sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist       | 1 -
>  sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist         | 1 +
>  sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist       | 1 -
>  sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist       | 1 +
>  sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist       | 1 -
>  sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist         | 1 +
>  sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist         | 1 +
>  sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist   | 1 +
>  sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist | 1 -
>  sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist | 1 +
>  sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist            | 1 +
>  sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist      | 1 -
>  sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist            | 1 +
>  sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist      | 1 -
>  sysdeps/unix/sysv/linux/sh/be/libc.abilist                   | 1 +
>  sysdeps/unix/sysv/linux/sh/be/libpthread.abilist             | 1 -
>  sysdeps/unix/sysv/linux/sh/le/libc.abilist                   | 1 +
>  sysdeps/unix/sysv/linux/sh/le/libpthread.abilist             | 1 -
>  sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist           | 1 +
>  sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist     | 1 -
>  sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist           | 1 +
>  sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist     | 1 -
>  sysdeps/unix/sysv/linux/x86_64/64/libc.abilist               | 1 +
>  sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist         | 1 -
>  36 files changed, 21 insertions(+), 19 deletions(-)
>
> diff --git a/nptl/Makefile b/nptl/Makefile
> index 1978c491c9..103257dc74 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -47,6 +47,7 @@ routines = \
>    nptl_deallocate_tsd \
>    nptl_nthreads \
>    nptl_setxid \
> +  old_pthread_atfork \
>    old_pthread_cond_broadcast \
>    old_pthread_cond_destroy \
>    old_pthread_cond_init \
> @@ -125,7 +126,6 @@ libpthread-routines = \
>    libpthread-compat \
>    nptl-init \
>    nptlfreeres \
> -  old_pthread_atfork \
>    pt-interp \
>    pthread_attr_getaffinity \
>    pthread_attr_getguardsize \
> diff --git a/nptl/Versions b/nptl/Versions
> index bb9f5e4ca7..cf4815ea25 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -12,6 +12,7 @@ libc {
>      _pthread_cleanup_pop_restore;
>      _pthread_cleanup_push;
>      _pthread_cleanup_push_defer;
> +    pthread_atfork;
>      pthread_attr_destroy;
>      pthread_attr_getdetachstate;
>      pthread_attr_getinheritsched;
> @@ -185,7 +186,6 @@ libpthread {
>      _IO_funlockfile;
>      __errno_location;
>      __h_errno_location;
> -    __pthread_atfork;
>      __pthread_mutex_trylock;
>      __pthread_mutexattr_destroy;
>      __pthread_mutexattr_init;
> @@ -194,7 +194,6 @@ libpthread {
>      flockfile;
>      ftrylockfile;
>      funlockfile;
> -    pthread_atfork;
>      pthread_cancel;
>      pthread_create;
>      pthread_detach;
> diff --git a/nptl/old_pthread_atfork.c b/nptl/old_pthread_atfork.c
> index 01b7de633d..675227c559 100644
> --- a/nptl/old_pthread_atfork.c
> +++ b/nptl/old_pthread_atfork.c
> @@ -18,7 +18,7 @@
>
>  #include <shlib-compat.h>
>
> -#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_3)
> +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_3)
>  # define __pthread_atfork __dyn_pthread_atfork
>  # include "pthread_atfork.c"
>  # undef __pthread_atfork
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 4a26311432..c985c1fd19 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -872,6 +872,7 @@ GLIBC_2.0 program_invocation_name D 0x8
>  GLIBC_2.0 program_invocation_short_name D 0x8
>  GLIBC_2.0 pselect F
>  GLIBC_2.0 psignal F
> +GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_attr_destroy F
>  GLIBC_2.0 pthread_attr_getdetachstate F
>  GLIBC_2.0 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 1525fb6f36..4671ccced8 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -10,7 +10,6 @@ GLIBC_2.0 __pthread_mutexattr_settype F
>  GLIBC_2.0 flockfile F
>  GLIBC_2.0 ftrylockfile F
>  GLIBC_2.0 funlockfile F
> -GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index cec6bc96d2..c2d1fdd2e0 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -1259,6 +1259,7 @@ GLIBC_2.2 program_invocation_name D 0x4
>  GLIBC_2.2 program_invocation_short_name D 0x4
>  GLIBC_2.2 pselect F
>  GLIBC_2.2 psignal F
> +GLIBC_2.2 pthread_atfork F
>  GLIBC_2.2 pthread_attr_destroy F
>  GLIBC_2.2 pthread_attr_getdetachstate F
>  GLIBC_2.2 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 59e2b0c2d8..c0f9891731 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -22,7 +22,6 @@ GLIBC_2.2 __res_state F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
>  GLIBC_2.2 funlockfile F
> -GLIBC_2.2 pthread_atfork 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/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index 96393f4bdb..ea2dbdc415 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -849,6 +849,7 @@ GLIBC_2.0 program_invocation_name D 0x4
>  GLIBC_2.0 program_invocation_short_name D 0x4
>  GLIBC_2.0 pselect F
>  GLIBC_2.0 psignal F
> +GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_attr_destroy F
>  GLIBC_2.0 pthread_attr_getdetachstate F
>  GLIBC_2.0 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index 282d698b33..abea1246b9 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -10,7 +10,6 @@ GLIBC_2.0 __pthread_mutexattr_settype F
>  GLIBC_2.0 flockfile F
>  GLIBC_2.0 ftrylockfile F
>  GLIBC_2.0 funlockfile F
> -GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index df8b26004f..9e8155a83c 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -1280,6 +1280,7 @@ GLIBC_2.2 program_invocation_name D 0x8
>  GLIBC_2.2 program_invocation_short_name D 0x8
>  GLIBC_2.2 pselect F
>  GLIBC_2.2 psignal F
> +GLIBC_2.2 pthread_atfork F
>  GLIBC_2.2 pthread_attr_destroy F
>  GLIBC_2.2 pthread_attr_getdetachstate F
>  GLIBC_2.2 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index ba03934754..32768dd411 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -22,7 +22,6 @@ GLIBC_2.2 __res_state F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
>  GLIBC_2.2 funlockfile F
> -GLIBC_2.2 pthread_atfork 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/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index fd6d37af0e..e956e3de3d 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -848,6 +848,7 @@ GLIBC_2.0 program_invocation_name D 0x4
>  GLIBC_2.0 program_invocation_short_name D 0x4
>  GLIBC_2.0 pselect F
>  GLIBC_2.0 psignal F
> +GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_attr_destroy F
>  GLIBC_2.0 pthread_attr_getdetachstate F
>  GLIBC_2.0 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index 282d698b33..abea1246b9 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -10,7 +10,6 @@ GLIBC_2.0 __pthread_mutexattr_settype F
>  GLIBC_2.0 flockfile F
>  GLIBC_2.0 ftrylockfile F
>  GLIBC_2.0 funlockfile F
> -GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index d1b737580f..a7113b7f11 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -845,6 +845,7 @@ GLIBC_2.0 program_invocation_name D 0x4
>  GLIBC_2.0 program_invocation_short_name D 0x4
>  GLIBC_2.0 pselect F
>  GLIBC_2.0 psignal F
> +GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_attr_destroy F
>  GLIBC_2.0 pthread_attr_getdetachstate F
>  GLIBC_2.0 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 8ba4bcaf93..aaf31150d0 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -10,7 +10,6 @@ GLIBC_2.0 __pthread_mutexattr_settype F
>  GLIBC_2.0 flockfile F
>  GLIBC_2.0 ftrylockfile F
>  GLIBC_2.0 funlockfile F
> -GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 9f4e5d39eb..678c43e90e 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -845,6 +845,7 @@ GLIBC_2.0 program_invocation_name D 0x4
>  GLIBC_2.0 program_invocation_short_name D 0x4
>  GLIBC_2.0 pselect F
>  GLIBC_2.0 psignal F
> +GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_attr_destroy F
>  GLIBC_2.0 pthread_attr_getdetachstate F
>  GLIBC_2.0 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 8ba4bcaf93..aaf31150d0 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -10,7 +10,6 @@ GLIBC_2.0 __pthread_mutexattr_settype F
>  GLIBC_2.0 flockfile F
>  GLIBC_2.0 ftrylockfile F
>  GLIBC_2.0 funlockfile F
> -GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 5e30b4bb5e..a99d04efc3 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -845,6 +845,7 @@ GLIBC_2.0 program_invocation_name D 0x4
>  GLIBC_2.0 program_invocation_short_name D 0x4
>  GLIBC_2.0 pselect F
>  GLIBC_2.0 psignal F
> +GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_attr_destroy F
>  GLIBC_2.0 pthread_attr_getdetachstate F
>  GLIBC_2.0 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 27c8bcbd4c..436fc54930 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -843,6 +843,7 @@ GLIBC_2.0 program_invocation_name D 0x8
>  GLIBC_2.0 program_invocation_short_name D 0x8
>  GLIBC_2.0 pselect F
>  GLIBC_2.0 psignal F
> +GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_attr_destroy F
>  GLIBC_2.0 pthread_attr_getdetachstate F
>  GLIBC_2.0 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 9f1ad8ceb9..3c75fe6f9c 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -856,6 +856,7 @@ GLIBC_2.0 program_invocation_name D 0x4
>  GLIBC_2.0 program_invocation_short_name D 0x4
>  GLIBC_2.0 pselect F
>  GLIBC_2.0 psignal F
> +GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_attr_destroy F
>  GLIBC_2.0 pthread_attr_getdetachstate F
>  GLIBC_2.0 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 48a99cef5f..93b33ba5ad 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -10,7 +10,6 @@ GLIBC_2.0 __pthread_mutexattr_settype F
>  GLIBC_2.0 flockfile F
>  GLIBC_2.0 ftrylockfile F
>  GLIBC_2.0 funlockfile F
> -GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 45d64f29d6..209f3986e2 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -856,6 +856,7 @@ GLIBC_2.0 program_invocation_name D 0x4
>  GLIBC_2.0 program_invocation_short_name D 0x4
>  GLIBC_2.0 pselect F
>  GLIBC_2.0 psignal F
> +GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_attr_destroy F
>  GLIBC_2.0 pthread_attr_getdetachstate F
>  GLIBC_2.0 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index e92d4ec5cf..a16b3b2e9c 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -847,6 +847,7 @@ GLIBC_2.0 program_invocation_name D 0x4
>  GLIBC_2.0 program_invocation_short_name D 0x4
>  GLIBC_2.0 pselect F
>  GLIBC_2.0 psignal F
> +GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_attr_destroy F
>  GLIBC_2.0 pthread_attr_getdetachstate F
>  GLIBC_2.0 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 4dbff0a4bf..35f8bc917f 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -10,7 +10,6 @@ GLIBC_2.0 __pthread_mutexattr_settype F
>  GLIBC_2.0 flockfile F
>  GLIBC_2.0 ftrylockfile F
>  GLIBC_2.0 funlockfile F
> -GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 98ddd1fada..040d3d267d 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -1277,6 +1277,7 @@ GLIBC_2.2 program_invocation_name D 0x8
>  GLIBC_2.2 program_invocation_short_name D 0x8
>  GLIBC_2.2 pselect F
>  GLIBC_2.2 psignal F
> +GLIBC_2.2 pthread_atfork F
>  GLIBC_2.2 pthread_attr_destroy F
>  GLIBC_2.2 pthread_attr_getdetachstate F
>  GLIBC_2.2 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 2e1fdd8c1c..353b0cad71 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -23,7 +23,6 @@ GLIBC_2.2 __res_state F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
>  GLIBC_2.2 funlockfile F
> -GLIBC_2.2 pthread_atfork 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/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index 0ae20f7bb2..c7c8753dbe 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -1263,6 +1263,7 @@ GLIBC_2.2 program_invocation_name D 0x4
>  GLIBC_2.2 program_invocation_short_name D 0x4
>  GLIBC_2.2 pselect F
>  GLIBC_2.2 psignal F
> +GLIBC_2.2 pthread_atfork F
>  GLIBC_2.2 pthread_attr_destroy F
>  GLIBC_2.2 pthread_attr_getdetachstate F
>  GLIBC_2.2 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 59e2b0c2d8..c0f9891731 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -22,7 +22,6 @@ GLIBC_2.2 __res_state F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
>  GLIBC_2.2 funlockfile F
> -GLIBC_2.2 pthread_atfork 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/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index 86958c9851..fdcfaf1e43 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -1263,6 +1263,7 @@ GLIBC_2.2 program_invocation_name D 0x4
>  GLIBC_2.2 program_invocation_short_name D 0x4
>  GLIBC_2.2 pselect F
>  GLIBC_2.2 psignal F
> +GLIBC_2.2 pthread_atfork F
>  GLIBC_2.2 pthread_attr_destroy F
>  GLIBC_2.2 pthread_attr_getdetachstate F
>  GLIBC_2.2 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 59e2b0c2d8..c0f9891731 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -22,7 +22,6 @@ GLIBC_2.2 __res_state F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
>  GLIBC_2.2 funlockfile F
> -GLIBC_2.2 pthread_atfork 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/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 792de2782f..792db65a00 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -850,6 +850,7 @@ GLIBC_2.0 program_invocation_name D 0x4
>  GLIBC_2.0 program_invocation_short_name D 0x4
>  GLIBC_2.0 pselect F
>  GLIBC_2.0 psignal F
> +GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_attr_destroy F
>  GLIBC_2.0 pthread_attr_getdetachstate F
>  GLIBC_2.0 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 1525fb6f36..4671ccced8 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -10,7 +10,6 @@ GLIBC_2.0 __pthread_mutexattr_settype F
>  GLIBC_2.0 flockfile F
>  GLIBC_2.0 ftrylockfile F
>  GLIBC_2.0 funlockfile F
> -GLIBC_2.0 pthread_atfork F
>  GLIBC_2.0 pthread_cancel F
>  GLIBC_2.0 pthread_create F
>  GLIBC_2.0 pthread_detach F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 9b5e77faee..65df4bc889 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -1306,6 +1306,7 @@ GLIBC_2.2 program_invocation_name D 0x8
>  GLIBC_2.2 program_invocation_short_name D 0x8
>  GLIBC_2.2 pselect F
>  GLIBC_2.2 psignal F
> +GLIBC_2.2 pthread_atfork F
>  GLIBC_2.2 pthread_attr_destroy F
>  GLIBC_2.2 pthread_attr_getdetachstate F
>  GLIBC_2.2 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index ba03934754..32768dd411 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -22,7 +22,6 @@ GLIBC_2.2 __res_state F
>  GLIBC_2.2 flockfile F
>  GLIBC_2.2 ftrylockfile F
>  GLIBC_2.2 funlockfile F
> -GLIBC_2.2 pthread_atfork 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/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index e81c0a4828..611104410d 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -1273,6 +1273,7 @@ GLIBC_2.2.5 program_invocation_name D 0x8
>  GLIBC_2.2.5 program_invocation_short_name D 0x8
>  GLIBC_2.2.5 pselect F
>  GLIBC_2.2.5 psignal F
> +GLIBC_2.2.5 pthread_atfork F
>  GLIBC_2.2.5 pthread_attr_destroy F
>  GLIBC_2.2.5 pthread_attr_getdetachstate F
>  GLIBC_2.2.5 pthread_attr_getinheritsched F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index 6335e44fc2..e7b330a68b 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -22,7 +22,6 @@ GLIBC_2.2.5 __res_state F
>  GLIBC_2.2.5 flockfile F
>  GLIBC_2.2.5 ftrylockfile F
>  GLIBC_2.2.5 funlockfile F
> -GLIBC_2.2.5 pthread_atfork F
>  GLIBC_2.2.5 pthread_attr_getguardsize F
>  GLIBC_2.2.5 pthread_attr_getstack F
>  GLIBC_2.2.5 pthread_attr_getstackaddr F
>

LGTM.

Thanks.
  

Patch

diff --git a/nptl/Makefile b/nptl/Makefile
index 1978c491c9..103257dc74 100644
--- a/nptl/Makefile
+++ b/nptl/Makefile
@@ -47,6 +47,7 @@  routines = \
   nptl_deallocate_tsd \
   nptl_nthreads \
   nptl_setxid \
+  old_pthread_atfork \
   old_pthread_cond_broadcast \
   old_pthread_cond_destroy \
   old_pthread_cond_init \
@@ -125,7 +126,6 @@  libpthread-routines = \
   libpthread-compat \
   nptl-init \
   nptlfreeres \
-  old_pthread_atfork \
   pt-interp \
   pthread_attr_getaffinity \
   pthread_attr_getguardsize \
diff --git a/nptl/Versions b/nptl/Versions
index bb9f5e4ca7..cf4815ea25 100644
--- a/nptl/Versions
+++ b/nptl/Versions
@@ -12,6 +12,7 @@  libc {
     _pthread_cleanup_pop_restore;
     _pthread_cleanup_push;
     _pthread_cleanup_push_defer;
+    pthread_atfork;
     pthread_attr_destroy;
     pthread_attr_getdetachstate;
     pthread_attr_getinheritsched;
@@ -185,7 +186,6 @@  libpthread {
     _IO_funlockfile;
     __errno_location;
     __h_errno_location;
-    __pthread_atfork;
     __pthread_mutex_trylock;
     __pthread_mutexattr_destroy;
     __pthread_mutexattr_init;
@@ -194,7 +194,6 @@  libpthread {
     flockfile;
     ftrylockfile;
     funlockfile;
-    pthread_atfork;
     pthread_cancel;
     pthread_create;
     pthread_detach;
diff --git a/nptl/old_pthread_atfork.c b/nptl/old_pthread_atfork.c
index 01b7de633d..675227c559 100644
--- a/nptl/old_pthread_atfork.c
+++ b/nptl/old_pthread_atfork.c
@@ -18,7 +18,7 @@ 
 
 #include <shlib-compat.h>
 
-#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_3)
+#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_3)
 # define __pthread_atfork __dyn_pthread_atfork
 # include "pthread_atfork.c"
 # undef __pthread_atfork
diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
index 4a26311432..c985c1fd19 100644
--- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
@@ -872,6 +872,7 @@  GLIBC_2.0 program_invocation_name D 0x8
 GLIBC_2.0 program_invocation_short_name D 0x8
 GLIBC_2.0 pselect F
 GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_attr_destroy F
 GLIBC_2.0 pthread_attr_getdetachstate F
 GLIBC_2.0 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
index 1525fb6f36..4671ccced8 100644
--- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
@@ -10,7 +10,6 @@  GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
-GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
index cec6bc96d2..c2d1fdd2e0 100644
--- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
@@ -1259,6 +1259,7 @@  GLIBC_2.2 program_invocation_name D 0x4
 GLIBC_2.2 program_invocation_short_name D 0x4
 GLIBC_2.2 pselect F
 GLIBC_2.2 psignal F
+GLIBC_2.2 pthread_atfork F
 GLIBC_2.2 pthread_attr_destroy F
 GLIBC_2.2 pthread_attr_getdetachstate F
 GLIBC_2.2 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
index 59e2b0c2d8..c0f9891731 100644
--- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
@@ -22,7 +22,6 @@  GLIBC_2.2 __res_state F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
-GLIBC_2.2 pthread_atfork 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/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
index 96393f4bdb..ea2dbdc415 100644
--- a/sysdeps/unix/sysv/linux/i386/libc.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
@@ -849,6 +849,7 @@  GLIBC_2.0 program_invocation_name D 0x4
 GLIBC_2.0 program_invocation_short_name D 0x4
 GLIBC_2.0 pselect F
 GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_attr_destroy F
 GLIBC_2.0 pthread_attr_getdetachstate F
 GLIBC_2.0 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
index 282d698b33..abea1246b9 100644
--- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
@@ -10,7 +10,6 @@  GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
-GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
index df8b26004f..9e8155a83c 100644
--- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
@@ -1280,6 +1280,7 @@  GLIBC_2.2 program_invocation_name D 0x8
 GLIBC_2.2 program_invocation_short_name D 0x8
 GLIBC_2.2 pselect F
 GLIBC_2.2 psignal F
+GLIBC_2.2 pthread_atfork F
 GLIBC_2.2 pthread_attr_destroy F
 GLIBC_2.2 pthread_attr_getdetachstate F
 GLIBC_2.2 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
index ba03934754..32768dd411 100644
--- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
@@ -22,7 +22,6 @@  GLIBC_2.2 __res_state F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
-GLIBC_2.2 pthread_atfork 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/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
index fd6d37af0e..e956e3de3d 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
@@ -848,6 +848,7 @@  GLIBC_2.0 program_invocation_name D 0x4
 GLIBC_2.0 program_invocation_short_name D 0x4
 GLIBC_2.0 pselect F
 GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_attr_destroy F
 GLIBC_2.0 pthread_attr_getdetachstate F
 GLIBC_2.0 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
index 282d698b33..abea1246b9 100644
--- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
@@ -10,7 +10,6 @@  GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
-GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
index d1b737580f..a7113b7f11 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
@@ -845,6 +845,7 @@  GLIBC_2.0 program_invocation_name D 0x4
 GLIBC_2.0 program_invocation_short_name D 0x4
 GLIBC_2.0 pselect F
 GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_attr_destroy F
 GLIBC_2.0 pthread_attr_getdetachstate F
 GLIBC_2.0 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
index 8ba4bcaf93..aaf31150d0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
@@ -10,7 +10,6 @@  GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
-GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
index 9f4e5d39eb..678c43e90e 100644
--- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
@@ -845,6 +845,7 @@  GLIBC_2.0 program_invocation_name D 0x4
 GLIBC_2.0 program_invocation_short_name D 0x4
 GLIBC_2.0 pselect F
 GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_attr_destroy F
 GLIBC_2.0 pthread_attr_getdetachstate F
 GLIBC_2.0 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
index 8ba4bcaf93..aaf31150d0 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
@@ -10,7 +10,6 @@  GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
-GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
index 5e30b4bb5e..a99d04efc3 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
@@ -845,6 +845,7 @@  GLIBC_2.0 program_invocation_name D 0x4
 GLIBC_2.0 program_invocation_short_name D 0x4
 GLIBC_2.0 pselect F
 GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_attr_destroy F
 GLIBC_2.0 pthread_attr_getdetachstate F
 GLIBC_2.0 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
index 27c8bcbd4c..436fc54930 100644
--- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
@@ -843,6 +843,7 @@  GLIBC_2.0 program_invocation_name D 0x8
 GLIBC_2.0 program_invocation_short_name D 0x8
 GLIBC_2.0 pselect F
 GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_attr_destroy F
 GLIBC_2.0 pthread_attr_getdetachstate F
 GLIBC_2.0 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
index 9f1ad8ceb9..3c75fe6f9c 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
@@ -856,6 +856,7 @@  GLIBC_2.0 program_invocation_name D 0x4
 GLIBC_2.0 program_invocation_short_name D 0x4
 GLIBC_2.0 pselect F
 GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_attr_destroy F
 GLIBC_2.0 pthread_attr_getdetachstate F
 GLIBC_2.0 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
index 48a99cef5f..93b33ba5ad 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
@@ -10,7 +10,6 @@  GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
-GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
index 45d64f29d6..209f3986e2 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
@@ -856,6 +856,7 @@  GLIBC_2.0 program_invocation_name D 0x4
 GLIBC_2.0 program_invocation_short_name D 0x4
 GLIBC_2.0 pselect F
 GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_attr_destroy F
 GLIBC_2.0 pthread_attr_getdetachstate F
 GLIBC_2.0 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
index e92d4ec5cf..a16b3b2e9c 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
@@ -847,6 +847,7 @@  GLIBC_2.0 program_invocation_name D 0x4
 GLIBC_2.0 program_invocation_short_name D 0x4
 GLIBC_2.0 pselect F
 GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_attr_destroy F
 GLIBC_2.0 pthread_attr_getdetachstate F
 GLIBC_2.0 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
index 4dbff0a4bf..35f8bc917f 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
@@ -10,7 +10,6 @@  GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
-GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
index 98ddd1fada..040d3d267d 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
@@ -1277,6 +1277,7 @@  GLIBC_2.2 program_invocation_name D 0x8
 GLIBC_2.2 program_invocation_short_name D 0x8
 GLIBC_2.2 pselect F
 GLIBC_2.2 psignal F
+GLIBC_2.2 pthread_atfork F
 GLIBC_2.2 pthread_attr_destroy F
 GLIBC_2.2 pthread_attr_getdetachstate F
 GLIBC_2.2 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
index 2e1fdd8c1c..353b0cad71 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
@@ -23,7 +23,6 @@  GLIBC_2.2 __res_state F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
-GLIBC_2.2 pthread_atfork 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/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
index 0ae20f7bb2..c7c8753dbe 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
@@ -1263,6 +1263,7 @@  GLIBC_2.2 program_invocation_name D 0x4
 GLIBC_2.2 program_invocation_short_name D 0x4
 GLIBC_2.2 pselect F
 GLIBC_2.2 psignal F
+GLIBC_2.2 pthread_atfork F
 GLIBC_2.2 pthread_attr_destroy F
 GLIBC_2.2 pthread_attr_getdetachstate F
 GLIBC_2.2 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
index 59e2b0c2d8..c0f9891731 100644
--- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
@@ -22,7 +22,6 @@  GLIBC_2.2 __res_state F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
-GLIBC_2.2 pthread_atfork 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/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
index 86958c9851..fdcfaf1e43 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
@@ -1263,6 +1263,7 @@  GLIBC_2.2 program_invocation_name D 0x4
 GLIBC_2.2 program_invocation_short_name D 0x4
 GLIBC_2.2 pselect F
 GLIBC_2.2 psignal F
+GLIBC_2.2 pthread_atfork F
 GLIBC_2.2 pthread_attr_destroy F
 GLIBC_2.2 pthread_attr_getdetachstate F
 GLIBC_2.2 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
index 59e2b0c2d8..c0f9891731 100644
--- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
@@ -22,7 +22,6 @@  GLIBC_2.2 __res_state F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
-GLIBC_2.2 pthread_atfork 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/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
index 792de2782f..792db65a00 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
@@ -850,6 +850,7 @@  GLIBC_2.0 program_invocation_name D 0x4
 GLIBC_2.0 program_invocation_short_name D 0x4
 GLIBC_2.0 pselect F
 GLIBC_2.0 psignal F
+GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_attr_destroy F
 GLIBC_2.0 pthread_attr_getdetachstate F
 GLIBC_2.0 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
index 1525fb6f36..4671ccced8 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
@@ -10,7 +10,6 @@  GLIBC_2.0 __pthread_mutexattr_settype F
 GLIBC_2.0 flockfile F
 GLIBC_2.0 ftrylockfile F
 GLIBC_2.0 funlockfile F
-GLIBC_2.0 pthread_atfork F
 GLIBC_2.0 pthread_cancel F
 GLIBC_2.0 pthread_create F
 GLIBC_2.0 pthread_detach F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
index 9b5e77faee..65df4bc889 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
@@ -1306,6 +1306,7 @@  GLIBC_2.2 program_invocation_name D 0x8
 GLIBC_2.2 program_invocation_short_name D 0x8
 GLIBC_2.2 pselect F
 GLIBC_2.2 psignal F
+GLIBC_2.2 pthread_atfork F
 GLIBC_2.2 pthread_attr_destroy F
 GLIBC_2.2 pthread_attr_getdetachstate F
 GLIBC_2.2 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
index ba03934754..32768dd411 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
@@ -22,7 +22,6 @@  GLIBC_2.2 __res_state F
 GLIBC_2.2 flockfile F
 GLIBC_2.2 ftrylockfile F
 GLIBC_2.2 funlockfile F
-GLIBC_2.2 pthread_atfork 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/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
index e81c0a4828..611104410d 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
@@ -1273,6 +1273,7 @@  GLIBC_2.2.5 program_invocation_name D 0x8
 GLIBC_2.2.5 program_invocation_short_name D 0x8
 GLIBC_2.2.5 pselect F
 GLIBC_2.2.5 psignal F
+GLIBC_2.2.5 pthread_atfork F
 GLIBC_2.2.5 pthread_attr_destroy F
 GLIBC_2.2.5 pthread_attr_getdetachstate F
 GLIBC_2.2.5 pthread_attr_getinheritsched F
diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
index 6335e44fc2..e7b330a68b 100644
--- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
+++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
@@ -22,7 +22,6 @@  GLIBC_2.2.5 __res_state F
 GLIBC_2.2.5 flockfile F
 GLIBC_2.2.5 ftrylockfile F
 GLIBC_2.2.5 funlockfile F
-GLIBC_2.2.5 pthread_atfork F
 GLIBC_2.2.5 pthread_attr_getguardsize F
 GLIBC_2.2.5 pthread_attr_getstack F
 GLIBC_2.2.5 pthread_attr_getstackaddr F