From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id A7FCE3838037 for ; Tue, 15 Jun 2021 19:17:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A7FCE3838037 Received: from mail-qk1-f200.google.com (mail-qk1-f200.google.com [209.85.222.200]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-211-_JqQA8xmODWiW2VY8zmFFg-1; Tue, 15 Jun 2021 15:17:07 -0400 X-MC-Unique: _JqQA8xmODWiW2VY8zmFFg-1 Received: by mail-qk1-f200.google.com with SMTP id 190-20020a3708c70000b02903aa60e6d8c1so22027863qki.19 for ; Tue, 15 Jun 2021 12:17:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=+PQTVWVoHfAT545zc5i8GMY/CrBPc+1IASQul+NEZdc=; b=sxqjlvSvwRBFHDJlWxNXkh2rXDgYt5B4gj0dlvY5VUHqe4lRJnY7wdM4pHfTvYZWAG QXmw6j5WmLjmIuETIN6pLZ68WH8nZDAmvcQuUsBjPwYFD4A/4HciGQHN8FHvjYYIbhD9 eEHAUp5F8kLZm18At7+1iQoz+3CnNG4jA/+Wd9HoHtPyrQMcKT+AwInRoqTUogGoAg9A nDzIDcT8Xd7COLXymIvF9xg61poRkFDhXHMZKDZR2Wa1nF7i6hS+/KJ0iTpISwO9uews J82P0PGW8YP7A11p+fUh4ya35pI5H5DqVE+8/lHJgk4NLZwodnHdgDjo/AfjPae+olZv nddg== X-Gm-Message-State: AOAM531vycdaMxaa7JNdWOLWAyie5uLB0kthx7MGrp6tgTcEPvDF6wZ0 V8qbZy3V3IzA7ZGFOwu3LaZ79f0BnsTgOsNeQcdz3O/lHjopOwwKOy7cNq6PDAjpt8yR6mQFt7p a3vYiCGx9TGQ8sKafDau8 X-Received: by 2002:a37:a793:: with SMTP id q141mr1205234qke.107.1623784626320; Tue, 15 Jun 2021 12:17:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy/E0BUYDn0vbPuapSh/PeePIo3Y4oY5viMynTBKkIwCYwKdX9hH2cSjXXZaFTcht1Q1c4cxA== X-Received: by 2002:a37:a793:: with SMTP id q141mr1205219qke.107.1623784626016; Tue, 15 Jun 2021 12:17:06 -0700 (PDT) Received: from [192.168.1.16] (198-84-214-74.cpe.teksavvy.com. [198.84.214.74]) by smtp.gmail.com with ESMTPSA id q7sm12706749qki.92.2021.06.15.12.17.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 15 Jun 2021 12:17:05 -0700 (PDT) Subject: Re: [PATCH] nptl: Export _pthread_cleanup_push, _pthread_cleanup_pop again To: Florian Weimer , libc-alpha@sourceware.org Cc: Jakub Jelinek References: <87r1h3gnlx.fsf@oldenburg.str.redhat.com> From: Carlos O'Donell Organization: Red Hat Message-ID: Date: Tue, 15 Jun 2021 15:17:03 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <87r1h3gnlx.fsf@oldenburg.str.redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, 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: Tue, 15 Jun 2021 19:17:11 -0000 On 6/15/21 11:21 AM, Florian Weimer via Libc-alpha wrote: > These were turned into compat symbols as part of the libpthread > move. It turns out they are used by language run-time libraries > (e.g., the GCC D front end), so it makes to preserve them as > external symbols even though they are not declared in any header > file. > > Tested on i686-linux-gnu, x86_64-linux-gnu. Built on i686-gnu. (No > full build on all ABIs, but the ABI update was done with > update-all-abi.) Just like the pthread min stack size problem this is something we can't change until we work with the runtime authors to avoid the regression or get interfaces they need defined. Thanks for working through this issue. This change is straight forward, we aren't at ABI freeze yet, and so this looks good to me. Reviewed-by: Carlos O'Donell > --- > nptl/Versions | 2 ++ > nptl/cleanup_compat.c | 4 ++++ > sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/arc/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/csky/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/i386/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/microblaze/be/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/microblaze/le/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 2 ++ > sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 2 ++ > 34 files changed, 70 insertions(+) > > diff --git a/nptl/Versions b/nptl/Versions > index d49dba9c15..62bb939d54 100644 > --- a/nptl/Versions > +++ b/nptl/Versions > @@ -260,6 +260,8 @@ libc { > __pthread_unregister_cancel; > __pthread_unregister_cancel_restore; > __pthread_unwind_next; > + _pthread_cleanup_pop; > + _pthread_cleanup_push; OK. Add the two symbols to nptl/Versions. > call_once; > cnd_broadcast; > cnd_destroy; > diff --git a/nptl/cleanup_compat.c b/nptl/cleanup_compat.c > index 1a757cf06a..6e3c6b1c1a 100644 > --- a/nptl/cleanup_compat.c > +++ b/nptl/cleanup_compat.c > @@ -33,6 +33,8 @@ __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer, > THREAD_SETMEM (self, cleanup, buffer); > } > libc_hidden_def (__pthread_cleanup_push) > +versioned_symbol (libc, __pthread_cleanup_push, _pthread_cleanup_push, > + GLIBC_2_34); OK. Add versioned symbol. > > void > __pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute) > @@ -47,6 +49,8 @@ __pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute) > buffer->__routine (buffer->__arg); > } > libc_hidden_def (__pthread_cleanup_pop) > +versioned_symbol (libc, __pthread_cleanup_pop, _pthread_cleanup_pop, > + GLIBC_2_34); OK. Add versioned symbol. > > #if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34) > compat_symbol (libpthread, __pthread_cleanup_push, _pthread_cleanup_push, > diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > index bee807a6f8..ad4c83787d 100644 > --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist > @@ -2344,6 +2344,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist > index 43dd600039..30dfd0baa1 100644 > --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist > +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist > @@ -2437,6 +2437,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist > index 033ed08877..72ff8c5bdc 100644 > --- a/sysdeps/unix/sysv/linux/arc/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist > @@ -2103,6 +2103,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > index f66ee7aab1..2f5561cd15 100644 > --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist > @@ -200,6 +200,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > index 3798b32830..1508687f18 100644 > --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist > @@ -197,6 +197,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist > index ba53b61ea6..ae2f0739e2 100644 > --- a/sysdeps/unix/sysv/linux/csky/libc.abilist > +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist > @@ -2287,6 +2287,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist > index 9783504c93..4a60471ef5 100644 > --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist > +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist > @@ -2241,6 +2241,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist > index c223c360ff..e47b9c5cc8 100644 > --- a/sysdeps/unix/sysv/linux/i386/libc.abilist > +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist > @@ -2425,6 +2425,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist > index ea2be9ead2..4a608b5d29 100644 > --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist > @@ -2277,6 +2277,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > index 3cb4279b41..86b3367f58 100644 > --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist > @@ -201,6 +201,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > index 94a718ff58..efa1605eb5 100644 > --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist > @@ -2368,6 +2368,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > index 5823bf18ef..81ca0d648e 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist > @@ -2338,6 +2338,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > index 723c4bcb09..249776d92d 100644 > --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist > @@ -2335,6 +2335,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > index f67da8f37a..e55dc423e0 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist > @@ -2333,6 +2333,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > index e44a6be8aa..40d54df83f 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist > @@ -2331,6 +2331,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > index 21cbe39166..195ee7e2ba 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist > @@ -2339,6 +2339,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > index a271342813..485a0121dd 100644 > --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist > @@ -2333,6 +2333,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist > index 9429209215..ff6ee05f24 100644 > --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist > +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist > @@ -2377,6 +2377,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > index eaca8e4b0c..7157d14aac 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist > @@ -2395,6 +2395,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > index c754a181da..d48fd20d34 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist > @@ -2428,6 +2428,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > index 98bd6bea39..3ff4d977f7 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist > @@ -2241,6 +2241,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > index d27f7448ed..c2c5c605ac 100644 > --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist > @@ -2540,6 +2540,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > index 33c9f98bf5..2abe414bda 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist > @@ -2105,6 +2105,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > index 9902603cd4..947fc8072d 100644 > --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist > @@ -2305,6 +2305,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > index 963e27571d..6fddf57536 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist > @@ -2393,6 +2393,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > index 17c56a2658..084b419cf6 100644 > --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist > @@ -2278,6 +2278,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > index 456abfb5bb..0d15162043 100644 > --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist > @@ -2248,6 +2248,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > index 45e59f1821..478d5afb80 100644 > --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist > @@ -2245,6 +2245,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > index 734e1f38b6..c4e2bf1838 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist > @@ -2386,6 +2386,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > index 9edf5ff234..27b3443394 100644 > --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist > @@ -2298,6 +2298,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > index bc8535fbed..2e5c5957b0 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist > @@ -2256,6 +2256,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > index 669cc664f5..0b0d1ac43f 100644 > --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist > @@ -2359,6 +2359,8 @@ GLIBC_2.34 __pthread_register_cancel_defer F > GLIBC_2.34 __pthread_unregister_cancel F > GLIBC_2.34 __pthread_unregister_cancel_restore F > GLIBC_2.34 __pthread_unwind_next F > +GLIBC_2.34 _pthread_cleanup_pop F > +GLIBC_2.34 _pthread_cleanup_push F > GLIBC_2.34 call_once F > GLIBC_2.34 cnd_broadcast F > GLIBC_2.34 cnd_destroy F > OK. Fixup the abilists. -- Cheers, Carlos.