From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-qv1-xf32.google.com (mail-qv1-xf32.google.com [IPv6:2607:f8b0:4864:20::f32]) by sourceware.org (Postfix) with ESMTPS id 24FBC384C005 for ; Wed, 17 Mar 2021 19:42:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 24FBC384C005 Received: by mail-qv1-xf32.google.com with SMTP id t5so1988592qvs.5 for ; Wed, 17 Mar 2021 12:42:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:references:from:subject:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=PFWk0fvJTP0vhuMlKD+7d8Q+yO8qyR3i/5ZeksRSqcc=; b=F8JvQ0Ia8EQO5aHXRKUJGnKeZp05yA7752PVyliBoBt4KfcbwzC9eTTwm4o2RT4NIT 7Jw0qDKePnvSJs5Gu/TDMO1Exsn+3XvOxvTaRfGpDuEnO/Sj5SAWfyLjLm9MQY3XsUY9 0hkgxTrx24E94sQv1PcD5OakfT4CgbaxGb001++JZ4QZHMKkWkrwJh+Mup7H0h6KFCms dD54pkjCar8MGQMY71UaFZJFm/tjYVJr06+YeuxaR2tM1eUegToAnvkNxchqEN2TYNGL kpoTmVgquYJFJmvmFco3vA0igvyq5OlfhDcHDR+AVA6vY2jjqhZfp/uqD41D4AaGwdtf onlw== X-Gm-Message-State: AOAM532Ftg9zUrLntNdxiMp0+49FpVv0xIKIfcmcxIeggdU9RHOWQHNt ioZ1EuR3al8L2c25hUkdhX1hsikuKy/1FywV X-Google-Smtp-Source: ABdhPJxBduR4DkpRZhQnZs/37IBjyKpj2h/sO0qmS8dNLswX24vnzBVeFlOj0p723rE573pJuoyQ3A== X-Received: by 2002:a0c:f946:: with SMTP id i6mr817234qvo.40.1616010138733; Wed, 17 Mar 2021 12:42:18 -0700 (PDT) Received: from [192.168.1.4] ([177.194.48.209]) by smtp.googlemail.com with ESMTPSA id d24sm18362218qkl.49.2021.03.17.12.42.17 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 17 Mar 2021 12:42:18 -0700 (PDT) To: libc-alpha@sourceware.org References: From: Adhemerval Zanella Subject: Re: [PATCH v3 09/37] nptl: Move __pthread_unwind_next into libc Message-ID: <37181fcb-03db-dec0-11bd-01009324d2c5@linaro.org> Date: Wed, 17 Mar 2021 16:42:15 -0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-13.4 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Mar 2021 19:42:26 -0000 On 16/03/2021 14:29, Florian Weimer via Libc-alpha wrote: > It's necessary to stub out __libc_disable_asynccancel and > __libc_enable_asynccancel via rtld-stubbed-symbols because the new > direct references to the unwinder result in symbol conflicts when the > rtld exception handling from libc is linked in during the construction > of librtld.map. >From where exactly these come from? The *assynccancel should not be generated for rtld-* objects. > > unwind-forcedunwind.c is merged into unwind-resume.c. libc now needs > the functions that were previously only used in libpthread. > > The GLIBC_PRIVATE exports of __libc_longjmp and __libc_siglongjmp are > no longer needed, so switch them to hidden symbols. > > The symbol __pthread_unwind_next has been moved using > scripts/move-symbol-to-libc.py. LGTM, thanks. Reviewed-by: Adhemerva Zanella > --- > elf/Makefile | 2 + > include/setjmp.h | 4 +- > nptl/Makefile | 4 +- > nptl/Versions | 4 +- > nptl/forward.c | 6 -- > nptl/nptl-init.c | 1 - > nptl/pthreadP.h | 8 ++- > nptl/pthread_cancel.c | 10 ++- > nptl/pthread_exit.c | 11 +++- > nptl/unwind.c | 14 ++-- > setjmp/Versions | 4 -- > sysdeps/arm/Makefile | 5 -- > sysdeps/arm/nptl/unwind-forcedunwind.c | 25 -------- > sysdeps/arm/pt-arm-unwind-resume.S | 20 ------ > sysdeps/generic/unwind-resume.c | 14 ++++ > .../unwind-resume.c} | 5 +- > sysdeps/nptl/pthread-functions.h | 2 - > sysdeps/nptl/unwind-forcedunwind.c | 64 ------------------- > sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 + > .../sysv/linux/aarch64/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 + > .../unix/sysv/linux/alpha/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/arc/libc.abilist | 2 + > .../unix/sysv/linux/arc/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 + > .../unix/sysv/linux/arm/be/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 + > .../unix/sysv/linux/arm/le/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/csky/libc.abilist | 2 + > .../unix/sysv/linux/csky/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 + > .../unix/sysv/linux/hppa/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/i386/libc.abilist | 2 + > .../unix/sysv/linux/i386/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/ia64/Makefile | 2 +- > sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 + > .../unix/sysv/linux/ia64/libpthread.abilist | 1 - > .../sysv/linux/m68k/coldfire/libc.abilist | 2 + > .../linux/m68k/coldfire/libpthread.abilist | 1 - > .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 + > .../sysv/linux/m68k/m680x0/libpthread.abilist | 1 - > .../sysv/linux/microblaze/be/libc.abilist | 2 + > .../linux/microblaze/be/libpthread.abilist | 1 - > .../sysv/linux/microblaze/le/libc.abilist | 2 + > .../linux/microblaze/le/libpthread.abilist | 1 - > .../sysv/linux/mips/mips32/fpu/libc.abilist | 2 + > .../sysv/linux/mips/mips32/libpthread.abilist | 1 - > .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 + > .../sysv/linux/mips/mips64/libpthread.abilist | 1 - > .../sysv/linux/mips/mips64/n32/libc.abilist | 2 + > .../sysv/linux/mips/mips64/n64/libc.abilist | 2 + > sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 + > .../unix/sysv/linux/nios2/libpthread.abilist | 1 - > .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 + > .../powerpc/powerpc32/libpthread.abilist | 1 - > .../powerpc/powerpc32/nofpu/libc.abilist | 2 + > .../linux/powerpc/powerpc64/be/libc.abilist | 2 + > .../powerpc/powerpc64/be/libpthread.abilist | 1 - > .../linux/powerpc/powerpc64/le/libc.abilist | 2 + > .../powerpc/powerpc64/le/libpthread.abilist | 1 - > .../unix/sysv/linux/riscv/rv32/libc.abilist | 2 + > .../sysv/linux/riscv/rv32/libpthread.abilist | 1 - > .../unix/sysv/linux/riscv/rv64/libc.abilist | 2 + > .../sysv/linux/riscv/rv64/libpthread.abilist | 1 - > .../unix/sysv/linux/s390/s390-32/libc.abilist | 2 + > .../linux/s390/s390-32/libpthread.abilist | 1 - > .../unix/sysv/linux/s390/s390-64/libc.abilist | 2 + > .../linux/s390/s390-64/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 + > .../unix/sysv/linux/sh/be/libpthread.abilist | 1 - > sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 + > .../unix/sysv/linux/sh/le/libpthread.abilist | 1 - > .../sysv/linux/sparc/sparc32/libc.abilist | 2 + > .../linux/sparc/sparc32/libpthread.abilist | 1 - > .../sysv/linux/sparc/sparc64/libc.abilist | 2 + > .../linux/sparc/sparc64/libpthread.abilist | 1 - > .../unix/sysv/linux/x86_64/64/libc.abilist | 2 + > .../sysv/linux/x86_64/64/libpthread.abilist | 1 - > .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 + > .../sysv/linux/x86_64/x32/libpthread.abilist | 1 - > 80 files changed, 122 insertions(+), 176 deletions(-) > delete mode 100644 sysdeps/arm/nptl/unwind-forcedunwind.c > delete mode 100644 sysdeps/arm/pt-arm-unwind-resume.S > rename sysdeps/{unix/sysv/linux/ia64/unwind-forcedunwind.c => ia64/unwind-resume.c} (87%) > delete mode 100644 sysdeps/nptl/unwind-forcedunwind.c > > diff --git a/elf/Makefile b/elf/Makefile > index 3b8e13e066..936d4cf276 100644 > --- a/elf/Makefile > +++ b/elf/Makefile > @@ -519,6 +519,8 @@ $(objpfx)dl-allobjs.os: $(all-rtld-routines:%=$(objpfx)%.os) > # discovery mechanism is not compatible with the libc implementation > # when compiled for libc. > rtld-stubbed-symbols = \ > + __libc_disable_asynccancel \ > + __libc_enable_asynccancel \ > calloc \ > free \ > malloc \ > diff --git a/include/setjmp.h b/include/setjmp.h > index 0a8e4d2eaf..a3936e611d 100644 > --- a/include/setjmp.h > +++ b/include/setjmp.h > @@ -20,9 +20,9 @@ extern int __sigjmp_save (jmp_buf __env, int __savemask); > extern void _longjmp_unwind (jmp_buf env, int val); > > extern void __libc_siglongjmp (sigjmp_buf env, int val) > - __attribute__ ((noreturn)); > + __attribute__ ((noreturn)) attribute_hidden; > extern void __libc_longjmp (sigjmp_buf env, int val) > - __attribute__ ((noreturn)); > + __attribute__ ((noreturn)) attribute_hidden; > > libc_hidden_proto (_setjmp) > libc_hidden_proto (__sigsetjmp) Ok. > diff --git a/nptl/Makefile b/nptl/Makefile > index 910d8c7ebf..c1ade91a0b 100644 > --- a/nptl/Makefile > +++ b/nptl/Makefile > @@ -80,6 +80,7 @@ routines = \ > pthread_self \ > pthread_setschedparam \ > pthread_sigmask \ > + unwind \ > > shared-only-routines = forward > static-only-routines = pthread_atfork Ok. > @@ -229,15 +230,12 @@ libpthread-routines = \ > sem_wait \ > sigaction \ > tpp \ > - unwind \ > - unwind-forcedunwind \ > vars \ > version \ > > libpthread-shared-only-routines = \ > pt-allocrtsig \ > pt-interp \ > - unwind-forcedunwind \ > version \ > > # Since cancellation handling is in large parts handled using exceptions Ok. > diff --git a/nptl/Versions b/nptl/Versions > index 49133585e4..8f1cd3f7c4 100644 > --- a/nptl/Versions > +++ b/nptl/Versions > @@ -56,6 +56,7 @@ libc { > } > GLIBC_2.3.3 { > __pthread_cleanup_routine; > + __pthread_unwind_next; > pthread_attr_setaffinity_np; > pthread_getaffinity_np; > } > @@ -118,6 +119,7 @@ libc { > __pthread_cond_init; # Used by the C11 threads. > __pthread_force_elision; > __pthread_getattr_default_np; > + __pthread_unwind; > } > } > > @@ -323,7 +325,6 @@ libpthread { > __pthread_register_cancel_defer; > __pthread_unregister_cancel; > __pthread_unregister_cancel_restore; > - __pthread_unwind_next; > pthread_attr_getaffinity_np; > pthread_barrierattr_getpshared; > pthread_condattr_getclock; > @@ -412,6 +413,5 @@ libpthread { > __pthread_clock_settime; > __pthread_get_minstack; > __pthread_initialize_minimal; > - __pthread_unwind; > } > } Ok. > diff --git a/nptl/forward.c b/nptl/forward.c > index 0b607436d4..7a7f54f9d9 100644 > --- a/nptl/forward.c > +++ b/nptl/forward.c > @@ -123,9 +123,3 @@ FORWARD (__pthread_setcancelstate, (int state, int *oldstate), > strong_alias (__pthread_setcancelstate, pthread_setcancelstate) > > FORWARD (pthread_setcanceltype, (int type, int *oldtype), (type, oldtype), 0) > - > -FORWARD_NORETURN (__pthread_unwind, > - void attribute_hidden __attribute ((noreturn)) > - __cleanup_fct_attribute attribute_compat_text_section, > - (__pthread_unwind_buf_t *buf), (buf), > - __safe_fatal ()) Ok. > diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c > index c2e02b1bf2..d30e8a9bdf 100644 > --- a/nptl/nptl-init.c > +++ b/nptl/nptl-init.c > @@ -95,7 +95,6 @@ static const struct pthread_functions pthread_functions = > .ptr___pthread_getspecific = __pthread_getspecific, > .ptr___pthread_setspecific = __pthread_setspecific, > .ptr_nthreads = &__nptl_nthreads, > - .ptr___pthread_unwind = &__pthread_unwind, > .ptr__nptl_deallocate_tsd = __nptl_deallocate_tsd, > .ptr__nptl_setxid = __nptl_setxid, > .ptr_set_robust = __nptl_set_robust Ok. > diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h > index 9f2990217c..f78bf03a52 100644 > --- a/nptl/pthreadP.h > +++ b/nptl/pthreadP.h > @@ -271,19 +271,21 @@ extern void __pthread_unwind (__pthread_unwind_buf_t *__buf) > weak_function > #endif > ; > +libc_hidden_proto (__pthread_unwind) > extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf) > __cleanup_fct_attribute __attribute ((__noreturn__)) > #ifndef SHARED > weak_function > #endif > ; > +/* NB: No hidden proto for __pthread_unwind_next: inside glibc, the > + legacy unwinding mechanism is used. */ > + > +#if IS_IN (libpthread) > extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf) > __cleanup_fct_attribute; > extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf) > __cleanup_fct_attribute; > -#if IS_IN (libpthread) > -hidden_proto (__pthread_unwind) > -hidden_proto (__pthread_unwind_next) > hidden_proto (__pthread_register_cancel) > hidden_proto (__pthread_unregister_cancel) > # ifdef SHARED Ok. > diff --git a/nptl/pthread_cancel.c b/nptl/pthread_cancel.c > index a011d72fa1..060484cdc8 100644 > --- a/nptl/pthread_cancel.c > +++ b/nptl/pthread_cancel.c > @@ -23,6 +23,9 @@ > #include > #include > #include > +#include > +#include > +#include > > int > __pthread_cancel (pthread_t th) > @@ -36,7 +39,12 @@ __pthread_cancel (pthread_t th) > > #ifdef SHARED > /* Trigger an error if libgcc_s cannot be loaded. */ > - __pthread_unwind_link_get (); > + { > + struct unwind_link *unwind_link = __libc_unwind_link_get (); > + if (unwind_link == NULL) > + __libc_fatal (LIBGCC_S_SO > + " must be installed for pthread_cancel to work\n"); > + } Maybe add a inline function for this since it is used on multiple places? > #endif > int result = 0; > int oldval; Ok. > diff --git a/nptl/pthread_exit.c b/nptl/pthread_exit.c > index 4afc406268..aed8c12e17 100644 > --- a/nptl/pthread_exit.c > +++ b/nptl/pthread_exit.c > @@ -18,11 +18,20 @@ > > #include > #include "pthreadP.h" > - > +#include > +#include > +#include > > void > __pthread_exit (void *value) > { > + { > + struct unwind_link *unwind_link = __libc_unwind_link_get (); > + if (unwind_link == NULL) > + __libc_fatal (LIBGCC_S_SO > + " must be installed for pthread_exit to work\n"); > + } > + > THREAD_SETMEM (THREAD_SELF, result, value); > > __do_cancel (); Ok. > diff --git a/nptl/unwind.c b/nptl/unwind.c > index 9c7ed7d7ca..25a2ca32e6 100644 > --- a/nptl/unwind.c > +++ b/nptl/unwind.c > @@ -25,6 +25,7 @@ > #include "pthreadP.h" > #include > #include > +#include > > #ifdef _STACK_GROWS_DOWN > # define FRAME_LEFT(frame, other, adj) \ > @@ -134,15 +135,20 @@ __pthread_unwind (__pthread_unwind_buf_t *buf) > /* We better do not get here. */ > abort (); > } > -hidden_def (__pthread_unwind) > - > +libc_hidden_def (__pthread_unwind) > > void > __cleanup_fct_attribute __attribute ((noreturn)) > -__pthread_unwind_next (__pthread_unwind_buf_t *buf) > +___pthread_unwind_next (__pthread_unwind_buf_t *buf) > { > struct pthread_unwind_buf *ibuf = (struct pthread_unwind_buf *) buf; > > __pthread_unwind ((__pthread_unwind_buf_t *) ibuf->priv.data.prev); > } > -hidden_def (__pthread_unwind_next) > +versioned_symbol (libc, ___pthread_unwind_next, __pthread_unwind_next, > + GLIBC_2_34); > +#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_34) > +strong_alias (___pthread_unwind_next, __pthread_unwind_next_alias) > +compat_symbol (libc, __pthread_unwind_next_alias, __pthread_unwind_next, > + GLIBC_2_3_3); > +#endif Ok. > diff --git a/setjmp/Versions b/setjmp/Versions > index 2baa49ae8a..3c7cf87780 100644 > --- a/setjmp/Versions > +++ b/setjmp/Versions > @@ -9,8 +9,4 @@ libc { > # s* > setjmp; > } > - GLIBC_PRIVATE { > - # helper functions > - __libc_longjmp; __libc_siglongjmp; > - } > } Ok. > diff --git a/sysdeps/arm/Makefile b/sysdeps/arm/Makefile > index ad2042b93a..fb4164f0d9 100644 > --- a/sysdeps/arm/Makefile > +++ b/sysdeps/arm/Makefile > @@ -63,8 +63,3 @@ ifeq ($(subdir),rt) > librt-sysdep_routines += rt-aeabi_unwind_cpp_pr1 rt-arm-unwind-resume > librt-shared-only-routines += rt-aeabi_unwind_cpp_pr1 rt-arm-unwind-resume > endif > - > -ifeq ($(subdir),nptl) > -libpthread-sysdep_routines += pt-arm-unwind-resume > -libpthread-shared-only-routines += pt-arm-unwind-resume > -endif Ok. > diff --git a/sysdeps/arm/nptl/unwind-forcedunwind.c b/sysdeps/arm/nptl/unwind-forcedunwind.c > deleted file mode 100644 > index 61db34c0b5..0000000000 > --- a/sysdeps/arm/nptl/unwind-forcedunwind.c > +++ /dev/null > @@ -1,25 +0,0 @@ > -/* Unwinder function forwarders for libpthread. Arm version. > - Copyright (C) 2021 Free Software Foundation, Inc. > - This file is part of the GNU C Library. > - > - The GNU C Library is free software; you can redistribute it and/or > - modify it under the terms of the GNU Lesser General Public License as > - published by the Free Software Foundation; either version 2.1 of the > - License, or (at your option) any later version. > - > - The GNU C Library is distributed in the hope that it will be useful, > - but WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - Lesser General Public License for more details. > - > - You should have received a copy of the GNU Lesser General Public > - License along with the GNU C Library; see the file COPYING.LIB. If > - not, see . */ > - > -#include > - > -void * > -__unwind_link_get_resume (void) > -{ > - return UNWIND_LINK_PTR (__pthread_unwind_link_get (), _Unwind_Resume); > -} Ok. > diff --git a/sysdeps/arm/pt-arm-unwind-resume.S b/sysdeps/arm/pt-arm-unwind-resume.S > deleted file mode 100644 > index c056eb38d0..0000000000 > --- a/sysdeps/arm/pt-arm-unwind-resume.S > +++ /dev/null > @@ -1,20 +0,0 @@ > -/* _Unwind_Resume wrapper for ARM EABI. > - Copyright (C) 2015-2021 Free Software Foundation, Inc. > - This file is part of the GNU C Library. > - > - The GNU C Library is free software; you can redistribute it and/or > - modify it under the terms of the GNU Lesser General Public License as > - published by the Free Software Foundation; either version 2.1 of the > - License, or (at your option) any later version. > - > - The GNU C Library is distributed in the hope that it will be useful, > - but WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - Lesser General Public License for more details. > - > - You should have received a copy of the GNU Lesser General Public > - License along with the GNU C Library. If not, see > - . */ > - > -/* The implementation in libpthread is identical to the one in libc. */ > -#include Ok. > diff --git a/sysdeps/generic/unwind-resume.c b/sysdeps/generic/unwind-resume.c > index 9e63762bf1..66dbb67e81 100644 > --- a/sysdeps/generic/unwind-resume.c > +++ b/sysdeps/generic/unwind-resume.c > @@ -44,3 +44,17 @@ __gcc_personality_v0 PERSONALITY_PROTO > { > return UNWIND_LINK_PTR (link (), personality) PERSONALITY_ARGS; > } > + > +_Unwind_Reason_Code > +_Unwind_ForcedUnwind (struct _Unwind_Exception *exc, _Unwind_Stop_Fn stop, > + void *stop_argument) > +{ > + return UNWIND_LINK_PTR (link (), _Unwind_ForcedUnwind) > + (exc, stop, stop_argument); > +} > + > +_Unwind_Word > +_Unwind_GetCFA (struct _Unwind_Context *context) > +{ > + return UNWIND_LINK_PTR (link (), _Unwind_GetCFA) (context); > +} Ok. > diff --git a/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c b/sysdeps/ia64/unwind-resume.c > similarity index 87% > rename from sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c > rename to sysdeps/ia64/unwind-resume.c > index eaed6cf2ef..f8cf447162 100644 > --- a/sysdeps/unix/sysv/linux/ia64/unwind-forcedunwind.c > +++ b/sysdeps/ia64/unwind-resume.c > @@ -16,11 +16,10 @@ > License along with the GNU C Library; if not, see > . */ > > -#include > +#include > > _Unwind_Word > _Unwind_GetBSP (struct _Unwind_Context *context) > { > - return UNWIND_LINK_PTR (__pthread_unwind_link_get (), _Unwind_GetBSP) > - (context); > + return UNWIND_LINK_PTR (link (), _Unwind_GetBSP) (context); > } Ok. > diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h > index 6ef7602cb9..280655fe40 100644 > --- a/sysdeps/nptl/pthread-functions.h > +++ b/sysdeps/nptl/pthread-functions.h > @@ -57,8 +57,6 @@ struct pthread_functions > int (*ptr___pthread_setspecific) (pthread_key_t, const void *); > #define HAVE_PTR_NTHREADS > unsigned int *ptr_nthreads; > - void (*ptr___pthread_unwind) (__pthread_unwind_buf_t *) > - __attribute ((noreturn)) __cleanup_fct_attribute; > void (*ptr__nptl_deallocate_tsd) (void); > int (*ptr__nptl_setxid) (struct xid_command *); > void (*ptr_set_robust) (struct pthread *); Ok. > diff --git a/sysdeps/nptl/unwind-forcedunwind.c b/sysdeps/nptl/unwind-forcedunwind.c > deleted file mode 100644 > index c0234670cf..0000000000 > --- a/sysdeps/nptl/unwind-forcedunwind.c > +++ /dev/null > @@ -1,64 +0,0 @@ > -/* Copyright (C) 2003-2021 Free Software Foundation, Inc. > - This file is part of the GNU C Library. > - Contributed by Jakub Jelinek . > - > - The GNU C Library is free software; you can redistribute it and/or > - modify it under the terms of the GNU Lesser General Public License as > - published by the Free Software Foundation; either version 2.1 of the > - License, or (at your option) any later version. > - > - The GNU C Library is distributed in the hope that it will be useful, > - but WITHOUT ANY WARRANTY; without even the implied warranty of > - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > - Lesser General Public License for more details. > - > - You should have received a copy of the GNU Lesser General Public > - License along with the GNU C Library; see the file COPYING.LIB. If > - not, see . */ > - > -#include > -#include > -#include > -#include > -#include > -#include > - > -struct unwind_link * > -__pthread_unwind_link_get (void) > -{ > - struct unwind_link *unwind_link = __libc_unwind_link_get (); > - if (unwind_link == NULL) > - __libc_fatal (LIBGCC_S_SO > - " must be installed for pthread_cancel to work\n"); > - return unwind_link; > -} > - > -#if !HAVE_ARCH_UNWIND_RESUME > -void > -_Unwind_Resume (struct _Unwind_Exception *exc) > -{ > - UNWIND_LINK_PTR (__pthread_unwind_link_get (), _Unwind_Resume) (exc); > -} > -#endif > - > -_Unwind_Reason_Code > -__gcc_personality_v0 PERSONALITY_PROTO > -{ > - return UNWIND_LINK_PTR (__pthread_unwind_link_get (), personality) > - PERSONALITY_ARGS; > -} > - > -_Unwind_Reason_Code > -_Unwind_ForcedUnwind (struct _Unwind_Exception *exc, _Unwind_Stop_Fn stop, > - void *stop_argument) > -{ > - return UNWIND_LINK_PTR (__pthread_unwind_link_get (), _Unwind_ForcedUnwind) > - (exc, stop, stop_argument); > -} > - > -_Unwind_Word > -_Unwind_GetCFA (struct _Unwind_Context *context) > -{ > - return UNWIND_LINK_PTR (__pthread_unwind_link_get (), _Unwind_GetCFA) > - (context); > -} Ok. > diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > index 8a11066f9e..a4eec97fd0 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > @@ -340,6 +340,7 @@ GLIBC_2.17 __progname D 0x8 > GLIBC_2.17 __progname_full D 0x8 > GLIBC_2.17 __pthread_cleanup_routine F > GLIBC_2.17 __pthread_once F > +GLIBC_2.17 __pthread_unwind_next F > GLIBC_2.17 __ptsname_r_chk F > GLIBC_2.17 __pwrite64 F > GLIBC_2.17 __rawmemchr F > @@ -2183,5 +2184,6 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist > index a57e807cd0..03f9309528 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist > @@ -35,7 +35,6 @@ GLIBC_2.17 __pthread_rwlock_wrlock F > GLIBC_2.17 __pthread_setspecific F > GLIBC_2.17 __pthread_unregister_cancel F > GLIBC_2.17 __pthread_unregister_cancel_restore F > -GLIBC_2.17 __pthread_unwind_next F > GLIBC_2.17 __pwrite64 F > GLIBC_2.17 __read F > GLIBC_2.17 __res_state F > diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist > index b62c855163..cfd43859bc 100644 > --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist > @@ -2154,6 +2154,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x208 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2264,6 +2265,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 _IO_fprintf F > diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist > index 059ae76802..62c3734ee1 100644 > --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist > @@ -197,7 +197,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_attr_setstack F > GLIBC_2.3.3 pthread_attr_setstacksize F > diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist > index cd549c654b..f4a38131a0 100644 > --- a/sysdeps/unix/sysv/linux/arc/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist > @@ -329,6 +329,7 @@ GLIBC_2.32 __progname D 0x4 > GLIBC_2.32 __progname_full D 0x4 > GLIBC_2.32 __pthread_cleanup_routine F > GLIBC_2.32 __pthread_once F > +GLIBC_2.32 __pthread_unwind_next F > GLIBC_2.32 __ptsname_r_chk F > GLIBC_2.32 __pwrite64 F > GLIBC_2.32 __rawmemchr F > @@ -1943,5 +1944,6 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist > index 55970eb845..43c2308c10 100644 > --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist > @@ -34,7 +34,6 @@ GLIBC_2.32 __pthread_rwlock_wrlock F > GLIBC_2.32 __pthread_setspecific F > GLIBC_2.32 __pthread_unregister_cancel F > GLIBC_2.32 __pthread_unregister_cancel_restore F > -GLIBC_2.32 __pthread_unwind_next F > GLIBC_2.32 __pwrite64 F > GLIBC_2.32 __read F > GLIBC_2.32 __res_state F > diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > index 03e5389852..9e6b989de2 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > @@ -159,6 +159,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 _Exit F > @@ -490,6 +491,7 @@ GLIBC_2.4 __progname D 0x4 > GLIBC_2.4 __progname_full D 0x4 > GLIBC_2.4 __pthread_cleanup_routine F > GLIBC_2.4 __pthread_once F > +GLIBC_2.4 __pthread_unwind_next F > GLIBC_2.4 __ptsname_r_chk F > GLIBC_2.4 __pwrite64 F > GLIBC_2.4 __rawmemchr F > diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist > index 2e3d644ed9..9e897ccaac 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist > @@ -69,7 +69,6 @@ GLIBC_2.4 __pthread_rwlock_wrlock F > GLIBC_2.4 __pthread_setspecific F > GLIBC_2.4 __pthread_unregister_cancel F > GLIBC_2.4 __pthread_unregister_cancel_restore F > -GLIBC_2.4 __pthread_unwind_next F > GLIBC_2.4 __pwrite64 F > GLIBC_2.4 __read F > GLIBC_2.4 __res_state F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > index ac2fcf7b14..319cf8474a 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > @@ -156,6 +156,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 _Exit F > @@ -487,6 +488,7 @@ GLIBC_2.4 __progname D 0x4 > GLIBC_2.4 __progname_full D 0x4 > GLIBC_2.4 __pthread_cleanup_routine F > GLIBC_2.4 __pthread_once F > +GLIBC_2.4 __pthread_unwind_next F > GLIBC_2.4 __ptsname_r_chk F > GLIBC_2.4 __pwrite64 F > GLIBC_2.4 __rawmemchr F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist > index 2e3d644ed9..9e897ccaac 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist > @@ -69,7 +69,6 @@ GLIBC_2.4 __pthread_rwlock_wrlock F > GLIBC_2.4 __pthread_setspecific F > GLIBC_2.4 __pthread_unregister_cancel F > GLIBC_2.4 __pthread_unregister_cancel_restore F > -GLIBC_2.4 __pthread_unwind_next F > GLIBC_2.4 __pwrite64 F > GLIBC_2.4 __read F > GLIBC_2.4 __res_state F > diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist > index 336a59110e..a9094c6575 100644 > --- a/sysdeps/unix/sysv/linux/csky/libc.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist > @@ -333,6 +333,7 @@ GLIBC_2.29 __progname D 0x4 > GLIBC_2.29 __progname_full D 0x4 > GLIBC_2.29 __pthread_cleanup_routine F > GLIBC_2.29 __pthread_once F > +GLIBC_2.29 __pthread_unwind_next F > GLIBC_2.29 __ptsname_r_chk F > GLIBC_2.29 __pwrite64 F > GLIBC_2.29 __rawmemchr F > @@ -2127,5 +2128,6 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist > index 78e69d3e06..02ecea2de5 100644 > --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist > @@ -34,7 +34,6 @@ GLIBC_2.29 __pthread_rwlock_wrlock F > GLIBC_2.29 __pthread_setspecific F > GLIBC_2.29 __pthread_unregister_cancel F > GLIBC_2.29 __pthread_unregister_cancel_restore F > -GLIBC_2.29 __pthread_unwind_next F > GLIBC_2.29 __pwrite64 F > GLIBC_2.29 __read F > GLIBC_2.29 __res_state F > diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist > index 6d40c40268..63e458dc99 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist > @@ -2003,6 +2003,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x104 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2085,6 +2086,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist > index 96c70fb45e..98c5811d37 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist > @@ -189,7 +189,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_barrierattr_getpshared F > GLIBC_2.3.3 pthread_condattr_getclock F > diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist > index 2022f82d81..428ff25c25 100644 > --- a/sysdeps/unix/sysv/linux/i386/libc.abilist > +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist > @@ -2168,6 +2168,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x104 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2252,6 +2253,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist > index f2be012ea9..13df0ccca6 100644 > --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist > @@ -197,7 +197,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_barrierattr_getpshared F > GLIBC_2.3.3 pthread_condattr_getclock F > diff --git a/sysdeps/unix/sysv/linux/ia64/Makefile b/sysdeps/unix/sysv/linux/ia64/Makefile > index 97fc7df0b1..f6a08d15d0 100644 > --- a/sysdeps/unix/sysv/linux/ia64/Makefile > +++ b/sysdeps/unix/sysv/linux/ia64/Makefile > @@ -23,7 +23,7 @@ librt-shared-only-routines += rt-sysdep > endif > > ifeq ($(subdir),nptl) > -libpthread-sysdep_routines += __ia64_longjmp unwind_longjmp __sigstack_longjmp > +sysdep_routines += __ia64_longjmp unwind_longjmp __sigstack_longjmp > endif > > ifeq ($(subdir),conform) Ok. > diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist > index b9eeaabb01..3556b0eac4 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist > @@ -2035,6 +2035,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x208 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2117,6 +2118,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist > index 3698acd3e9..78c683810a 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist > @@ -189,7 +189,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_attr_setstack F > GLIBC_2.3.3 pthread_attr_setstacksize F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > index 5a099fb3d0..245ae8da1f 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > @@ -160,6 +160,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 _Exit F > @@ -476,6 +477,7 @@ GLIBC_2.4 __progname D 0x4 > GLIBC_2.4 __progname_full D 0x4 > GLIBC_2.4 __pthread_cleanup_routine F > GLIBC_2.4 __pthread_once F > +GLIBC_2.4 __pthread_unwind_next F > GLIBC_2.4 __ptsname_r_chk F > GLIBC_2.4 __pwrite64 F > GLIBC_2.4 __rawmemchr F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist > index 2e3d644ed9..9e897ccaac 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist > @@ -69,7 +69,6 @@ GLIBC_2.4 __pthread_rwlock_wrlock F > GLIBC_2.4 __pthread_setspecific F > GLIBC_2.4 __pthread_unregister_cancel F > GLIBC_2.4 __pthread_unregister_cancel_restore F > -GLIBC_2.4 __pthread_unwind_next F > GLIBC_2.4 __pwrite64 F > GLIBC_2.4 __read F > GLIBC_2.4 __res_state F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > index f81c9cc523..fba3ac0138 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > @@ -2112,6 +2112,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x104 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2197,6 +2198,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist > index f2be012ea9..13df0ccca6 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist > @@ -197,7 +197,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_barrierattr_getpshared F > GLIBC_2.3.3 pthread_condattr_getclock F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > index ce50516bc6..6a6d813b2c 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > @@ -341,6 +341,7 @@ GLIBC_2.18 __progname D 0x4 > GLIBC_2.18 __progname_full D 0x4 > GLIBC_2.18 __pthread_cleanup_routine F > GLIBC_2.18 __pthread_once F > +GLIBC_2.18 __pthread_unwind_next F > GLIBC_2.18 __ptsname_r_chk F > GLIBC_2.18 __pwrite64 F > GLIBC_2.18 __rawmemchr F > @@ -2178,5 +2179,6 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist > index 73c70d5c87..51975cabbb 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist > @@ -35,7 +35,6 @@ GLIBC_2.18 __pthread_rwlock_wrlock F > GLIBC_2.18 __pthread_setspecific F > GLIBC_2.18 __pthread_unregister_cancel F > GLIBC_2.18 __pthread_unregister_cancel_restore F > -GLIBC_2.18 __pthread_unwind_next F > GLIBC_2.18 __pwrite64 F > GLIBC_2.18 __read F > GLIBC_2.18 __res_state F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > index 37ecc7c967..7138bb3fe7 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > @@ -341,6 +341,7 @@ GLIBC_2.18 __progname D 0x4 > GLIBC_2.18 __progname_full D 0x4 > GLIBC_2.18 __pthread_cleanup_routine F > GLIBC_2.18 __pthread_once F > +GLIBC_2.18 __pthread_unwind_next F > GLIBC_2.18 __ptsname_r_chk F > GLIBC_2.18 __pwrite64 F > GLIBC_2.18 __rawmemchr F > @@ -2175,5 +2176,6 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist > index 73c70d5c87..51975cabbb 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist > @@ -35,7 +35,6 @@ GLIBC_2.18 __pthread_rwlock_wrlock F > GLIBC_2.18 __pthread_setspecific F > GLIBC_2.18 __pthread_unregister_cancel F > GLIBC_2.18 __pthread_unregister_cancel_restore F > -GLIBC_2.18 __pthread_unwind_next F > GLIBC_2.18 __pwrite64 F > GLIBC_2.18 __read F > GLIBC_2.18 __res_state F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > index 6d50fcc64f..d070746259 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > @@ -2086,6 +2086,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x200 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2168,6 +2169,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist > index faa1ad9d1c..8829753707 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist > @@ -196,7 +196,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_attr_setstack F > GLIBC_2.3.3 pthread_attr_setstacksize F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > index b4e05e270d..d40d0079fc 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > @@ -2084,6 +2084,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x200 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2166,6 +2167,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist > index faa1ad9d1c..8829753707 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist > @@ -196,7 +196,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_attr_setstack F > GLIBC_2.3.3 pthread_attr_setstacksize F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > index 71d184c2aa..d56b5a25cb 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > @@ -2092,6 +2092,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x200 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2174,6 +2175,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > index 1e792c6705..d334efb37c 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > @@ -2085,6 +2085,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x400 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2168,6 +2169,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist > index 5afc3e8022..4422b5ca92 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist > @@ -378,6 +378,7 @@ GLIBC_2.21 __progname D 0x4 > GLIBC_2.21 __progname_full D 0x4 > GLIBC_2.21 __pthread_cleanup_routine F > GLIBC_2.21 __pthread_once F > +GLIBC_2.21 __pthread_unwind_next F > GLIBC_2.21 __ptsname_r_chk F > GLIBC_2.21 __pwrite64 F > GLIBC_2.21 __rawmemchr F > @@ -2216,5 +2217,6 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist > index 5db41bc85b..f370adca8d 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist > @@ -35,7 +35,6 @@ GLIBC_2.21 __pthread_rwlock_wrlock F > GLIBC_2.21 __pthread_setspecific F > GLIBC_2.21 __pthread_unregister_cancel F > GLIBC_2.21 __pthread_unregister_cancel_restore F > -GLIBC_2.21 __pthread_unwind_next F > GLIBC_2.21 __pwrite64 F > GLIBC_2.21 __read F > GLIBC_2.21 __res_state F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > index 4bfae8faa6..8bd6dd5b48 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > @@ -2116,6 +2116,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x104 > GLIBC_2.3.3 getcontext F > GLIBC_2.3.3 gnu_dev_major F > @@ -2224,6 +2225,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 _IO_fprintf F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist > index 995c88cbce..e354162563 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist > @@ -197,7 +197,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_barrierattr_getpshared F > GLIBC_2.3.3 pthread_condattr_getclock F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > index dc102f7f29..6bf7342f4c 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > @@ -2149,6 +2149,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x104 > GLIBC_2.3.3 getcontext F > GLIBC_2.3.3 gnu_dev_major F > @@ -2257,6 +2258,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 _IO_fprintf F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > index 9f019c4eac..2d616e24cd 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > @@ -1984,6 +1984,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x208 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2087,6 +2088,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 _IO_fprintf F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist > index 07428bd3d6..3bedf42d7a 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist > @@ -186,7 +186,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_barrierattr_getpshared F > GLIBC_2.3.3 pthread_condattr_getclock F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > index f1217ffca5..247c8f77cf 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > @@ -426,6 +426,7 @@ GLIBC_2.17 __progname D 0x8 > GLIBC_2.17 __progname_full D 0x8 > GLIBC_2.17 __pthread_cleanup_routine F > GLIBC_2.17 __pthread_once F > +GLIBC_2.17 __pthread_unwind_next F > GLIBC_2.17 __ptsname_r_chk F > GLIBC_2.17 __pwrite64 F > GLIBC_2.17 __rawmemchr F > @@ -2378,5 +2379,6 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist > index a57e807cd0..03f9309528 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist > @@ -35,7 +35,6 @@ GLIBC_2.17 __pthread_rwlock_wrlock F > GLIBC_2.17 __pthread_setspecific F > GLIBC_2.17 __pthread_unregister_cancel F > GLIBC_2.17 __pthread_unregister_cancel_restore F > -GLIBC_2.17 __pthread_unwind_next F > GLIBC_2.17 __pwrite64 F > GLIBC_2.17 __read F > GLIBC_2.17 __res_state F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > index afaabf996e..1af16292a7 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > @@ -326,6 +326,7 @@ GLIBC_2.33 __progname D 0x4 > GLIBC_2.33 __progname_full D 0x4 > GLIBC_2.33 __pthread_cleanup_routine F > GLIBC_2.33 __pthread_once F > +GLIBC_2.33 __pthread_unwind_next F > GLIBC_2.33 __ptsname_r_chk F > GLIBC_2.33 __pwrite64 F > GLIBC_2.33 __rawmemchr F > @@ -1945,5 +1946,6 @@ GLIBC_2.33 wscanf F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist > index ddf52b427a..a9958f0b67 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist > @@ -34,7 +34,6 @@ GLIBC_2.33 __pthread_rwlock_wrlock F > GLIBC_2.33 __pthread_setspecific F > GLIBC_2.33 __pthread_unregister_cancel F > GLIBC_2.33 __pthread_unregister_cancel_restore F > -GLIBC_2.33 __pthread_unwind_next F > GLIBC_2.33 __pwrite64 F > GLIBC_2.33 __read F > GLIBC_2.33 __res_state F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > index 28563980d5..54038ac5ba 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > @@ -337,6 +337,7 @@ GLIBC_2.27 __progname D 0x8 > GLIBC_2.27 __progname_full D 0x8 > GLIBC_2.27 __pthread_cleanup_routine F > GLIBC_2.27 __pthread_once F > +GLIBC_2.27 __pthread_unwind_next F > GLIBC_2.27 __ptsname_r_chk F > GLIBC_2.27 __pwrite64 F > GLIBC_2.27 __rawmemchr F > @@ -2145,5 +2146,6 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist > index b12ec34091..0c6ae5b20c 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist > @@ -35,7 +35,6 @@ GLIBC_2.27 __pthread_rwlock_wrlock F > GLIBC_2.27 __pthread_setspecific F > GLIBC_2.27 __pthread_unregister_cancel F > GLIBC_2.27 __pthread_unregister_cancel_restore F > -GLIBC_2.27 __pthread_unwind_next F > GLIBC_2.27 __pwrite64 F > GLIBC_2.27 __read F > GLIBC_2.27 __res_state F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > index 6cfde17d64..1e896254ef 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > @@ -2125,6 +2125,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x104 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2222,6 +2223,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 _IO_fprintf F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist > index 738e9ab535..d72648c9dd 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist > @@ -198,7 +198,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_barrierattr_getpshared F > GLIBC_2.3.3 pthread_condattr_getclock F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > index 16b2483535..3cf10b2ab2 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > @@ -2029,6 +2029,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x208 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2123,6 +2124,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 _IO_fprintf F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist > index 13a2e8ef91..09c03d66b8 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist > @@ -190,7 +190,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_barrierattr_getpshared F > GLIBC_2.3.3 pthread_condattr_getclock F > diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > index a6fd6eb894..f7bded858a 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > @@ -2007,6 +2007,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x104 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2092,6 +2093,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist > index 96c70fb45e..98c5811d37 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist > @@ -189,7 +189,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_barrierattr_getpshared F > GLIBC_2.3.3 pthread_condattr_getclock F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > index f4ba7b4ee8..c8ec299eac 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > @@ -2007,6 +2007,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x104 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2089,6 +2090,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist > index 96c70fb45e..98c5811d37 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist > @@ -189,7 +189,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_barrierattr_getpshared F > GLIBC_2.3.3 pthread_condattr_getclock F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > index 70c2a92dfc..64529443e9 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > @@ -2119,6 +2119,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x104 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2213,6 +2214,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 _IO_fprintf F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist > index 059ae76802..62c3734ee1 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist > @@ -197,7 +197,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_attr_setstack F > GLIBC_2.3.3 pthread_attr_setstacksize F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > index 6f323b3705..5c5ad0af63 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > @@ -2058,6 +2058,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x208 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2140,6 +2141,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist > index 3698acd3e9..78c683810a 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist > @@ -189,7 +189,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_attr_setstack F > GLIBC_2.3.3 pthread_attr_setstacksize F > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > index 35503c7361..1805cd6b9b 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > @@ -2016,6 +2016,7 @@ GLIBC_2.3.2 pthread_cond_timedwait F > GLIBC_2.3.2 pthread_cond_wait F > GLIBC_2.3.2 strptime_l F > GLIBC_2.3.3 __pthread_cleanup_routine F > +GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 _sys_siglist D 0x208 > GLIBC_2.3.3 gnu_dev_major F > GLIBC_2.3.3 gnu_dev_makedev F > @@ -2099,6 +2100,7 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > GLIBC_2.4 __confstr_chk F > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist > index 7636fde610..31bb6837f9 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist > @@ -188,7 +188,6 @@ GLIBC_2.3.3 __pthread_register_cancel F > GLIBC_2.3.3 __pthread_register_cancel_defer F > GLIBC_2.3.3 __pthread_unregister_cancel F > GLIBC_2.3.3 __pthread_unregister_cancel_restore F > -GLIBC_2.3.3 __pthread_unwind_next F > GLIBC_2.3.3 pthread_attr_getaffinity_np F > GLIBC_2.3.3 pthread_barrierattr_getpshared F > GLIBC_2.3.3 pthread_condattr_getclock F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > index 3af0b4def9..780679cb52 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > @@ -341,6 +341,7 @@ GLIBC_2.16 __progname D 0x4 > GLIBC_2.16 __progname_full D 0x4 > GLIBC_2.16 __pthread_cleanup_routine F > GLIBC_2.16 __pthread_once F > +GLIBC_2.16 __pthread_unwind_next F > GLIBC_2.16 __ptsname_r_chk F > GLIBC_2.16 __pwrite64 F > GLIBC_2.16 __rawmemchr F > @@ -2197,5 +2198,6 @@ GLIBC_2.33 stat64 F > GLIBC_2.34 __libc_start_main F > GLIBC_2.34 __pthread_cleanup_routine F > GLIBC_2.34 __pthread_once F > +GLIBC_2.34 __pthread_unwind_next F > GLIBC_2.34 pthread_mutex_consistent F > GLIBC_2.34 pthread_once F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist > index d15de68e7e..73719e6d11 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist > @@ -35,7 +35,6 @@ GLIBC_2.16 __pthread_rwlock_wrlock F > GLIBC_2.16 __pthread_setspecific F > GLIBC_2.16 __pthread_unregister_cancel F > GLIBC_2.16 __pthread_unregister_cancel_restore F > -GLIBC_2.16 __pthread_unwind_next F > GLIBC_2.16 __pwrite64 F > GLIBC_2.16 __read F > GLIBC_2.16 __res_state F > Ok.