From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: libc-alpha@sourceware.org, Florian Weimer <fweimer@redhat.com>
Subject: Re: [PATCH 04/18] nptl: Move legacy cancelation handling into libc as compat symbols
Date: Tue, 16 Mar 2021 11:09:19 -0300 [thread overview]
Message-ID: <544c2f1f-0186-a000-066f-47f403e5c802@linaro.org> (raw)
In-Reply-To: <1ece6f9349c307d5d81fe2ee319866c9c47254b8.1615569355.git.fweimer@redhat.com>
On 12/03/2021 14:49, Florian Weimer via Libc-alpha wrote:
> This affects _pthread_cleanup_pop, _pthread_cleanup_pop_restore,
> _pthread_cleanup_push, _pthread_cleanup_push_defer. The symbols
> have been moved using scripts/move-symbol-to-libc.py.
>
> No new symbol versions are added because the symbols are turned into
> compatibility symbols at the same time.
Looks good, only two new entries on nptl/Versions that don't really get it.
Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
> ---
> nptl/Makefile | 15 ++++++++++----
> nptl/Versions | 10 ++++++----
> nptl/cleanup_compat.c | 16 +++++++++------
> nptl/cleanup_defer_compat.c | 20 ++++++++++++-------
> nptl/pthreadP.h | 17 ++++++++--------
> nptl/tst-cleanup4.c | 5 +++++
> nptl/tst-cleanup4aux.c | 5 +++++
> sysdeps/unix/sysv/linux/aarch64/libc.abilist | 4 ++++
> .../sysv/linux/aarch64/libpthread.abilist | 4 ----
> sysdeps/unix/sysv/linux/alpha/libc.abilist | 4 ++++
> .../unix/sysv/linux/alpha/libpthread.abilist | 4 ----
> sysdeps/unix/sysv/linux/arc/libc.abilist | 4 ++++
> .../unix/sysv/linux/arc/libpthread.abilist | 4 ----
> sysdeps/unix/sysv/linux/arm/be/libc.abilist | 4 ++++
> .../unix/sysv/linux/arm/be/libpthread.abilist | 4 ----
> sysdeps/unix/sysv/linux/arm/le/libc.abilist | 4 ++++
> .../unix/sysv/linux/arm/le/libpthread.abilist | 4 ----
> sysdeps/unix/sysv/linux/csky/libc.abilist | 4 ++++
> .../unix/sysv/linux/csky/libpthread.abilist | 4 ----
> sysdeps/unix/sysv/linux/hppa/libc.abilist | 4 ++++
> .../unix/sysv/linux/hppa/libpthread.abilist | 4 ----
> sysdeps/unix/sysv/linux/i386/libc.abilist | 4 ++++
> .../unix/sysv/linux/i386/libpthread.abilist | 4 ----
> sysdeps/unix/sysv/linux/ia64/libc.abilist | 4 ++++
> .../unix/sysv/linux/ia64/libpthread.abilist | 4 ----
> .../sysv/linux/m68k/coldfire/libc.abilist | 4 ++++
> .../linux/m68k/coldfire/libpthread.abilist | 4 ----
> .../unix/sysv/linux/m68k/m680x0/libc.abilist | 4 ++++
> .../sysv/linux/m68k/m680x0/libpthread.abilist | 4 ----
> .../sysv/linux/microblaze/be/libc.abilist | 4 ++++
> .../linux/microblaze/be/libpthread.abilist | 4 ----
> .../sysv/linux/microblaze/le/libc.abilist | 4 ++++
> .../linux/microblaze/le/libpthread.abilist | 4 ----
> .../sysv/linux/mips/mips32/fpu/libc.abilist | 4 ++++
> .../sysv/linux/mips/mips32/libpthread.abilist | 4 ----
> .../sysv/linux/mips/mips32/nofpu/libc.abilist | 4 ++++
> .../sysv/linux/mips/mips64/libpthread.abilist | 4 ----
> .../sysv/linux/mips/mips64/n32/libc.abilist | 4 ++++
> .../sysv/linux/mips/mips64/n64/libc.abilist | 4 ++++
> sysdeps/unix/sysv/linux/nios2/libc.abilist | 4 ++++
> .../unix/sysv/linux/nios2/libpthread.abilist | 4 ----
> .../linux/powerpc/powerpc32/fpu/libc.abilist | 4 ++++
> .../powerpc/powerpc32/libpthread.abilist | 4 ----
> .../powerpc/powerpc32/nofpu/libc.abilist | 4 ++++
> .../linux/powerpc/powerpc64/be/libc.abilist | 4 ++++
> .../powerpc/powerpc64/be/libpthread.abilist | 4 ----
> .../linux/powerpc/powerpc64/le/libc.abilist | 4 ++++
> .../powerpc/powerpc64/le/libpthread.abilist | 4 ----
> .../unix/sysv/linux/riscv/rv32/libc.abilist | 4 ++++
> .../sysv/linux/riscv/rv32/libpthread.abilist | 4 ----
> .../unix/sysv/linux/riscv/rv64/libc.abilist | 4 ++++
> .../sysv/linux/riscv/rv64/libpthread.abilist | 4 ----
> .../unix/sysv/linux/s390/s390-32/libc.abilist | 4 ++++
> .../linux/s390/s390-32/libpthread.abilist | 4 ----
> .../unix/sysv/linux/s390/s390-64/libc.abilist | 4 ++++
> .../linux/s390/s390-64/libpthread.abilist | 4 ----
> sysdeps/unix/sysv/linux/sh/be/libc.abilist | 4 ++++
> .../unix/sysv/linux/sh/be/libpthread.abilist | 4 ----
> sysdeps/unix/sysv/linux/sh/le/libc.abilist | 4 ++++
> .../unix/sysv/linux/sh/le/libpthread.abilist | 4 ----
> .../sysv/linux/sparc/sparc32/libc.abilist | 4 ++++
> .../linux/sparc/sparc32/libpthread.abilist | 4 ----
> .../sysv/linux/sparc/sparc64/libc.abilist | 4 ++++
> .../linux/sparc/sparc64/libpthread.abilist | 4 ----
> .../unix/sysv/linux/x86_64/64/libc.abilist | 4 ++++
> .../sysv/linux/x86_64/64/libpthread.abilist | 4 ----
> .../unix/sysv/linux/x86_64/x32/libc.abilist | 4 ++++
> .../sysv/linux/x86_64/x32/libpthread.abilist | 4 ----
> 68 files changed, 186 insertions(+), 146 deletions(-)
>
> diff --git a/nptl/Makefile b/nptl/Makefile
> index b951fcb77e..147a8d3d59 100644
> --- a/nptl/Makefile
> +++ b/nptl/Makefile
> @@ -30,6 +30,8 @@ extra-libs-others := $(extra-libs)
>
> routines = \
> alloca_cutoff \
> + cleanup_compat \
> + cleanup_defer_compat \
> cleanup_routine \
> elision-conf \
> elision-lock \
> @@ -96,9 +98,7 @@ libpthread-routines = \
> $(pthread-compat-wrappers) \
> cancellation \
> cleanup \
> - cleanup_compat \
> cleanup_defer \
> - cleanup_defer_compat \
> events \
> flockfile \
> ftrylockfile \
Ok.
> @@ -344,7 +344,6 @@ tests = tst-attr2 tst-attr3 tst-default-attr \
> tst-tsd3 tst-tsd4 \
> tst-cancel4_1 tst-cancel4_2 \
> tst-cancel7 tst-cancel17 tst-cancel24 \
> - tst-cleanup4 \
> tst-signal3 \
> tst-exec4 tst-exec5 \
> tst-stack2 tst-stack3 tst-stack4 \
> @@ -418,7 +417,7 @@ endif
>
> LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst
>
> -tests += tst-cancelx7 tst-cancelx17 tst-cleanupx4
> +tests += tst-cancelx7 tst-cancelx17
>
> ifeq ($(build-shared),yes)
> tests += tst-compat-forwarder tst-audit-threads
Ok.
> @@ -438,6 +437,14 @@ extra-test-objs += $(addsuffix .os,$(strip $(modules-names))) \
> tst-cleanup4aux.o tst-cleanupx4aux.o
> test-extras += tst-cleanup4aux tst-cleanupx4aux
>
> +# This test exercises compat symbols removed in glibc 2.34.
> +ifdef have-GLIBC_2.33
> +tests += tst-cleanup4
> +ifeq ($(build-shared),yes)
> +tests += tst-cleanupx4
> +endif
> +endif
> +
> tst-tls3mod.so-no-z-defs = yes
> tst-tls5mod.so-no-z-defs = yes
> tst-tls5moda.so-no-z-defs = yes
Ok.
> diff --git a/nptl/Versions b/nptl/Versions
> index e3eb686a04..ff6eae2566 100644
> --- a/nptl/Versions
> +++ b/nptl/Versions
> @@ -1,5 +1,9 @@
> libc {
> GLIBC_2.0 {
> + _pthread_cleanup_pop;
> + _pthread_cleanup_pop_restore;
> + _pthread_cleanup_push;
> + _pthread_cleanup_push_defer;
> pthread_attr_destroy;
> pthread_attr_getdetachstate;
> pthread_attr_getinheritsched;
> @@ -103,6 +107,8 @@ libc {
> __pthread_attr_init;
> __pthread_attr_setaffinity_np;
> __pthread_attr_setsigmask_internal;
> + __pthread_cleanup_pop;
> + __pthread_cleanup_push;
> __pthread_cond_destroy; # Used by the C11 threads.
> __pthread_cond_init; # Used by the C11 threads.
> __pthread_force_elision;
Why are you exporting the double underscore __pthread_cleanup_[pop,push]
on older versions here?
> @@ -141,10 +147,6 @@ libpthread {
> __sigaction;
> __write;
> _exit;
> - _pthread_cleanup_pop;
> - _pthread_cleanup_pop_restore;
> - _pthread_cleanup_push;
> - _pthread_cleanup_push_defer;
> accept;
> close;
> connect;
Ok.
> diff --git a/nptl/cleanup_compat.c b/nptl/cleanup_compat.c
> index fec88c2f86..b5fd657c38 100644
> --- a/nptl/cleanup_compat.c
> +++ b/nptl/cleanup_compat.c
> @@ -16,12 +16,12 @@
> License along with the GNU C Library; if not, see
> <https://www.gnu.org/licenses/>. */
>
> +#include <shlib-compat.h>
> #include <stdlib.h>
> #include "pthreadP.h"
>
> -
> void
> -_pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
> +__pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
> void (*routine) (void *), void *arg)
> {
> struct pthread *self = THREAD_SELF;
> @@ -32,11 +32,10 @@ _pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
>
> THREAD_SETMEM (self, cleanup, buffer);
> }
> -strong_alias (_pthread_cleanup_push, __pthread_cleanup_push)
> -
> +libc_hidden_def (__pthread_cleanup_push)
>
> void
> -_pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute)
> +__pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute)
> {
> struct pthread *self __attribute ((unused)) = THREAD_SELF;
>
> @@ -47,4 +46,9 @@ _pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute)
> if (execute)
> buffer->__routine (buffer->__arg);
> }
> -strong_alias (_pthread_cleanup_pop, __pthread_cleanup_pop)
> +libc_hidden_def (__pthread_cleanup_pop)
> +
> +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
> +compat_symbol (libc, __pthread_cleanup_push, _pthread_cleanup_push, GLIBC_2_0);
> +compat_symbol (libc, __pthread_cleanup_pop, _pthread_cleanup_pop, GLIBC_2_0);
> +#endif /* SHLIB_COMPAT */
Ok.
> diff --git a/nptl/cleanup_defer_compat.c b/nptl/cleanup_defer_compat.c
> index 1957318208..a172218b42 100644
> --- a/nptl/cleanup_defer_compat.c
> +++ b/nptl/cleanup_defer_compat.c
> @@ -16,10 +16,13 @@
> License along with the GNU C Library; if not, see
> <https://www.gnu.org/licenses/>. */
>
> -#include "pthreadP.h"
> -#include <libc-lock.h>
> +#include <shlib-compat.h>
>
> -void
> +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34)
> +# include "pthreadP.h"
> +# include <libc-lock.h>
> +
> +void attribute_compat_text_section
> _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer,
> void (*routine) (void *), void *arg)
> {
> @@ -27,10 +30,10 @@ _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer,
> buffer->__arg = arg;
> __libc_cleanup_push_defer (buffer);
> }
> -strong_alias (_pthread_cleanup_push_defer, __pthread_cleanup_push_defer)
> -
> +compat_symbol (libc, _pthread_cleanup_push_defer,
> + _pthread_cleanup_push_defer, GLIBC_2_0);
>
> -void
> +void attribute_compat_text_section
> _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer,
> int execute)
> {
> @@ -41,4 +44,7 @@ _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer,
> if (execute)
> buffer->__routine (buffer->__arg);
> }
> -strong_alias (_pthread_cleanup_pop_restore, __pthread_cleanup_pop_restore)
> +compat_symbol (libc, _pthread_cleanup_pop_restore,
> + _pthread_cleanup_pop_restore, GLIBC_2_0);
> +
> +#endif /* SHLIB_COMPAT */
Ok.
> diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h
> index c8538de44f..781bc65c1c 100644
> --- a/nptl/pthreadP.h
> +++ b/nptl/pthreadP.h
> @@ -585,11 +585,10 @@ libc_hidden_proto (__pthread_attr_setsigmask_internal)
> extern __typeof (pthread_attr_getsigmask_np) __pthread_attr_getsigmask_np;
> libc_hidden_proto (__pthread_attr_getsigmask_np)
>
> -#if IS_IN (libpthread)
> /* Special versions which use non-exported functions. */
> extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
> - void (*routine) (void *), void *arg)
> - attribute_hidden;
> + void (*routine) (void *), void *arg);
> +libc_hidden_proto (__pthread_cleanup_push)
>
> /* Replace cleanup macros defined in <pthread.h> with internal
> versions that don't depend on unwind info and better support
> @@ -600,12 +599,13 @@ extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer,
> __pthread_cleanup_push (&_buffer, (routine), (arg));
>
> extern void __pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer,
> - int execute) attribute_hidden;
> + int execute);
> +libc_hidden_proto (__pthread_cleanup_pop)
> # undef pthread_cleanup_pop
> # define pthread_cleanup_pop(execute) \
> __pthread_cleanup_pop (&_buffer, (execute)); }
>
> -# if defined __EXCEPTIONS && !defined __cplusplus
> +#if defined __EXCEPTIONS && !defined __cplusplus
> /* Structure to hold the cleanup handler information. */
> struct __pthread_cleanup_combined_frame
> {
> @@ -646,7 +646,7 @@ __pthread_cleanup_combined_routine_voidptr (void *__arg)
> }
> }
>
> -# define pthread_cleanup_combined_push(routine, arg) \
> +# define pthread_cleanup_combined_push(routine, arg) \
> do { \
> void (*__cancel_routine) (void *) = (routine); \
> struct __pthread_cleanup_combined_frame __clframe \
> @@ -657,15 +657,14 @@ __pthread_cleanup_combined_routine_voidptr (void *__arg)
> __pthread_cleanup_combined_routine_voidptr, \
> &__clframe);
>
> -# define pthread_cleanup_combined_pop(execute) \
> +# define pthread_cleanup_combined_pop(execute) \
> __pthread_cleanup_pop (&__clframe.__buffer, 0); \
> __clframe.__do_it = 0; \
> if (execute) \
> __cancel_routine (__clframe.__cancel_arg); \
> } while (0)
>
> -# endif
> -#endif
> +#endif /* __EXCEPTIONS && !defined __cplusplus */
>
> extern void __pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer,
> void (*routine) (void *), void *arg);
Ok.
> diff --git a/nptl/tst-cleanup4.c b/nptl/tst-cleanup4.c
> index 24c062db1a..4eb51580bc 100644
> --- a/nptl/tst-cleanup4.c
> +++ b/nptl/tst-cleanup4.c
> @@ -17,6 +17,7 @@
> <https://www.gnu.org/licenses/>. */
>
> #include <pthread.h>
> +#include <shlib-compat.h>
> #include <stdio.h>
> #include <stdlib.h>
> #include <unistd.h>
> @@ -25,8 +26,12 @@
> extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer,
> void (*__routine) (void *),
> void *__arg);
> +compat_symbol_reference (libc, _pthread_cleanup_push,
> + _pthread_cleanup_push, GLIBC_2_0);
> extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer,
> int __execute);
> +compat_symbol_reference (libc, _pthread_cleanup_pop,
> + _pthread_cleanup_pop, GLIBC_2_0);
>
> static int fds[2];
> static pthread_barrier_t b2;
Ok.
> diff --git a/nptl/tst-cleanup4aux.c b/nptl/tst-cleanup4aux.c
> index d20730ddf2..7713f9c612 100644
> --- a/nptl/tst-cleanup4aux.c
> +++ b/nptl/tst-cleanup4aux.c
> @@ -17,6 +17,7 @@
> <https://www.gnu.org/licenses/>. */
>
> #include <pthread.h>
> +#include <shlib-compat.h>
> #include <stdio.h>
> #include <stdlib.h>
> #include <unistd.h>
> @@ -24,8 +25,12 @@
> extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer,
> void (*__routine) (void *),
> void *__arg);
> +compat_symbol_reference (libc, _pthread_cleanup_push,
> + _pthread_cleanup_push, GLIBC_2_0);
> extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer,
> int __execute);
> +compat_symbol_reference (libc, _pthread_cleanup_pop,
> + _pthread_cleanup_pop, GLIBC_2_0);
>
> extern void clh (void *arg);
> extern void fn0 (void);
Ok.
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> index a55f3d9667..a585f7d30d 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist
> @@ -538,6 +538,10 @@ GLIBC_2.17 _obstack_begin_1 F
> GLIBC_2.17 _obstack_free F
> GLIBC_2.17 _obstack_memory_used F
> GLIBC_2.17 _obstack_newchunk F
> +GLIBC_2.17 _pthread_cleanup_pop F
> +GLIBC_2.17 _pthread_cleanup_pop_restore F
> +GLIBC_2.17 _pthread_cleanup_push F
> +GLIBC_2.17 _pthread_cleanup_push_defer F
> GLIBC_2.17 _res D 0x238
> GLIBC_2.17 _res_hconf D 0x48
> GLIBC_2.17 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> index ad2492cb4c..6047fa274f 100644
> --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist
> @@ -43,10 +43,6 @@ GLIBC_2.17 __res_state F
> GLIBC_2.17 __send F
> GLIBC_2.17 __sigaction F
> GLIBC_2.17 __write F
> -GLIBC_2.17 _pthread_cleanup_pop F
> -GLIBC_2.17 _pthread_cleanup_pop_restore F
> -GLIBC_2.17 _pthread_cleanup_push F
> -GLIBC_2.17 _pthread_cleanup_push_defer F
> GLIBC_2.17 accept F
> GLIBC_2.17 close F
> GLIBC_2.17 connect F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> index 54a11b7e76..c9ac935ccf 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist
> @@ -277,6 +277,10 @@ GLIBC_2.0 _obstack_newchunk F
> GLIBC_2.0 _outb F
> GLIBC_2.0 _outl F
> GLIBC_2.0 _outw F
> +GLIBC_2.0 _pthread_cleanup_pop F
> +GLIBC_2.0 _pthread_cleanup_pop_restore F
> +GLIBC_2.0 _pthread_cleanup_push F
> +GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 _res D 0x238
> GLIBC_2.0 _rpc_dtablesize F
> GLIBC_2.0 _seterr_reply F
> diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> index 1eff0da935..5f8c13bb69 100644
> --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist
> @@ -24,10 +24,6 @@ GLIBC_2.0 __read F
> GLIBC_2.0 __send F
> GLIBC_2.0 __sigaction F
> GLIBC_2.0 __write F
> -GLIBC_2.0 _pthread_cleanup_pop F
> -GLIBC_2.0 _pthread_cleanup_pop_restore F
> -GLIBC_2.0 _pthread_cleanup_push F
> -GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 accept F
> GLIBC_2.0 close F
> GLIBC_2.0 connect F
> diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist
> index a229125212..27fecc5c8a 100644
> --- a/sysdeps/unix/sysv/linux/arc/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist
> @@ -506,6 +506,10 @@ GLIBC_2.32 _obstack_begin_1 F
> GLIBC_2.32 _obstack_free F
> GLIBC_2.32 _obstack_memory_used F
> GLIBC_2.32 _obstack_newchunk F
> +GLIBC_2.32 _pthread_cleanup_pop F
> +GLIBC_2.32 _pthread_cleanup_pop_restore F
> +GLIBC_2.32 _pthread_cleanup_push F
> +GLIBC_2.32 _pthread_cleanup_push_defer F
> GLIBC_2.32 _res D 0x200
> GLIBC_2.32 _res_hconf D 0x30
> GLIBC_2.32 _setjmp F
> diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> index c635f1dac9..9713a20071 100644
> --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist
> @@ -42,10 +42,6 @@ GLIBC_2.32 __res_state F
> GLIBC_2.32 __send F
> GLIBC_2.32 __sigaction F
> GLIBC_2.32 __write F
> -GLIBC_2.32 _pthread_cleanup_pop F
> -GLIBC_2.32 _pthread_cleanup_pop_restore F
> -GLIBC_2.32 _pthread_cleanup_push F
> -GLIBC_2.32 _pthread_cleanup_push_defer F
> GLIBC_2.32 accept F
> GLIBC_2.32 call_once F
> GLIBC_2.32 close F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> index cfc58ca510..2383d95094 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist
> @@ -683,6 +683,10 @@ GLIBC_2.4 _obstack_begin_1 F
> GLIBC_2.4 _obstack_free F
> GLIBC_2.4 _obstack_memory_used F
> GLIBC_2.4 _obstack_newchunk F
> +GLIBC_2.4 _pthread_cleanup_pop F
> +GLIBC_2.4 _pthread_cleanup_pop_restore F
> +GLIBC_2.4 _pthread_cleanup_push F
> +GLIBC_2.4 _pthread_cleanup_push_defer F
> GLIBC_2.4 _res D 0x200
> GLIBC_2.4 _res_hconf D 0x30
> GLIBC_2.4 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> index 79c5f66cff..c2e78416b8 100644
> --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist
> @@ -77,10 +77,6 @@ GLIBC_2.4 __res_state F
> GLIBC_2.4 __send F
> GLIBC_2.4 __sigaction F
> GLIBC_2.4 __write F
> -GLIBC_2.4 _pthread_cleanup_pop F
> -GLIBC_2.4 _pthread_cleanup_pop_restore F
> -GLIBC_2.4 _pthread_cleanup_push F
> -GLIBC_2.4 _pthread_cleanup_push_defer F
> GLIBC_2.4 accept F
> GLIBC_2.4 close F
> GLIBC_2.4 connect F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> index e725ee6217..bb46b8b5e3 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist
> @@ -680,6 +680,10 @@ GLIBC_2.4 _obstack_begin_1 F
> GLIBC_2.4 _obstack_free F
> GLIBC_2.4 _obstack_memory_used F
> GLIBC_2.4 _obstack_newchunk F
> +GLIBC_2.4 _pthread_cleanup_pop F
> +GLIBC_2.4 _pthread_cleanup_pop_restore F
> +GLIBC_2.4 _pthread_cleanup_push F
> +GLIBC_2.4 _pthread_cleanup_push_defer F
> GLIBC_2.4 _res D 0x200
> GLIBC_2.4 _res_hconf D 0x30
> GLIBC_2.4 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> index 79c5f66cff..c2e78416b8 100644
> --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist
> @@ -77,10 +77,6 @@ GLIBC_2.4 __res_state F
> GLIBC_2.4 __send F
> GLIBC_2.4 __sigaction F
> GLIBC_2.4 __write F
> -GLIBC_2.4 _pthread_cleanup_pop F
> -GLIBC_2.4 _pthread_cleanup_pop_restore F
> -GLIBC_2.4 _pthread_cleanup_push F
> -GLIBC_2.4 _pthread_cleanup_push_defer F
> GLIBC_2.4 accept F
> GLIBC_2.4 close F
> GLIBC_2.4 connect F
> diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist
> index 51d9d33b13..684e451f83 100644
> --- a/sysdeps/unix/sysv/linux/csky/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist
> @@ -515,6 +515,10 @@ GLIBC_2.29 _obstack_begin_1 F
> GLIBC_2.29 _obstack_free F
> GLIBC_2.29 _obstack_memory_used F
> GLIBC_2.29 _obstack_newchunk F
> +GLIBC_2.29 _pthread_cleanup_pop F
> +GLIBC_2.29 _pthread_cleanup_pop_restore F
> +GLIBC_2.29 _pthread_cleanup_push F
> +GLIBC_2.29 _pthread_cleanup_push_defer F
> GLIBC_2.29 _res D 0x200
> GLIBC_2.29 _res_hconf D 0x30
> GLIBC_2.29 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> index e242edb9c3..bb8a51a51d 100644
> --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist
> @@ -42,10 +42,6 @@ GLIBC_2.29 __res_state F
> GLIBC_2.29 __send F
> GLIBC_2.29 __sigaction F
> GLIBC_2.29 __write F
> -GLIBC_2.29 _pthread_cleanup_pop F
> -GLIBC_2.29 _pthread_cleanup_pop_restore F
> -GLIBC_2.29 _pthread_cleanup_push F
> -GLIBC_2.29 _pthread_cleanup_push_defer F
> GLIBC_2.29 accept F
> GLIBC_2.29 call_once F
> GLIBC_2.29 close F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> index 914aef5f35..8dde237f8b 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist
> @@ -502,6 +502,10 @@ GLIBC_2.2 _obstack_begin_1 F
> GLIBC_2.2 _obstack_free F
> GLIBC_2.2 _obstack_memory_used F
> GLIBC_2.2 _obstack_newchunk F
> +GLIBC_2.2 _pthread_cleanup_pop F
> +GLIBC_2.2 _pthread_cleanup_pop_restore F
> +GLIBC_2.2 _pthread_cleanup_push F
> +GLIBC_2.2 _pthread_cleanup_push_defer F
> GLIBC_2.2 _res D 0x200
> GLIBC_2.2 _res_hconf D 0x30
> GLIBC_2.2 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> index 8ce3580478..8d7aa63a02 100644
> --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist
> @@ -45,10 +45,6 @@ GLIBC_2.2 __res_state F
> GLIBC_2.2 __send F
> GLIBC_2.2 __sigaction F
> GLIBC_2.2 __write F
> -GLIBC_2.2 _pthread_cleanup_pop F
> -GLIBC_2.2 _pthread_cleanup_pop_restore F
> -GLIBC_2.2 _pthread_cleanup_push F
> -GLIBC_2.2 _pthread_cleanup_push_defer F
> GLIBC_2.2 accept F
> GLIBC_2.2 close F
> GLIBC_2.2 connect F
> diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist
> index f7ca08f695..cc2226be23 100644
> --- a/sysdeps/unix/sysv/linux/i386/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist
> @@ -265,6 +265,10 @@ GLIBC_2.0 _obstack_begin_1 F
> GLIBC_2.0 _obstack_free F
> GLIBC_2.0 _obstack_memory_used F
> GLIBC_2.0 _obstack_newchunk F
> +GLIBC_2.0 _pthread_cleanup_pop F
> +GLIBC_2.0 _pthread_cleanup_pop_restore F
> +GLIBC_2.0 _pthread_cleanup_push F
> +GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 _res D 0x200
> GLIBC_2.0 _rpc_dtablesize F
> GLIBC_2.0 _seterr_reply F
> diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> index d3fc0f2d70..ee156d6f49 100644
> --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist
> @@ -24,10 +24,6 @@ GLIBC_2.0 __read F
> GLIBC_2.0 __send F
> GLIBC_2.0 __sigaction F
> GLIBC_2.0 __write F
> -GLIBC_2.0 _pthread_cleanup_pop F
> -GLIBC_2.0 _pthread_cleanup_pop_restore F
> -GLIBC_2.0 _pthread_cleanup_push F
> -GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 accept F
> GLIBC_2.0 close F
> GLIBC_2.0 connect F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> index a77ab9816b..438f3bd131 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist
> @@ -514,6 +514,10 @@ GLIBC_2.2 _obstack_newchunk F
> GLIBC_2.2 _outb F
> GLIBC_2.2 _outl F
> GLIBC_2.2 _outw F
> +GLIBC_2.2 _pthread_cleanup_pop F
> +GLIBC_2.2 _pthread_cleanup_pop_restore F
> +GLIBC_2.2 _pthread_cleanup_push F
> +GLIBC_2.2 _pthread_cleanup_push_defer F
> GLIBC_2.2 _res D 0x238
> GLIBC_2.2 _res_hconf D 0x48
> GLIBC_2.2 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> index d7000f415e..ab6a5cfb78 100644
> --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist
> @@ -45,10 +45,6 @@ GLIBC_2.2 __res_state F
> GLIBC_2.2 __send F
> GLIBC_2.2 __sigaction F
> GLIBC_2.2 __write F
> -GLIBC_2.2 _pthread_cleanup_pop F
> -GLIBC_2.2 _pthread_cleanup_pop_restore F
> -GLIBC_2.2 _pthread_cleanup_push F
> -GLIBC_2.2 _pthread_cleanup_push_defer F
> GLIBC_2.2 accept F
> GLIBC_2.2 close F
> GLIBC_2.2 connect F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> index 49a3997d83..5add3e607a 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist
> @@ -671,6 +671,10 @@ GLIBC_2.4 _obstack_begin_1 F
> GLIBC_2.4 _obstack_free F
> GLIBC_2.4 _obstack_memory_used F
> GLIBC_2.4 _obstack_newchunk F
> +GLIBC_2.4 _pthread_cleanup_pop F
> +GLIBC_2.4 _pthread_cleanup_pop_restore F
> +GLIBC_2.4 _pthread_cleanup_push F
> +GLIBC_2.4 _pthread_cleanup_push_defer F
> GLIBC_2.4 _res D 0x1fe
> GLIBC_2.4 _res_hconf D 0x30
> GLIBC_2.4 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> index 79c5f66cff..c2e78416b8 100644
> --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist
> @@ -77,10 +77,6 @@ GLIBC_2.4 __res_state F
> GLIBC_2.4 __send F
> GLIBC_2.4 __sigaction F
> GLIBC_2.4 __write F
> -GLIBC_2.4 _pthread_cleanup_pop F
> -GLIBC_2.4 _pthread_cleanup_pop_restore F
> -GLIBC_2.4 _pthread_cleanup_push F
> -GLIBC_2.4 _pthread_cleanup_push_defer F
> GLIBC_2.4 accept F
> GLIBC_2.4 close F
> GLIBC_2.4 connect F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> index 9969b02829..2e7c9f9b47 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist
> @@ -265,6 +265,10 @@ GLIBC_2.0 _obstack_begin_1 F
> GLIBC_2.0 _obstack_free F
> GLIBC_2.0 _obstack_memory_used F
> GLIBC_2.0 _obstack_newchunk F
> +GLIBC_2.0 _pthread_cleanup_pop F
> +GLIBC_2.0 _pthread_cleanup_pop_restore F
> +GLIBC_2.0 _pthread_cleanup_push F
> +GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 _res D 0x1fe
> GLIBC_2.0 _rpc_dtablesize F
> GLIBC_2.0 _seterr_reply F
> diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> index d3fc0f2d70..ee156d6f49 100644
> --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist
> @@ -24,10 +24,6 @@ GLIBC_2.0 __read F
> GLIBC_2.0 __send F
> GLIBC_2.0 __sigaction F
> GLIBC_2.0 __write F
> -GLIBC_2.0 _pthread_cleanup_pop F
> -GLIBC_2.0 _pthread_cleanup_pop_restore F
> -GLIBC_2.0 _pthread_cleanup_push F
> -GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 accept F
> GLIBC_2.0 close F
> GLIBC_2.0 connect F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> index eb6d753ae8..493f7ddaa0 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist
> @@ -541,6 +541,10 @@ GLIBC_2.18 _obstack_begin_1 F
> GLIBC_2.18 _obstack_free F
> GLIBC_2.18 _obstack_memory_used F
> GLIBC_2.18 _obstack_newchunk F
> +GLIBC_2.18 _pthread_cleanup_pop F
> +GLIBC_2.18 _pthread_cleanup_pop_restore F
> +GLIBC_2.18 _pthread_cleanup_push F
> +GLIBC_2.18 _pthread_cleanup_push_defer F
> GLIBC_2.18 _res D 0x200
> GLIBC_2.18 _res_hconf D 0x30
> GLIBC_2.18 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> index c096915557..1f516569ba 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist
> @@ -43,10 +43,6 @@ GLIBC_2.18 __res_state F
> GLIBC_2.18 __send F
> GLIBC_2.18 __sigaction F
> GLIBC_2.18 __write F
> -GLIBC_2.18 _pthread_cleanup_pop F
> -GLIBC_2.18 _pthread_cleanup_pop_restore F
> -GLIBC_2.18 _pthread_cleanup_push F
> -GLIBC_2.18 _pthread_cleanup_push_defer F
> GLIBC_2.18 accept F
> GLIBC_2.18 close F
> GLIBC_2.18 connect F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> index 7c3d154267..ec83b89aa3 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist
> @@ -541,6 +541,10 @@ GLIBC_2.18 _obstack_begin_1 F
> GLIBC_2.18 _obstack_free F
> GLIBC_2.18 _obstack_memory_used F
> GLIBC_2.18 _obstack_newchunk F
> +GLIBC_2.18 _pthread_cleanup_pop F
> +GLIBC_2.18 _pthread_cleanup_pop_restore F
> +GLIBC_2.18 _pthread_cleanup_push F
> +GLIBC_2.18 _pthread_cleanup_push_defer F
> GLIBC_2.18 _res D 0x200
> GLIBC_2.18 _res_hconf D 0x30
> GLIBC_2.18 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> index c096915557..1f516569ba 100644
> --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist
> @@ -43,10 +43,6 @@ GLIBC_2.18 __res_state F
> GLIBC_2.18 __send F
> GLIBC_2.18 __sigaction F
> GLIBC_2.18 __write F
> -GLIBC_2.18 _pthread_cleanup_pop F
> -GLIBC_2.18 _pthread_cleanup_pop_restore F
> -GLIBC_2.18 _pthread_cleanup_push F
> -GLIBC_2.18 _pthread_cleanup_push_defer F
> GLIBC_2.18 accept F
> GLIBC_2.18 close F
> GLIBC_2.18 connect F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> index bb2c61d8b4..cb0ab4bc19 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist
> @@ -262,6 +262,10 @@ GLIBC_2.0 _obstack_begin_1 F
> GLIBC_2.0 _obstack_free F
> GLIBC_2.0 _obstack_memory_used F
> GLIBC_2.0 _obstack_newchunk F
> +GLIBC_2.0 _pthread_cleanup_pop F
> +GLIBC_2.0 _pthread_cleanup_pop_restore F
> +GLIBC_2.0 _pthread_cleanup_push F
> +GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 _res D 0x200
> GLIBC_2.0 _rpc_dtablesize F
> GLIBC_2.0 _seterr_reply F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> index 358a13524a..903f49957f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist
> @@ -24,10 +24,6 @@ GLIBC_2.0 __read F
> GLIBC_2.0 __send F
> GLIBC_2.0 __sigaction F
> GLIBC_2.0 __write F
> -GLIBC_2.0 _pthread_cleanup_pop F
> -GLIBC_2.0 _pthread_cleanup_pop_restore F
> -GLIBC_2.0 _pthread_cleanup_push F
> -GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 accept F
> GLIBC_2.0 close F
> GLIBC_2.0 connect F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> index 7a418b2e12..2be2623e99 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist
> @@ -262,6 +262,10 @@ GLIBC_2.0 _obstack_begin_1 F
> GLIBC_2.0 _obstack_free F
> GLIBC_2.0 _obstack_memory_used F
> GLIBC_2.0 _obstack_newchunk F
> +GLIBC_2.0 _pthread_cleanup_pop F
> +GLIBC_2.0 _pthread_cleanup_pop_restore F
> +GLIBC_2.0 _pthread_cleanup_push F
> +GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 _res D 0x200
> GLIBC_2.0 _rpc_dtablesize F
> GLIBC_2.0 _seterr_reply F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> index 358a13524a..903f49957f 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist
> @@ -24,10 +24,6 @@ GLIBC_2.0 __read F
> GLIBC_2.0 __send F
> GLIBC_2.0 __sigaction F
> GLIBC_2.0 __write F
> -GLIBC_2.0 _pthread_cleanup_pop F
> -GLIBC_2.0 _pthread_cleanup_pop_restore F
> -GLIBC_2.0 _pthread_cleanup_push F
> -GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 accept F
> GLIBC_2.0 close F
> GLIBC_2.0 connect F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> index 29d9e4045a..09147861b5 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist
> @@ -262,6 +262,10 @@ GLIBC_2.0 _obstack_begin_1 F
> GLIBC_2.0 _obstack_free F
> GLIBC_2.0 _obstack_memory_used F
> GLIBC_2.0 _obstack_newchunk F
> +GLIBC_2.0 _pthread_cleanup_pop F
> +GLIBC_2.0 _pthread_cleanup_pop_restore F
> +GLIBC_2.0 _pthread_cleanup_push F
> +GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 _res D 0x200
> GLIBC_2.0 _rpc_dtablesize F
> GLIBC_2.0 _seterr_reply F
> diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> index 404789db07..4a0208c8c8 100644
> --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist
> @@ -260,6 +260,10 @@ GLIBC_2.0 _obstack_begin_1 F
> GLIBC_2.0 _obstack_free F
> GLIBC_2.0 _obstack_memory_used F
> GLIBC_2.0 _obstack_newchunk F
> +GLIBC_2.0 _pthread_cleanup_pop F
> +GLIBC_2.0 _pthread_cleanup_pop_restore F
> +GLIBC_2.0 _pthread_cleanup_push F
> +GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 _res D 0x238
> GLIBC_2.0 _rpc_dtablesize F
> GLIBC_2.0 _seterr_reply F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> index 468444aa86..078025a7d6 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist
> @@ -582,6 +582,10 @@ GLIBC_2.21 _obstack_begin_1 F
> GLIBC_2.21 _obstack_free F
> GLIBC_2.21 _obstack_memory_used F
> GLIBC_2.21 _obstack_newchunk F
> +GLIBC_2.21 _pthread_cleanup_pop F
> +GLIBC_2.21 _pthread_cleanup_pop_restore F
> +GLIBC_2.21 _pthread_cleanup_push F
> +GLIBC_2.21 _pthread_cleanup_push_defer F
> GLIBC_2.21 _res D 0x200
> GLIBC_2.21 _res_hconf D 0x30
> GLIBC_2.21 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> index 6379c1f86c..cd41c7d42b 100644
> --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist
> @@ -43,10 +43,6 @@ GLIBC_2.21 __res_state F
> GLIBC_2.21 __send F
> GLIBC_2.21 __sigaction F
> GLIBC_2.21 __write F
> -GLIBC_2.21 _pthread_cleanup_pop F
> -GLIBC_2.21 _pthread_cleanup_pop_restore F
> -GLIBC_2.21 _pthread_cleanup_push F
> -GLIBC_2.21 _pthread_cleanup_push_defer F
> GLIBC_2.21 accept F
> GLIBC_2.21 close F
> GLIBC_2.21 connect F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> index 41ba4fdb29..bc79b844a5 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist
> @@ -275,6 +275,10 @@ GLIBC_2.0 _obstack_begin_1 F
> GLIBC_2.0 _obstack_free F
> GLIBC_2.0 _obstack_memory_used F
> GLIBC_2.0 _obstack_newchunk F
> +GLIBC_2.0 _pthread_cleanup_pop F
> +GLIBC_2.0 _pthread_cleanup_pop_restore F
> +GLIBC_2.0 _pthread_cleanup_push F
> +GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 _res D 0x200
> GLIBC_2.0 _rpc_dtablesize F
> GLIBC_2.0 _seterr_reply F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> index 7c6e78f6ce..589a865796 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist
> @@ -24,10 +24,6 @@ GLIBC_2.0 __read F
> GLIBC_2.0 __send F
> GLIBC_2.0 __sigaction F
> GLIBC_2.0 __write F
> -GLIBC_2.0 _pthread_cleanup_pop F
> -GLIBC_2.0 _pthread_cleanup_pop_restore F
> -GLIBC_2.0 _pthread_cleanup_push F
> -GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 accept F
> GLIBC_2.0 close F
> GLIBC_2.0 connect F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> index 1d030db5f7..63c05472ed 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist
> @@ -275,6 +275,10 @@ GLIBC_2.0 _obstack_begin_1 F
> GLIBC_2.0 _obstack_free F
> GLIBC_2.0 _obstack_memory_used F
> GLIBC_2.0 _obstack_newchunk F
> +GLIBC_2.0 _pthread_cleanup_pop F
> +GLIBC_2.0 _pthread_cleanup_pop_restore F
> +GLIBC_2.0 _pthread_cleanup_push F
> +GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 _res D 0x200
> GLIBC_2.0 _rpc_dtablesize F
> GLIBC_2.0 _seterr_reply F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> index 9f86b81d65..37e4ee564d 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist
> @@ -561,6 +561,10 @@ GLIBC_2.3 _obstack_begin_1 F
> GLIBC_2.3 _obstack_free F
> GLIBC_2.3 _obstack_memory_used F
> GLIBC_2.3 _obstack_newchunk F
> +GLIBC_2.3 _pthread_cleanup_pop F
> +GLIBC_2.3 _pthread_cleanup_pop_restore F
> +GLIBC_2.3 _pthread_cleanup_push F
> +GLIBC_2.3 _pthread_cleanup_push_defer F
> GLIBC_2.3 _res D 0x238
> GLIBC_2.3 _res_hconf D 0x48
> GLIBC_2.3 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> index 773d873bd1..7c1553be29 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist
> @@ -66,10 +66,6 @@ GLIBC_2.3 __res_state F
> GLIBC_2.3 __send F
> GLIBC_2.3 __sigaction F
> GLIBC_2.3 __write F
> -GLIBC_2.3 _pthread_cleanup_pop F
> -GLIBC_2.3 _pthread_cleanup_pop_restore F
> -GLIBC_2.3 _pthread_cleanup_push F
> -GLIBC_2.3 _pthread_cleanup_push_defer F
> GLIBC_2.3 accept F
> GLIBC_2.3 close F
> GLIBC_2.3 connect F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> index 599d06d56f..1888ec6e86 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist
> @@ -627,6 +627,10 @@ GLIBC_2.17 _obstack_begin_1 F
> GLIBC_2.17 _obstack_free F
> GLIBC_2.17 _obstack_memory_used F
> GLIBC_2.17 _obstack_newchunk F
> +GLIBC_2.17 _pthread_cleanup_pop F
> +GLIBC_2.17 _pthread_cleanup_pop_restore F
> +GLIBC_2.17 _pthread_cleanup_push F
> +GLIBC_2.17 _pthread_cleanup_push_defer F
> GLIBC_2.17 _res D 0x238
> GLIBC_2.17 _res_hconf D 0x48
> GLIBC_2.17 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> index ad2492cb4c..6047fa274f 100644
> --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist
> @@ -43,10 +43,6 @@ GLIBC_2.17 __res_state F
> GLIBC_2.17 __send F
> GLIBC_2.17 __sigaction F
> GLIBC_2.17 __write F
> -GLIBC_2.17 _pthread_cleanup_pop F
> -GLIBC_2.17 _pthread_cleanup_pop_restore F
> -GLIBC_2.17 _pthread_cleanup_push F
> -GLIBC_2.17 _pthread_cleanup_push_defer F
> GLIBC_2.17 accept F
> GLIBC_2.17 close F
> GLIBC_2.17 connect F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> index 9f0068ba1c..8cd92b1abe 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist
> @@ -500,6 +500,10 @@ GLIBC_2.33 _obstack_begin_1 F
> GLIBC_2.33 _obstack_free F
> GLIBC_2.33 _obstack_memory_used F
> GLIBC_2.33 _obstack_newchunk F
> +GLIBC_2.33 _pthread_cleanup_pop F
> +GLIBC_2.33 _pthread_cleanup_pop_restore F
> +GLIBC_2.33 _pthread_cleanup_push F
> +GLIBC_2.33 _pthread_cleanup_push_defer F
> GLIBC_2.33 _res D 0x200
> GLIBC_2.33 _res_hconf D 0x30
> GLIBC_2.33 _setjmp F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> index 76484b8073..71e8f38003 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist
> @@ -42,10 +42,6 @@ GLIBC_2.33 __res_state F
> GLIBC_2.33 __send F
> GLIBC_2.33 __sigaction F
> GLIBC_2.33 __write F
> -GLIBC_2.33 _pthread_cleanup_pop F
> -GLIBC_2.33 _pthread_cleanup_pop_restore F
> -GLIBC_2.33 _pthread_cleanup_push F
> -GLIBC_2.33 _pthread_cleanup_push_defer F
> GLIBC_2.33 accept F
> GLIBC_2.33 call_once F
> GLIBC_2.33 close F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> index 833d6f11d6..894f01282f 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist
> @@ -521,6 +521,10 @@ GLIBC_2.27 _obstack_begin_1 F
> GLIBC_2.27 _obstack_free F
> GLIBC_2.27 _obstack_memory_used F
> GLIBC_2.27 _obstack_newchunk F
> +GLIBC_2.27 _pthread_cleanup_pop F
> +GLIBC_2.27 _pthread_cleanup_pop_restore F
> +GLIBC_2.27 _pthread_cleanup_push F
> +GLIBC_2.27 _pthread_cleanup_push_defer F
> GLIBC_2.27 _res D 0x238
> GLIBC_2.27 _res_hconf D 0x48
> GLIBC_2.27 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> index 2332ba5927..f5f9baefb9 100644
> --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist
> @@ -43,10 +43,6 @@ GLIBC_2.27 __res_state F
> GLIBC_2.27 __send F
> GLIBC_2.27 __sigaction F
> GLIBC_2.27 __write F
> -GLIBC_2.27 _pthread_cleanup_pop F
> -GLIBC_2.27 _pthread_cleanup_pop_restore F
> -GLIBC_2.27 _pthread_cleanup_push F
> -GLIBC_2.27 _pthread_cleanup_push_defer F
> GLIBC_2.27 accept F
> GLIBC_2.27 close F
> GLIBC_2.27 connect F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> index a3e732e82f..8788493ce0 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist
> @@ -265,6 +265,10 @@ GLIBC_2.0 _obstack_begin_1 F
> GLIBC_2.0 _obstack_free F
> GLIBC_2.0 _obstack_memory_used F
> GLIBC_2.0 _obstack_newchunk F
> +GLIBC_2.0 _pthread_cleanup_pop F
> +GLIBC_2.0 _pthread_cleanup_pop_restore F
> +GLIBC_2.0 _pthread_cleanup_push F
> +GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 _res D 0x200
> GLIBC_2.0 _rpc_dtablesize F
> GLIBC_2.0 _seterr_reply F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> index 28cf9cfcee..7aa725ccae 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist
> @@ -24,10 +24,6 @@ GLIBC_2.0 __read F
> GLIBC_2.0 __send F
> GLIBC_2.0 __sigaction F
> GLIBC_2.0 __write F
> -GLIBC_2.0 _pthread_cleanup_pop F
> -GLIBC_2.0 _pthread_cleanup_pop_restore F
> -GLIBC_2.0 _pthread_cleanup_push F
> -GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 accept F
> GLIBC_2.0 close F
> GLIBC_2.0 connect F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> index 4443545ed0..4596ab72b0 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist
> @@ -519,6 +519,10 @@ GLIBC_2.2 _obstack_begin_1 F
> GLIBC_2.2 _obstack_free F
> GLIBC_2.2 _obstack_memory_used F
> GLIBC_2.2 _obstack_newchunk F
> +GLIBC_2.2 _pthread_cleanup_pop F
> +GLIBC_2.2 _pthread_cleanup_pop_restore F
> +GLIBC_2.2 _pthread_cleanup_push F
> +GLIBC_2.2 _pthread_cleanup_push_defer F
> GLIBC_2.2 _res D 0x238
> GLIBC_2.2 _res_hconf D 0x48
> GLIBC_2.2 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> index 5baa0fdd6f..25da7ea8dc 100644
> --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist
> @@ -47,10 +47,6 @@ GLIBC_2.2 __res_state F
> GLIBC_2.2 __send F
> GLIBC_2.2 __sigaction F
> GLIBC_2.2 __write F
> -GLIBC_2.2 _pthread_cleanup_pop F
> -GLIBC_2.2 _pthread_cleanup_pop_restore F
> -GLIBC_2.2 _pthread_cleanup_push F
> -GLIBC_2.2 _pthread_cleanup_push_defer F
> GLIBC_2.2 accept F
> GLIBC_2.2 close F
> GLIBC_2.2 connect F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> index f9cb4195cd..ae16394e8a 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist
> @@ -505,6 +505,10 @@ GLIBC_2.2 _obstack_begin_1 F
> GLIBC_2.2 _obstack_free F
> GLIBC_2.2 _obstack_memory_used F
> GLIBC_2.2 _obstack_newchunk F
> +GLIBC_2.2 _pthread_cleanup_pop F
> +GLIBC_2.2 _pthread_cleanup_pop_restore F
> +GLIBC_2.2 _pthread_cleanup_push F
> +GLIBC_2.2 _pthread_cleanup_push_defer F
> GLIBC_2.2 _res D 0x200
> GLIBC_2.2 _res_hconf D 0x30
> GLIBC_2.2 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> index 8ce3580478..8d7aa63a02 100644
> --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist
> @@ -45,10 +45,6 @@ GLIBC_2.2 __res_state F
> GLIBC_2.2 __send F
> GLIBC_2.2 __sigaction F
> GLIBC_2.2 __write F
> -GLIBC_2.2 _pthread_cleanup_pop F
> -GLIBC_2.2 _pthread_cleanup_pop_restore F
> -GLIBC_2.2 _pthread_cleanup_push F
> -GLIBC_2.2 _pthread_cleanup_push_defer F
> GLIBC_2.2 accept F
> GLIBC_2.2 close F
> GLIBC_2.2 connect F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> index e1ae67a464..6e45427e90 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist
> @@ -505,6 +505,10 @@ GLIBC_2.2 _obstack_begin_1 F
> GLIBC_2.2 _obstack_free F
> GLIBC_2.2 _obstack_memory_used F
> GLIBC_2.2 _obstack_newchunk F
> +GLIBC_2.2 _pthread_cleanup_pop F
> +GLIBC_2.2 _pthread_cleanup_pop_restore F
> +GLIBC_2.2 _pthread_cleanup_push F
> +GLIBC_2.2 _pthread_cleanup_push_defer F
> GLIBC_2.2 _res D 0x200
> GLIBC_2.2 _res_hconf D 0x30
> GLIBC_2.2 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> index 8ce3580478..8d7aa63a02 100644
> --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist
> @@ -45,10 +45,6 @@ GLIBC_2.2 __res_state F
> GLIBC_2.2 __send F
> GLIBC_2.2 __sigaction F
> GLIBC_2.2 __write F
> -GLIBC_2.2 _pthread_cleanup_pop F
> -GLIBC_2.2 _pthread_cleanup_pop_restore F
> -GLIBC_2.2 _pthread_cleanup_push F
> -GLIBC_2.2 _pthread_cleanup_push_defer F
> GLIBC_2.2 accept F
> GLIBC_2.2 close F
> GLIBC_2.2 connect F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> index 9ca458b1c5..080a036590 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist
> @@ -267,6 +267,10 @@ GLIBC_2.0 _obstack_begin_1 F
> GLIBC_2.0 _obstack_free F
> GLIBC_2.0 _obstack_memory_used F
> GLIBC_2.0 _obstack_newchunk F
> +GLIBC_2.0 _pthread_cleanup_pop F
> +GLIBC_2.0 _pthread_cleanup_pop_restore F
> +GLIBC_2.0 _pthread_cleanup_push F
> +GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 _res D 0x200
> GLIBC_2.0 _rpc_dtablesize F
> GLIBC_2.0 _seterr_reply F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> index 1eff0da935..5f8c13bb69 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist
> @@ -24,10 +24,6 @@ GLIBC_2.0 __read F
> GLIBC_2.0 __send F
> GLIBC_2.0 __sigaction F
> GLIBC_2.0 __write F
> -GLIBC_2.0 _pthread_cleanup_pop F
> -GLIBC_2.0 _pthread_cleanup_pop_restore F
> -GLIBC_2.0 _pthread_cleanup_push F
> -GLIBC_2.0 _pthread_cleanup_push_defer F
> GLIBC_2.0 accept F
> GLIBC_2.0 close F
> GLIBC_2.0 connect F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> index 6af3cc116b..c8fb7da49f 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist
> @@ -547,6 +547,10 @@ GLIBC_2.2 _obstack_begin_1 F
> GLIBC_2.2 _obstack_free F
> GLIBC_2.2 _obstack_memory_used F
> GLIBC_2.2 _obstack_newchunk F
> +GLIBC_2.2 _pthread_cleanup_pop F
> +GLIBC_2.2 _pthread_cleanup_pop_restore F
> +GLIBC_2.2 _pthread_cleanup_push F
> +GLIBC_2.2 _pthread_cleanup_push_defer F
> GLIBC_2.2 _res D 0x238
> GLIBC_2.2 _res_hconf D 0x48
> GLIBC_2.2 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> index d7000f415e..ab6a5cfb78 100644
> --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist
> @@ -45,10 +45,6 @@ GLIBC_2.2 __res_state F
> GLIBC_2.2 __send F
> GLIBC_2.2 __sigaction F
> GLIBC_2.2 __write F
> -GLIBC_2.2 _pthread_cleanup_pop F
> -GLIBC_2.2 _pthread_cleanup_pop_restore F
> -GLIBC_2.2 _pthread_cleanup_push F
> -GLIBC_2.2 _pthread_cleanup_push_defer F
> GLIBC_2.2 accept F
> GLIBC_2.2 close F
> GLIBC_2.2 connect F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> index e267cc2a23..cde6fdb49d 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist
> @@ -508,6 +508,10 @@ GLIBC_2.2.5 _obstack_begin_1 F
> GLIBC_2.2.5 _obstack_free F
> GLIBC_2.2.5 _obstack_memory_used F
> GLIBC_2.2.5 _obstack_newchunk 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
> +GLIBC_2.2.5 _pthread_cleanup_push_defer F
> GLIBC_2.2.5 _res D 0x238
> GLIBC_2.2.5 _res_hconf D 0x48
> GLIBC_2.2.5 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> index f0271930eb..301c0817b8 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist
> @@ -45,10 +45,6 @@ GLIBC_2.2.5 __res_state F
> GLIBC_2.2.5 __send F
> GLIBC_2.2.5 __sigaction F
> GLIBC_2.2.5 __write 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
> -GLIBC_2.2.5 _pthread_cleanup_push_defer F
> GLIBC_2.2.5 accept F
> GLIBC_2.2.5 close F
> GLIBC_2.2.5 connect F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> index 50e860fe40..e772da1ec4 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist
> @@ -542,6 +542,10 @@ GLIBC_2.16 _obstack_begin_1 F
> GLIBC_2.16 _obstack_free F
> GLIBC_2.16 _obstack_memory_used F
> GLIBC_2.16 _obstack_newchunk F
> +GLIBC_2.16 _pthread_cleanup_pop F
> +GLIBC_2.16 _pthread_cleanup_pop_restore F
> +GLIBC_2.16 _pthread_cleanup_push F
> +GLIBC_2.16 _pthread_cleanup_push_defer F
> GLIBC_2.16 _res D 0x200
> GLIBC_2.16 _res_hconf D 0x30
> GLIBC_2.16 _rpc_dtablesize F
> diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> index aa9e127bad..31322dfabb 100644
> --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist
> @@ -43,10 +43,6 @@ GLIBC_2.16 __res_state F
> GLIBC_2.16 __send F
> GLIBC_2.16 __sigaction F
> GLIBC_2.16 __write F
> -GLIBC_2.16 _pthread_cleanup_pop F
> -GLIBC_2.16 _pthread_cleanup_pop_restore F
> -GLIBC_2.16 _pthread_cleanup_push F
> -GLIBC_2.16 _pthread_cleanup_push_defer F
> GLIBC_2.16 accept F
> GLIBC_2.16 close F
> GLIBC_2.16 connect F
>
Ok.
next prev parent reply other threads:[~2021-03-16 14:09 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-12 17:48 [PATCH 00/18] Repost of pending libpthread removal patches Florian Weimer
2021-03-12 17:48 ` [PATCH 01/18] nptl: Move pthread_mutex_consistent into libc Florian Weimer
2021-03-15 19:30 ` Adhemerval Zanella
2021-03-16 5:42 ` Florian Weimer
2021-03-16 13:49 ` Adhemerval Zanella
2021-03-16 13:53 ` Florian Weimer
2021-03-16 14:07 ` Adhemerval Zanella
2021-03-12 17:49 ` [PATCH 02/18] nptl: Move __pthread_cleanup_routine " Florian Weimer
2021-03-15 19:53 ` Adhemerval Zanella
2021-03-16 7:09 ` Florian Weimer
2021-03-12 17:49 ` [PATCH 03/18] nptl: Move legacy unwinding implementation " Florian Weimer
2021-03-15 20:02 ` Adhemerval Zanella
2021-03-16 7:03 ` Florian Weimer
2021-03-12 17:49 ` [PATCH 04/18] nptl: Move legacy cancelation handling into libc as compat symbols Florian Weimer
2021-03-16 14:09 ` Adhemerval Zanella [this message]
2021-03-16 14:45 ` Florian Weimer
2021-03-16 18:14 ` Adhemerval Zanella
2021-03-12 17:49 ` [PATCH 05/18] nptl: Remove longjmp, siglongjmp from libpthread Florian Weimer
2021-03-16 14:13 ` Adhemerval Zanella
2021-03-16 14:39 ` Florian Weimer
2021-03-12 17:49 ` [PATCH 06/18] Legacy unwinder: Remove definition of _Unwind_GetCFA Florian Weimer
2021-03-16 14:14 ` Adhemerval Zanella
2021-03-12 17:49 ` [PATCH 07/18] nptl: Move __pthread_cleanup_upto into libc Florian Weimer
2021-03-16 14:35 ` Adhemerval Zanella
2021-03-12 17:49 ` [PATCH 08/18] nptl: Move pthread_once and __pthread_once " Florian Weimer
2021-03-15 19:24 ` Florian Weimer
2021-03-12 17:49 ` [PATCH 09/18] nptl: Move __pthread_unwind_next " Florian Weimer
2021-03-12 17:49 ` [PATCH 10/18] csu: Move calling main out of __libc_start_main_impl Florian Weimer
2021-03-12 17:49 ` [PATCH 11/18] nptl: Move internal __nptl_nthreads variable into libc Florian Weimer
2021-03-12 17:49 ` [PATCH 12/18] nptl_db: Introduce DB_MAIN_ARRAY_VARIABLE Florian Weimer
2021-03-12 17:50 ` [PATCH 13/18] nptl: Move __pthread_keys global variable into libc Florian Weimer
2021-03-12 17:50 ` [PATCH 14/18] nptl: Move __nptl_deallocate_tsd " Florian Weimer
2021-03-12 17:50 ` [PATCH 15/18] nptl: Move pthread_exit " Florian Weimer
2021-03-12 17:50 ` [PATCH 16/18] nptl: Move pthread_setcancelstate " Florian Weimer
2021-03-12 17:50 ` [PATCH 17/18] nptl: Move pthread_setcanceltype " Florian Weimer
2021-03-12 17:50 ` [PATCH 18/18] nptl: Invoke the set_robust_list system call directly in fork Florian Weimer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=544c2f1f-0186-a000-066f-47f403e5c802@linaro.org \
--to=adhemerval.zanella@linaro.org \
--cc=fweimer@redhat.com \
--cc=libc-alpha@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).