From patchwork Fri Mar 12 17:48:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452272 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=NkW5bZZu; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DxtbZ3CVCz9sVS for ; Sat, 13 Mar 2021 04:48:58 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C29C3395200B; Fri, 12 Mar 2021 17:48:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C29C3395200B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571335; bh=kWsgIGjihYJRRsX+ajYqOndfTfcTPVaVxyX9a0YXgCQ=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=NkW5bZZuPOPCDVK8mrLRMnXpVozSe7p+6WtGKm980nL+4daYCYlUZbPyWzQqvmqm3 QlIkvDSiXRLjr8tyckpMZ8XN7/QXqpsCbvY/aH51O3feuMFDVDk54uahven4Wo0BCw a8MLL8VeSUo/Si5RpuQHRILRqKoPo1w37r249p5E= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 BB2FF3896C10 for ; Fri, 12 Mar 2021 17:48:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org BB2FF3896C10 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-587-rO6jMuC2O7O4aYJwkreThg-1; Fri, 12 Mar 2021 12:48:45 -0500 X-MC-Unique: rO6jMuC2O7O4aYJwkreThg-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 077A618460E1 for ; Fri, 12 Mar 2021 17:48:44 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8431719744 for ; Fri, 12 Mar 2021 17:48:42 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 01/18] nptl: Move pthread_mutex_consistent into libc In-Reply-To: References: Message-Id: <22de850756d320f188c0ccd53e298b13768e0c49.1615569355.git.fweimer@redhat.com> Date: Fri, 12 Mar 2021 18:48:54 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" And deprecated pthread_mutex_consistent_np, its old name. --- NEWS | 4 +++- nptl/Makefile | 2 +- nptl/Versions | 11 ++++++++-- nptl/pthread_mutex_consistent.c | 22 ++++++++++++++++--- sysdeps/nptl/pthread.h | 5 +++-- sysdeps/pthread/tst-robust1.c | 4 ++-- sysdeps/pthread/tst-robust8.c | 2 +- sysdeps/pthread/tst-robust9.c | 4 ++-- sysdeps/unix/sysv/linux/aarch64/libc.abilist | 3 +++ .../sysv/linux/aarch64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/alpha/libc.abilist | 3 +++ .../unix/sysv/linux/alpha/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/arc/libc.abilist | 3 +++ .../unix/sysv/linux/arc/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/arm/be/libc.abilist | 3 +++ .../unix/sysv/linux/arm/be/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/arm/le/libc.abilist | 3 +++ .../unix/sysv/linux/arm/le/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/csky/libc.abilist | 3 +++ .../unix/sysv/linux/csky/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/hppa/libc.abilist | 3 +++ .../unix/sysv/linux/hppa/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/i386/libc.abilist | 3 +++ .../unix/sysv/linux/i386/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/ia64/libc.abilist | 3 +++ .../unix/sysv/linux/ia64/libpthread.abilist | 2 -- .../sysv/linux/m68k/coldfire/libc.abilist | 3 +++ .../linux/m68k/coldfire/libpthread.abilist | 2 -- .../unix/sysv/linux/m68k/m680x0/libc.abilist | 3 +++ .../sysv/linux/m68k/m680x0/libpthread.abilist | 2 -- .../sysv/linux/microblaze/be/libc.abilist | 3 +++ .../linux/microblaze/be/libpthread.abilist | 2 -- .../sysv/linux/microblaze/le/libc.abilist | 3 +++ .../linux/microblaze/le/libpthread.abilist | 2 -- .../sysv/linux/mips/mips32/fpu/libc.abilist | 3 +++ .../sysv/linux/mips/mips32/libpthread.abilist | 2 -- .../sysv/linux/mips/mips32/nofpu/libc.abilist | 3 +++ .../sysv/linux/mips/mips64/libpthread.abilist | 2 -- .../sysv/linux/mips/mips64/n32/libc.abilist | 3 +++ .../sysv/linux/mips/mips64/n64/libc.abilist | 3 +++ sysdeps/unix/sysv/linux/nios2/libc.abilist | 3 +++ .../unix/sysv/linux/nios2/libpthread.abilist | 2 -- .../linux/powerpc/powerpc32/fpu/libc.abilist | 3 +++ .../powerpc/powerpc32/libpthread.abilist | 2 -- .../powerpc/powerpc32/nofpu/libc.abilist | 3 +++ .../linux/powerpc/powerpc64/be/libc.abilist | 3 +++ .../powerpc/powerpc64/be/libpthread.abilist | 2 -- .../linux/powerpc/powerpc64/le/libc.abilist | 3 +++ .../powerpc/powerpc64/le/libpthread.abilist | 2 -- .../unix/sysv/linux/riscv/rv32/libc.abilist | 3 +++ .../sysv/linux/riscv/rv32/libpthread.abilist | 2 -- .../unix/sysv/linux/riscv/rv64/libc.abilist | 3 +++ .../sysv/linux/riscv/rv64/libpthread.abilist | 2 -- .../unix/sysv/linux/s390/s390-32/libc.abilist | 3 +++ .../linux/s390/s390-32/libpthread.abilist | 2 -- .../unix/sysv/linux/s390/s390-64/libc.abilist | 3 +++ .../linux/s390/s390-64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/sh/be/libc.abilist | 3 +++ .../unix/sysv/linux/sh/be/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/sh/le/libc.abilist | 3 +++ .../unix/sysv/linux/sh/le/libpthread.abilist | 2 -- .../sysv/linux/sparc/sparc32/libc.abilist | 3 +++ .../linux/sparc/sparc32/libpthread.abilist | 2 -- .../sysv/linux/sparc/sparc64/libc.abilist | 3 +++ .../linux/sparc/sparc64/libpthread.abilist | 2 -- .../unix/sysv/linux/x86_64/64/libc.abilist | 3 +++ .../sysv/linux/x86_64/64/libpthread.abilist | 2 -- .../unix/sysv/linux/x86_64/x32/libc.abilist | 3 +++ .../sysv/linux/x86_64/x32/libpthread.abilist | 2 -- 69 files changed, 136 insertions(+), 72 deletions(-) diff --git a/NEWS b/NEWS index aa0f10a891..f9d15952f8 100644 --- a/NEWS +++ b/NEWS @@ -20,7 +20,9 @@ Major new features: Deprecated and removed features, and other changes affecting compatibility: - [Add deprecations, removals and changes affecting compatibility here] +* The function pthread_mutex_consistent_np has been deprecated; programs + should use the equivalent standard function pthread_mutex_consistent + instead. Changes to build and runtime requirements: diff --git a/nptl/Makefile b/nptl/Makefile index b51deff6a3..96bb47e152 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -71,6 +71,7 @@ routines = \ pthread_getaffinity \ pthread_getattr_np \ pthread_getschedparam \ + pthread_mutex_consistent \ pthread_self \ pthread_setschedparam \ pthread_sigmask \ @@ -159,7 +160,6 @@ libpthread-routines = \ pthread_kill_other_threads \ pthread_mutex_cond_lock \ pthread_mutex_conf \ - pthread_mutex_consistent \ pthread_mutex_destroy \ pthread_mutex_getprioceiling \ pthread_mutex_init \ diff --git a/nptl/Versions b/nptl/Versions index 039cff38aa..e38d98709d 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -55,6 +55,12 @@ libc { GLIBC_2.3.4 { pthread_attr_setaffinity_np; } + GLIBC_2.4 { + pthread_mutex_consistent_np; + } + GLIBC_2.12 { + pthread_mutex_consistent; + } # C11 thread symbols. GLIBC_2.28 { thrd_current; @@ -70,6 +76,9 @@ libc { pthread_getattr_np; pthread_sigmask; } + GLIBC_2.34 { + pthread_mutex_consistent; + } GLIBC_PRIVATE { __futex_abstimed_wait64; __futex_abstimed_wait_cancelable64; @@ -326,7 +335,6 @@ libpthread { } GLIBC_2.4 { - pthread_mutex_consistent_np; pthread_mutex_getprioceiling; pthread_mutex_setprioceiling; pthread_mutexattr_getprioceiling; @@ -343,7 +351,6 @@ libpthread { GLIBC_2.12 { pthread_getname_np; - pthread_mutex_consistent; pthread_mutexattr_getrobust; pthread_mutexattr_setrobust; pthread_setname_np; diff --git a/nptl/pthread_mutex_consistent.c b/nptl/pthread_mutex_consistent.c index 937c7c4640..0a84063a2b 100644 --- a/nptl/pthread_mutex_consistent.c +++ b/nptl/pthread_mutex_consistent.c @@ -18,10 +18,10 @@ #include #include - +#include int -pthread_mutex_consistent (pthread_mutex_t *mutex) +__pthread_mutex_consistent (pthread_mutex_t *mutex) { /* Test whether this is a robust mutex with a dead owner. See concurrency notes regarding __kind in struct __pthread_mutex_s @@ -35,4 +35,20 @@ pthread_mutex_consistent (pthread_mutex_t *mutex) return 0; } -weak_alias (pthread_mutex_consistent, pthread_mutex_consistent_np) +versioned_symbol (libc, __pthread_mutex_consistent, pthread_mutex_consistent, + GLIBC_2_34); + +#if SHLIB_COMPAT (libc, GLIBC_2_4, GLIBC_2_34) +/* Compat symbol with the old libc version, _np alias. */ +# undef pthread_mutex_consistent_np +strong_alias (__pthread_mutex_consistent, __pthread_mutex_consistent_1) +compat_symbol (libc, __pthread_mutex_consistent_1, + pthread_mutex_consistent_np, GLIBC_2_4); +#endif + +#if SHLIB_COMPAT (libc, GLIBC_2_12, GLIBC_2_34) +/* Compat symbol with the old libc version. */ +strong_alias (__pthread_mutex_consistent, __pthread_mutex_consistent_2) +compat_symbol (libc, __pthread_mutex_consistent_2, + pthread_mutex_consistent, GLIBC_2_12); +#endif diff --git a/sysdeps/nptl/pthread.h b/sysdeps/nptl/pthread.h index a04a3a2754..2ec2caec98 100644 --- a/sysdeps/nptl/pthread.h +++ b/sysdeps/nptl/pthread.h @@ -809,8 +809,9 @@ extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, extern int pthread_mutex_consistent (pthread_mutex_t *__mutex) __THROW __nonnull ((1)); # ifdef __USE_GNU -extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) - __THROW __nonnull ((1)); +# define pthread_mutex_consistent_np __glibc_macro_warning ("\ +pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent") \ + pthread_mutex_consistent # endif #endif diff --git a/sysdeps/pthread/tst-robust1.c b/sysdeps/pthread/tst-robust1.c index d4b1d88a68..6342fcbbf7 100644 --- a/sysdeps/pthread/tst-robust1.c +++ b/sysdeps/pthread/tst-robust1.c @@ -241,14 +241,14 @@ do_test (void) #endif #ifndef NOT_CONSISTENT - e = pthread_mutex_consistent_np (&m1); + e = pthread_mutex_consistent (&m1); if (e != 0) { printf ("%ld: mutex_consistent m1 failed with error %d\n", round, e); return 1; } - e = pthread_mutex_consistent_np (&m2); + e = pthread_mutex_consistent (&m2); if (e != 0) { printf ("%ld: mutex_consistent m2 failed with error %d\n", round, e); diff --git a/sysdeps/pthread/tst-robust8.c b/sysdeps/pthread/tst-robust8.c index 27dd53d2c3..8f135cb516 100644 --- a/sysdeps/pthread/tst-robust8.c +++ b/sysdeps/pthread/tst-robust8.c @@ -92,7 +92,7 @@ mutex_timedlock of %d in thread %ld failed with %d\n", } if (e == EOWNERDEAD) - pthread_mutex_consistent_np (&map[r]); + pthread_mutex_consistent (&map[r]); if (e == 0 || e == EOWNERDEAD) state[r] = 1; diff --git a/sysdeps/pthread/tst-robust9.c b/sysdeps/pthread/tst-robust9.c index befc14f2d8..532aebc4e9 100644 --- a/sysdeps/pthread/tst-robust9.c +++ b/sysdeps/pthread/tst-robust9.c @@ -14,10 +14,10 @@ tf (void *data) int err = pthread_mutex_lock (&m); if (err == EOWNERDEAD) { - err = pthread_mutex_consistent_np (&m); + err = pthread_mutex_consistent (&m); if (err) { - puts ("pthread_mutex_consistent_np"); + puts ("pthread_mutex_consistent"); exit (1); } } diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index bac795262d..231330e591 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -1442,6 +1442,8 @@ GLIBC_2.17 pthread_exit F GLIBC_2.17 pthread_getaffinity_np F GLIBC_2.17 pthread_getattr_np F GLIBC_2.17 pthread_getschedparam F +GLIBC_2.17 pthread_mutex_consistent F +GLIBC_2.17 pthread_mutex_consistent_np F GLIBC_2.17 pthread_mutex_destroy F GLIBC_2.17 pthread_mutex_init F GLIBC_2.17 pthread_mutex_lock F @@ -2172,3 +2174,4 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 336ee51e7e..1d4fffb5a6 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -102,8 +102,6 @@ GLIBC_2.17 pthread_key_create F GLIBC_2.17 pthread_key_delete F GLIBC_2.17 pthread_kill F GLIBC_2.17 pthread_kill_other_threads_np F -GLIBC_2.17 pthread_mutex_consistent F -GLIBC_2.17 pthread_mutex_consistent_np F GLIBC_2.17 pthread_mutex_destroy F GLIBC_2.17 pthread_mutex_getprioceiling F GLIBC_2.17 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 897f70db22..72c1c3ae6a 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -1749,6 +1749,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x458 GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x458 GLIBC_2.12 sys_nerr D 0x4 @@ -2254,6 +2255,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F @@ -2437,6 +2439,7 @@ GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F GLIBC_2.4 printf F GLIBC_2.4 printf_size F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 qecvt F GLIBC_2.4 qecvt_r F GLIBC_2.4 qfcvt F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 5c87b9baa0..e97e4d4dd5 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -129,7 +129,6 @@ GLIBC_2.1.1 sem_unlink F GLIBC_2.1.2 __libpthread_version_placeholder F GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -226,7 +225,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 604d259ad6..180b1e6244 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -1369,6 +1369,8 @@ GLIBC_2.32 pthread_exit F GLIBC_2.32 pthread_getaffinity_np F GLIBC_2.32 pthread_getattr_np F GLIBC_2.32 pthread_getschedparam F +GLIBC_2.32 pthread_mutex_consistent F +GLIBC_2.32 pthread_mutex_consistent_np F GLIBC_2.32 pthread_mutex_destroy F GLIBC_2.32 pthread_mutex_init F GLIBC_2.32 pthread_mutex_lock F @@ -1932,3 +1934,4 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index 1adcbecc2e..2f76de6bfc 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -116,8 +116,6 @@ GLIBC_2.32 pthread_key_delete F GLIBC_2.32 pthread_kill F GLIBC_2.32 pthread_kill_other_threads_np F GLIBC_2.32 pthread_mutex_clocklock F -GLIBC_2.32 pthread_mutex_consistent F -GLIBC_2.32 pthread_mutex_consistent_np F GLIBC_2.32 pthread_mutex_destroy F GLIBC_2.32 pthread_mutex_getprioceiling F GLIBC_2.32 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 094236f713..e3781f0e83 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -33,6 +33,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x21c GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x21c GLIBC_2.12 sys_nerr D 0x4 @@ -156,6 +157,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0xa0 GLIBC_2.4 _IO_2_1_stdin_ D 0xa0 @@ -1535,6 +1537,7 @@ GLIBC_2.4 pthread_exit F GLIBC_2.4 pthread_getaffinity_np F GLIBC_2.4 pthread_getattr_np F GLIBC_2.4 pthread_getschedparam F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_init F GLIBC_2.4 pthread_mutex_lock F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index b0bb1d0e01..a3516931d6 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -1,6 +1,5 @@ GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -136,7 +135,6 @@ GLIBC_2.4 pthread_key_create F GLIBC_2.4 pthread_key_delete F GLIBC_2.4 pthread_kill F GLIBC_2.4 pthread_kill_other_threads_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index 2bb4d31e81..0cd363cc2d 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -33,6 +33,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x21c GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x21c GLIBC_2.12 sys_nerr D 0x4 @@ -153,6 +154,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0xa0 GLIBC_2.4 _IO_2_1_stdin_ D 0xa0 @@ -1532,6 +1534,7 @@ GLIBC_2.4 pthread_exit F GLIBC_2.4 pthread_getaffinity_np F GLIBC_2.4 pthread_getattr_np F GLIBC_2.4 pthread_getschedparam F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_init F GLIBC_2.4 pthread_mutex_lock F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index b0bb1d0e01..a3516931d6 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -1,6 +1,5 @@ GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -136,7 +135,6 @@ GLIBC_2.4 pthread_key_create F GLIBC_2.4 pthread_key_delete F GLIBC_2.4 pthread_kill F GLIBC_2.4 pthread_kill_other_threads_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index d4291fecfb..c1e62a6df3 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -1430,6 +1430,8 @@ GLIBC_2.29 pthread_exit F GLIBC_2.29 pthread_getaffinity_np F GLIBC_2.29 pthread_getattr_np F GLIBC_2.29 pthread_getschedparam F +GLIBC_2.29 pthread_mutex_consistent F +GLIBC_2.29 pthread_mutex_consistent_np F GLIBC_2.29 pthread_mutex_destroy F GLIBC_2.29 pthread_mutex_init F GLIBC_2.29 pthread_mutex_lock F @@ -2116,3 +2118,4 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index 6ce59276a7..f05530eb2a 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -113,8 +113,6 @@ GLIBC_2.29 pthread_key_create F GLIBC_2.29 pthread_key_delete F GLIBC_2.29 pthread_kill F GLIBC_2.29 pthread_kill_other_threads_np F -GLIBC_2.29 pthread_mutex_consistent F -GLIBC_2.29 pthread_mutex_consistent_np F GLIBC_2.29 pthread_mutex_destroy F GLIBC_2.29 pthread_mutex_getprioceiling F GLIBC_2.29 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 1fd2a862f6..50d9080eb6 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -33,6 +33,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x404 GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x404 GLIBC_2.12 sys_nerr D 0x4 @@ -2075,6 +2076,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F @@ -2144,6 +2146,7 @@ GLIBC_2.4 open_wmemstream F GLIBC_2.4 openat F GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 readlinkat F GLIBC_2.4 renameat F GLIBC_2.4 symlinkat F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index a7bb15be58..02dca5bd52 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -1,6 +1,5 @@ GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -216,7 +215,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 943331f01e..d172849c32 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -1754,6 +1754,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x21c GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x21c GLIBC_2.12 sys_nerr D 0x4 @@ -2242,6 +2243,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F @@ -2311,6 +2313,7 @@ GLIBC_2.4 open_wmemstream F GLIBC_2.4 openat F GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 readlinkat F GLIBC_2.4 renameat F GLIBC_2.4 symlinkat F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index 017a9d9a86..92acdbc721 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -129,7 +129,6 @@ GLIBC_2.1.1 sem_unlink F GLIBC_2.1.2 __libpthread_version_placeholder F GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -224,7 +223,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index f530151bde..e9e82e5ec8 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -33,6 +33,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x438 GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x438 GLIBC_2.12 sys_nerr D 0x4 @@ -2107,6 +2108,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F @@ -2176,6 +2178,7 @@ GLIBC_2.4 open_wmemstream F GLIBC_2.4 openat F GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 readlinkat F GLIBC_2.4 renameat F GLIBC_2.4 symlinkat F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 6fb2e05072..1f9d0edbc9 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -1,6 +1,5 @@ GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -218,7 +217,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 6e76b6dcaa..b0c0d7208d 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -34,6 +34,7 @@ GLIBC_2.12 __m68k_read_tp F GLIBC_2.12 _sys_errlist D 0x21c GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x21c GLIBC_2.12 sys_nerr D 0x4 @@ -157,6 +158,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0x98 GLIBC_2.4 _IO_2_1_stdin_ D 0x98 @@ -1515,6 +1517,7 @@ GLIBC_2.4 pthread_exit F GLIBC_2.4 pthread_getaffinity_np F GLIBC_2.4 pthread_getattr_np F GLIBC_2.4 pthread_getschedparam F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_init F GLIBC_2.4 pthread_mutex_lock F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index b0bb1d0e01..a3516931d6 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -1,6 +1,5 @@ GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -136,7 +135,6 @@ GLIBC_2.4 pthread_key_create F GLIBC_2.4 pthread_key_delete F GLIBC_2.4 pthread_kill F GLIBC_2.4 pthread_kill_other_threads_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 7541b8289f..c312a9e726 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -1711,6 +1711,7 @@ GLIBC_2.12 __m68k_read_tp F GLIBC_2.12 _sys_errlist D 0x21c GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x21c GLIBC_2.12 sys_nerr D 0x4 @@ -2187,6 +2188,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F @@ -2256,6 +2258,7 @@ GLIBC_2.4 open_wmemstream F GLIBC_2.4 openat F GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 readlinkat F GLIBC_2.4 renameat F GLIBC_2.4 symlinkat F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index 017a9d9a86..92acdbc721 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -129,7 +129,6 @@ GLIBC_2.1.1 sem_unlink F GLIBC_2.1.2 __libpthread_version_placeholder F GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -224,7 +223,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 6cf1936c42..4e5f7336c3 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -1445,6 +1445,8 @@ GLIBC_2.18 pthread_exit F GLIBC_2.18 pthread_getaffinity_np F GLIBC_2.18 pthread_getattr_np F GLIBC_2.18 pthread_getschedparam F +GLIBC_2.18 pthread_mutex_consistent F +GLIBC_2.18 pthread_mutex_consistent_np F GLIBC_2.18 pthread_mutex_destroy F GLIBC_2.18 pthread_mutex_init F GLIBC_2.18 pthread_mutex_lock F @@ -2167,3 +2169,4 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 9356f6183a..4849b99385 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -103,8 +103,6 @@ GLIBC_2.18 pthread_key_create F GLIBC_2.18 pthread_key_delete F GLIBC_2.18 pthread_kill F GLIBC_2.18 pthread_kill_other_threads_np F -GLIBC_2.18 pthread_mutex_consistent F -GLIBC_2.18 pthread_mutex_consistent_np F GLIBC_2.18 pthread_mutex_destroy F GLIBC_2.18 pthread_mutex_getprioceiling F GLIBC_2.18 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 98730ebcda..374e48889a 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -1445,6 +1445,8 @@ GLIBC_2.18 pthread_exit F GLIBC_2.18 pthread_getaffinity_np F GLIBC_2.18 pthread_getattr_np F GLIBC_2.18 pthread_getschedparam F +GLIBC_2.18 pthread_mutex_consistent F +GLIBC_2.18 pthread_mutex_consistent_np F GLIBC_2.18 pthread_mutex_destroy F GLIBC_2.18 pthread_mutex_init F GLIBC_2.18 pthread_mutex_lock F @@ -2164,3 +2166,4 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 9356f6183a..4849b99385 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -103,8 +103,6 @@ GLIBC_2.18 pthread_key_create F GLIBC_2.18 pthread_key_delete F GLIBC_2.18 pthread_kill F GLIBC_2.18 pthread_kill_other_threads_np F -GLIBC_2.18 pthread_mutex_consistent F -GLIBC_2.18 pthread_mutex_consistent_np F GLIBC_2.18 pthread_mutex_destroy F GLIBC_2.18 pthread_mutex_getprioceiling F GLIBC_2.18 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index 92fa6cbc73..f4c9a0e288 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -1344,6 +1344,7 @@ GLIBC_2.11 mkostemps64 F GLIBC_2.11 mkstemps F GLIBC_2.11 mkstemps64 F GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.13 fanotify_init F GLIBC_2.13 fanotify_mark F @@ -2158,6 +2159,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F @@ -2225,6 +2227,7 @@ GLIBC_2.4 open_wmemstream F GLIBC_2.4 openat F GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 readlinkat F GLIBC_2.4 renameat F GLIBC_2.4 symlinkat F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 7aff4d018b..23f58b6459 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -92,7 +92,6 @@ GLIBC_2.0 tcdrain F GLIBC_2.0 write F GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -225,7 +224,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 265a49e74e..1935dd7207 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -1344,6 +1344,7 @@ GLIBC_2.11 mkostemps64 F GLIBC_2.11 mkstemps F GLIBC_2.11 mkstemps64 F GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.13 fanotify_init F GLIBC_2.13 fanotify_mark F @@ -2156,6 +2157,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F @@ -2223,6 +2225,7 @@ GLIBC_2.4 open_wmemstream F GLIBC_2.4 openat F GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 readlinkat F GLIBC_2.4 renameat F GLIBC_2.4 symlinkat F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 7aff4d018b..23f58b6459 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -92,7 +92,6 @@ GLIBC_2.0 tcdrain F GLIBC_2.0 write F GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -225,7 +224,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index cfa5e1111b..130dd19d46 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -1344,6 +1344,7 @@ GLIBC_2.11 mkostemps64 F GLIBC_2.11 mkstemps F GLIBC_2.11 mkstemps64 F GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.13 fanotify_init F GLIBC_2.13 fanotify_mark F @@ -2164,6 +2165,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F @@ -2231,6 +2233,7 @@ GLIBC_2.4 open_wmemstream F GLIBC_2.4 openat F GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 readlinkat F GLIBC_2.4 renameat F GLIBC_2.4 symlinkat F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index 8c03ac52cd..a8728b1a57 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -1342,6 +1342,7 @@ GLIBC_2.11 mkostemps64 F GLIBC_2.11 mkstemps F GLIBC_2.11 mkstemps64 F GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.13 fanotify_init F GLIBC_2.13 fanotify_mark F @@ -2158,6 +2159,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F @@ -2225,6 +2227,7 @@ GLIBC_2.4 open_wmemstream F GLIBC_2.4 openat F GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 readlinkat F GLIBC_2.4 renameat F GLIBC_2.4 symlinkat F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 17f5609e06..040ee6c0b6 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -1487,6 +1487,8 @@ GLIBC_2.21 pthread_exit F GLIBC_2.21 pthread_getaffinity_np F GLIBC_2.21 pthread_getattr_np F GLIBC_2.21 pthread_getschedparam F +GLIBC_2.21 pthread_mutex_consistent F +GLIBC_2.21 pthread_mutex_consistent_np F GLIBC_2.21 pthread_mutex_destroy F GLIBC_2.21 pthread_mutex_init F GLIBC_2.21 pthread_mutex_lock F @@ -2205,3 +2207,4 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index 73b4dfbd8e..0c7fe737a0 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -103,8 +103,6 @@ GLIBC_2.21 pthread_key_create F GLIBC_2.21 pthread_key_delete F GLIBC_2.21 pthread_kill F GLIBC_2.21 pthread_kill_other_threads_np F -GLIBC_2.21 pthread_mutex_consistent F -GLIBC_2.21 pthread_mutex_consistent_np F GLIBC_2.21 pthread_mutex_destroy F GLIBC_2.21 pthread_mutex_getprioceiling F GLIBC_2.21 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index 76a16e2a6d..d51a3a1b32 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -1715,6 +1715,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x21c GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x21c GLIBC_2.12 sys_nerr D 0x4 @@ -2214,6 +2215,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F @@ -2397,6 +2399,7 @@ GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F GLIBC_2.4 printf F GLIBC_2.4 printf_size F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 qecvt F GLIBC_2.4 qecvt_r F GLIBC_2.4 qfcvt F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index 0c68fb1b7c..7bdd5c1a03 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -129,7 +129,6 @@ GLIBC_2.1.1 sem_unlink F GLIBC_2.1.2 __libpthread_version_placeholder F GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -226,7 +225,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 697f072fd4..6b0a6ef07e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -1715,6 +1715,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x21c GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x21c GLIBC_2.12 sys_nerr D 0x4 @@ -2247,6 +2248,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F @@ -2442,6 +2444,7 @@ GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F GLIBC_2.4 printf F GLIBC_2.4 printf_size F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 qecvt F GLIBC_2.4 qecvt_r F GLIBC_2.4 qfcvt F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 2647bb51f1..d4fcc5479a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -33,6 +33,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x438 GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x438 GLIBC_2.12 sys_nerr D 0x4 @@ -2077,6 +2078,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F @@ -2260,6 +2262,7 @@ GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F GLIBC_2.4 printf F GLIBC_2.4 printf_size F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 qecvt F GLIBC_2.4 qecvt_r F GLIBC_2.4 qfcvt F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index c7f6167250..335cda5763 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -1,6 +1,5 @@ GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -215,7 +214,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 036b1c8345..bbe387fe61 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -1531,6 +1531,8 @@ GLIBC_2.17 pthread_exit F GLIBC_2.17 pthread_getaffinity_np F GLIBC_2.17 pthread_getattr_np F GLIBC_2.17 pthread_getschedparam F +GLIBC_2.17 pthread_mutex_consistent F +GLIBC_2.17 pthread_mutex_consistent_np F GLIBC_2.17 pthread_mutex_destroy F GLIBC_2.17 pthread_mutex_init F GLIBC_2.17 pthread_mutex_lock F @@ -2367,3 +2369,4 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index 336ee51e7e..1d4fffb5a6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -102,8 +102,6 @@ GLIBC_2.17 pthread_key_create F GLIBC_2.17 pthread_key_delete F GLIBC_2.17 pthread_kill F GLIBC_2.17 pthread_kill_other_threads_np F -GLIBC_2.17 pthread_mutex_consistent F -GLIBC_2.17 pthread_mutex_consistent_np F GLIBC_2.17 pthread_mutex_destroy F GLIBC_2.17 pthread_mutex_getprioceiling F GLIBC_2.17 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index ff3225e16f..684acb6795 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -1371,6 +1371,8 @@ GLIBC_2.33 pthread_exit F GLIBC_2.33 pthread_getaffinity_np F GLIBC_2.33 pthread_getattr_np F GLIBC_2.33 pthread_getschedparam F +GLIBC_2.33 pthread_mutex_consistent F +GLIBC_2.33 pthread_mutex_consistent_np F GLIBC_2.33 pthread_mutex_destroy F GLIBC_2.33 pthread_mutex_init F GLIBC_2.33 pthread_mutex_lock F @@ -1934,3 +1936,4 @@ GLIBC_2.33 write F GLIBC_2.33 writev F GLIBC_2.33 wscanf F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index 61b3c4ff7a..33b755ed10 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -116,8 +116,6 @@ GLIBC_2.33 pthread_key_delete F GLIBC_2.33 pthread_kill F GLIBC_2.33 pthread_kill_other_threads_np F GLIBC_2.33 pthread_mutex_clocklock F -GLIBC_2.33 pthread_mutex_consistent F -GLIBC_2.33 pthread_mutex_consistent_np F GLIBC_2.33 pthread_mutex_destroy F GLIBC_2.33 pthread_mutex_getprioceiling F GLIBC_2.33 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index fb5ad9909f..6f8afeb03e 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -1433,6 +1433,8 @@ GLIBC_2.27 pthread_exit F GLIBC_2.27 pthread_getaffinity_np F GLIBC_2.27 pthread_getattr_np F GLIBC_2.27 pthread_getschedparam F +GLIBC_2.27 pthread_mutex_consistent F +GLIBC_2.27 pthread_mutex_consistent_np F GLIBC_2.27 pthread_mutex_destroy F GLIBC_2.27 pthread_mutex_init F GLIBC_2.27 pthread_mutex_lock F @@ -2134,3 +2136,4 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index 894c474fcb..4be8886aed 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -102,8 +102,6 @@ GLIBC_2.27 pthread_key_create F GLIBC_2.27 pthread_key_delete F GLIBC_2.27 pthread_kill F GLIBC_2.27 pthread_kill_other_threads_np F -GLIBC_2.27 pthread_mutex_consistent F -GLIBC_2.27 pthread_mutex_consistent_np F GLIBC_2.27 pthread_mutex_destroy F GLIBC_2.27 pthread_mutex_getprioceiling F GLIBC_2.27 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index cead75acc5..a4b1c00c78 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -1707,6 +1707,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x21c GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x21c GLIBC_2.12 sys_nerr D 0x4 @@ -2212,6 +2213,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F @@ -2395,6 +2397,7 @@ GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F GLIBC_2.4 printf F GLIBC_2.4 printf_size F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 qecvt F GLIBC_2.4 qecvt_r F GLIBC_2.4 qfcvt F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index a198e22445..c3c66c7f6a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -129,7 +129,6 @@ GLIBC_2.1.1 sem_unlink F GLIBC_2.1.2 __libpthread_version_placeholder F GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -226,7 +225,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 31366dd7e6..c05c18c2bb 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -37,6 +37,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x438 GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x438 GLIBC_2.12 sys_nerr D 0x4 @@ -2113,6 +2114,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F @@ -2296,6 +2298,7 @@ GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F GLIBC_2.4 printf F GLIBC_2.4 printf_size F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 qecvt F GLIBC_2.4 qecvt_r F GLIBC_2.4 qfcvt F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index 6d166d5f97..fa4b4cf747 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -1,6 +1,5 @@ GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -218,7 +217,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index a3a8be8910..635a05bf2f 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -37,6 +37,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x21c GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x21c GLIBC_2.12 sys_nerr D 0x4 @@ -2082,6 +2083,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F @@ -2151,6 +2153,7 @@ GLIBC_2.4 open_wmemstream F GLIBC_2.4 openat F GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 readlinkat F GLIBC_2.4 renameat F GLIBC_2.4 symlinkat F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index a7bb15be58..02dca5bd52 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -1,6 +1,5 @@ GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -216,7 +215,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 8f505c5045..5b09a03eef 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -37,6 +37,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x21c GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x21c GLIBC_2.12 sys_nerr D 0x4 @@ -2079,6 +2080,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F @@ -2148,6 +2150,7 @@ GLIBC_2.4 open_wmemstream F GLIBC_2.4 openat F GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 readlinkat F GLIBC_2.4 renameat F GLIBC_2.4 symlinkat F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index a7bb15be58..02dca5bd52 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -1,6 +1,5 @@ GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -216,7 +215,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 53ef6304f1..7019d97b8d 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -1708,6 +1708,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x21c GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x21c GLIBC_2.12 sys_nerr D 0x4 @@ -2203,6 +2204,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F @@ -2412,6 +2414,7 @@ GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F GLIBC_2.4 printf F GLIBC_2.4 printf_size F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 qecvt F GLIBC_2.4 qecvt_r F GLIBC_2.4 qfcvt F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 5c87b9baa0..e97e4d4dd5 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -129,7 +129,6 @@ GLIBC_2.1.1 sem_unlink F GLIBC_2.1.2 __libpthread_version_placeholder F GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -226,7 +225,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index eba0cb156d..deb4735664 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -37,6 +37,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x438 GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x438 GLIBC_2.12 sys_nerr D 0x4 @@ -2130,6 +2131,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F @@ -2199,6 +2201,7 @@ GLIBC_2.4 open_wmemstream F GLIBC_2.4 openat F GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 readlinkat F GLIBC_2.4 renameat F GLIBC_2.4 symlinkat F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 6fb2e05072..1f9d0edbc9 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -1,6 +1,5 @@ GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -218,7 +217,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index 17ce5dfd58..779b06605b 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -33,6 +33,7 @@ GLIBC_2.11 mkstemps64 F GLIBC_2.12 _sys_errlist D 0x438 GLIBC_2.12 _sys_nerr D 0x4 GLIBC_2.12 ntp_gettimex F +GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 recvmmsg F GLIBC_2.12 sys_errlist D 0x438 GLIBC_2.12 sys_nerr D 0x4 @@ -2089,6 +2090,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F @@ -2158,6 +2160,7 @@ GLIBC_2.4 open_wmemstream F GLIBC_2.4 openat F GLIBC_2.4 openat64 F GLIBC_2.4 ppoll F +GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 readlinkat F GLIBC_2.4 renameat F GLIBC_2.4 symlinkat F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index f85ab1d3cd..01d330cad7 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -1,6 +1,5 @@ GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F -GLIBC_2.12 pthread_mutex_consistent F GLIBC_2.12 pthread_mutexattr_getrobust F GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F @@ -215,7 +214,6 @@ GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F GLIBC_2.30 sem_clockwait F GLIBC_2.31 pthread_clockjoin_np F -GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_getprioceiling F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index 17a1c83903..a85d2af101 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -1450,6 +1450,8 @@ GLIBC_2.16 pthread_exit F GLIBC_2.16 pthread_getaffinity_np F GLIBC_2.16 pthread_getattr_np F GLIBC_2.16 pthread_getschedparam F +GLIBC_2.16 pthread_mutex_consistent F +GLIBC_2.16 pthread_mutex_consistent_np F GLIBC_2.16 pthread_mutex_destroy F GLIBC_2.16 pthread_mutex_init F GLIBC_2.16 pthread_mutex_lock F @@ -2186,3 +2188,4 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index 0e24fcd6bf..b470f2eed5 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -102,8 +102,6 @@ GLIBC_2.16 pthread_key_create F GLIBC_2.16 pthread_key_delete F GLIBC_2.16 pthread_kill F GLIBC_2.16 pthread_kill_other_threads_np F -GLIBC_2.16 pthread_mutex_consistent F -GLIBC_2.16 pthread_mutex_consistent_np F GLIBC_2.16 pthread_mutex_destroy F GLIBC_2.16 pthread_mutex_getprioceiling F GLIBC_2.16 pthread_mutex_init F From patchwork Fri Mar 12 17:49:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452273 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=xF4dCJCY; dkim-atps=neutral Received: from sourceware.org (unknown [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dxtbg49Xbz9sRN for ; Sat, 13 Mar 2021 04:49:03 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D3B783938C37; Fri, 12 Mar 2021 17:49:00 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D3B783938C37 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571340; bh=8gXp/TyAmH/1m6GoOjXcmH5cnjN1UJr3UbS8nnIWKYs=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=xF4dCJCYv4ErAoCndHBzfnQ0V88UqM+x6nZFlu/zmW+JLH2QS7e23/WxzIt4+dbta XlKs6IKrlYtkrwZO3F2yzmUHUWvS9UZppcozJlRyH7Su5xa8hcvnojPKLgmJaH2JYJ H33UUvRKCmA15e5drV7ftN3mt5J1CqvFZ66gqZyI= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 2E1E53896C10 for ; Fri, 12 Mar 2021 17:48:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2E1E53896C10 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-445-MC0zWdpANx6Urj_XGQJk6g-1; Fri, 12 Mar 2021 12:48:51 -0500 X-MC-Unique: MC0zWdpANx6Urj_XGQJk6g-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 22AF31074671 for ; Fri, 12 Mar 2021 17:48:50 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A894D60C9B for ; Fri, 12 Mar 2021 17:48:48 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 02/18] nptl: Move __pthread_cleanup_routine into libc In-Reply-To: References: Message-Id: Date: Fri, 12 Mar 2021 18:49:01 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" --- nptl/Makefile | 2 +- nptl/Versions | 3 ++- nptl/cleanup_routine.c | 12 ++++++++++-- sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/aarch64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/alpha/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/arc/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/arc/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/arm/be/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/arm/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/csky/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/csky/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/hppa/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/i386/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/i386/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/ia64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist | 2 ++ .../unix/sysv/linux/m68k/coldfire/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 2 ++ .../unix/sysv/linux/m68k/m680x0/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/microblaze/be/libc.abilist | 2 ++ .../unix/sysv/linux/microblaze/be/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/microblaze/le/libc.abilist | 2 ++ .../unix/sysv/linux/microblaze/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist | 2 ++ .../unix/sysv/linux/mips/mips32/libpthread.abilist | 1 - .../unix/sysv/linux/mips/mips32/nofpu/libc.abilist | 2 ++ .../unix/sysv/linux/mips/mips64/libpthread.abilist | 1 - 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/nios2/libpthread.abilist | 1 - .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 2 ++ .../sysv/linux/powerpc/powerpc32/libpthread.abilist | 1 - .../sysv/linux/powerpc/powerpc32/nofpu/libc.abilist | 2 ++ .../sysv/linux/powerpc/powerpc64/be/libc.abilist | 2 ++ .../linux/powerpc/powerpc64/be/libpthread.abilist | 1 - .../sysv/linux/powerpc/powerpc64/le/libc.abilist | 2 ++ .../linux/powerpc/powerpc64/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist | 2 ++ .../unix/sysv/linux/riscv/rv32/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist | 2 ++ .../unix/sysv/linux/riscv/rv64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 2 ++ .../unix/sysv/linux/s390/s390-32/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist | 2 ++ .../unix/sysv/linux/s390/s390-64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/sh/be/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/sh/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist | 2 ++ .../unix/sysv/linux/sparc/sparc32/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist | 2 ++ .../unix/sysv/linux/sparc/sparc64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 2 ++ .../unix/sysv/linux/x86_64/x32/libpthread.abilist | 1 - 64 files changed, 77 insertions(+), 33 deletions(-) Reviewed-by: Adhemerval Zanella diff --git a/nptl/Makefile b/nptl/Makefile index 96bb47e152..b951fcb77e 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -30,6 +30,7 @@ extra-libs-others := $(extra-libs) routines = \ alloca_cutoff \ + cleanup_routine \ elision-conf \ elision-lock \ elision-timed \ @@ -98,7 +99,6 @@ libpthread-routines = \ cleanup_compat \ cleanup_defer \ cleanup_defer_compat \ - cleanup_routine \ events \ flockfile \ ftrylockfile \ diff --git a/nptl/Versions b/nptl/Versions index e38d98709d..f2db649f9d 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -49,6 +49,7 @@ libc { pthread_cond_wait; } GLIBC_2.3.3 { + __pthread_cleanup_routine; pthread_attr_setaffinity_np; pthread_getaffinity_np; } @@ -77,6 +78,7 @@ libc { pthread_sigmask; } GLIBC_2.34 { + __pthread_cleanup_routine; pthread_mutex_consistent; } GLIBC_PRIVATE { @@ -312,7 +314,6 @@ libpthread { } GLIBC_2.3.3 { - __pthread_cleanup_routine; __pthread_register_cancel; __pthread_register_cancel_defer; __pthread_unregister_cancel; diff --git a/nptl/cleanup_routine.c b/nptl/cleanup_routine.c index 973f088be7..9710bf58ec 100644 --- a/nptl/cleanup_routine.c +++ b/nptl/cleanup_routine.c @@ -17,11 +17,19 @@ . */ #include - +#include void -__pthread_cleanup_routine (struct __pthread_cleanup_frame *f) +___pthread_cleanup_routine (struct __pthread_cleanup_frame *f) { if (f->__do_it) f->__cancel_routine (f->__cancel_arg); } +versioned_symbol (libc, ___pthread_cleanup_routine, __pthread_cleanup_routine, + GLIBC_2_34); + +#if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_34) +strong_alias (___pthread_cleanup_routine, __pthread_cleanup_routine_alias) +compat_symbol (libc, __pthread_cleanup_routine_alias, + __pthread_cleanup_routine, GLIBC_2_3_3); +#endif diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index 231330e591..a55f3d9667 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -338,6 +338,7 @@ GLIBC_2.17 __printf_fp F GLIBC_2.17 __profile_frequency F GLIBC_2.17 __progname D 0x8 GLIBC_2.17 __progname_full D 0x8 +GLIBC_2.17 __pthread_cleanup_routine F GLIBC_2.17 __ptsname_r_chk F GLIBC_2.17 __pwrite64 F GLIBC_2.17 __rawmemchr F @@ -2174,4 +2175,5 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 1d4fffb5a6..ad2492cb4c 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -13,7 +13,6 @@ GLIBC_2.17 __lseek F GLIBC_2.17 __open F GLIBC_2.17 __open64 F GLIBC_2.17 __pread64 F -GLIBC_2.17 __pthread_cleanup_routine F GLIBC_2.17 __pthread_getspecific F GLIBC_2.17 __pthread_key_create F GLIBC_2.17 __pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 72c1c3ae6a..54a11b7e76 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2147,6 +2147,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x208 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2255,6 +2256,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index e97e4d4dd5..1eff0da935 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -201,7 +201,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 180b1e6244..a229125212 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -327,6 +327,7 @@ GLIBC_2.32 __printf_fp F GLIBC_2.32 __profile_frequency F GLIBC_2.32 __progname D 0x4 GLIBC_2.32 __progname_full D 0x4 +GLIBC_2.32 __pthread_cleanup_routine F GLIBC_2.32 __ptsname_r_chk F GLIBC_2.32 __pwrite64 F GLIBC_2.32 __rawmemchr F @@ -1934,4 +1935,5 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index 2f76de6bfc..c635f1dac9 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -12,7 +12,6 @@ GLIBC_2.32 __lseek F GLIBC_2.32 __open F GLIBC_2.32 __open64 F GLIBC_2.32 __pread64 F -GLIBC_2.32 __pthread_cleanup_routine F GLIBC_2.32 __pthread_getspecific F GLIBC_2.32 __pthread_key_create F GLIBC_2.32 __pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index e3781f0e83..cfc58ca510 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -157,6 +157,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0xa0 @@ -485,6 +486,7 @@ GLIBC_2.4 __printf_fp F GLIBC_2.4 __profile_frequency F GLIBC_2.4 __progname D 0x4 GLIBC_2.4 __progname_full D 0x4 +GLIBC_2.4 __pthread_cleanup_routine 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 a3516931d6..79c5f66cff 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -47,7 +47,6 @@ GLIBC_2.4 __lseek F GLIBC_2.4 __open F GLIBC_2.4 __open64 F GLIBC_2.4 __pread64 F -GLIBC_2.4 __pthread_cleanup_routine F GLIBC_2.4 __pthread_getspecific F GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index 0cd363cc2d..e725ee6217 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -154,6 +154,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0xa0 @@ -482,6 +483,7 @@ GLIBC_2.4 __printf_fp F GLIBC_2.4 __profile_frequency F GLIBC_2.4 __progname D 0x4 GLIBC_2.4 __progname_full D 0x4 +GLIBC_2.4 __pthread_cleanup_routine 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 a3516931d6..79c5f66cff 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -47,7 +47,6 @@ GLIBC_2.4 __lseek F GLIBC_2.4 __open F GLIBC_2.4 __open64 F GLIBC_2.4 __pread64 F -GLIBC_2.4 __pthread_cleanup_routine F GLIBC_2.4 __pthread_getspecific F GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index c1e62a6df3..51d9d33b13 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -331,6 +331,7 @@ GLIBC_2.29 __printf_fp F GLIBC_2.29 __profile_frequency F GLIBC_2.29 __progname D 0x4 GLIBC_2.29 __progname_full D 0x4 +GLIBC_2.29 __pthread_cleanup_routine F GLIBC_2.29 __ptsname_r_chk F GLIBC_2.29 __pwrite64 F GLIBC_2.29 __rawmemchr F @@ -2118,4 +2119,5 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index f05530eb2a..e242edb9c3 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -12,7 +12,6 @@ GLIBC_2.29 __lseek F GLIBC_2.29 __open F GLIBC_2.29 __open64 F GLIBC_2.29 __pread64 F -GLIBC_2.29 __pthread_cleanup_routine F GLIBC_2.29 __pthread_getspecific F GLIBC_2.29 __pthread_key_create F GLIBC_2.29 __pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 50d9080eb6..914aef5f35 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -1996,6 +1996,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x104 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2076,6 +2077,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 02dca5bd52..8ce3580478 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -193,7 +193,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index d172849c32..f7ca08f695 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2161,6 +2161,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x104 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2243,6 +2244,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index 92acdbc721..d3fc0f2d70 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -201,7 +201,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index e9e82e5ec8..a77ab9816b 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -2028,6 +2028,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x208 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2108,6 +2109,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 1f9d0edbc9..d7000f415e 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -193,7 +193,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index b0c0d7208d..49a3997d83 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -158,6 +158,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0x98 @@ -471,6 +472,7 @@ GLIBC_2.4 __printf_fp F GLIBC_2.4 __profile_frequency F GLIBC_2.4 __progname D 0x4 GLIBC_2.4 __progname_full D 0x4 +GLIBC_2.4 __pthread_cleanup_routine 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 a3516931d6..79c5f66cff 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -47,7 +47,6 @@ GLIBC_2.4 __lseek F GLIBC_2.4 __open F GLIBC_2.4 __open64 F GLIBC_2.4 __pread64 F -GLIBC_2.4 __pthread_cleanup_routine F GLIBC_2.4 __pthread_getspecific F GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index c312a9e726..9969b02829 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2105,6 +2105,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x104 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2188,6 +2189,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index 92acdbc721..d3fc0f2d70 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -201,7 +201,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 4e5f7336c3..eb6d753ae8 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -339,6 +339,7 @@ GLIBC_2.18 __printf_fp F GLIBC_2.18 __profile_frequency F GLIBC_2.18 __progname D 0x4 GLIBC_2.18 __progname_full D 0x4 +GLIBC_2.18 __pthread_cleanup_routine F GLIBC_2.18 __ptsname_r_chk F GLIBC_2.18 __pwrite64 F GLIBC_2.18 __rawmemchr F @@ -2169,4 +2170,5 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 4849b99385..c096915557 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -13,7 +13,6 @@ GLIBC_2.18 __lseek F GLIBC_2.18 __open F GLIBC_2.18 __open64 F GLIBC_2.18 __pread64 F -GLIBC_2.18 __pthread_cleanup_routine F GLIBC_2.18 __pthread_getspecific F GLIBC_2.18 __pthread_key_create F GLIBC_2.18 __pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 374e48889a..7c3d154267 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -339,6 +339,7 @@ GLIBC_2.18 __printf_fp F GLIBC_2.18 __profile_frequency F GLIBC_2.18 __progname D 0x4 GLIBC_2.18 __progname_full D 0x4 +GLIBC_2.18 __pthread_cleanup_routine F GLIBC_2.18 __ptsname_r_chk F GLIBC_2.18 __pwrite64 F GLIBC_2.18 __rawmemchr F @@ -2166,4 +2167,5 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 4849b99385..c096915557 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -13,7 +13,6 @@ GLIBC_2.18 __lseek F GLIBC_2.18 __open F GLIBC_2.18 __open64 F GLIBC_2.18 __pread64 F -GLIBC_2.18 __pthread_cleanup_routine F GLIBC_2.18 __pthread_getspecific F GLIBC_2.18 __pthread_key_create F GLIBC_2.18 __pthread_mutex_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 f4c9a0e288..bb2c61d8b4 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2079,6 +2079,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x200 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2159,6 +2160,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 23f58b6459..358a13524a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -200,7 +200,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 1935dd7207..7a418b2e12 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -2077,6 +2077,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x200 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2157,6 +2158,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 23f58b6459..358a13524a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -200,7 +200,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 130dd19d46..29d9e4045a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2085,6 +2085,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x200 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2165,6 +2166,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_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 a8728b1a57..404789db07 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -2078,6 +2078,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x400 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2159,6 +2160,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 040ee6c0b6..468444aa86 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -376,6 +376,7 @@ GLIBC_2.21 __printf_fp F GLIBC_2.21 __profile_frequency F GLIBC_2.21 __progname D 0x4 GLIBC_2.21 __progname_full D 0x4 +GLIBC_2.21 __pthread_cleanup_routine F GLIBC_2.21 __ptsname_r_chk F GLIBC_2.21 __pwrite64 F GLIBC_2.21 __rawmemchr F @@ -2207,4 +2208,5 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index 0c7fe737a0..6379c1f86c 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -13,7 +13,6 @@ GLIBC_2.21 __lseek F GLIBC_2.21 __open F GLIBC_2.21 __open64 F GLIBC_2.21 __pread64 F -GLIBC_2.21 __pthread_cleanup_routine F GLIBC_2.21 __pthread_getspecific F GLIBC_2.21 __pthread_key_create F GLIBC_2.21 __pthread_mutex_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 d51a3a1b32..41ba4fdb29 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -2109,6 +2109,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x104 GLIBC_2.3.3 getcontext F GLIBC_2.3.3 gnu_dev_major F @@ -2215,6 +2216,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index 7bdd5c1a03..7c6e78f6ce 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -201,7 +201,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 6b0a6ef07e..1d030db5f7 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -2142,6 +2142,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x104 GLIBC_2.3.3 getcontext F GLIBC_2.3.3 gnu_dev_major F @@ -2248,6 +2249,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index d4fcc5479a..9f86b81d65 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -1977,6 +1977,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x208 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2078,6 +2079,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 335cda5763..773d873bd1 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -190,7 +190,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index bbe387fe61..599d06d56f 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -424,6 +424,7 @@ GLIBC_2.17 __printf_fp F GLIBC_2.17 __profile_frequency F GLIBC_2.17 __progname D 0x8 GLIBC_2.17 __progname_full D 0x8 +GLIBC_2.17 __pthread_cleanup_routine F GLIBC_2.17 __ptsname_r_chk F GLIBC_2.17 __pwrite64 F GLIBC_2.17 __rawmemchr F @@ -2369,4 +2370,5 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index 1d4fffb5a6..ad2492cb4c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -13,7 +13,6 @@ GLIBC_2.17 __lseek F GLIBC_2.17 __open F GLIBC_2.17 __open64 F GLIBC_2.17 __pread64 F -GLIBC_2.17 __pthread_cleanup_routine F GLIBC_2.17 __pthread_getspecific F GLIBC_2.17 __pthread_key_create F GLIBC_2.17 __pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 684acb6795..9f0068ba1c 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -324,6 +324,7 @@ GLIBC_2.33 __printf_fp F GLIBC_2.33 __profile_frequency F GLIBC_2.33 __progname D 0x4 GLIBC_2.33 __progname_full D 0x4 +GLIBC_2.33 __pthread_cleanup_routine F GLIBC_2.33 __ptsname_r_chk F GLIBC_2.33 __pwrite64 F GLIBC_2.33 __rawmemchr F @@ -1936,4 +1937,5 @@ GLIBC_2.33 write F GLIBC_2.33 writev F GLIBC_2.33 wscanf F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index 33b755ed10..76484b8073 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -12,7 +12,6 @@ GLIBC_2.33 __lseek F GLIBC_2.33 __open F GLIBC_2.33 __open64 F GLIBC_2.33 __pread64 F -GLIBC_2.33 __pthread_cleanup_routine F GLIBC_2.33 __pthread_getspecific F GLIBC_2.33 __pthread_key_create F GLIBC_2.33 __pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 6f8afeb03e..833d6f11d6 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -335,6 +335,7 @@ GLIBC_2.27 __printf_fp F GLIBC_2.27 __profile_frequency F GLIBC_2.27 __progname D 0x8 GLIBC_2.27 __progname_full D 0x8 +GLIBC_2.27 __pthread_cleanup_routine F GLIBC_2.27 __ptsname_r_chk F GLIBC_2.27 __pwrite64 F GLIBC_2.27 __rawmemchr F @@ -2136,4 +2137,5 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index 4be8886aed..2332ba5927 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -13,7 +13,6 @@ GLIBC_2.27 __lseek F GLIBC_2.27 __open F GLIBC_2.27 __open64 F GLIBC_2.27 __pread64 F -GLIBC_2.27 __pthread_cleanup_routine F GLIBC_2.27 __pthread_getspecific F GLIBC_2.27 __pthread_key_create F GLIBC_2.27 __pthread_mutex_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 a4b1c00c78..a3e732e82f 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2118,6 +2118,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _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 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index c3c66c7f6a..28cf9cfcee 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -203,7 +203,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index c05c18c2bb..4443545ed0 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -2022,6 +2022,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x208 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2114,6 +2115,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index fa4b4cf747..5baa0fdd6f 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -195,7 +195,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index 635a05bf2f..f9cb4195cd 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2000,6 +2000,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x104 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2083,6 +2084,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 02dca5bd52..8ce3580478 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -193,7 +193,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 5b09a03eef..e1ae67a464 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2000,6 +2000,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x104 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2080,6 +2081,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 02dca5bd52..8ce3580478 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -193,7 +193,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 7019d97b8d..9ca458b1c5 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2112,6 +2112,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x104 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2204,6 +2205,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index e97e4d4dd5..1eff0da935 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -201,7 +201,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index deb4735664..6af3cc116b 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2051,6 +2051,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x208 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2131,6 +2132,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 1f9d0edbc9..d7000f415e 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -193,7 +193,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index 779b06605b..e267cc2a23 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -2009,6 +2009,7 @@ GLIBC_2.3.2 pthread_cond_signal F 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 _sys_siglist D 0x208 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2090,6 +2091,7 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_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 01d330cad7..f0271930eb 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -192,7 +192,6 @@ GLIBC_2.3.2 pthread_cond_broadcast F GLIBC_2.3.2 pthread_cond_signal F GLIBC_2.3.2 pthread_cond_timedwait F GLIBC_2.3.2 pthread_cond_wait F -GLIBC_2.3.3 __pthread_cleanup_routine F 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 diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index a85d2af101..50e860fe40 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -339,6 +339,7 @@ GLIBC_2.16 __printf_fp F GLIBC_2.16 __profile_frequency F GLIBC_2.16 __progname D 0x4 GLIBC_2.16 __progname_full D 0x4 +GLIBC_2.16 __pthread_cleanup_routine F GLIBC_2.16 __ptsname_r_chk F GLIBC_2.16 __pwrite64 F GLIBC_2.16 __rawmemchr F @@ -2188,4 +2189,5 @@ GLIBC_2.33 mknodat F GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index b470f2eed5..aa9e127bad 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -13,7 +13,6 @@ GLIBC_2.16 __lseek F GLIBC_2.16 __open F GLIBC_2.16 __open64 F GLIBC_2.16 __pread64 F -GLIBC_2.16 __pthread_cleanup_routine F GLIBC_2.16 __pthread_getspecific F GLIBC_2.16 __pthread_key_create F GLIBC_2.16 __pthread_mutex_destroy F From patchwork Fri Mar 12 17:49:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452275 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=qJRqbHjM; dkim-atps=neutral Received: from sourceware.org (unknown [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dxtbn2VJvz9sRR for ; Sat, 13 Mar 2021 04:49:09 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id DA752395C06F; Fri, 12 Mar 2021 17:49:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DA752395C06F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571343; bh=876MAiZo/4EmsF9U10gjGC+mqTrgM373tu+XelKBl9E=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=qJRqbHjMxRd89eGeLcvu6lFHcfslYfPBwxbTQxYD805pRrors2Wp01VSAbli2JzK+ ZjVl69smNc0nZOrBf/ebpACS6czcohYxHCuH1sjWtYk8Otx2ycHRC2M4p1N8c7BsS4 rRUOFt45hwEwdaDEWtzFLd4ASpqi4xhYqoOMiku8= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 8CC1A393C84F for ; Fri, 12 Mar 2021 17:48:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 8CC1A393C84F Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-128-3-qhmBvzMu-Zpt75heHqWA-1; Fri, 12 Mar 2021 12:48:56 -0500 X-MC-Unique: 3-qhmBvzMu-Zpt75heHqWA-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A613B64AC9 for ; Fri, 12 Mar 2021 17:48:55 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9978F60CD1 for ; Fri, 12 Mar 2021 17:48:54 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 03/18] nptl: Move legacy unwinding implementation into libc In-Reply-To: References: Message-Id: <4485b54412a6fb871b58c694bf8b0efd098f1111.1615569355.git.fweimer@redhat.com> Date: Fri, 12 Mar 2021 18:49:07 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" It is still used internally. Since unwinding is now available unconditionally, avoid indirect calls through function pointers loaded from the stack by inlining the non-cancellation cleanup code. This avoids a regression in security hardening. The out-of-line __libc_cleanup_routine implementation is no longer needed because the inline definition is now static __always_inline. Reviewed-by: Adhemerval Zanella --- nptl/Versions | 2 + nptl/cleanup_defer_compat.c | 56 ++-------------------------- nptl/libc-cleanup.c | 64 ++++++++++++++++++++++++++++++-- nptl/nptl-init.c | 2 - sysdeps/nptl/libc-lock.h | 59 ++++++++++++++--------------- sysdeps/nptl/libc-lockP.h | 26 +------------ sysdeps/nptl/pthread-functions.h | 4 -- 7 files changed, 97 insertions(+), 116 deletions(-) diff --git a/nptl/Versions b/nptl/Versions index f2db649f9d..e3eb686a04 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -86,6 +86,8 @@ libc { __futex_abstimed_wait_cancelable64; __libc_alloca_cutoff; __libc_allocate_rtsig_private; + __libc_cleanup_pop_restore; + __libc_cleanup_push_defer; __libc_current_sigrtmax_private; __libc_current_sigrtmin_private; __libc_dl_error_tsd; diff --git a/nptl/cleanup_defer_compat.c b/nptl/cleanup_defer_compat.c index 49ef53ea60..1957318208 100644 --- a/nptl/cleanup_defer_compat.c +++ b/nptl/cleanup_defer_compat.c @@ -17,41 +17,15 @@ . */ #include "pthreadP.h" - +#include void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer, void (*routine) (void *), void *arg) { - struct pthread *self = THREAD_SELF; - buffer->__routine = routine; buffer->__arg = arg; - buffer->__prev = THREAD_GETMEM (self, cleanup); - - int cancelhandling = THREAD_GETMEM (self, cancelhandling); - - /* Disable asynchronous cancellation for now. */ - if (__glibc_unlikely (cancelhandling & CANCELTYPE_BITMASK)) - while (1) - { - int curval = THREAD_ATOMIC_CMPXCHG_VAL (self, cancelhandling, - cancelhandling - & ~CANCELTYPE_BITMASK, - cancelhandling); - if (__glibc_likely (curval == cancelhandling)) - /* Successfully replaced the value. */ - break; - - /* Prepare for the next round. */ - cancelhandling = curval; - } - - buffer->__canceltype = (cancelhandling & CANCELTYPE_BITMASK - ? PTHREAD_CANCEL_ASYNCHRONOUS - : PTHREAD_CANCEL_DEFERRED); - - THREAD_SETMEM (self, cleanup, buffer); + __libc_cleanup_push_defer (buffer); } strong_alias (_pthread_cleanup_push_defer, __pthread_cleanup_push_defer) @@ -60,31 +34,7 @@ void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer, int execute) { - struct pthread *self = THREAD_SELF; - - THREAD_SETMEM (self, cleanup, buffer->__prev); - - int cancelhandling; - if (__builtin_expect (buffer->__canceltype != PTHREAD_CANCEL_DEFERRED, 0) - && ((cancelhandling = THREAD_GETMEM (self, cancelhandling)) - & CANCELTYPE_BITMASK) == 0) - { - while (1) - { - int curval = THREAD_ATOMIC_CMPXCHG_VAL (self, cancelhandling, - cancelhandling - | CANCELTYPE_BITMASK, - cancelhandling); - if (__glibc_likely (curval == cancelhandling)) - /* Successfully replaced the value. */ - break; - - /* Prepare for the next round. */ - cancelhandling = curval; - } - - CANCELLATION_P (self); - } + __libc_cleanup_pop_restore (buffer); /* If necessary call the cleanup routine after we removed the current cleanup block from the list. */ diff --git a/nptl/libc-cleanup.c b/nptl/libc-cleanup.c index 61f97eceda..14ccfe9285 100644 --- a/nptl/libc-cleanup.c +++ b/nptl/libc-cleanup.c @@ -17,11 +17,69 @@ . */ #include "pthreadP.h" +#include +#include +void +__libc_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer) +{ + struct pthread *self = THREAD_SELF; + + buffer->__prev = THREAD_GETMEM (self, cleanup); + + int cancelhandling = THREAD_GETMEM (self, cancelhandling); + + /* Disable asynchronous cancellation for now. */ + if (__glibc_unlikely (cancelhandling & CANCELTYPE_BITMASK)) + while (1) + { + int curval = THREAD_ATOMIC_CMPXCHG_VAL (self, cancelhandling, + cancelhandling + & ~CANCELTYPE_BITMASK, + cancelhandling); + if (__glibc_likely (curval == cancelhandling)) + /* Successfully replaced the value. */ + break; + + /* Prepare for the next round. */ + cancelhandling = curval; + } + + buffer->__canceltype = (cancelhandling & CANCELTYPE_BITMASK + ? PTHREAD_CANCEL_ASYNCHRONOUS + : PTHREAD_CANCEL_DEFERRED); + + THREAD_SETMEM (self, cleanup, buffer); +} +libc_hidden_def (__libc_cleanup_push_defer) void -__libc_cleanup_routine (struct __pthread_cleanup_frame *f) +__libc_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer) { - if (f->__do_it) - f->__cancel_routine (f->__cancel_arg); + struct pthread *self = THREAD_SELF; + + THREAD_SETMEM (self, cleanup, buffer->__prev); + + int cancelhandling; + if (__builtin_expect (buffer->__canceltype != PTHREAD_CANCEL_DEFERRED, 0) + && ((cancelhandling = THREAD_GETMEM (self, cancelhandling)) + & CANCELTYPE_BITMASK) == 0) + { + while (1) + { + int curval = THREAD_ATOMIC_CMPXCHG_VAL (self, cancelhandling, + cancelhandling + | CANCELTYPE_BITMASK, + cancelhandling); + if (__glibc_likely (curval == cancelhandling)) + /* Successfully replaced the value. */ + break; + + /* Prepare for the next round. */ + cancelhandling = curval; + } + + CANCELLATION_P (self); + } } +libc_hidden_def (__libc_cleanup_pop_restore) diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 865ee8db29..c2b563cc68 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -96,8 +96,6 @@ static const struct pthread_functions pthread_functions = .ptr___pthread_key_create = __pthread_key_create, .ptr___pthread_getspecific = __pthread_getspecific, .ptr___pthread_setspecific = __pthread_setspecific, - .ptr__pthread_cleanup_push_defer = __pthread_cleanup_push_defer, - .ptr__pthread_cleanup_pop_restore = __pthread_cleanup_pop_restore, .ptr_nthreads = &__nptl_nthreads, .ptr___pthread_unwind = &__pthread_unwind, .ptr__nptl_deallocate_tsd = __nptl_deallocate_tsd, diff --git a/sysdeps/nptl/libc-lock.h b/sysdeps/nptl/libc-lock.h index dea96121b3..56fe83f69f 100644 --- a/sysdeps/nptl/libc-lock.h +++ b/sysdeps/nptl/libc-lock.h @@ -143,39 +143,40 @@ typedef struct __libc_lock_recursive_opaque__ __libc_lock_recursive_t; __libc_maybe_call (__pthread_mutex_unlock, (&(NAME).mutex), 0) #endif -/* Note that for I/O cleanup handling we are using the old-style - cancel handling. It does not have to be integrated with C++ since - no C++ code is called in the middle. The old-style handling is - faster and the support is not going away. */ -extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer, - void (*routine) (void *), void *arg); -extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer, - int execute); +/* Put the unwind buffer BUFFER on the per-thread callback stack. The + caller must fill BUFFER->__routine and BUFFER->__arg before calling + this function. */ +void __libc_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer); +libc_hidden_proto (__libc_cleanup_push_defer) +/* Remove BUFFER from the unwind callback stack. The caller must invoke + the callback if desired. */ +void __libc_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer); +libc_hidden_proto (__libc_cleanup_pop_restore) /* Start critical region with cleanup. */ -#define __libc_cleanup_region_start(DOIT, FCT, ARG) \ - { struct _pthread_cleanup_buffer _buffer; \ - int _avail; \ - if (DOIT) { \ - _avail = PTFAVAIL (_pthread_cleanup_push_defer); \ - if (_avail) { \ - __libc_ptf_call_always (_pthread_cleanup_push_defer, (&_buffer, FCT, \ - ARG)); \ - } else { \ - _buffer.__routine = (FCT); \ - _buffer.__arg = (ARG); \ - } \ - } else { \ - _avail = 0; \ - } +#define __libc_cleanup_region_start(DOIT, FCT, ARG) \ + { bool _cleanup_start_doit; \ + struct _pthread_cleanup_buffer _buffer; \ + /* Non-addresable copy of FCT, so that we avoid indirect calls on \ + the non-unwinding path. */ \ + void (*_cleanup_routine) (void *) = (FCT); \ + _buffer.__arg = (ARG); \ + if (DOIT) \ + { \ + _cleanup_start_doit = true; \ + _buffer.__routine = _cleanup_routine; \ + __libc_cleanup_push_defer (&_buffer); \ + } \ + else \ + _cleanup_start_doit = false; /* End critical region with cleanup. */ -#define __libc_cleanup_region_end(DOIT) \ - if (_avail) { \ - __libc_ptf_call_always (_pthread_cleanup_pop_restore, (&_buffer, DOIT));\ - } else if (DOIT) \ - _buffer.__routine (_buffer.__arg); \ - } +#define __libc_cleanup_region_end(DOIT) \ + if (_cleanup_start_doit) \ + __libc_cleanup_pop_restore (&_buffer); \ + if (DOIT) \ + _cleanup_routine (_buffer.__arg); \ + } /* matches __libc_cleanup_region_start */ /* Hide the definitions which are only supposed to be used inside libc in diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h index 4a0b96e6d9..1a861b0d3f 100644 --- a/sysdeps/nptl/libc-lockP.h +++ b/sysdeps/nptl/libc-lockP.h @@ -251,32 +251,12 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0"); /* Get once control variable. */ #define __libc_once_get(ONCE_CONTROL) ((ONCE_CONTROL) != PTHREAD_ONCE_INIT) -/* Note that for I/O cleanup handling we are using the old-style - cancel handling. It does not have to be integrated with C++ snce - no C++ code is called in the middle. The old-style handling is - faster and the support is not going away. */ -extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer, - void (*routine) (void *), void *arg); -extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, - int execute); -extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer, - void (*routine) (void *), void *arg); -extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer, - int execute); - -/* Sometimes we have to exit the block in the middle. */ -#define __libc_cleanup_end(DOIT) \ - if (_avail) { \ - __libc_ptf_call_always (_pthread_cleanup_pop_restore, (&_buffer, DOIT));\ - } else if (DOIT) \ - _buffer.__routine (_buffer.__arg) - /* __libc_cleanup_push and __libc_cleanup_pop depend on exception handling and stack unwinding. */ #ifdef __EXCEPTIONS /* Normal cleanup handling, based on C cleanup attribute. */ -__extern_inline void +static __always_inline void __libc_cleanup_routine (struct __pthread_cleanup_frame *f) { if (f->__do_it) @@ -396,8 +376,6 @@ weak_extern (__pthread_once) weak_extern (__pthread_initialize) weak_extern (__pthread_atfork) weak_extern (__pthread_setcancelstate) -weak_extern (_pthread_cleanup_push_defer) -weak_extern (_pthread_cleanup_pop_restore) # else # pragma weak __pthread_mutex_init # pragma weak __pthread_mutex_destroy @@ -420,8 +398,6 @@ weak_extern (_pthread_cleanup_pop_restore) # pragma weak __pthread_initialize # pragma weak __pthread_atfork # pragma weak __pthread_setcancelstate -# pragma weak _pthread_cleanup_push_defer -# pragma weak _pthread_cleanup_pop_restore # endif #endif diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 97a5c48939..4268084b66 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -57,10 +57,6 @@ struct pthread_functions int (*ptr___pthread_key_create) (pthread_key_t *, void (*) (void *)); void *(*ptr___pthread_getspecific) (pthread_key_t); int (*ptr___pthread_setspecific) (pthread_key_t, const void *); - void (*ptr__pthread_cleanup_push_defer) (struct _pthread_cleanup_buffer *, - void (*) (void *), void *); - void (*ptr__pthread_cleanup_pop_restore) (struct _pthread_cleanup_buffer *, - int); #define HAVE_PTR_NTHREADS unsigned int *ptr_nthreads; void (*ptr___pthread_unwind) (__pthread_unwind_buf_t *) From patchwork Fri Mar 12 17:49:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452279 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=O92V2/C4; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dxtc112k1z9sRR for ; Sat, 13 Mar 2021 04:49:21 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3267F398B421; Fri, 12 Mar 2021 17:49:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3267F398B421 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571352; bh=+nxrM41ZzaXDLdwL/DGanVyubipWIN4u8XL2xA6UDEc=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=O92V2/C4GknCnGLzc9rQknjDRJ08KuPdqHk1F13d7oRkNnvBiQJ8/iKy3hufIgBaH bosBE4+3xPWMR7H5/PKYJ2fTpvhsSJa8h9jLbSxnjjK6KT4IGkAqFHiS2SeFcIDyou xqJixD4fic/EvvVSO27z7CDPyjW+TQ2V5uOXOzRs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 3525B39450C4 for ; Fri, 12 Mar 2021 17:49:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3525B39450C4 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-299-zmSa6pr6MW2nZp9rhGRaNQ-1; Fri, 12 Mar 2021 12:49:02 -0500 X-MC-Unique: zmSa6pr6MW2nZp9rhGRaNQ-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E90EC100C619 for ; Fri, 12 Mar 2021 17:49:01 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 70EBA5C1D5 for ; Fri, 12 Mar 2021 17:49:00 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 04/18] nptl: Move legacy cancelation handling into libc as compat symbols In-Reply-To: References: Message-Id: <1ece6f9349c307d5d81fe2ee319866c9c47254b8.1615569355.git.fweimer@redhat.com> Date: Fri, 12 Mar 2021 18:49:12 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" This affects _pthread_cleanup_pop, _pthread_cleanup_pop_restore, _pthread_cleanup_push, _pthread_cleanup_push_defer. The symbols have been moved using scripts/move-symbol-to-libc.py. No new symbol versions are added because the symbols are turned into compatibility symbols at the same time. Reviewed-by: Adhemerval Zanella --- nptl/Makefile | 15 ++++++++++---- nptl/Versions | 10 ++++++---- nptl/cleanup_compat.c | 16 +++++++++------ nptl/cleanup_defer_compat.c | 20 ++++++++++++------- nptl/pthreadP.h | 17 ++++++++-------- nptl/tst-cleanup4.c | 5 +++++ nptl/tst-cleanup4aux.c | 5 +++++ sysdeps/unix/sysv/linux/aarch64/libc.abilist | 4 ++++ .../sysv/linux/aarch64/libpthread.abilist | 4 ---- sysdeps/unix/sysv/linux/alpha/libc.abilist | 4 ++++ .../unix/sysv/linux/alpha/libpthread.abilist | 4 ---- sysdeps/unix/sysv/linux/arc/libc.abilist | 4 ++++ .../unix/sysv/linux/arc/libpthread.abilist | 4 ---- sysdeps/unix/sysv/linux/arm/be/libc.abilist | 4 ++++ .../unix/sysv/linux/arm/be/libpthread.abilist | 4 ---- sysdeps/unix/sysv/linux/arm/le/libc.abilist | 4 ++++ .../unix/sysv/linux/arm/le/libpthread.abilist | 4 ---- sysdeps/unix/sysv/linux/csky/libc.abilist | 4 ++++ .../unix/sysv/linux/csky/libpthread.abilist | 4 ---- sysdeps/unix/sysv/linux/hppa/libc.abilist | 4 ++++ .../unix/sysv/linux/hppa/libpthread.abilist | 4 ---- sysdeps/unix/sysv/linux/i386/libc.abilist | 4 ++++ .../unix/sysv/linux/i386/libpthread.abilist | 4 ---- sysdeps/unix/sysv/linux/ia64/libc.abilist | 4 ++++ .../unix/sysv/linux/ia64/libpthread.abilist | 4 ---- .../sysv/linux/m68k/coldfire/libc.abilist | 4 ++++ .../linux/m68k/coldfire/libpthread.abilist | 4 ---- .../unix/sysv/linux/m68k/m680x0/libc.abilist | 4 ++++ .../sysv/linux/m68k/m680x0/libpthread.abilist | 4 ---- .../sysv/linux/microblaze/be/libc.abilist | 4 ++++ .../linux/microblaze/be/libpthread.abilist | 4 ---- .../sysv/linux/microblaze/le/libc.abilist | 4 ++++ .../linux/microblaze/le/libpthread.abilist | 4 ---- .../sysv/linux/mips/mips32/fpu/libc.abilist | 4 ++++ .../sysv/linux/mips/mips32/libpthread.abilist | 4 ---- .../sysv/linux/mips/mips32/nofpu/libc.abilist | 4 ++++ .../sysv/linux/mips/mips64/libpthread.abilist | 4 ---- .../sysv/linux/mips/mips64/n32/libc.abilist | 4 ++++ .../sysv/linux/mips/mips64/n64/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/nios2/libc.abilist | 4 ++++ .../unix/sysv/linux/nios2/libpthread.abilist | 4 ---- .../linux/powerpc/powerpc32/fpu/libc.abilist | 4 ++++ .../powerpc/powerpc32/libpthread.abilist | 4 ---- .../powerpc/powerpc32/nofpu/libc.abilist | 4 ++++ .../linux/powerpc/powerpc64/be/libc.abilist | 4 ++++ .../powerpc/powerpc64/be/libpthread.abilist | 4 ---- .../linux/powerpc/powerpc64/le/libc.abilist | 4 ++++ .../powerpc/powerpc64/le/libpthread.abilist | 4 ---- .../unix/sysv/linux/riscv/rv32/libc.abilist | 4 ++++ .../sysv/linux/riscv/rv32/libpthread.abilist | 4 ---- .../unix/sysv/linux/riscv/rv64/libc.abilist | 4 ++++ .../sysv/linux/riscv/rv64/libpthread.abilist | 4 ---- .../unix/sysv/linux/s390/s390-32/libc.abilist | 4 ++++ .../linux/s390/s390-32/libpthread.abilist | 4 ---- .../unix/sysv/linux/s390/s390-64/libc.abilist | 4 ++++ .../linux/s390/s390-64/libpthread.abilist | 4 ---- sysdeps/unix/sysv/linux/sh/be/libc.abilist | 4 ++++ .../unix/sysv/linux/sh/be/libpthread.abilist | 4 ---- sysdeps/unix/sysv/linux/sh/le/libc.abilist | 4 ++++ .../unix/sysv/linux/sh/le/libpthread.abilist | 4 ---- .../sysv/linux/sparc/sparc32/libc.abilist | 4 ++++ .../linux/sparc/sparc32/libpthread.abilist | 4 ---- .../sysv/linux/sparc/sparc64/libc.abilist | 4 ++++ .../linux/sparc/sparc64/libpthread.abilist | 4 ---- .../unix/sysv/linux/x86_64/64/libc.abilist | 4 ++++ .../sysv/linux/x86_64/64/libpthread.abilist | 4 ---- .../unix/sysv/linux/x86_64/x32/libc.abilist | 4 ++++ .../sysv/linux/x86_64/x32/libpthread.abilist | 4 ---- 68 files changed, 186 insertions(+), 146 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index b951fcb77e..147a8d3d59 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -30,6 +30,8 @@ extra-libs-others := $(extra-libs) routines = \ alloca_cutoff \ + cleanup_compat \ + cleanup_defer_compat \ cleanup_routine \ elision-conf \ elision-lock \ @@ -96,9 +98,7 @@ libpthread-routines = \ $(pthread-compat-wrappers) \ cancellation \ cleanup \ - cleanup_compat \ cleanup_defer \ - cleanup_defer_compat \ events \ flockfile \ ftrylockfile \ @@ -344,7 +344,6 @@ tests = tst-attr2 tst-attr3 tst-default-attr \ tst-tsd3 tst-tsd4 \ tst-cancel4_1 tst-cancel4_2 \ tst-cancel7 tst-cancel17 tst-cancel24 \ - tst-cleanup4 \ tst-signal3 \ tst-exec4 tst-exec5 \ tst-stack2 tst-stack3 tst-stack4 \ @@ -418,7 +417,7 @@ endif LDFLAGS-pthread.so = -Wl,--enable-new-dtags,-z,nodelete,-z,initfirst -tests += tst-cancelx7 tst-cancelx17 tst-cleanupx4 +tests += tst-cancelx7 tst-cancelx17 ifeq ($(build-shared),yes) tests += tst-compat-forwarder tst-audit-threads @@ -438,6 +437,14 @@ extra-test-objs += $(addsuffix .os,$(strip $(modules-names))) \ tst-cleanup4aux.o tst-cleanupx4aux.o test-extras += tst-cleanup4aux tst-cleanupx4aux +# This test exercises compat symbols removed in glibc 2.34. +ifdef have-GLIBC_2.33 +tests += tst-cleanup4 +ifeq ($(build-shared),yes) +tests += tst-cleanupx4 +endif +endif + tst-tls3mod.so-no-z-defs = yes tst-tls5mod.so-no-z-defs = yes tst-tls5moda.so-no-z-defs = yes diff --git a/nptl/Versions b/nptl/Versions index e3eb686a04..ff6eae2566 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -1,5 +1,9 @@ libc { GLIBC_2.0 { + _pthread_cleanup_pop; + _pthread_cleanup_pop_restore; + _pthread_cleanup_push; + _pthread_cleanup_push_defer; pthread_attr_destroy; pthread_attr_getdetachstate; pthread_attr_getinheritsched; @@ -103,6 +107,8 @@ libc { __pthread_attr_init; __pthread_attr_setaffinity_np; __pthread_attr_setsigmask_internal; + __pthread_cleanup_pop; + __pthread_cleanup_push; __pthread_cond_destroy; # Used by the C11 threads. __pthread_cond_init; # Used by the C11 threads. __pthread_force_elision; @@ -141,10 +147,6 @@ libpthread { __sigaction; __write; _exit; - _pthread_cleanup_pop; - _pthread_cleanup_pop_restore; - _pthread_cleanup_push; - _pthread_cleanup_push_defer; accept; close; connect; diff --git a/nptl/cleanup_compat.c b/nptl/cleanup_compat.c index fec88c2f86..b5fd657c38 100644 --- a/nptl/cleanup_compat.c +++ b/nptl/cleanup_compat.c @@ -16,12 +16,12 @@ License along with the GNU C Library; if not, see . */ +#include #include #include "pthreadP.h" - void -_pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer, +__pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer, void (*routine) (void *), void *arg) { struct pthread *self = THREAD_SELF; @@ -32,11 +32,10 @@ _pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer, THREAD_SETMEM (self, cleanup, buffer); } -strong_alias (_pthread_cleanup_push, __pthread_cleanup_push) - +libc_hidden_def (__pthread_cleanup_push) void -_pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute) +__pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute) { struct pthread *self __attribute ((unused)) = THREAD_SELF; @@ -47,4 +46,9 @@ _pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, int execute) if (execute) buffer->__routine (buffer->__arg); } -strong_alias (_pthread_cleanup_pop, __pthread_cleanup_pop) +libc_hidden_def (__pthread_cleanup_pop) + +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libc, __pthread_cleanup_push, _pthread_cleanup_push, GLIBC_2_0); +compat_symbol (libc, __pthread_cleanup_pop, _pthread_cleanup_pop, GLIBC_2_0); +#endif /* SHLIB_COMPAT */ diff --git a/nptl/cleanup_defer_compat.c b/nptl/cleanup_defer_compat.c index 1957318208..a172218b42 100644 --- a/nptl/cleanup_defer_compat.c +++ b/nptl/cleanup_defer_compat.c @@ -16,10 +16,13 @@ License along with the GNU C Library; if not, see . */ -#include "pthreadP.h" -#include +#include -void +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +# include "pthreadP.h" +# include + +void attribute_compat_text_section _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer, void (*routine) (void *), void *arg) { @@ -27,10 +30,10 @@ _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer, buffer->__arg = arg; __libc_cleanup_push_defer (buffer); } -strong_alias (_pthread_cleanup_push_defer, __pthread_cleanup_push_defer) - +compat_symbol (libc, _pthread_cleanup_push_defer, + _pthread_cleanup_push_defer, GLIBC_2_0); -void +void attribute_compat_text_section _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer, int execute) { @@ -41,4 +44,7 @@ _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer, if (execute) buffer->__routine (buffer->__arg); } -strong_alias (_pthread_cleanup_pop_restore, __pthread_cleanup_pop_restore) +compat_symbol (libc, _pthread_cleanup_pop_restore, + _pthread_cleanup_pop_restore, GLIBC_2_0); + +#endif /* SHLIB_COMPAT */ diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index c8538de44f..781bc65c1c 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -585,11 +585,10 @@ libc_hidden_proto (__pthread_attr_setsigmask_internal) extern __typeof (pthread_attr_getsigmask_np) __pthread_attr_getsigmask_np; libc_hidden_proto (__pthread_attr_getsigmask_np) -#if IS_IN (libpthread) /* Special versions which use non-exported functions. */ extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer, - void (*routine) (void *), void *arg) - attribute_hidden; + void (*routine) (void *), void *arg); +libc_hidden_proto (__pthread_cleanup_push) /* Replace cleanup macros defined in with internal versions that don't depend on unwind info and better support @@ -600,12 +599,13 @@ extern void __pthread_cleanup_push (struct _pthread_cleanup_buffer *buffer, __pthread_cleanup_push (&_buffer, (routine), (arg)); extern void __pthread_cleanup_pop (struct _pthread_cleanup_buffer *buffer, - int execute) attribute_hidden; + int execute); +libc_hidden_proto (__pthread_cleanup_pop) # undef pthread_cleanup_pop # define pthread_cleanup_pop(execute) \ __pthread_cleanup_pop (&_buffer, (execute)); } -# if defined __EXCEPTIONS && !defined __cplusplus +#if defined __EXCEPTIONS && !defined __cplusplus /* Structure to hold the cleanup handler information. */ struct __pthread_cleanup_combined_frame { @@ -646,7 +646,7 @@ __pthread_cleanup_combined_routine_voidptr (void *__arg) } } -# define pthread_cleanup_combined_push(routine, arg) \ +# define pthread_cleanup_combined_push(routine, arg) \ do { \ void (*__cancel_routine) (void *) = (routine); \ struct __pthread_cleanup_combined_frame __clframe \ @@ -657,15 +657,14 @@ __pthread_cleanup_combined_routine_voidptr (void *__arg) __pthread_cleanup_combined_routine_voidptr, \ &__clframe); -# define pthread_cleanup_combined_pop(execute) \ +# define pthread_cleanup_combined_pop(execute) \ __pthread_cleanup_pop (&__clframe.__buffer, 0); \ __clframe.__do_it = 0; \ if (execute) \ __cancel_routine (__clframe.__cancel_arg); \ } while (0) -# endif -#endif +#endif /* __EXCEPTIONS && !defined __cplusplus */ extern void __pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer, void (*routine) (void *), void *arg); diff --git a/nptl/tst-cleanup4.c b/nptl/tst-cleanup4.c index 24c062db1a..4eb51580bc 100644 --- a/nptl/tst-cleanup4.c +++ b/nptl/tst-cleanup4.c @@ -17,6 +17,7 @@ . */ #include +#include #include #include #include @@ -25,8 +26,12 @@ extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer, void (*__routine) (void *), void *__arg); +compat_symbol_reference (libc, _pthread_cleanup_push, + _pthread_cleanup_push, GLIBC_2_0); extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer, int __execute); +compat_symbol_reference (libc, _pthread_cleanup_pop, + _pthread_cleanup_pop, GLIBC_2_0); static int fds[2]; static pthread_barrier_t b2; diff --git a/nptl/tst-cleanup4aux.c b/nptl/tst-cleanup4aux.c index d20730ddf2..7713f9c612 100644 --- a/nptl/tst-cleanup4aux.c +++ b/nptl/tst-cleanup4aux.c @@ -17,6 +17,7 @@ . */ #include +#include #include #include #include @@ -24,8 +25,12 @@ extern void _pthread_cleanup_push (struct _pthread_cleanup_buffer *__buffer, void (*__routine) (void *), void *__arg); +compat_symbol_reference (libc, _pthread_cleanup_push, + _pthread_cleanup_push, GLIBC_2_0); extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer, int __execute); +compat_symbol_reference (libc, _pthread_cleanup_pop, + _pthread_cleanup_pop, GLIBC_2_0); extern void clh (void *arg); extern void fn0 (void); diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index a55f3d9667..a585f7d30d 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -538,6 +538,10 @@ GLIBC_2.17 _obstack_begin_1 F GLIBC_2.17 _obstack_free F GLIBC_2.17 _obstack_memory_used F GLIBC_2.17 _obstack_newchunk F +GLIBC_2.17 _pthread_cleanup_pop F +GLIBC_2.17 _pthread_cleanup_pop_restore F +GLIBC_2.17 _pthread_cleanup_push F +GLIBC_2.17 _pthread_cleanup_push_defer F GLIBC_2.17 _res D 0x238 GLIBC_2.17 _res_hconf D 0x48 GLIBC_2.17 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index ad2492cb4c..6047fa274f 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -43,10 +43,6 @@ GLIBC_2.17 __res_state F GLIBC_2.17 __send F GLIBC_2.17 __sigaction F GLIBC_2.17 __write F -GLIBC_2.17 _pthread_cleanup_pop F -GLIBC_2.17 _pthread_cleanup_pop_restore F -GLIBC_2.17 _pthread_cleanup_push F -GLIBC_2.17 _pthread_cleanup_push_defer F GLIBC_2.17 accept F GLIBC_2.17 close F GLIBC_2.17 connect F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 54a11b7e76..c9ac935ccf 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -277,6 +277,10 @@ GLIBC_2.0 _obstack_newchunk F GLIBC_2.0 _outb F GLIBC_2.0 _outl F GLIBC_2.0 _outw F +GLIBC_2.0 _pthread_cleanup_pop F +GLIBC_2.0 _pthread_cleanup_pop_restore F +GLIBC_2.0 _pthread_cleanup_push F +GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 _res D 0x238 GLIBC_2.0 _rpc_dtablesize F GLIBC_2.0 _seterr_reply F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 1eff0da935..5f8c13bb69 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -24,10 +24,6 @@ GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 __write F -GLIBC_2.0 _pthread_cleanup_pop F -GLIBC_2.0 _pthread_cleanup_pop_restore F -GLIBC_2.0 _pthread_cleanup_push F -GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 accept F GLIBC_2.0 close F GLIBC_2.0 connect F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index a229125212..27fecc5c8a 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -506,6 +506,10 @@ GLIBC_2.32 _obstack_begin_1 F GLIBC_2.32 _obstack_free F GLIBC_2.32 _obstack_memory_used F GLIBC_2.32 _obstack_newchunk F +GLIBC_2.32 _pthread_cleanup_pop F +GLIBC_2.32 _pthread_cleanup_pop_restore F +GLIBC_2.32 _pthread_cleanup_push F +GLIBC_2.32 _pthread_cleanup_push_defer F GLIBC_2.32 _res D 0x200 GLIBC_2.32 _res_hconf D 0x30 GLIBC_2.32 _setjmp F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index c635f1dac9..9713a20071 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -42,10 +42,6 @@ GLIBC_2.32 __res_state F GLIBC_2.32 __send F GLIBC_2.32 __sigaction F GLIBC_2.32 __write F -GLIBC_2.32 _pthread_cleanup_pop F -GLIBC_2.32 _pthread_cleanup_pop_restore F -GLIBC_2.32 _pthread_cleanup_push F -GLIBC_2.32 _pthread_cleanup_push_defer F GLIBC_2.32 accept F GLIBC_2.32 call_once F GLIBC_2.32 close F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index cfc58ca510..2383d95094 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -683,6 +683,10 @@ GLIBC_2.4 _obstack_begin_1 F GLIBC_2.4 _obstack_free F GLIBC_2.4 _obstack_memory_used F GLIBC_2.4 _obstack_newchunk F +GLIBC_2.4 _pthread_cleanup_pop F +GLIBC_2.4 _pthread_cleanup_pop_restore F +GLIBC_2.4 _pthread_cleanup_push F +GLIBC_2.4 _pthread_cleanup_push_defer F GLIBC_2.4 _res D 0x200 GLIBC_2.4 _res_hconf D 0x30 GLIBC_2.4 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index 79c5f66cff..c2e78416b8 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -77,10 +77,6 @@ GLIBC_2.4 __res_state F GLIBC_2.4 __send F GLIBC_2.4 __sigaction F GLIBC_2.4 __write F -GLIBC_2.4 _pthread_cleanup_pop F -GLIBC_2.4 _pthread_cleanup_pop_restore F -GLIBC_2.4 _pthread_cleanup_push F -GLIBC_2.4 _pthread_cleanup_push_defer F GLIBC_2.4 accept F GLIBC_2.4 close F GLIBC_2.4 connect F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index e725ee6217..bb46b8b5e3 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -680,6 +680,10 @@ GLIBC_2.4 _obstack_begin_1 F GLIBC_2.4 _obstack_free F GLIBC_2.4 _obstack_memory_used F GLIBC_2.4 _obstack_newchunk F +GLIBC_2.4 _pthread_cleanup_pop F +GLIBC_2.4 _pthread_cleanup_pop_restore F +GLIBC_2.4 _pthread_cleanup_push F +GLIBC_2.4 _pthread_cleanup_push_defer F GLIBC_2.4 _res D 0x200 GLIBC_2.4 _res_hconf D 0x30 GLIBC_2.4 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index 79c5f66cff..c2e78416b8 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -77,10 +77,6 @@ GLIBC_2.4 __res_state F GLIBC_2.4 __send F GLIBC_2.4 __sigaction F GLIBC_2.4 __write F -GLIBC_2.4 _pthread_cleanup_pop F -GLIBC_2.4 _pthread_cleanup_pop_restore F -GLIBC_2.4 _pthread_cleanup_push F -GLIBC_2.4 _pthread_cleanup_push_defer F GLIBC_2.4 accept F GLIBC_2.4 close F GLIBC_2.4 connect F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index 51d9d33b13..684e451f83 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -515,6 +515,10 @@ GLIBC_2.29 _obstack_begin_1 F GLIBC_2.29 _obstack_free F GLIBC_2.29 _obstack_memory_used F GLIBC_2.29 _obstack_newchunk F +GLIBC_2.29 _pthread_cleanup_pop F +GLIBC_2.29 _pthread_cleanup_pop_restore F +GLIBC_2.29 _pthread_cleanup_push F +GLIBC_2.29 _pthread_cleanup_push_defer F GLIBC_2.29 _res D 0x200 GLIBC_2.29 _res_hconf D 0x30 GLIBC_2.29 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index e242edb9c3..bb8a51a51d 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -42,10 +42,6 @@ GLIBC_2.29 __res_state F GLIBC_2.29 __send F GLIBC_2.29 __sigaction F GLIBC_2.29 __write F -GLIBC_2.29 _pthread_cleanup_pop F -GLIBC_2.29 _pthread_cleanup_pop_restore F -GLIBC_2.29 _pthread_cleanup_push F -GLIBC_2.29 _pthread_cleanup_push_defer F GLIBC_2.29 accept F GLIBC_2.29 call_once F GLIBC_2.29 close F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 914aef5f35..8dde237f8b 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -502,6 +502,10 @@ GLIBC_2.2 _obstack_begin_1 F GLIBC_2.2 _obstack_free F GLIBC_2.2 _obstack_memory_used F GLIBC_2.2 _obstack_newchunk F +GLIBC_2.2 _pthread_cleanup_pop F +GLIBC_2.2 _pthread_cleanup_pop_restore F +GLIBC_2.2 _pthread_cleanup_push F +GLIBC_2.2 _pthread_cleanup_push_defer F GLIBC_2.2 _res D 0x200 GLIBC_2.2 _res_hconf D 0x30 GLIBC_2.2 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 8ce3580478..8d7aa63a02 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -45,10 +45,6 @@ GLIBC_2.2 __res_state F GLIBC_2.2 __send F GLIBC_2.2 __sigaction F GLIBC_2.2 __write F -GLIBC_2.2 _pthread_cleanup_pop F -GLIBC_2.2 _pthread_cleanup_pop_restore F -GLIBC_2.2 _pthread_cleanup_push F -GLIBC_2.2 _pthread_cleanup_push_defer F GLIBC_2.2 accept F GLIBC_2.2 close F GLIBC_2.2 connect F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index f7ca08f695..cc2226be23 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -265,6 +265,10 @@ GLIBC_2.0 _obstack_begin_1 F GLIBC_2.0 _obstack_free F GLIBC_2.0 _obstack_memory_used F GLIBC_2.0 _obstack_newchunk F +GLIBC_2.0 _pthread_cleanup_pop F +GLIBC_2.0 _pthread_cleanup_pop_restore F +GLIBC_2.0 _pthread_cleanup_push F +GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 _res D 0x200 GLIBC_2.0 _rpc_dtablesize F GLIBC_2.0 _seterr_reply F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index d3fc0f2d70..ee156d6f49 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -24,10 +24,6 @@ GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 __write F -GLIBC_2.0 _pthread_cleanup_pop F -GLIBC_2.0 _pthread_cleanup_pop_restore F -GLIBC_2.0 _pthread_cleanup_push F -GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 accept F GLIBC_2.0 close F GLIBC_2.0 connect F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index a77ab9816b..438f3bd131 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -514,6 +514,10 @@ GLIBC_2.2 _obstack_newchunk F GLIBC_2.2 _outb F GLIBC_2.2 _outl F GLIBC_2.2 _outw F +GLIBC_2.2 _pthread_cleanup_pop F +GLIBC_2.2 _pthread_cleanup_pop_restore F +GLIBC_2.2 _pthread_cleanup_push F +GLIBC_2.2 _pthread_cleanup_push_defer F GLIBC_2.2 _res D 0x238 GLIBC_2.2 _res_hconf D 0x48 GLIBC_2.2 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index d7000f415e..ab6a5cfb78 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -45,10 +45,6 @@ GLIBC_2.2 __res_state F GLIBC_2.2 __send F GLIBC_2.2 __sigaction F GLIBC_2.2 __write F -GLIBC_2.2 _pthread_cleanup_pop F -GLIBC_2.2 _pthread_cleanup_pop_restore F -GLIBC_2.2 _pthread_cleanup_push F -GLIBC_2.2 _pthread_cleanup_push_defer F GLIBC_2.2 accept F GLIBC_2.2 close F GLIBC_2.2 connect F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 49a3997d83..5add3e607a 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -671,6 +671,10 @@ GLIBC_2.4 _obstack_begin_1 F GLIBC_2.4 _obstack_free F GLIBC_2.4 _obstack_memory_used F GLIBC_2.4 _obstack_newchunk F +GLIBC_2.4 _pthread_cleanup_pop F +GLIBC_2.4 _pthread_cleanup_pop_restore F +GLIBC_2.4 _pthread_cleanup_push F +GLIBC_2.4 _pthread_cleanup_push_defer F GLIBC_2.4 _res D 0x1fe GLIBC_2.4 _res_hconf D 0x30 GLIBC_2.4 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index 79c5f66cff..c2e78416b8 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -77,10 +77,6 @@ GLIBC_2.4 __res_state F GLIBC_2.4 __send F GLIBC_2.4 __sigaction F GLIBC_2.4 __write F -GLIBC_2.4 _pthread_cleanup_pop F -GLIBC_2.4 _pthread_cleanup_pop_restore F -GLIBC_2.4 _pthread_cleanup_push F -GLIBC_2.4 _pthread_cleanup_push_defer F GLIBC_2.4 accept F GLIBC_2.4 close F GLIBC_2.4 connect F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 9969b02829..2e7c9f9b47 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -265,6 +265,10 @@ GLIBC_2.0 _obstack_begin_1 F GLIBC_2.0 _obstack_free F GLIBC_2.0 _obstack_memory_used F GLIBC_2.0 _obstack_newchunk F +GLIBC_2.0 _pthread_cleanup_pop F +GLIBC_2.0 _pthread_cleanup_pop_restore F +GLIBC_2.0 _pthread_cleanup_push F +GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 _res D 0x1fe GLIBC_2.0 _rpc_dtablesize F GLIBC_2.0 _seterr_reply F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index d3fc0f2d70..ee156d6f49 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -24,10 +24,6 @@ GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 __write F -GLIBC_2.0 _pthread_cleanup_pop F -GLIBC_2.0 _pthread_cleanup_pop_restore F -GLIBC_2.0 _pthread_cleanup_push F -GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 accept F GLIBC_2.0 close F GLIBC_2.0 connect F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index eb6d753ae8..493f7ddaa0 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -541,6 +541,10 @@ GLIBC_2.18 _obstack_begin_1 F GLIBC_2.18 _obstack_free F GLIBC_2.18 _obstack_memory_used F GLIBC_2.18 _obstack_newchunk F +GLIBC_2.18 _pthread_cleanup_pop F +GLIBC_2.18 _pthread_cleanup_pop_restore F +GLIBC_2.18 _pthread_cleanup_push F +GLIBC_2.18 _pthread_cleanup_push_defer F GLIBC_2.18 _res D 0x200 GLIBC_2.18 _res_hconf D 0x30 GLIBC_2.18 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index c096915557..1f516569ba 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -43,10 +43,6 @@ GLIBC_2.18 __res_state F GLIBC_2.18 __send F GLIBC_2.18 __sigaction F GLIBC_2.18 __write F -GLIBC_2.18 _pthread_cleanup_pop F -GLIBC_2.18 _pthread_cleanup_pop_restore F -GLIBC_2.18 _pthread_cleanup_push F -GLIBC_2.18 _pthread_cleanup_push_defer F GLIBC_2.18 accept F GLIBC_2.18 close F GLIBC_2.18 connect F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 7c3d154267..ec83b89aa3 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -541,6 +541,10 @@ GLIBC_2.18 _obstack_begin_1 F GLIBC_2.18 _obstack_free F GLIBC_2.18 _obstack_memory_used F GLIBC_2.18 _obstack_newchunk F +GLIBC_2.18 _pthread_cleanup_pop F +GLIBC_2.18 _pthread_cleanup_pop_restore F +GLIBC_2.18 _pthread_cleanup_push F +GLIBC_2.18 _pthread_cleanup_push_defer F GLIBC_2.18 _res D 0x200 GLIBC_2.18 _res_hconf D 0x30 GLIBC_2.18 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index c096915557..1f516569ba 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -43,10 +43,6 @@ GLIBC_2.18 __res_state F GLIBC_2.18 __send F GLIBC_2.18 __sigaction F GLIBC_2.18 __write F -GLIBC_2.18 _pthread_cleanup_pop F -GLIBC_2.18 _pthread_cleanup_pop_restore F -GLIBC_2.18 _pthread_cleanup_push F -GLIBC_2.18 _pthread_cleanup_push_defer F GLIBC_2.18 accept F GLIBC_2.18 close F GLIBC_2.18 connect F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index bb2c61d8b4..cb0ab4bc19 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -262,6 +262,10 @@ GLIBC_2.0 _obstack_begin_1 F GLIBC_2.0 _obstack_free F GLIBC_2.0 _obstack_memory_used F GLIBC_2.0 _obstack_newchunk F +GLIBC_2.0 _pthread_cleanup_pop F +GLIBC_2.0 _pthread_cleanup_pop_restore F +GLIBC_2.0 _pthread_cleanup_push F +GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 _res D 0x200 GLIBC_2.0 _rpc_dtablesize F GLIBC_2.0 _seterr_reply F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 358a13524a..903f49957f 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -24,10 +24,6 @@ GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 __write F -GLIBC_2.0 _pthread_cleanup_pop F -GLIBC_2.0 _pthread_cleanup_pop_restore F -GLIBC_2.0 _pthread_cleanup_push F -GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 accept F GLIBC_2.0 close F GLIBC_2.0 connect F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 7a418b2e12..2be2623e99 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -262,6 +262,10 @@ GLIBC_2.0 _obstack_begin_1 F GLIBC_2.0 _obstack_free F GLIBC_2.0 _obstack_memory_used F GLIBC_2.0 _obstack_newchunk F +GLIBC_2.0 _pthread_cleanup_pop F +GLIBC_2.0 _pthread_cleanup_pop_restore F +GLIBC_2.0 _pthread_cleanup_push F +GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 _res D 0x200 GLIBC_2.0 _rpc_dtablesize F GLIBC_2.0 _seterr_reply F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 358a13524a..903f49957f 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -24,10 +24,6 @@ GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 __write F -GLIBC_2.0 _pthread_cleanup_pop F -GLIBC_2.0 _pthread_cleanup_pop_restore F -GLIBC_2.0 _pthread_cleanup_push F -GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 accept F GLIBC_2.0 close F GLIBC_2.0 connect F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 29d9e4045a..09147861b5 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -262,6 +262,10 @@ GLIBC_2.0 _obstack_begin_1 F GLIBC_2.0 _obstack_free F GLIBC_2.0 _obstack_memory_used F GLIBC_2.0 _obstack_newchunk F +GLIBC_2.0 _pthread_cleanup_pop F +GLIBC_2.0 _pthread_cleanup_pop_restore F +GLIBC_2.0 _pthread_cleanup_push F +GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 _res D 0x200 GLIBC_2.0 _rpc_dtablesize F GLIBC_2.0 _seterr_reply F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index 404789db07..4a0208c8c8 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -260,6 +260,10 @@ GLIBC_2.0 _obstack_begin_1 F GLIBC_2.0 _obstack_free F GLIBC_2.0 _obstack_memory_used F GLIBC_2.0 _obstack_newchunk F +GLIBC_2.0 _pthread_cleanup_pop F +GLIBC_2.0 _pthread_cleanup_pop_restore F +GLIBC_2.0 _pthread_cleanup_push F +GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 _res D 0x238 GLIBC_2.0 _rpc_dtablesize F GLIBC_2.0 _seterr_reply F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 468444aa86..078025a7d6 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -582,6 +582,10 @@ GLIBC_2.21 _obstack_begin_1 F GLIBC_2.21 _obstack_free F GLIBC_2.21 _obstack_memory_used F GLIBC_2.21 _obstack_newchunk F +GLIBC_2.21 _pthread_cleanup_pop F +GLIBC_2.21 _pthread_cleanup_pop_restore F +GLIBC_2.21 _pthread_cleanup_push F +GLIBC_2.21 _pthread_cleanup_push_defer F GLIBC_2.21 _res D 0x200 GLIBC_2.21 _res_hconf D 0x30 GLIBC_2.21 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index 6379c1f86c..cd41c7d42b 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -43,10 +43,6 @@ GLIBC_2.21 __res_state F GLIBC_2.21 __send F GLIBC_2.21 __sigaction F GLIBC_2.21 __write F -GLIBC_2.21 _pthread_cleanup_pop F -GLIBC_2.21 _pthread_cleanup_pop_restore F -GLIBC_2.21 _pthread_cleanup_push F -GLIBC_2.21 _pthread_cleanup_push_defer F GLIBC_2.21 accept F GLIBC_2.21 close F GLIBC_2.21 connect F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index 41ba4fdb29..bc79b844a5 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -275,6 +275,10 @@ GLIBC_2.0 _obstack_begin_1 F GLIBC_2.0 _obstack_free F GLIBC_2.0 _obstack_memory_used F GLIBC_2.0 _obstack_newchunk F +GLIBC_2.0 _pthread_cleanup_pop F +GLIBC_2.0 _pthread_cleanup_pop_restore F +GLIBC_2.0 _pthread_cleanup_push F +GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 _res D 0x200 GLIBC_2.0 _rpc_dtablesize F GLIBC_2.0 _seterr_reply F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index 7c6e78f6ce..589a865796 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -24,10 +24,6 @@ GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 __write F -GLIBC_2.0 _pthread_cleanup_pop F -GLIBC_2.0 _pthread_cleanup_pop_restore F -GLIBC_2.0 _pthread_cleanup_push F -GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 accept F GLIBC_2.0 close F GLIBC_2.0 connect F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 1d030db5f7..63c05472ed 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -275,6 +275,10 @@ GLIBC_2.0 _obstack_begin_1 F GLIBC_2.0 _obstack_free F GLIBC_2.0 _obstack_memory_used F GLIBC_2.0 _obstack_newchunk F +GLIBC_2.0 _pthread_cleanup_pop F +GLIBC_2.0 _pthread_cleanup_pop_restore F +GLIBC_2.0 _pthread_cleanup_push F +GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 _res D 0x200 GLIBC_2.0 _rpc_dtablesize F GLIBC_2.0 _seterr_reply F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 9f86b81d65..37e4ee564d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -561,6 +561,10 @@ GLIBC_2.3 _obstack_begin_1 F GLIBC_2.3 _obstack_free F GLIBC_2.3 _obstack_memory_used F GLIBC_2.3 _obstack_newchunk F +GLIBC_2.3 _pthread_cleanup_pop F +GLIBC_2.3 _pthread_cleanup_pop_restore F +GLIBC_2.3 _pthread_cleanup_push F +GLIBC_2.3 _pthread_cleanup_push_defer F GLIBC_2.3 _res D 0x238 GLIBC_2.3 _res_hconf D 0x48 GLIBC_2.3 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 773d873bd1..7c1553be29 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -66,10 +66,6 @@ GLIBC_2.3 __res_state F GLIBC_2.3 __send F GLIBC_2.3 __sigaction F GLIBC_2.3 __write F -GLIBC_2.3 _pthread_cleanup_pop F -GLIBC_2.3 _pthread_cleanup_pop_restore F -GLIBC_2.3 _pthread_cleanup_push F -GLIBC_2.3 _pthread_cleanup_push_defer F GLIBC_2.3 accept F GLIBC_2.3 close F GLIBC_2.3 connect F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 599d06d56f..1888ec6e86 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -627,6 +627,10 @@ GLIBC_2.17 _obstack_begin_1 F GLIBC_2.17 _obstack_free F GLIBC_2.17 _obstack_memory_used F GLIBC_2.17 _obstack_newchunk F +GLIBC_2.17 _pthread_cleanup_pop F +GLIBC_2.17 _pthread_cleanup_pop_restore F +GLIBC_2.17 _pthread_cleanup_push F +GLIBC_2.17 _pthread_cleanup_push_defer F GLIBC_2.17 _res D 0x238 GLIBC_2.17 _res_hconf D 0x48 GLIBC_2.17 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index ad2492cb4c..6047fa274f 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -43,10 +43,6 @@ GLIBC_2.17 __res_state F GLIBC_2.17 __send F GLIBC_2.17 __sigaction F GLIBC_2.17 __write F -GLIBC_2.17 _pthread_cleanup_pop F -GLIBC_2.17 _pthread_cleanup_pop_restore F -GLIBC_2.17 _pthread_cleanup_push F -GLIBC_2.17 _pthread_cleanup_push_defer F GLIBC_2.17 accept F GLIBC_2.17 close F GLIBC_2.17 connect F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 9f0068ba1c..8cd92b1abe 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -500,6 +500,10 @@ GLIBC_2.33 _obstack_begin_1 F GLIBC_2.33 _obstack_free F GLIBC_2.33 _obstack_memory_used F GLIBC_2.33 _obstack_newchunk F +GLIBC_2.33 _pthread_cleanup_pop F +GLIBC_2.33 _pthread_cleanup_pop_restore F +GLIBC_2.33 _pthread_cleanup_push F +GLIBC_2.33 _pthread_cleanup_push_defer F GLIBC_2.33 _res D 0x200 GLIBC_2.33 _res_hconf D 0x30 GLIBC_2.33 _setjmp F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index 76484b8073..71e8f38003 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -42,10 +42,6 @@ GLIBC_2.33 __res_state F GLIBC_2.33 __send F GLIBC_2.33 __sigaction F GLIBC_2.33 __write F -GLIBC_2.33 _pthread_cleanup_pop F -GLIBC_2.33 _pthread_cleanup_pop_restore F -GLIBC_2.33 _pthread_cleanup_push F -GLIBC_2.33 _pthread_cleanup_push_defer F GLIBC_2.33 accept F GLIBC_2.33 call_once F GLIBC_2.33 close F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 833d6f11d6..894f01282f 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -521,6 +521,10 @@ GLIBC_2.27 _obstack_begin_1 F GLIBC_2.27 _obstack_free F GLIBC_2.27 _obstack_memory_used F GLIBC_2.27 _obstack_newchunk F +GLIBC_2.27 _pthread_cleanup_pop F +GLIBC_2.27 _pthread_cleanup_pop_restore F +GLIBC_2.27 _pthread_cleanup_push F +GLIBC_2.27 _pthread_cleanup_push_defer F GLIBC_2.27 _res D 0x238 GLIBC_2.27 _res_hconf D 0x48 GLIBC_2.27 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index 2332ba5927..f5f9baefb9 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -43,10 +43,6 @@ GLIBC_2.27 __res_state F GLIBC_2.27 __send F GLIBC_2.27 __sigaction F GLIBC_2.27 __write F -GLIBC_2.27 _pthread_cleanup_pop F -GLIBC_2.27 _pthread_cleanup_pop_restore F -GLIBC_2.27 _pthread_cleanup_push F -GLIBC_2.27 _pthread_cleanup_push_defer F GLIBC_2.27 accept F GLIBC_2.27 close F GLIBC_2.27 connect F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index a3e732e82f..8788493ce0 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -265,6 +265,10 @@ GLIBC_2.0 _obstack_begin_1 F GLIBC_2.0 _obstack_free F GLIBC_2.0 _obstack_memory_used F GLIBC_2.0 _obstack_newchunk F +GLIBC_2.0 _pthread_cleanup_pop F +GLIBC_2.0 _pthread_cleanup_pop_restore F +GLIBC_2.0 _pthread_cleanup_push F +GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 _res D 0x200 GLIBC_2.0 _rpc_dtablesize F GLIBC_2.0 _seterr_reply F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index 28cf9cfcee..7aa725ccae 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -24,10 +24,6 @@ GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 __write F -GLIBC_2.0 _pthread_cleanup_pop F -GLIBC_2.0 _pthread_cleanup_pop_restore F -GLIBC_2.0 _pthread_cleanup_push F -GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 accept F GLIBC_2.0 close F GLIBC_2.0 connect F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 4443545ed0..4596ab72b0 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -519,6 +519,10 @@ GLIBC_2.2 _obstack_begin_1 F GLIBC_2.2 _obstack_free F GLIBC_2.2 _obstack_memory_used F GLIBC_2.2 _obstack_newchunk F +GLIBC_2.2 _pthread_cleanup_pop F +GLIBC_2.2 _pthread_cleanup_pop_restore F +GLIBC_2.2 _pthread_cleanup_push F +GLIBC_2.2 _pthread_cleanup_push_defer F GLIBC_2.2 _res D 0x238 GLIBC_2.2 _res_hconf D 0x48 GLIBC_2.2 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index 5baa0fdd6f..25da7ea8dc 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -47,10 +47,6 @@ GLIBC_2.2 __res_state F GLIBC_2.2 __send F GLIBC_2.2 __sigaction F GLIBC_2.2 __write F -GLIBC_2.2 _pthread_cleanup_pop F -GLIBC_2.2 _pthread_cleanup_pop_restore F -GLIBC_2.2 _pthread_cleanup_push F -GLIBC_2.2 _pthread_cleanup_push_defer F GLIBC_2.2 accept F GLIBC_2.2 close F GLIBC_2.2 connect F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index f9cb4195cd..ae16394e8a 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -505,6 +505,10 @@ GLIBC_2.2 _obstack_begin_1 F GLIBC_2.2 _obstack_free F GLIBC_2.2 _obstack_memory_used F GLIBC_2.2 _obstack_newchunk F +GLIBC_2.2 _pthread_cleanup_pop F +GLIBC_2.2 _pthread_cleanup_pop_restore F +GLIBC_2.2 _pthread_cleanup_push F +GLIBC_2.2 _pthread_cleanup_push_defer F GLIBC_2.2 _res D 0x200 GLIBC_2.2 _res_hconf D 0x30 GLIBC_2.2 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 8ce3580478..8d7aa63a02 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -45,10 +45,6 @@ GLIBC_2.2 __res_state F GLIBC_2.2 __send F GLIBC_2.2 __sigaction F GLIBC_2.2 __write F -GLIBC_2.2 _pthread_cleanup_pop F -GLIBC_2.2 _pthread_cleanup_pop_restore F -GLIBC_2.2 _pthread_cleanup_push F -GLIBC_2.2 _pthread_cleanup_push_defer F GLIBC_2.2 accept F GLIBC_2.2 close F GLIBC_2.2 connect F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index e1ae67a464..6e45427e90 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -505,6 +505,10 @@ GLIBC_2.2 _obstack_begin_1 F GLIBC_2.2 _obstack_free F GLIBC_2.2 _obstack_memory_used F GLIBC_2.2 _obstack_newchunk F +GLIBC_2.2 _pthread_cleanup_pop F +GLIBC_2.2 _pthread_cleanup_pop_restore F +GLIBC_2.2 _pthread_cleanup_push F +GLIBC_2.2 _pthread_cleanup_push_defer F GLIBC_2.2 _res D 0x200 GLIBC_2.2 _res_hconf D 0x30 GLIBC_2.2 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 8ce3580478..8d7aa63a02 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -45,10 +45,6 @@ GLIBC_2.2 __res_state F GLIBC_2.2 __send F GLIBC_2.2 __sigaction F GLIBC_2.2 __write F -GLIBC_2.2 _pthread_cleanup_pop F -GLIBC_2.2 _pthread_cleanup_pop_restore F -GLIBC_2.2 _pthread_cleanup_push F -GLIBC_2.2 _pthread_cleanup_push_defer F GLIBC_2.2 accept F GLIBC_2.2 close F GLIBC_2.2 connect F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 9ca458b1c5..080a036590 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -267,6 +267,10 @@ GLIBC_2.0 _obstack_begin_1 F GLIBC_2.0 _obstack_free F GLIBC_2.0 _obstack_memory_used F GLIBC_2.0 _obstack_newchunk F +GLIBC_2.0 _pthread_cleanup_pop F +GLIBC_2.0 _pthread_cleanup_pop_restore F +GLIBC_2.0 _pthread_cleanup_push F +GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 _res D 0x200 GLIBC_2.0 _rpc_dtablesize F GLIBC_2.0 _seterr_reply F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 1eff0da935..5f8c13bb69 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -24,10 +24,6 @@ GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F GLIBC_2.0 __write F -GLIBC_2.0 _pthread_cleanup_pop F -GLIBC_2.0 _pthread_cleanup_pop_restore F -GLIBC_2.0 _pthread_cleanup_push F -GLIBC_2.0 _pthread_cleanup_push_defer F GLIBC_2.0 accept F GLIBC_2.0 close F GLIBC_2.0 connect F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 6af3cc116b..c8fb7da49f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -547,6 +547,10 @@ GLIBC_2.2 _obstack_begin_1 F GLIBC_2.2 _obstack_free F GLIBC_2.2 _obstack_memory_used F GLIBC_2.2 _obstack_newchunk F +GLIBC_2.2 _pthread_cleanup_pop F +GLIBC_2.2 _pthread_cleanup_pop_restore F +GLIBC_2.2 _pthread_cleanup_push F +GLIBC_2.2 _pthread_cleanup_push_defer F GLIBC_2.2 _res D 0x238 GLIBC_2.2 _res_hconf D 0x48 GLIBC_2.2 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index d7000f415e..ab6a5cfb78 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -45,10 +45,6 @@ GLIBC_2.2 __res_state F GLIBC_2.2 __send F GLIBC_2.2 __sigaction F GLIBC_2.2 __write F -GLIBC_2.2 _pthread_cleanup_pop F -GLIBC_2.2 _pthread_cleanup_pop_restore F -GLIBC_2.2 _pthread_cleanup_push F -GLIBC_2.2 _pthread_cleanup_push_defer F GLIBC_2.2 accept F GLIBC_2.2 close F GLIBC_2.2 connect F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index e267cc2a23..cde6fdb49d 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -508,6 +508,10 @@ GLIBC_2.2.5 _obstack_begin_1 F GLIBC_2.2.5 _obstack_free F GLIBC_2.2.5 _obstack_memory_used F GLIBC_2.2.5 _obstack_newchunk F +GLIBC_2.2.5 _pthread_cleanup_pop F +GLIBC_2.2.5 _pthread_cleanup_pop_restore F +GLIBC_2.2.5 _pthread_cleanup_push F +GLIBC_2.2.5 _pthread_cleanup_push_defer F GLIBC_2.2.5 _res D 0x238 GLIBC_2.2.5 _res_hconf D 0x48 GLIBC_2.2.5 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index f0271930eb..301c0817b8 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -45,10 +45,6 @@ GLIBC_2.2.5 __res_state F GLIBC_2.2.5 __send F GLIBC_2.2.5 __sigaction F GLIBC_2.2.5 __write F -GLIBC_2.2.5 _pthread_cleanup_pop F -GLIBC_2.2.5 _pthread_cleanup_pop_restore F -GLIBC_2.2.5 _pthread_cleanup_push F -GLIBC_2.2.5 _pthread_cleanup_push_defer F GLIBC_2.2.5 accept F GLIBC_2.2.5 close F GLIBC_2.2.5 connect F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index 50e860fe40..e772da1ec4 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -542,6 +542,10 @@ GLIBC_2.16 _obstack_begin_1 F GLIBC_2.16 _obstack_free F GLIBC_2.16 _obstack_memory_used F GLIBC_2.16 _obstack_newchunk F +GLIBC_2.16 _pthread_cleanup_pop F +GLIBC_2.16 _pthread_cleanup_pop_restore F +GLIBC_2.16 _pthread_cleanup_push F +GLIBC_2.16 _pthread_cleanup_push_defer F GLIBC_2.16 _res D 0x200 GLIBC_2.16 _res_hconf D 0x30 GLIBC_2.16 _rpc_dtablesize F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index aa9e127bad..31322dfabb 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -43,10 +43,6 @@ GLIBC_2.16 __res_state F GLIBC_2.16 __send F GLIBC_2.16 __sigaction F GLIBC_2.16 __write F -GLIBC_2.16 _pthread_cleanup_pop F -GLIBC_2.16 _pthread_cleanup_pop_restore F -GLIBC_2.16 _pthread_cleanup_push F -GLIBC_2.16 _pthread_cleanup_push_defer F GLIBC_2.16 accept F GLIBC_2.16 close F GLIBC_2.16 connect F From patchwork Fri Mar 12 17:49:18 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452280 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=K/yVOhQP; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dxtc753pBz9sRR for ; Sat, 13 Mar 2021 04:49:27 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3B5B5398B40A; Fri, 12 Mar 2021 17:49:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3B5B5398B40A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571356; bh=5bWJOnnjWggZkHGJu20mGgnbz/9SmN+YhVzFZYukDko=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=K/yVOhQPNsO/nD6C3nig5PWp/XNny15IDaCysAMTe+Bm4uboLo18FD1ZCaG6Pijt0 LUgzwLBMih38rOLsyW68pbNwBc60xAT5i4cXtPqtK6ow4uAKRXqLWoeZOl21OXHqjD BEUSQC2WDxQ7M7Gi2uKJiJ6tMKAXXozCeMT+4cdY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by sourceware.org (Postfix) with ESMTP id DB66239450C4 for ; Fri, 12 Mar 2021 17:49:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org DB66239450C4 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-396-pJ3mHJTANq2CJTHPRKnAlw-1; Fri, 12 Mar 2021 12:49:08 -0500 X-MC-Unique: pJ3mHJTANq2CJTHPRKnAlw-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7098064ADA for ; Fri, 12 Mar 2021 17:49:07 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 35EA960C9B for ; Fri, 12 Mar 2021 17:49:05 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 05/18] nptl: Remove longjmp, siglongjmp from libpthread In-Reply-To: References: Message-Id: <8796069624b7ecb1a21f713da7e49295af151e2c.1615569355.git.fweimer@redhat.com> Date: Fri, 12 Mar 2021 18:49:18 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The definitions in libc are sufficient, the forwarders are no longer needed. The symbols have been moved using scripts/move-symbol-to-libc.py. s390-linux-gnu and s390x-linux-gnu need a new version placeholder to keep the GLIBC_2.19 symbol version in libpthread. Tested on i386-linux-gnu, powerpc64le-linux-gnu, s390x-linux-gnu, x86_64-linux-gnu. Built with build-many-glibcs.py. --- nptl/Makefile | 1 - nptl/Versions | 2 - nptl/pt-longjmp.c | 49 ------------- .../sysv/linux/aarch64/libpthread.abilist | 2 - .../unix/sysv/linux/alpha/libpthread.abilist | 2 - .../unix/sysv/linux/arm/be/libpthread.abilist | 2 - .../unix/sysv/linux/arm/le/libpthread.abilist | 2 - .../unix/sysv/linux/hppa/libpthread.abilist | 2 - .../unix/sysv/linux/i386/libpthread.abilist | 2 - .../unix/sysv/linux/ia64/libpthread.abilist | 2 - .../linux/m68k/coldfire/libpthread.abilist | 2 - .../sysv/linux/m68k/m680x0/libpthread.abilist | 2 - .../linux/microblaze/be/libpthread.abilist | 2 - .../linux/microblaze/le/libpthread.abilist | 2 - .../sysv/linux/mips/mips32/libpthread.abilist | 2 - .../sysv/linux/mips/mips64/libpthread.abilist | 2 - .../unix/sysv/linux/nios2/libpthread.abilist | 2 - .../powerpc/powerpc32/libpthread.abilist | 4 -- .../powerpc/powerpc64/be/libpthread.abilist | 4 -- .../powerpc/powerpc64/le/libpthread.abilist | 2 - sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c | 61 ---------------- sysdeps/unix/sysv/linux/s390/Versions | 2 +- .../unix/sysv/linux/s390/libpthread-compat.c | 25 +++++++ sysdeps/unix/sysv/linux/s390/pt-longjmp.c | 33 --------- .../linux/s390/s390-32/libpthread.abilist | 5 +- .../linux/s390/s390-64/libpthread.abilist | 5 +- .../unix/sysv/linux/sh/be/libpthread.abilist | 2 - .../unix/sysv/linux/sh/le/libpthread.abilist | 2 - .../linux/sparc/sparc32/libpthread.abilist | 2 - .../linux/sparc/sparc64/libpthread.abilist | 2 - .../sysv/linux/x86_64/64/libpthread.abilist | 2 - .../sysv/linux/x86_64/x32/libpthread.abilist | 2 - sysdeps/x86/nptl/pt-longjmp.c | 71 ------------------- 33 files changed, 28 insertions(+), 276 deletions(-) delete mode 100644 nptl/pt-longjmp.c delete mode 100644 sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c create mode 100644 sysdeps/unix/sysv/linux/s390/libpthread-compat.c delete mode 100644 sysdeps/unix/sysv/linux/s390/pt-longjmp.c delete mode 100644 sysdeps/x86/nptl/pt-longjmp.c diff --git a/nptl/Makefile b/nptl/Makefile index 147a8d3d59..7e566675f2 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -116,7 +116,6 @@ libpthread-routines = \ pt-cleanup \ pt-fcntl \ pt-interp \ - pt-longjmp \ pt-raise \ pt-system \ pthread_attr_getaffinity \ diff --git a/nptl/Versions b/nptl/Versions index ff6eae2566..cf4d5b677d 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -155,7 +155,6 @@ libpthread { fsync; ftrylockfile; funlockfile; - longjmp; lseek; msync; open; @@ -205,7 +204,6 @@ libpthread { sendmsg; sendto; sigaction; - siglongjmp; sigwait; system; tcdrain; diff --git a/nptl/pt-longjmp.c b/nptl/pt-longjmp.c deleted file mode 100644 index 3f903495dc..0000000000 --- a/nptl/pt-longjmp.c +++ /dev/null @@ -1,49 +0,0 @@ -/* ABI compatibility for 'longjmp' and 'siglongjmp' symbols in libpthread ABI. - Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2002. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include -#include - -/* libpthread once had its own longjmp (and siglongjmp alias), though there - was no apparent reason for it. There is no use in having a separate - symbol in libpthread, but the historical ABI requires it. For static - linking, there is no need to provide anything here--the libc version - will be linked in. For shared library ABI compatibility, there must be - longjmp and siglongjmp symbols in libpthread.so. - - With an IFUNC resolver, it would be possible to avoid the indirection, - but the IFUNC resolver might run before the __libc_longjmp symbol has - been relocated, in which case the IFUNC resolver would not be able to - provide the correct address. */ - -#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_22) - -static void __attribute__ ((noreturn, used)) -longjmp_compat (jmp_buf env, int val) -{ - __libc_longjmp (env, val); -} - -strong_alias (longjmp_compat, longjmp_alias) -compat_symbol (libpthread, longjmp_alias, longjmp, GLIBC_2_0); - -strong_alias (longjmp_alias, siglongjmp_alias) -compat_symbol (libpthread, siglongjmp_alias, siglongjmp, GLIBC_2_0); - -#endif diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 6047fa274f..884d97efca 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -51,7 +51,6 @@ GLIBC_2.17 flockfile F GLIBC_2.17 fsync F GLIBC_2.17 ftrylockfile F GLIBC_2.17 funlockfile F -GLIBC_2.17 longjmp F GLIBC_2.17 lseek F GLIBC_2.17 lseek64 F GLIBC_2.17 msync F @@ -175,7 +174,6 @@ GLIBC_2.17 send F GLIBC_2.17 sendmsg F GLIBC_2.17 sendto F GLIBC_2.17 sigaction F -GLIBC_2.17 siglongjmp F GLIBC_2.17 sigwait F GLIBC_2.17 system F GLIBC_2.17 tcdrain F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 5f8c13bb69..e17b5183ef 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.0 flockfile F GLIBC_2.0 fsync F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 lseek F GLIBC_2.0 msync F GLIBC_2.0 open F @@ -81,7 +80,6 @@ GLIBC_2.0 send F GLIBC_2.0 sendmsg F GLIBC_2.0 sendto F GLIBC_2.0 sigaction F -GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index c2e78416b8..e75c83d47f 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -85,7 +85,6 @@ GLIBC_2.4 flockfile F GLIBC_2.4 fsync F GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F -GLIBC_2.4 longjmp F GLIBC_2.4 lseek F GLIBC_2.4 lseek64 F GLIBC_2.4 msync F @@ -204,7 +203,6 @@ GLIBC_2.4 send F GLIBC_2.4 sendmsg F GLIBC_2.4 sendto F GLIBC_2.4 sigaction F -GLIBC_2.4 siglongjmp F GLIBC_2.4 sigwait F GLIBC_2.4 system F GLIBC_2.4 tcdrain F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index c2e78416b8..e75c83d47f 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -85,7 +85,6 @@ GLIBC_2.4 flockfile F GLIBC_2.4 fsync F GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F -GLIBC_2.4 longjmp F GLIBC_2.4 lseek F GLIBC_2.4 lseek64 F GLIBC_2.4 msync F @@ -204,7 +203,6 @@ GLIBC_2.4 send F GLIBC_2.4 sendmsg F GLIBC_2.4 sendto F GLIBC_2.4 sigaction F -GLIBC_2.4 siglongjmp F GLIBC_2.4 sigwait F GLIBC_2.4 system F GLIBC_2.4 tcdrain F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 8d7aa63a02..740570ef37 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -53,7 +53,6 @@ GLIBC_2.2 flockfile F GLIBC_2.2 fsync F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F -GLIBC_2.2 longjmp F GLIBC_2.2 lseek F GLIBC_2.2 lseek64 F GLIBC_2.2 msync F @@ -157,7 +156,6 @@ GLIBC_2.2 send F GLIBC_2.2 sendmsg F GLIBC_2.2 sendto F GLIBC_2.2 sigaction F -GLIBC_2.2 siglongjmp F GLIBC_2.2 sigwait F GLIBC_2.2 system F GLIBC_2.2 tcdrain F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index ee156d6f49..0b8c5b9104 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.0 flockfile F GLIBC_2.0 fsync F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 lseek F GLIBC_2.0 msync F GLIBC_2.0 open F @@ -81,7 +80,6 @@ GLIBC_2.0 send F GLIBC_2.0 sendmsg F GLIBC_2.0 sendto F GLIBC_2.0 sigaction F -GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index ab6a5cfb78..0565c43c10 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -53,7 +53,6 @@ GLIBC_2.2 flockfile F GLIBC_2.2 fsync F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F -GLIBC_2.2 longjmp F GLIBC_2.2 lseek F GLIBC_2.2 lseek64 F GLIBC_2.2 msync F @@ -157,7 +156,6 @@ GLIBC_2.2 send F GLIBC_2.2 sendmsg F GLIBC_2.2 sendto F GLIBC_2.2 sigaction F -GLIBC_2.2 siglongjmp F GLIBC_2.2 sigwait F GLIBC_2.2 system F GLIBC_2.2 tcdrain F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index c2e78416b8..e75c83d47f 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -85,7 +85,6 @@ GLIBC_2.4 flockfile F GLIBC_2.4 fsync F GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F -GLIBC_2.4 longjmp F GLIBC_2.4 lseek F GLIBC_2.4 lseek64 F GLIBC_2.4 msync F @@ -204,7 +203,6 @@ GLIBC_2.4 send F GLIBC_2.4 sendmsg F GLIBC_2.4 sendto F GLIBC_2.4 sigaction F -GLIBC_2.4 siglongjmp F GLIBC_2.4 sigwait F GLIBC_2.4 system F GLIBC_2.4 tcdrain F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index ee156d6f49..0b8c5b9104 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.0 flockfile F GLIBC_2.0 fsync F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 lseek F GLIBC_2.0 msync F GLIBC_2.0 open F @@ -81,7 +80,6 @@ GLIBC_2.0 send F GLIBC_2.0 sendmsg F GLIBC_2.0 sendto F GLIBC_2.0 sigaction F -GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 1f516569ba..3798ae24be 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -51,7 +51,6 @@ GLIBC_2.18 flockfile F GLIBC_2.18 fsync F GLIBC_2.18 ftrylockfile F GLIBC_2.18 funlockfile F -GLIBC_2.18 longjmp F GLIBC_2.18 lseek F GLIBC_2.18 lseek64 F GLIBC_2.18 msync F @@ -177,7 +176,6 @@ GLIBC_2.18 send F GLIBC_2.18 sendmsg F GLIBC_2.18 sendto F GLIBC_2.18 sigaction F -GLIBC_2.18 siglongjmp F GLIBC_2.18 sigwait F GLIBC_2.18 system F GLIBC_2.18 tcdrain F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 1f516569ba..3798ae24be 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -51,7 +51,6 @@ GLIBC_2.18 flockfile F GLIBC_2.18 fsync F GLIBC_2.18 ftrylockfile F GLIBC_2.18 funlockfile F -GLIBC_2.18 longjmp F GLIBC_2.18 lseek F GLIBC_2.18 lseek64 F GLIBC_2.18 msync F @@ -177,7 +176,6 @@ GLIBC_2.18 send F GLIBC_2.18 sendmsg F GLIBC_2.18 sendto F GLIBC_2.18 sigaction F -GLIBC_2.18 siglongjmp F GLIBC_2.18 sigwait F GLIBC_2.18 system F GLIBC_2.18 tcdrain F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 903f49957f..79da59eb81 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.0 flockfile F GLIBC_2.0 fsync F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 lseek F GLIBC_2.0 msync F GLIBC_2.0 open F @@ -81,7 +80,6 @@ GLIBC_2.0 send F GLIBC_2.0 sendmsg F GLIBC_2.0 sendto F GLIBC_2.0 sigaction F -GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 903f49957f..79da59eb81 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.0 flockfile F GLIBC_2.0 fsync F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 lseek F GLIBC_2.0 msync F GLIBC_2.0 open F @@ -81,7 +80,6 @@ GLIBC_2.0 send F GLIBC_2.0 sendmsg F GLIBC_2.0 sendto F GLIBC_2.0 sigaction F -GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index cd41c7d42b..9dadbc85cc 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -51,7 +51,6 @@ GLIBC_2.21 flockfile F GLIBC_2.21 fsync F GLIBC_2.21 ftrylockfile F GLIBC_2.21 funlockfile F -GLIBC_2.21 longjmp F GLIBC_2.21 lseek F GLIBC_2.21 lseek64 F GLIBC_2.21 msync F @@ -177,7 +176,6 @@ GLIBC_2.21 send F GLIBC_2.21 sendmsg F GLIBC_2.21 sendto F GLIBC_2.21 sigaction F -GLIBC_2.21 siglongjmp F GLIBC_2.21 sigwait F GLIBC_2.21 system F GLIBC_2.21 tcdrain F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index 589a865796..c852fcc147 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.0 flockfile F GLIBC_2.0 fsync F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 lseek F GLIBC_2.0 msync F GLIBC_2.0 open F @@ -81,7 +80,6 @@ GLIBC_2.0 send F GLIBC_2.0 sendmsg F GLIBC_2.0 sendto F GLIBC_2.0 sigaction F -GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F @@ -209,11 +207,9 @@ GLIBC_2.3.3 pthread_condattr_setclock F GLIBC_2.3.3 pthread_setaffinity_np F GLIBC_2.3.3 pthread_timedjoin_np F GLIBC_2.3.3 pthread_tryjoin_np F -GLIBC_2.3.4 longjmp F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_setaffinity_np F GLIBC_2.3.4 pthread_setschedprio F -GLIBC_2.3.4 siglongjmp F GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 7c1553be29..b7d0c8b743 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -74,7 +74,6 @@ GLIBC_2.3 flockfile F GLIBC_2.3 fsync F GLIBC_2.3 ftrylockfile F GLIBC_2.3 funlockfile F -GLIBC_2.3 longjmp F GLIBC_2.3 lseek F GLIBC_2.3 lseek64 F GLIBC_2.3 msync F @@ -177,7 +176,6 @@ GLIBC_2.3 send F GLIBC_2.3 sendmsg F GLIBC_2.3 sendto F GLIBC_2.3 sigaction F -GLIBC_2.3 siglongjmp F GLIBC_2.3 sigwait F GLIBC_2.3 system F GLIBC_2.3 tcdrain F @@ -198,11 +196,9 @@ GLIBC_2.3.3 pthread_condattr_setclock F GLIBC_2.3.3 pthread_setaffinity_np F GLIBC_2.3.3 pthread_timedjoin_np F GLIBC_2.3.3 pthread_tryjoin_np F -GLIBC_2.3.4 longjmp F GLIBC_2.3.4 pthread_attr_getaffinity_np F GLIBC_2.3.4 pthread_setaffinity_np F GLIBC_2.3.4 pthread_setschedprio F -GLIBC_2.3.4 siglongjmp F GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index 6047fa274f..884d97efca 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -51,7 +51,6 @@ GLIBC_2.17 flockfile F GLIBC_2.17 fsync F GLIBC_2.17 ftrylockfile F GLIBC_2.17 funlockfile F -GLIBC_2.17 longjmp F GLIBC_2.17 lseek F GLIBC_2.17 lseek64 F GLIBC_2.17 msync F @@ -175,7 +174,6 @@ GLIBC_2.17 send F GLIBC_2.17 sendmsg F GLIBC_2.17 sendto F GLIBC_2.17 sigaction F -GLIBC_2.17 siglongjmp F GLIBC_2.17 sigwait F GLIBC_2.17 system F GLIBC_2.17 tcdrain F diff --git a/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c b/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c deleted file mode 100644 index ed6b2a5db1..0000000000 --- a/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2002. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include -#include -#include -#include "pthreadP.h" -#include -#if defined SHARED && SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_3_4) - -/* These functions are not declared anywhere since they shouldn't be - used at another place but here. */ -extern void __novmx__libc_siglongjmp (sigjmp_buf env, int val) - __attribute__ ((noreturn)); -extern void __novmx__libc_longjmp (sigjmp_buf env, int val) - __attribute__ ((noreturn)); - - -void __novmx_siglongjmp (sigjmp_buf env, int val) -{ - __novmx__libc_siglongjmp (env, val); -} - -void __novmx_longjmp (jmp_buf env, int val) -{ - __novmx__libc_longjmp (env, val); -} - -compat_symbol (libpthread, __novmx_longjmp, longjmp, GLIBC_2_0); -compat_symbol (libpthread, __novmx_siglongjmp, siglongjmp, GLIBC_2_0); -#endif /* defined SHARED && SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_3_4)) */ - -void -__vmx_longjmp (jmp_buf env, int val) -{ - __libc_longjmp (env, val); -} - -void -__vmx_siglongjmp (jmp_buf env, int val) -{ - __libc_siglongjmp (env, val); -} - -versioned_symbol (libpthread, __vmx_longjmp, longjmp, GLIBC_2_3_4); -versioned_symbol (libpthread, __vmx_siglongjmp, siglongjmp, GLIBC_2_3_4); diff --git a/sysdeps/unix/sysv/linux/s390/Versions b/sysdeps/unix/sysv/linux/s390/Versions index 55518a7e5f..548397fcff 100644 --- a/sysdeps/unix/sysv/linux/s390/Versions +++ b/sysdeps/unix/sysv/linux/s390/Versions @@ -11,6 +11,6 @@ libc { libpthread { GLIBC_2.19 { - longjmp; siglongjmp; + __libpthread_version_placeholder; } } diff --git a/sysdeps/unix/sysv/linux/s390/libpthread-compat.c b/sysdeps/unix/sysv/linux/s390/libpthread-compat.c new file mode 100644 index 0000000000..e8a7b6db5e --- /dev/null +++ b/sysdeps/unix/sysv/linux/s390/libpthread-compat.c @@ -0,0 +1,25 @@ +/* Placeholder definitions to pull in removed symbol versions. s390 version. + Copyright (C) 2019-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 + . */ + +#include + +/* GLIBC_2.19 was used by a longjmp compatibility symbol. */ +#if (SHLIB_COMPAT (libpthread, GLIBC_2_19, GLIBC_2_20)) +compat_symbol_unique (libpthread, + __libpthread_version_placeholder, GLIBC_2_19); +#endif diff --git a/sysdeps/unix/sysv/linux/s390/pt-longjmp.c b/sysdeps/unix/sysv/linux/s390/pt-longjmp.c deleted file mode 100644 index 6e97ed538b..0000000000 --- a/sysdeps/unix/sysv/linux/s390/pt-longjmp.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 2014-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 - . - - Versioned copy of nptl/pt-longjmp.c modified for versioning - the reverted jmpbuf extension. */ - -#include - -#include - -#if SHLIB_COMPAT (libpthread, GLIBC_2_19, GLIBC_2_20) -/* In glibc release 2.19 new versions of longjmp-functions were introduced, - but were reverted before 2.20. Thus both versions are the same function. */ - -strong_alias (longjmp_alias, __v2longjmp) -compat_symbol (libpthread, __v2longjmp, longjmp, GLIBC_2_19); -strong_alias (siglongjmp_alias, __v2siglongjmp) -compat_symbol (libpthread, __v2siglongjmp, siglongjmp, GLIBC_2_19); -#endif /* SHLIB_COMPAT (libpthread, GLIBC_2_19, GLIBC_2_20)) */ diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index 7aa725ccae..518a08ad1e 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.0 flockfile F GLIBC_2.0 fsync F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 lseek F GLIBC_2.0 msync F GLIBC_2.0 open F @@ -81,7 +80,6 @@ GLIBC_2.0 send F GLIBC_2.0 sendmsg F GLIBC_2.0 sendto F GLIBC_2.0 sigaction F -GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F @@ -130,8 +128,7 @@ GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.19 longjmp F -GLIBC_2.19 siglongjmp F +GLIBC_2.19 __libpthread_version_placeholder F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_rwlock_destroy F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index 25da7ea8dc..c21f7cfea6 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -5,8 +5,7 @@ GLIBC_2.12 pthread_mutexattr_setrobust F GLIBC_2.12 pthread_setname_np F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.19 longjmp F -GLIBC_2.19 siglongjmp F +GLIBC_2.19 __libpthread_version_placeholder F GLIBC_2.2 _IO_flockfile F GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F @@ -55,7 +54,6 @@ GLIBC_2.2 flockfile F GLIBC_2.2 fsync F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F -GLIBC_2.2 longjmp F GLIBC_2.2 lseek F GLIBC_2.2 lseek64 F GLIBC_2.2 msync F @@ -159,7 +157,6 @@ GLIBC_2.2 send F GLIBC_2.2 sendmsg F GLIBC_2.2 sendto F GLIBC_2.2 sigaction F -GLIBC_2.2 siglongjmp F GLIBC_2.2 sigwait F GLIBC_2.2 system F GLIBC_2.2 tcdrain F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 8d7aa63a02..740570ef37 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -53,7 +53,6 @@ GLIBC_2.2 flockfile F GLIBC_2.2 fsync F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F -GLIBC_2.2 longjmp F GLIBC_2.2 lseek F GLIBC_2.2 lseek64 F GLIBC_2.2 msync F @@ -157,7 +156,6 @@ GLIBC_2.2 send F GLIBC_2.2 sendmsg F GLIBC_2.2 sendto F GLIBC_2.2 sigaction F -GLIBC_2.2 siglongjmp F GLIBC_2.2 sigwait F GLIBC_2.2 system F GLIBC_2.2 tcdrain F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 8d7aa63a02..740570ef37 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -53,7 +53,6 @@ GLIBC_2.2 flockfile F GLIBC_2.2 fsync F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F -GLIBC_2.2 longjmp F GLIBC_2.2 lseek F GLIBC_2.2 lseek64 F GLIBC_2.2 msync F @@ -157,7 +156,6 @@ GLIBC_2.2 send F GLIBC_2.2 sendmsg F GLIBC_2.2 sendto F GLIBC_2.2 sigaction F -GLIBC_2.2 siglongjmp F GLIBC_2.2 sigwait F GLIBC_2.2 system F GLIBC_2.2 tcdrain F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 5f8c13bb69..e17b5183ef 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.0 flockfile F GLIBC_2.0 fsync F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 lseek F GLIBC_2.0 msync F GLIBC_2.0 open F @@ -81,7 +80,6 @@ GLIBC_2.0 send F GLIBC_2.0 sendmsg F GLIBC_2.0 sendto F GLIBC_2.0 sigaction F -GLIBC_2.0 siglongjmp F GLIBC_2.0 sigwait F GLIBC_2.0 system F GLIBC_2.0 tcdrain F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index ab6a5cfb78..0565c43c10 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -53,7 +53,6 @@ GLIBC_2.2 flockfile F GLIBC_2.2 fsync F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F -GLIBC_2.2 longjmp F GLIBC_2.2 lseek F GLIBC_2.2 lseek64 F GLIBC_2.2 msync F @@ -157,7 +156,6 @@ GLIBC_2.2 send F GLIBC_2.2 sendmsg F GLIBC_2.2 sendto F GLIBC_2.2 sigaction F -GLIBC_2.2 siglongjmp F GLIBC_2.2 sigwait F GLIBC_2.2 system F GLIBC_2.2 tcdrain F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index 301c0817b8..f1255816b1 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -53,7 +53,6 @@ GLIBC_2.2.5 flockfile F GLIBC_2.2.5 fsync F GLIBC_2.2.5 ftrylockfile F GLIBC_2.2.5 funlockfile F -GLIBC_2.2.5 longjmp F GLIBC_2.2.5 lseek F GLIBC_2.2.5 lseek64 F GLIBC_2.2.5 msync F @@ -157,7 +156,6 @@ GLIBC_2.2.5 send F GLIBC_2.2.5 sendmsg F GLIBC_2.2.5 sendto F GLIBC_2.2.5 sigaction F -GLIBC_2.2.5 siglongjmp F GLIBC_2.2.5 sigwait F GLIBC_2.2.5 system F GLIBC_2.2.5 tcdrain F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index 31322dfabb..fdaff69ea6 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -51,7 +51,6 @@ GLIBC_2.16 flockfile F GLIBC_2.16 fsync F GLIBC_2.16 ftrylockfile F GLIBC_2.16 funlockfile F -GLIBC_2.16 longjmp F GLIBC_2.16 lseek F GLIBC_2.16 lseek64 F GLIBC_2.16 msync F @@ -175,7 +174,6 @@ GLIBC_2.16 send F GLIBC_2.16 sendmsg F GLIBC_2.16 sendto F GLIBC_2.16 sigaction F -GLIBC_2.16 siglongjmp F GLIBC_2.16 sigwait F GLIBC_2.16 system F GLIBC_2.16 tcdrain F diff --git a/sysdeps/x86/nptl/pt-longjmp.c b/sysdeps/x86/nptl/pt-longjmp.c deleted file mode 100644 index 77b32667ee..0000000000 --- a/sysdeps/x86/nptl/pt-longjmp.c +++ /dev/null @@ -1,71 +0,0 @@ -/* ABI compatibility for 'longjmp' and 'siglongjmp' symbols in libpthread ABI. - X86 version. - Copyright (C) 1918-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 - . */ - -#include -#include - -#ifdef __x86_64__ -# define SHADOW_STACK_POINTER_SIZE 8 -#else -# define SHADOW_STACK_POINTER_SIZE 4 -#endif - -/* Assert that the priv field in struct pthread_unwind_buf has space - to store shadow stack pointer. */ -_Static_assert ((offsetof (struct pthread_unwind_buf, priv) - <= SHADOW_STACK_POINTER_OFFSET) - && ((offsetof (struct pthread_unwind_buf, priv) - + sizeof (((struct pthread_unwind_buf *) 0)->priv)) - >= (SHADOW_STACK_POINTER_OFFSET - + SHADOW_STACK_POINTER_SIZE)), - "Shadow stack pointer is not within private storage " - "of pthread_unwind_buf."); - -#include - -/* libpthread once had its own longjmp (and siglongjmp alias), though there - was no apparent reason for it. There is no use in having a separate - symbol in libpthread, but the historical ABI requires it. For static - linking, there is no need to provide anything here--the libc version - will be linked in. For shared library ABI compatibility, there must be - longjmp and siglongjmp symbols in libpthread.so. - - With an IFUNC resolver, it would be possible to avoid the indirection, - but the IFUNC resolver might run before the __libc_longjmp symbol has - been relocated, in which case the IFUNC resolver would not be able to - provide the correct address. */ - -#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_22) - -static void __attribute__ ((noreturn, used)) -longjmp_compat (jmp_buf env, int val) -{ - /* NB: We call __libc_siglongjmp, instead of __libc_longjmp, since - __libc_longjmp is a private interface for cancellation which - doesn't restore shadow stack register. */ - __libc_siglongjmp (env, val); -} - -strong_alias (longjmp_compat, longjmp_alias) -compat_symbol (libpthread, longjmp_alias, longjmp, GLIBC_2_0); - -strong_alias (longjmp_alias, siglongjmp_alias) -compat_symbol (libpthread, siglongjmp_alias, siglongjmp, GLIBC_2_0); - -#endif From patchwork Fri Mar 12 17:49:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452281 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=uUEAbNVt; dkim-atps=neutral Received: from sourceware.org (unknown [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DxtcD6Mtcz9sRf for ; Sat, 13 Mar 2021 04:49:32 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 2B27E3987C26; Fri, 12 Mar 2021 17:49:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2B27E3987C26 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571360; bh=2vhWHyMvGBmiasBOtrVSON1OjkWWBlyUr+Wa2mpY3JY=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=uUEAbNVtQM23vhxa96MtVoA4rP5yWfcqTuQShww17w6EIZMQKUT/mG7jYfWoOV9MM 9kPrAovw4Fjerw9AWAMASl3ybjYqExot/hepCfYahgrGOYS7iVdHBcwCazsd+RnaiV iYuKbJVXu4EkOCJCEA1X9T434i5pa2s4dA/ZaBuk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 33D0B398E475 for ; Fri, 12 Mar 2021 17:49:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 33D0B398E475 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-453-1Jm74Z22N1iVVhiOPAKT_w-1; Fri, 12 Mar 2021 12:49:14 -0500 X-MC-Unique: 1Jm74Z22N1iVVhiOPAKT_w-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 146C48015BD for ; Fri, 12 Mar 2021 17:49:13 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6CEEC5C1D5 for ; Fri, 12 Mar 2021 17:49:12 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 06/18] Legacy unwinder: Remove definition of _Unwind_GetCFA In-Reply-To: References: Message-Id: Date: Fri, 12 Mar 2021 18:49:24 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" It is not actually used by the legacy unwinder linked into libc.so, and it conflicts with the unwind-link functionality in libpthread. Reviewed-by: Adhemerval Zanella --- sysdeps/generic/unwind-dw2.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/sysdeps/generic/unwind-dw2.c b/sysdeps/generic/unwind-dw2.c index 618fa8885f..da971279be 100644 --- a/sysdeps/generic/unwind-dw2.c +++ b/sysdeps/generic/unwind-dw2.c @@ -177,14 +177,6 @@ _Unwind_GetGR (struct _Unwind_Context *context, int index) return * (_Unwind_Word *) context->reg[index]; } -/* Get the value of the CFA as saved in CONTEXT. */ - -_Unwind_Word -_Unwind_GetCFA (struct _Unwind_Context *context) -{ - return (_Unwind_Ptr) context->cfa; -} - /* Overwrite the saved value for register REG in CONTEXT with VAL. */ inline void From patchwork Fri Mar 12 17:49:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452282 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=q7nHMw40; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DxtcL04fPz9sVS for ; Sat, 13 Mar 2021 04:49:38 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B8F80398E470; Fri, 12 Mar 2021 17:49:24 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B8F80398E470 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571364; bh=T+M2TL9cBVNI6QIfv7RLgkVI0lH4sUAYqW1o6D9RJ/0=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=q7nHMw40UPlOCGTpIHnTra7joGgbszS0y5eETDBzX/JHdDYc9USSAJwXTS28ufke5 h4i8xEzlBZ/76HUCRYWv28eR8XmtwmecZeVe1aCoipzKmDcKJEDT+oe4sN6zo7/6pn qFD+MuBiABYGtWfVJLLlBDrvPv/mYVxr1AwGGxgU= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 BC54539450C4 for ; Fri, 12 Mar 2021 17:49:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org BC54539450C4 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-369-fekcNUnVPf-T66fuX_kDYg-1; Fri, 12 Mar 2021 12:49:19 -0500 X-MC-Unique: fekcNUnVPf-T66fuX_kDYg-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 635D0100C618 for ; Fri, 12 Mar 2021 17:49:18 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 88CA91002388 for ; Fri, 12 Mar 2021 17:49:17 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 07/18] nptl: Move __pthread_cleanup_upto into libc In-Reply-To: References: Message-Id: Date: Fri, 12 Mar 2021 18:49:30 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" This internal symbol is used as part of the longjmp implementation. Rename the file from nptl/pt-cleanup.c to nptl/pthread_cleanup_upto.c so that the pt-* files remain restricted to libpthread. Reviewed-by: Adhemerval Zanella --- nptl/Makefile | 2 +- nptl/Versions | 1 + nptl/nptl-init.c | 1 - nptl/pthreadP.h | 4 +--- nptl/{pt-cleanup.c => pthread_cleanup_upto.c} | 2 +- sysdeps/nptl/jmp-unwind.c | 8 ++------ sysdeps/nptl/pthread-functions.h | 1 - sysdeps/unix/sysv/linux/s390/jmp-unwind.c | 7 ++----- 8 files changed, 8 insertions(+), 18 deletions(-) rename nptl/{pt-cleanup.c => pthread_cleanup_upto.c} (98%) diff --git a/nptl/Makefile b/nptl/Makefile index 7e566675f2..8847c4dd49 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -66,6 +66,7 @@ routines = \ pthread_attr_setscope \ pthread_attr_setsigmask \ pthread_attr_setsigmask_internal \ + pthread_cleanup_upto \ pthread_cond_destroy \ pthread_cond_init \ pthread_condattr_destroy \ @@ -113,7 +114,6 @@ libpthread-routines = \ old_pthread_cond_timedwait \ old_pthread_cond_wait \ pt-allocrtsig \ - pt-cleanup \ pt-fcntl \ pt-interp \ pt-raise \ diff --git a/nptl/Versions b/nptl/Versions index cf4d5b677d..8fa0d178db 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -109,6 +109,7 @@ libc { __pthread_attr_setsigmask_internal; __pthread_cleanup_pop; __pthread_cleanup_push; + __pthread_cleanup_upto; __pthread_cond_destroy; # Used by the C11 threads. __pthread_cond_init; # Used by the C11 threads. __pthread_force_elision; diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index c2b563cc68..41527dcad1 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -88,7 +88,6 @@ static const struct pthread_functions pthread_functions = .ptr_pthread_mutex_unlock = __pthread_mutex_unlock, .ptr___pthread_setcancelstate = __pthread_setcancelstate, .ptr_pthread_setcanceltype = __pthread_setcanceltype, - .ptr___pthread_cleanup_upto = __pthread_cleanup_upto, .ptr___pthread_once = __pthread_once, .ptr___pthread_rwlock_rdlock = __pthread_rwlock_rdlock, .ptr___pthread_rwlock_wrlock = __pthread_rwlock_wrlock, diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 781bc65c1c..8f3d2cc8c9 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -332,9 +332,7 @@ extern int __make_stacks_executable (void **stack_endp) attribute_hidden; /* longjmp handling. */ extern void __pthread_cleanup_upto (__jmp_buf target, char *targetframe); -#if IS_IN (libpthread) -hidden_proto (__pthread_cleanup_upto) -#endif +libc_hidden_proto (__pthread_cleanup_upto) /* Functions with versioned interfaces. */ diff --git a/nptl/pt-cleanup.c b/nptl/pthread_cleanup_upto.c similarity index 98% rename from nptl/pt-cleanup.c rename to nptl/pthread_cleanup_upto.c index 541533230d..89da3e5229 100644 --- a/nptl/pt-cleanup.c +++ b/nptl/pthread_cleanup_upto.c @@ -59,4 +59,4 @@ __pthread_cleanup_upto (__jmp_buf target, char *targetframe) THREAD_SETMEM (self, cleanup, cbuf); } -hidden_def (__pthread_cleanup_upto) +libc_hidden_def (__pthread_cleanup_upto) diff --git a/sysdeps/nptl/jmp-unwind.c b/sysdeps/nptl/jmp-unwind.c index a79c792e82..96c4862c74 100644 --- a/sysdeps/nptl/jmp-unwind.c +++ b/sysdeps/nptl/jmp-unwind.c @@ -19,14 +19,10 @@ #include #include #include - -extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe); -#pragma weak __pthread_cleanup_upto - +#include void _longjmp_unwind (jmp_buf env, int val) { - __libc_ptf_call (__pthread_cleanup_upto, (env->__jmpbuf, - CURRENT_STACK_FRAME), 0); + __pthread_cleanup_upto (env->__jmpbuf, CURRENT_STACK_FRAME); } diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 4268084b66..1bbe609598 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -49,7 +49,6 @@ struct pthread_functions int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *); int (*ptr___pthread_setcancelstate) (int, int *); int (*ptr_pthread_setcanceltype) (int, int *); - void (*ptr___pthread_cleanup_upto) (__jmp_buf, char *); int (*ptr___pthread_once) (pthread_once_t *, void (*) (void)); int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *); diff --git a/sysdeps/unix/sysv/linux/s390/jmp-unwind.c b/sysdeps/unix/sysv/linux/s390/jmp-unwind.c index 2bdde57ec7..8e0399a3e9 100644 --- a/sysdeps/unix/sysv/linux/s390/jmp-unwind.c +++ b/sysdeps/unix/sysv/linux/s390/jmp-unwind.c @@ -19,15 +19,12 @@ #include #include #include - -extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe); -#pragma weak __pthread_cleanup_upto - +#include void _longjmp_unwind (jmp_buf env, int val) { char local_var; - __libc_ptf_call (__pthread_cleanup_upto, (env->__jmpbuf, &local_var), 0); + __pthread_cleanup_upto (env->__jmpbuf, &local_var); } From patchwork Fri Mar 12 17:49:35 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452283 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Wl5rAUon; dkim-atps=neutral Received: from sourceware.org (unknown [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DxtcQ1v4gz9sRN for ; Sat, 13 Mar 2021 04:49:42 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5BCE0398EC11; Fri, 12 Mar 2021 17:49:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5BCE0398EC11 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571375; bh=hpEwDJf6ir+DeOeFfKvHFnwg+tnj3CIWwhXQQTJyjxY=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Wl5rAUonQkFLgXtFNOd1Su4fywmFUDYr+JoCdZiNO5z/Gr7kEesYv1J+vYNLDPaJc VteQ89lLc1aiEtYXxWPO9noGWuzl6sugxOiwxIW0rpTA29HRpSGosQMW0MDJng/TS3 b6LZwD3s44lpMLDonoNOQsP48VPq7zbdze/rK5jQ= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by sourceware.org (Postfix) with ESMTP id 5EEAB398EC0F for ; Fri, 12 Mar 2021 17:49:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 5EEAB398EC0F Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-604-iVzpauvbMxKZTtnSAtEz2A-1; Fri, 12 Mar 2021 12:49:25 -0500 X-MC-Unique: iVzpauvbMxKZTtnSAtEz2A-1 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id AB34F8015BD for ; Fri, 12 Mar 2021 17:49:24 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 30E4B60CD1 for ; Fri, 12 Mar 2021 17:49:22 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 08/18] nptl: Move pthread_once and __pthread_once into libc In-Reply-To: References: Message-Id: <617d7073167088c7d14e273923f79714b672b849.1615569355.git.fweimer@redhat.com> Date: Fri, 12 Mar 2021 18:49:35 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" And also the fork generation counter, __fork_generation. This eliminates the need for __fork_generation_pointer. To simplify symbol management, call pthread_once under the name ___libc_once. (Creating a hidden proto and setting the symbol version at the same time is difficult.) call_once remains in libpthread and calls the exported __pthread_once symbol. pthread_once and __pthread_once have been moved using scripts/move-symbol-to-libc.py. --- nptl/Makefile | 2 +- nptl/Versions | 7 ++++-- nptl/libc_pthread_init.c | 8 +------ nptl/nptl-init.c | 4 +--- nptl/pthreadP.h | 7 ++---- nptl/pthread_once.c | 22 +++++++++++++++---- sysdeps/nptl/fork.c | 3 +-- sysdeps/nptl/fork.h | 3 --- sysdeps/nptl/libc-lockP.h | 15 ++++--------- sysdeps/nptl/pthread-functions.h | 1 - sysdeps/unix/sysv/linux/aarch64/libc.abilist | 4 ++++ .../sysv/linux/aarch64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/alpha/libc.abilist | 4 ++++ .../unix/sysv/linux/alpha/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/arc/libc.abilist | 4 ++++ .../unix/sysv/linux/arc/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/arm/be/libc.abilist | 4 ++++ .../unix/sysv/linux/arm/be/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/arm/le/libc.abilist | 4 ++++ .../unix/sysv/linux/arm/le/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/csky/libc.abilist | 4 ++++ .../unix/sysv/linux/csky/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/hppa/libc.abilist | 4 ++++ .../unix/sysv/linux/hppa/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/i386/libc.abilist | 4 ++++ .../unix/sysv/linux/i386/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/ia64/libc.abilist | 4 ++++ .../unix/sysv/linux/ia64/libpthread.abilist | 2 -- .../sysv/linux/m68k/coldfire/libc.abilist | 4 ++++ .../linux/m68k/coldfire/libpthread.abilist | 2 -- .../unix/sysv/linux/m68k/m680x0/libc.abilist | 4 ++++ .../sysv/linux/m68k/m680x0/libpthread.abilist | 2 -- .../sysv/linux/microblaze/be/libc.abilist | 4 ++++ .../linux/microblaze/be/libpthread.abilist | 2 -- .../sysv/linux/microblaze/le/libc.abilist | 4 ++++ .../linux/microblaze/le/libpthread.abilist | 2 -- .../sysv/linux/mips/mips32/fpu/libc.abilist | 4 ++++ .../sysv/linux/mips/mips32/libpthread.abilist | 2 -- .../sysv/linux/mips/mips32/nofpu/libc.abilist | 4 ++++ .../sysv/linux/mips/mips64/libpthread.abilist | 2 -- .../sysv/linux/mips/mips64/n32/libc.abilist | 4 ++++ .../sysv/linux/mips/mips64/n64/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/nios2/libc.abilist | 4 ++++ .../unix/sysv/linux/nios2/libpthread.abilist | 2 -- .../linux/powerpc/powerpc32/fpu/libc.abilist | 4 ++++ .../powerpc/powerpc32/libpthread.abilist | 2 -- .../powerpc/powerpc32/nofpu/libc.abilist | 4 ++++ .../linux/powerpc/powerpc64/be/libc.abilist | 4 ++++ .../powerpc/powerpc64/be/libpthread.abilist | 2 -- .../linux/powerpc/powerpc64/le/libc.abilist | 4 ++++ .../powerpc/powerpc64/le/libpthread.abilist | 2 -- .../unix/sysv/linux/riscv/rv32/libc.abilist | 4 ++++ .../sysv/linux/riscv/rv32/libpthread.abilist | 2 -- .../unix/sysv/linux/riscv/rv64/libc.abilist | 4 ++++ .../sysv/linux/riscv/rv64/libpthread.abilist | 2 -- .../unix/sysv/linux/s390/s390-32/libc.abilist | 4 ++++ .../linux/s390/s390-32/libpthread.abilist | 2 -- .../unix/sysv/linux/s390/s390-64/libc.abilist | 4 ++++ .../linux/s390/s390-64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/sh/be/libc.abilist | 4 ++++ .../unix/sysv/linux/sh/be/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/sh/le/libc.abilist | 4 ++++ .../unix/sysv/linux/sh/le/libpthread.abilist | 2 -- .../sysv/linux/sparc/sparc32/libc.abilist | 4 ++++ .../linux/sparc/sparc32/libpthread.abilist | 2 -- .../sysv/linux/sparc/sparc64/libc.abilist | 4 ++++ .../linux/sparc/sparc64/libpthread.abilist | 2 -- .../unix/sysv/linux/x86_64/64/libc.abilist | 4 ++++ .../sysv/linux/x86_64/64/libpthread.abilist | 2 -- .../unix/sysv/linux/x86_64/x32/libc.abilist | 4 ++++ .../sysv/linux/x86_64/x32/libpthread.abilist | 2 -- 71 files changed, 161 insertions(+), 97 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 8847c4dd49..910d8c7ebf 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -76,6 +76,7 @@ routines = \ pthread_getattr_np \ pthread_getschedparam \ pthread_mutex_consistent \ + pthread_once \ pthread_self \ pthread_setschedparam \ pthread_sigmask \ @@ -179,7 +180,6 @@ libpthread-routines = \ pthread_mutexattr_setpshared \ pthread_mutexattr_setrobust \ pthread_mutexattr_settype \ - pthread_once \ pthread_rwlock_clockrdlock \ pthread_rwlock_clockwrlock \ pthread_rwlock_destroy \ diff --git a/nptl/Versions b/nptl/Versions index 8fa0d178db..74b311d4eb 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -1,5 +1,6 @@ libc { GLIBC_2.0 { + __pthread_once; _pthread_cleanup_pop; _pthread_cleanup_pop_restore; _pthread_cleanup_push; @@ -31,6 +32,7 @@ libc { pthread_mutex_init; pthread_mutex_lock; pthread_mutex_unlock; + pthread_once; pthread_self; pthread_setcancelstate; pthread_setcanceltype; @@ -83,9 +85,12 @@ libc { } GLIBC_2.34 { __pthread_cleanup_routine; + __pthread_once; pthread_mutex_consistent; + pthread_once; } GLIBC_PRIVATE { + ___libc_once; __futex_abstimed_wait64; __futex_abstimed_wait_cancelable64; __libc_alloca_cutoff; @@ -141,7 +146,6 @@ libpthread { __pthread_mutexattr_destroy; __pthread_mutexattr_init; __pthread_mutexattr_settype; - __pthread_once; __pthread_setspecific; __read; __send; @@ -184,7 +188,6 @@ libpthread { pthread_mutexattr_getkind_np; pthread_mutexattr_init; pthread_mutexattr_setkind_np; - pthread_once; pthread_setcancelstate; pthread_setcanceltype; pthread_setspecific; diff --git a/nptl/libc_pthread_init.c b/nptl/libc_pthread_init.c index 0757f92cd2..3ac54aae13 100644 --- a/nptl/libc_pthread_init.c +++ b/nptl/libc_pthread_init.c @@ -28,9 +28,6 @@ #include -unsigned long int *__fork_generation_pointer; - - #ifdef TLS_MULTIPLE_THREADS_IN_TCB void #else @@ -38,12 +35,9 @@ extern int __libc_multiple_threads attribute_hidden; int * #endif -__libc_pthread_init (unsigned long int *ptr, void (*reclaim) (void), +__libc_pthread_init (void (*reclaim) (void), const struct pthread_functions *functions) { - /* Remember the pointer to the generation counter in libpthread. */ - __fork_generation_pointer = ptr; - /* Called by a child after fork. */ __register_atfork (NULL, NULL, reclaim, NULL); diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 41527dcad1..c2e02b1bf2 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -88,7 +88,6 @@ static const struct pthread_functions pthread_functions = .ptr_pthread_mutex_unlock = __pthread_mutex_unlock, .ptr___pthread_setcancelstate = __pthread_setcancelstate, .ptr_pthread_setcanceltype = __pthread_setcanceltype, - .ptr___pthread_once = __pthread_once, .ptr___pthread_rwlock_rdlock = __pthread_rwlock_rdlock, .ptr___pthread_rwlock_wrlock = __pthread_rwlock_wrlock, .ptr___pthread_rwlock_unlock = __pthread_rwlock_unlock, @@ -334,8 +333,7 @@ __pthread_initialize_minimal_internal (void) #ifndef TLS_MULTIPLE_THREADS_IN_TCB __libc_multiple_threads_ptr = #endif - __libc_pthread_init (&__fork_generation, __reclaim_stacks, - ptr_pthread_functions); + __libc_pthread_init (__reclaim_stacks, ptr_pthread_functions); #if HAVE_TUNABLES __pthread_tunables_init (); diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 8f3d2cc8c9..d385deae1a 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -355,12 +355,10 @@ hidden_proto (__nptl_death_event) /* Register the generation counter in the libpthread with the libc. */ #ifdef TLS_MULTIPLE_THREADS_IN_TCB -extern void __libc_pthread_init (unsigned long int *ptr, - void (*reclaim) (void), +extern void __libc_pthread_init (void (*reclaim) (void), const struct pthread_functions *functions); #else -extern int *__libc_pthread_init (unsigned long int *ptr, - void (*reclaim) (void), +extern int *__libc_pthread_init (void (*reclaim) (void), const struct pthread_functions *functions); /* Variable set to a nonzero value either if more than one thread runs or ran, @@ -551,7 +549,6 @@ hidden_proto (__pthread_rwlock_unlock) hidden_proto (__pthread_key_create) hidden_proto (__pthread_getspecific) hidden_proto (__pthread_setspecific) -hidden_proto (__pthread_once) hidden_proto (__pthread_setcancelstate) hidden_proto (__pthread_testcancel) hidden_proto (__pthread_mutexattr_init) diff --git a/nptl/pthread_once.c b/nptl/pthread_once.c index 7645da222a..64eeaed5f4 100644 --- a/nptl/pthread_once.c +++ b/nptl/pthread_once.c @@ -19,7 +19,9 @@ #include "pthreadP.h" #include #include - +#include +#include +#include unsigned long int __fork_generation attribute_hidden; @@ -132,7 +134,7 @@ __pthread_once_slow (pthread_once_t *once_control, void (*init_routine) (void)) } int -__pthread_once (pthread_once_t *once_control, void (*init_routine) (void)) +___libc_once (pthread_once_t *once_control, void (*init_routine) (void)) { /* Fast path. See __pthread_once_slow. */ int val; @@ -142,5 +144,17 @@ __pthread_once (pthread_once_t *once_control, void (*init_routine) (void)) else return __pthread_once_slow (once_control, init_routine); } -weak_alias (__pthread_once, pthread_once) -hidden_def (__pthread_once) +libc_hidden_def (___libc_once) + +/* Several aliases for setting different symbol versions. */ +strong_alias (___libc_once, ___libc_once_1) +strong_alias (___libc_once, ___libc_once_2) +strong_alias (___libc_once, ___libc_once_3) +strong_alias (___libc_once, ___libc_once_4) + +versioned_symbol (libc, ___libc_once_1, __pthread_once, GLIBC_2_34); +versioned_symbol (libc, ___libc_once_2, pthread_once, GLIBC_2_34); +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libc, ___libc_once_3, __pthread_once, GLIBC_2_0); +compat_symbol (libc, ___libc_once_4, pthread_once, GLIBC_2_0); +#endif diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c index f78267b68c..ffc8f9d041 100644 --- a/sysdeps/nptl/fork.c +++ b/sysdeps/nptl/fork.c @@ -88,8 +88,7 @@ __libc_fork (void) struct pthread *self = THREAD_SELF; /* See __pthread_once. */ - if (__fork_generation_pointer != NULL) - *__fork_generation_pointer += __PTHREAD_ONCE_FORK_GEN_INCR; + __fork_generation += __PTHREAD_ONCE_FORK_GEN_INCR; /* Initialize the robust mutex list setting in the kernel which has been reset during the fork. We do not check for errors because if diff --git a/sysdeps/nptl/fork.h b/sysdeps/nptl/fork.h index 5246754290..a2a1ad8265 100644 --- a/sysdeps/nptl/fork.h +++ b/sysdeps/nptl/fork.h @@ -21,6 +21,3 @@ /* The fork generation counter, defined in libpthread. */ extern unsigned long int __fork_generation attribute_hidden; - -/* Pointer to the fork generation counter in the thread library. */ -extern unsigned long int *__fork_generation_pointer attribute_hidden; diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h index 1a861b0d3f..f9f279525d 100644 --- a/sysdeps/nptl/libc-lockP.h +++ b/sysdeps/nptl/libc-lockP.h @@ -236,17 +236,12 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0"); CLASS pthread_once_t NAME = PTHREAD_ONCE_INIT #endif +int ___libc_once (pthread_once_t *once_control, void (*init_routine) (void)); +libc_hidden_proto (___libc_once) + /* Call handler iff the first call. */ #define __libc_once(ONCE_CONTROL, INIT_FUNCTION) \ - do { \ - if (PTFAVAIL (__pthread_once)) \ - __libc_ptf_call_always (__pthread_once, (&(ONCE_CONTROL), \ - INIT_FUNCTION)); \ - else if ((ONCE_CONTROL) == PTHREAD_ONCE_INIT) { \ - INIT_FUNCTION (); \ - (ONCE_CONTROL) |= 2; \ - } \ - } while (0) + ___libc_once (&(ONCE_CONTROL), INIT_FUNCTION) /* Get once control variable. */ #define __libc_once_get(ONCE_CONTROL) ((ONCE_CONTROL) != PTHREAD_ONCE_INIT) @@ -372,7 +367,6 @@ weak_extern (__pthread_rwlock_unlock) weak_extern (__pthread_key_create) weak_extern (__pthread_setspecific) weak_extern (__pthread_getspecific) -weak_extern (__pthread_once) weak_extern (__pthread_initialize) weak_extern (__pthread_atfork) weak_extern (__pthread_setcancelstate) @@ -394,7 +388,6 @@ weak_extern (__pthread_setcancelstate) # pragma weak __pthread_key_create # pragma weak __pthread_setspecific # pragma weak __pthread_getspecific -# pragma weak __pthread_once # pragma weak __pthread_initialize # pragma weak __pthread_atfork # pragma weak __pthread_setcancelstate diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 1bbe609598..6ef7602cb9 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -49,7 +49,6 @@ struct pthread_functions int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *); int (*ptr___pthread_setcancelstate) (int, int *); int (*ptr_pthread_setcanceltype) (int, int *); - int (*ptr___pthread_once) (pthread_once_t *, void (*) (void)); int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_unlock) (pthread_rwlock_t *); diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index a585f7d30d..8a11066f9e 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -339,6 +339,7 @@ GLIBC_2.17 __profile_frequency F 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 __ptsname_r_chk F GLIBC_2.17 __pwrite64 F GLIBC_2.17 __rawmemchr F @@ -1453,6 +1454,7 @@ GLIBC_2.17 pthread_mutex_destroy F GLIBC_2.17 pthread_mutex_init F GLIBC_2.17 pthread_mutex_lock F GLIBC_2.17 pthread_mutex_unlock F +GLIBC_2.17 pthread_once F GLIBC_2.17 pthread_self F GLIBC_2.17 pthread_setcancelstate F GLIBC_2.17 pthread_setcanceltype F @@ -2180,4 +2182,6 @@ GLIBC_2.33 stat F 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_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 884d97efca..a57e807cd0 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -23,7 +23,6 @@ GLIBC_2.17 __pthread_mutex_unlock F GLIBC_2.17 __pthread_mutexattr_destroy F GLIBC_2.17 __pthread_mutexattr_init F GLIBC_2.17 __pthread_mutexattr_settype F -GLIBC_2.17 __pthread_once F GLIBC_2.17 __pthread_register_cancel F GLIBC_2.17 __pthread_register_cancel_defer F GLIBC_2.17 __pthread_rwlock_destroy F @@ -120,7 +119,6 @@ GLIBC_2.17 pthread_mutexattr_setpshared F GLIBC_2.17 pthread_mutexattr_setrobust F GLIBC_2.17 pthread_mutexattr_setrobust_np F GLIBC_2.17 pthread_mutexattr_settype F -GLIBC_2.17 pthread_once F GLIBC_2.17 pthread_rwlock_destroy F GLIBC_2.17 pthread_rwlock_init F GLIBC_2.17 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index c9ac935ccf..b62c855163 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -188,6 +188,7 @@ GLIBC_2.0 __printf_fp F GLIBC_2.0 __profile_frequency F GLIBC_2.0 __progname D 0x8 GLIBC_2.0 __progname_full D 0x8 +GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x8 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x8 @@ -891,6 +892,7 @@ GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F GLIBC_2.0 pthread_mutex_unlock F +GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F @@ -2261,7 +2263,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index e17b5183ef..059ae76802 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -18,7 +18,6 @@ GLIBC_2.0 __pthread_mutex_unlock F GLIBC_2.0 __pthread_mutexattr_destroy F GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F -GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F @@ -60,7 +59,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 27fecc5c8a..cd549c654b 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -328,6 +328,7 @@ GLIBC_2.32 __profile_frequency F 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 __ptsname_r_chk F GLIBC_2.32 __pwrite64 F GLIBC_2.32 __rawmemchr F @@ -1380,6 +1381,7 @@ GLIBC_2.32 pthread_mutex_destroy F GLIBC_2.32 pthread_mutex_init F GLIBC_2.32 pthread_mutex_lock F GLIBC_2.32 pthread_mutex_unlock F +GLIBC_2.32 pthread_once F GLIBC_2.32 pthread_self F GLIBC_2.32 pthread_setcancelstate F GLIBC_2.32 pthread_setcanceltype F @@ -1940,4 +1942,6 @@ GLIBC_2.33 stat F 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_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 9713a20071..55970eb845 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -22,7 +22,6 @@ GLIBC_2.32 __pthread_mutex_unlock F GLIBC_2.32 __pthread_mutexattr_destroy F GLIBC_2.32 __pthread_mutexattr_init F GLIBC_2.32 __pthread_mutexattr_settype F -GLIBC_2.32 __pthread_once F GLIBC_2.32 __pthread_register_cancel F GLIBC_2.32 __pthread_register_cancel_defer F GLIBC_2.32 __pthread_rwlock_destroy F @@ -135,7 +134,6 @@ GLIBC_2.32 pthread_mutexattr_setpshared F GLIBC_2.32 pthread_mutexattr_setrobust F GLIBC_2.32 pthread_mutexattr_setrobust_np F GLIBC_2.32 pthread_mutexattr_settype F -GLIBC_2.32 pthread_once F GLIBC_2.32 pthread_rwlock_clockrdlock F GLIBC_2.32 pthread_rwlock_clockwrlock F GLIBC_2.32 pthread_rwlock_destroy F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 2383d95094..03e5389852 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -158,7 +158,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0xa0 GLIBC_2.4 _IO_2_1_stdin_ D 0xa0 @@ -487,6 +489,7 @@ GLIBC_2.4 __profile_frequency F 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 __ptsname_r_chk F GLIBC_2.4 __pwrite64 F GLIBC_2.4 __rawmemchr F @@ -1548,6 +1551,7 @@ GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_init F GLIBC_2.4 pthread_mutex_lock F GLIBC_2.4 pthread_mutex_unlock F +GLIBC_2.4 pthread_once F GLIBC_2.4 pthread_self F GLIBC_2.4 pthread_setcancelstate F GLIBC_2.4 pthread_setcanceltype F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index e75c83d47f..2e3d644ed9 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -57,7 +57,6 @@ GLIBC_2.4 __pthread_mutex_unlock F GLIBC_2.4 __pthread_mutexattr_destroy F GLIBC_2.4 __pthread_mutexattr_init F GLIBC_2.4 __pthread_mutexattr_settype F -GLIBC_2.4 __pthread_once F GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_rwlock_destroy F @@ -151,7 +150,6 @@ GLIBC_2.4 pthread_mutexattr_setprotocol F GLIBC_2.4 pthread_mutexattr_setpshared F GLIBC_2.4 pthread_mutexattr_setrobust_np F GLIBC_2.4 pthread_mutexattr_settype F -GLIBC_2.4 pthread_once F GLIBC_2.4 pthread_rwlock_destroy F GLIBC_2.4 pthread_rwlock_init F GLIBC_2.4 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index bb46b8b5e3..ac2fcf7b14 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -155,7 +155,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0xa0 GLIBC_2.4 _IO_2_1_stdin_ D 0xa0 @@ -484,6 +486,7 @@ GLIBC_2.4 __profile_frequency F 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 __ptsname_r_chk F GLIBC_2.4 __pwrite64 F GLIBC_2.4 __rawmemchr F @@ -1545,6 +1548,7 @@ GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_init F GLIBC_2.4 pthread_mutex_lock F GLIBC_2.4 pthread_mutex_unlock F +GLIBC_2.4 pthread_once F GLIBC_2.4 pthread_self F GLIBC_2.4 pthread_setcancelstate F GLIBC_2.4 pthread_setcanceltype F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index e75c83d47f..2e3d644ed9 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -57,7 +57,6 @@ GLIBC_2.4 __pthread_mutex_unlock F GLIBC_2.4 __pthread_mutexattr_destroy F GLIBC_2.4 __pthread_mutexattr_init F GLIBC_2.4 __pthread_mutexattr_settype F -GLIBC_2.4 __pthread_once F GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_rwlock_destroy F @@ -151,7 +150,6 @@ GLIBC_2.4 pthread_mutexattr_setprotocol F GLIBC_2.4 pthread_mutexattr_setpshared F GLIBC_2.4 pthread_mutexattr_setrobust_np F GLIBC_2.4 pthread_mutexattr_settype F -GLIBC_2.4 pthread_once F GLIBC_2.4 pthread_rwlock_destroy F GLIBC_2.4 pthread_rwlock_init F GLIBC_2.4 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index 684e451f83..336a59110e 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -332,6 +332,7 @@ GLIBC_2.29 __profile_frequency F 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 __ptsname_r_chk F GLIBC_2.29 __pwrite64 F GLIBC_2.29 __rawmemchr F @@ -1441,6 +1442,7 @@ GLIBC_2.29 pthread_mutex_destroy F GLIBC_2.29 pthread_mutex_init F GLIBC_2.29 pthread_mutex_lock F GLIBC_2.29 pthread_mutex_unlock F +GLIBC_2.29 pthread_once F GLIBC_2.29 pthread_self F GLIBC_2.29 pthread_setcancelstate F GLIBC_2.29 pthread_setcanceltype F @@ -2124,4 +2126,6 @@ GLIBC_2.33 stat F 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_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 bb8a51a51d..78e69d3e06 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -22,7 +22,6 @@ GLIBC_2.29 __pthread_mutex_unlock F GLIBC_2.29 __pthread_mutexattr_destroy F GLIBC_2.29 __pthread_mutexattr_init F GLIBC_2.29 __pthread_mutexattr_settype F -GLIBC_2.29 __pthread_once F GLIBC_2.29 __pthread_register_cancel F GLIBC_2.29 __pthread_register_cancel_defer F GLIBC_2.29 __pthread_rwlock_destroy F @@ -132,7 +131,6 @@ GLIBC_2.29 pthread_mutexattr_setpshared F GLIBC_2.29 pthread_mutexattr_setrobust F GLIBC_2.29 pthread_mutexattr_setrobust_np F GLIBC_2.29 pthread_mutexattr_settype F -GLIBC_2.29 pthread_once F GLIBC_2.29 pthread_rwlock_destroy F GLIBC_2.29 pthread_rwlock_init F GLIBC_2.29 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 8dde237f8b..6d40c40268 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -356,6 +356,7 @@ GLIBC_2.2 __printf_fp F GLIBC_2.2 __profile_frequency F GLIBC_2.2 __progname D 0x4 GLIBC_2.2 __progname_full D 0x4 +GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __rcmd_errstr D 0x4 @@ -1275,6 +1276,7 @@ GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F GLIBC_2.2 pthread_mutex_unlock F +GLIBC_2.2 pthread_once F GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F @@ -2082,7 +2084,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 740570ef37..96c70fb45e 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -30,7 +30,6 @@ GLIBC_2.2 __pthread_mutex_unlock F GLIBC_2.2 __pthread_mutexattr_destroy F GLIBC_2.2 __pthread_mutexattr_init F GLIBC_2.2 __pthread_mutexattr_settype F -GLIBC_2.2 __pthread_once F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F GLIBC_2.2 __pthread_rwlock_rdlock F @@ -108,7 +107,6 @@ GLIBC_2.2 pthread_mutexattr_init F GLIBC_2.2 pthread_mutexattr_setkind_np F GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F -GLIBC_2.2 pthread_once F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F GLIBC_2.2 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index cc2226be23..2022f82d81 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -185,6 +185,7 @@ GLIBC_2.0 __printf_fp F GLIBC_2.0 __profile_frequency F GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 +GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -868,6 +869,7 @@ GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F GLIBC_2.0 pthread_mutex_unlock F +GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F @@ -2249,7 +2251,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index 0b8c5b9104..f2be012ea9 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -18,7 +18,6 @@ GLIBC_2.0 __pthread_mutex_unlock F GLIBC_2.0 __pthread_mutexattr_destroy F GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F -GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F @@ -60,7 +59,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 438f3bd131..b9eeaabb01 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -360,6 +360,7 @@ GLIBC_2.2 __printf_fp F GLIBC_2.2 __profile_frequency F GLIBC_2.2 __progname D 0x8 GLIBC_2.2 __progname_full D 0x8 +GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __rcmd_errstr D 0x8 @@ -1296,6 +1297,7 @@ GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F GLIBC_2.2 pthread_mutex_unlock F +GLIBC_2.2 pthread_once F GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F @@ -2114,7 +2116,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 0565c43c10..3698acd3e9 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -30,7 +30,6 @@ GLIBC_2.2 __pthread_mutex_unlock F GLIBC_2.2 __pthread_mutexattr_destroy F GLIBC_2.2 __pthread_mutexattr_init F GLIBC_2.2 __pthread_mutexattr_settype F -GLIBC_2.2 __pthread_once F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F GLIBC_2.2 __pthread_rwlock_rdlock F @@ -108,7 +107,6 @@ GLIBC_2.2 pthread_mutexattr_init F GLIBC_2.2 pthread_mutexattr_setkind_np F GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F -GLIBC_2.2 pthread_once F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F GLIBC_2.2 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 5add3e607a..5a099fb3d0 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -159,7 +159,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0x98 GLIBC_2.4 _IO_2_1_stdin_ D 0x98 @@ -473,6 +475,7 @@ GLIBC_2.4 __profile_frequency F 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 __ptsname_r_chk F GLIBC_2.4 __pwrite64 F GLIBC_2.4 __rawmemchr F @@ -1528,6 +1531,7 @@ GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_init F GLIBC_2.4 pthread_mutex_lock F GLIBC_2.4 pthread_mutex_unlock F +GLIBC_2.4 pthread_once F GLIBC_2.4 pthread_self F GLIBC_2.4 pthread_setcancelstate F GLIBC_2.4 pthread_setcanceltype F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index e75c83d47f..2e3d644ed9 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -57,7 +57,6 @@ GLIBC_2.4 __pthread_mutex_unlock F GLIBC_2.4 __pthread_mutexattr_destroy F GLIBC_2.4 __pthread_mutexattr_init F GLIBC_2.4 __pthread_mutexattr_settype F -GLIBC_2.4 __pthread_once F GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_rwlock_destroy F @@ -151,7 +150,6 @@ GLIBC_2.4 pthread_mutexattr_setprotocol F GLIBC_2.4 pthread_mutexattr_setpshared F GLIBC_2.4 pthread_mutexattr_setrobust_np F GLIBC_2.4 pthread_mutexattr_settype F -GLIBC_2.4 pthread_once F GLIBC_2.4 pthread_rwlock_destroy F GLIBC_2.4 pthread_rwlock_init F GLIBC_2.4 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 2e7c9f9b47..f81c9cc523 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -185,6 +185,7 @@ GLIBC_2.0 __printf_fp F GLIBC_2.0 __profile_frequency F GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 +GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -867,6 +868,7 @@ GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F GLIBC_2.0 pthread_mutex_unlock F +GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F @@ -2194,7 +2196,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index 0b8c5b9104..f2be012ea9 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -18,7 +18,6 @@ GLIBC_2.0 __pthread_mutex_unlock F GLIBC_2.0 __pthread_mutexattr_destroy F GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F -GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F @@ -60,7 +59,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 493f7ddaa0..ce50516bc6 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -340,6 +340,7 @@ GLIBC_2.18 __profile_frequency F 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 __ptsname_r_chk F GLIBC_2.18 __pwrite64 F GLIBC_2.18 __rawmemchr F @@ -1456,6 +1457,7 @@ GLIBC_2.18 pthread_mutex_destroy F GLIBC_2.18 pthread_mutex_init F GLIBC_2.18 pthread_mutex_lock F GLIBC_2.18 pthread_mutex_unlock F +GLIBC_2.18 pthread_once F GLIBC_2.18 pthread_self F GLIBC_2.18 pthread_setcancelstate F GLIBC_2.18 pthread_setcanceltype F @@ -2175,4 +2177,6 @@ GLIBC_2.33 stat F 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_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 3798ae24be..73c70d5c87 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -23,7 +23,6 @@ GLIBC_2.18 __pthread_mutex_unlock F GLIBC_2.18 __pthread_mutexattr_destroy F GLIBC_2.18 __pthread_mutexattr_init F GLIBC_2.18 __pthread_mutexattr_settype F -GLIBC_2.18 __pthread_once F GLIBC_2.18 __pthread_register_cancel F GLIBC_2.18 __pthread_register_cancel_defer F GLIBC_2.18 __pthread_rwlock_destroy F @@ -121,7 +120,6 @@ GLIBC_2.18 pthread_mutexattr_setpshared F GLIBC_2.18 pthread_mutexattr_setrobust F GLIBC_2.18 pthread_mutexattr_setrobust_np F GLIBC_2.18 pthread_mutexattr_settype F -GLIBC_2.18 pthread_once F GLIBC_2.18 pthread_rwlock_destroy F GLIBC_2.18 pthread_rwlock_init F GLIBC_2.18 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index ec83b89aa3..37ecc7c967 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -340,6 +340,7 @@ GLIBC_2.18 __profile_frequency F 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 __ptsname_r_chk F GLIBC_2.18 __pwrite64 F GLIBC_2.18 __rawmemchr F @@ -1456,6 +1457,7 @@ GLIBC_2.18 pthread_mutex_destroy F GLIBC_2.18 pthread_mutex_init F GLIBC_2.18 pthread_mutex_lock F GLIBC_2.18 pthread_mutex_unlock F +GLIBC_2.18 pthread_once F GLIBC_2.18 pthread_self F GLIBC_2.18 pthread_setcancelstate F GLIBC_2.18 pthread_setcanceltype F @@ -2172,4 +2174,6 @@ GLIBC_2.33 stat F 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_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 3798ae24be..73c70d5c87 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -23,7 +23,6 @@ GLIBC_2.18 __pthread_mutex_unlock F GLIBC_2.18 __pthread_mutexattr_destroy F GLIBC_2.18 __pthread_mutexattr_init F GLIBC_2.18 __pthread_mutexattr_settype F -GLIBC_2.18 __pthread_once F GLIBC_2.18 __pthread_register_cancel F GLIBC_2.18 __pthread_register_cancel_defer F GLIBC_2.18 __pthread_rwlock_destroy F @@ -121,7 +120,6 @@ GLIBC_2.18 pthread_mutexattr_setpshared F GLIBC_2.18 pthread_mutexattr_setrobust F GLIBC_2.18 pthread_mutexattr_setrobust_np F GLIBC_2.18 pthread_mutexattr_settype F -GLIBC_2.18 pthread_once F GLIBC_2.18 pthread_rwlock_destroy F GLIBC_2.18 pthread_rwlock_init F GLIBC_2.18 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index cb0ab4bc19..6d50fcc64f 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -183,6 +183,7 @@ GLIBC_2.0 __printf_fp F GLIBC_2.0 __profile_frequency F GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 +GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -864,6 +865,7 @@ GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F GLIBC_2.0 pthread_mutex_unlock F +GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F @@ -2165,7 +2167,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 79da59eb81..faa1ad9d1c 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -18,7 +18,6 @@ GLIBC_2.0 __pthread_mutex_unlock F GLIBC_2.0 __pthread_mutexattr_destroy F GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F -GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F @@ -60,7 +59,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 2be2623e99..b4e05e270d 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -183,6 +183,7 @@ GLIBC_2.0 __printf_fp F GLIBC_2.0 __profile_frequency F GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 +GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -864,6 +865,7 @@ GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F GLIBC_2.0 pthread_mutex_unlock F +GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F @@ -2163,7 +2165,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 79da59eb81..faa1ad9d1c 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -18,7 +18,6 @@ GLIBC_2.0 __pthread_mutex_unlock F GLIBC_2.0 __pthread_mutexattr_destroy F GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F -GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F @@ -60,7 +59,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 09147861b5..71d184c2aa 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -183,6 +183,7 @@ GLIBC_2.0 __printf_fp F GLIBC_2.0 __profile_frequency F GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 +GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -864,6 +865,7 @@ GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F GLIBC_2.0 pthread_mutex_unlock F +GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F @@ -2171,7 +2173,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_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 4a0208c8c8..1e792c6705 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -183,6 +183,7 @@ GLIBC_2.0 __printf_fp F GLIBC_2.0 __profile_frequency F GLIBC_2.0 __progname D 0x8 GLIBC_2.0 __progname_full D 0x8 +GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x8 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x8 @@ -862,6 +863,7 @@ GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F GLIBC_2.0 pthread_mutex_unlock F +GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F @@ -2165,7 +2167,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 078025a7d6..5afc3e8022 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -377,6 +377,7 @@ GLIBC_2.21 __profile_frequency F 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 __ptsname_r_chk F GLIBC_2.21 __pwrite64 F GLIBC_2.21 __rawmemchr F @@ -1498,6 +1499,7 @@ GLIBC_2.21 pthread_mutex_destroy F GLIBC_2.21 pthread_mutex_init F GLIBC_2.21 pthread_mutex_lock F GLIBC_2.21 pthread_mutex_unlock F +GLIBC_2.21 pthread_once F GLIBC_2.21 pthread_self F GLIBC_2.21 pthread_setcancelstate F GLIBC_2.21 pthread_setcanceltype F @@ -2213,4 +2215,6 @@ GLIBC_2.33 stat F 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_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 9dadbc85cc..5db41bc85b 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -23,7 +23,6 @@ GLIBC_2.21 __pthread_mutex_unlock F GLIBC_2.21 __pthread_mutexattr_destroy F GLIBC_2.21 __pthread_mutexattr_init F GLIBC_2.21 __pthread_mutexattr_settype F -GLIBC_2.21 __pthread_once F GLIBC_2.21 __pthread_register_cancel F GLIBC_2.21 __pthread_register_cancel_defer F GLIBC_2.21 __pthread_rwlock_destroy F @@ -121,7 +120,6 @@ GLIBC_2.21 pthread_mutexattr_setpshared F GLIBC_2.21 pthread_mutexattr_setrobust F GLIBC_2.21 pthread_mutexattr_setrobust_np F GLIBC_2.21 pthread_mutexattr_settype F -GLIBC_2.21 pthread_once F GLIBC_2.21 pthread_rwlock_destroy F GLIBC_2.21 pthread_rwlock_init F GLIBC_2.21 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index bc79b844a5..4bfae8faa6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -194,6 +194,7 @@ GLIBC_2.0 __printf_fp F GLIBC_2.0 __profile_frequency F GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 +GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -875,6 +876,7 @@ GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F GLIBC_2.0 pthread_mutex_unlock F +GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F @@ -2221,7 +2223,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index c852fcc147..995c88cbce 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -18,7 +18,6 @@ GLIBC_2.0 __pthread_mutex_unlock F GLIBC_2.0 __pthread_mutexattr_destroy F GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F -GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F @@ -60,7 +59,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 63c05472ed..dc102f7f29 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -194,6 +194,7 @@ GLIBC_2.0 __printf_fp F GLIBC_2.0 __profile_frequency F GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 +GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -875,6 +876,7 @@ GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F GLIBC_2.0 pthread_mutex_unlock F +GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F @@ -2254,7 +2256,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 37e4ee564d..9f019c4eac 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -409,6 +409,7 @@ GLIBC_2.3 __printf_fp F GLIBC_2.3 __profile_frequency F GLIBC_2.3 __progname D 0x8 GLIBC_2.3 __progname_full D 0x8 +GLIBC_2.3 __pthread_once F GLIBC_2.3 __pwrite64 F GLIBC_2.3 __rawmemchr F GLIBC_2.3 __rcmd_errstr D 0x8 @@ -1382,6 +1383,7 @@ GLIBC_2.3 pthread_mutex_destroy F GLIBC_2.3 pthread_mutex_init F GLIBC_2.3 pthread_mutex_lock F GLIBC_2.3 pthread_mutex_unlock F +GLIBC_2.3 pthread_once F GLIBC_2.3 pthread_self F GLIBC_2.3 pthread_setcancelstate F GLIBC_2.3 pthread_setcanceltype F @@ -2084,7 +2086,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index b7d0c8b743..07428bd3d6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -51,7 +51,6 @@ GLIBC_2.3 __pthread_mutex_unlock F GLIBC_2.3 __pthread_mutexattr_destroy F GLIBC_2.3 __pthread_mutexattr_init F GLIBC_2.3 __pthread_mutexattr_settype F -GLIBC_2.3 __pthread_once F GLIBC_2.3 __pthread_rwlock_destroy F GLIBC_2.3 __pthread_rwlock_init F GLIBC_2.3 __pthread_rwlock_rdlock F @@ -128,7 +127,6 @@ GLIBC_2.3 pthread_mutexattr_init F GLIBC_2.3 pthread_mutexattr_setkind_np F GLIBC_2.3 pthread_mutexattr_setpshared F GLIBC_2.3 pthread_mutexattr_settype F -GLIBC_2.3 pthread_once F GLIBC_2.3 pthread_rwlock_destroy F GLIBC_2.3 pthread_rwlock_init F GLIBC_2.3 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 1888ec6e86..f1217ffca5 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -425,6 +425,7 @@ GLIBC_2.17 __profile_frequency F 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 __ptsname_r_chk F GLIBC_2.17 __pwrite64 F GLIBC_2.17 __rawmemchr F @@ -1542,6 +1543,7 @@ GLIBC_2.17 pthread_mutex_destroy F GLIBC_2.17 pthread_mutex_init F GLIBC_2.17 pthread_mutex_lock F GLIBC_2.17 pthread_mutex_unlock F +GLIBC_2.17 pthread_once F GLIBC_2.17 pthread_self F GLIBC_2.17 pthread_setcancelstate F GLIBC_2.17 pthread_setcanceltype F @@ -2375,4 +2377,6 @@ GLIBC_2.33 stat F 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_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 884d97efca..a57e807cd0 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -23,7 +23,6 @@ GLIBC_2.17 __pthread_mutex_unlock F GLIBC_2.17 __pthread_mutexattr_destroy F GLIBC_2.17 __pthread_mutexattr_init F GLIBC_2.17 __pthread_mutexattr_settype F -GLIBC_2.17 __pthread_once F GLIBC_2.17 __pthread_register_cancel F GLIBC_2.17 __pthread_register_cancel_defer F GLIBC_2.17 __pthread_rwlock_destroy F @@ -120,7 +119,6 @@ GLIBC_2.17 pthread_mutexattr_setpshared F GLIBC_2.17 pthread_mutexattr_setrobust F GLIBC_2.17 pthread_mutexattr_setrobust_np F GLIBC_2.17 pthread_mutexattr_settype F -GLIBC_2.17 pthread_once F GLIBC_2.17 pthread_rwlock_destroy F GLIBC_2.17 pthread_rwlock_init F GLIBC_2.17 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 8cd92b1abe..afaabf996e 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -325,6 +325,7 @@ GLIBC_2.33 __profile_frequency F 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 __ptsname_r_chk F GLIBC_2.33 __pwrite64 F GLIBC_2.33 __rawmemchr F @@ -1382,6 +1383,7 @@ GLIBC_2.33 pthread_mutex_destroy F GLIBC_2.33 pthread_mutex_init F GLIBC_2.33 pthread_mutex_lock F GLIBC_2.33 pthread_mutex_unlock F +GLIBC_2.33 pthread_once F GLIBC_2.33 pthread_self F GLIBC_2.33 pthread_setcancelstate F GLIBC_2.33 pthread_setcanceltype F @@ -1942,4 +1944,6 @@ GLIBC_2.33 writev F 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_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 71e8f38003..ddf52b427a 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -22,7 +22,6 @@ GLIBC_2.33 __pthread_mutex_unlock F GLIBC_2.33 __pthread_mutexattr_destroy F GLIBC_2.33 __pthread_mutexattr_init F GLIBC_2.33 __pthread_mutexattr_settype F -GLIBC_2.33 __pthread_once F GLIBC_2.33 __pthread_register_cancel F GLIBC_2.33 __pthread_register_cancel_defer F GLIBC_2.33 __pthread_rwlock_destroy F @@ -135,7 +134,6 @@ GLIBC_2.33 pthread_mutexattr_setpshared F GLIBC_2.33 pthread_mutexattr_setrobust F GLIBC_2.33 pthread_mutexattr_setrobust_np F GLIBC_2.33 pthread_mutexattr_settype F -GLIBC_2.33 pthread_once F GLIBC_2.33 pthread_rwlock_clockrdlock F GLIBC_2.33 pthread_rwlock_clockwrlock F GLIBC_2.33 pthread_rwlock_destroy F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 894f01282f..28563980d5 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -336,6 +336,7 @@ GLIBC_2.27 __profile_frequency F 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 __ptsname_r_chk F GLIBC_2.27 __pwrite64 F GLIBC_2.27 __rawmemchr F @@ -1444,6 +1445,7 @@ GLIBC_2.27 pthread_mutex_destroy F GLIBC_2.27 pthread_mutex_init F GLIBC_2.27 pthread_mutex_lock F GLIBC_2.27 pthread_mutex_unlock F +GLIBC_2.27 pthread_once F GLIBC_2.27 pthread_self F GLIBC_2.27 pthread_setcancelstate F GLIBC_2.27 pthread_setcanceltype F @@ -2142,4 +2144,6 @@ GLIBC_2.33 stat F 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_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 f5f9baefb9..b12ec34091 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -23,7 +23,6 @@ GLIBC_2.27 __pthread_mutex_unlock F GLIBC_2.27 __pthread_mutexattr_destroy F GLIBC_2.27 __pthread_mutexattr_init F GLIBC_2.27 __pthread_mutexattr_settype F -GLIBC_2.27 __pthread_once F GLIBC_2.27 __pthread_register_cancel F GLIBC_2.27 __pthread_register_cancel_defer F GLIBC_2.27 __pthread_rwlock_destroy F @@ -121,7 +120,6 @@ GLIBC_2.27 pthread_mutexattr_setpshared F GLIBC_2.27 pthread_mutexattr_setrobust F GLIBC_2.27 pthread_mutexattr_setrobust_np F GLIBC_2.27 pthread_mutexattr_settype F -GLIBC_2.27 pthread_once F GLIBC_2.27 pthread_rwlock_destroy F GLIBC_2.27 pthread_rwlock_init F GLIBC_2.27 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 8788493ce0..6cfde17d64 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -185,6 +185,7 @@ GLIBC_2.0 __printf_fp F GLIBC_2.0 __profile_frequency F GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 +GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -866,6 +867,7 @@ GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F GLIBC_2.0 pthread_mutex_unlock F +GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F @@ -2219,7 +2221,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index 518a08ad1e..738e9ab535 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -18,7 +18,6 @@ GLIBC_2.0 __pthread_mutex_unlock F GLIBC_2.0 __pthread_mutexattr_destroy F GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F -GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F @@ -60,7 +59,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 4596ab72b0..16b2483535 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -370,6 +370,7 @@ GLIBC_2.2 __printf_fp F GLIBC_2.2 __profile_frequency F GLIBC_2.2 __progname D 0x8 GLIBC_2.2 __progname_full D 0x8 +GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __rcmd_errstr D 0x8 @@ -1293,6 +1294,7 @@ GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F GLIBC_2.2 pthread_mutex_unlock F +GLIBC_2.2 pthread_once F GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F @@ -2120,7 +2122,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index c21f7cfea6..13a2e8ef91 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -31,7 +31,6 @@ GLIBC_2.2 __pthread_mutex_unlock F GLIBC_2.2 __pthread_mutexattr_destroy F GLIBC_2.2 __pthread_mutexattr_init F GLIBC_2.2 __pthread_mutexattr_settype F -GLIBC_2.2 __pthread_once F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F GLIBC_2.2 __pthread_rwlock_rdlock F @@ -109,7 +108,6 @@ GLIBC_2.2 pthread_mutexattr_init F GLIBC_2.2 pthread_mutexattr_setkind_np F GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F -GLIBC_2.2 pthread_once F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F GLIBC_2.2 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index ae16394e8a..a6fd6eb894 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -359,6 +359,7 @@ GLIBC_2.2 __printf_fp F GLIBC_2.2 __profile_frequency F GLIBC_2.2 __progname D 0x4 GLIBC_2.2 __progname_full D 0x4 +GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __rcmd_errstr D 0x4 @@ -1279,6 +1280,7 @@ GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F GLIBC_2.2 pthread_mutex_unlock F +GLIBC_2.2 pthread_once F GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F @@ -2089,7 +2091,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 740570ef37..96c70fb45e 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -30,7 +30,6 @@ GLIBC_2.2 __pthread_mutex_unlock F GLIBC_2.2 __pthread_mutexattr_destroy F GLIBC_2.2 __pthread_mutexattr_init F GLIBC_2.2 __pthread_mutexattr_settype F -GLIBC_2.2 __pthread_once F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F GLIBC_2.2 __pthread_rwlock_rdlock F @@ -108,7 +107,6 @@ GLIBC_2.2 pthread_mutexattr_init F GLIBC_2.2 pthread_mutexattr_setkind_np F GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F -GLIBC_2.2 pthread_once F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F GLIBC_2.2 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 6e45427e90..f4ba7b4ee8 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -359,6 +359,7 @@ GLIBC_2.2 __printf_fp F GLIBC_2.2 __profile_frequency F GLIBC_2.2 __progname D 0x4 GLIBC_2.2 __progname_full D 0x4 +GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __rcmd_errstr D 0x4 @@ -1279,6 +1280,7 @@ GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F GLIBC_2.2 pthread_mutex_unlock F +GLIBC_2.2 pthread_once F GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F @@ -2086,7 +2088,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 740570ef37..96c70fb45e 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -30,7 +30,6 @@ GLIBC_2.2 __pthread_mutex_unlock F GLIBC_2.2 __pthread_mutexattr_destroy F GLIBC_2.2 __pthread_mutexattr_init F GLIBC_2.2 __pthread_mutexattr_settype F -GLIBC_2.2 __pthread_once F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F GLIBC_2.2 __pthread_rwlock_rdlock F @@ -108,7 +107,6 @@ GLIBC_2.2 pthread_mutexattr_init F GLIBC_2.2 pthread_mutexattr_setkind_np F GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F -GLIBC_2.2 pthread_once F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F GLIBC_2.2 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 080a036590..70c2a92dfc 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -189,6 +189,7 @@ GLIBC_2.0 __printf_fp F GLIBC_2.0 __profile_frequency F GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 +GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -869,6 +870,7 @@ GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F GLIBC_2.0 pthread_mutex_unlock F +GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F @@ -2210,7 +2212,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 _IO_fprintf F GLIBC_2.4 _IO_printf F GLIBC_2.4 _IO_sprintf F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index e17b5183ef..059ae76802 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -18,7 +18,6 @@ GLIBC_2.0 __pthread_mutex_unlock F GLIBC_2.0 __pthread_mutexattr_destroy F GLIBC_2.0 __pthread_mutexattr_init F GLIBC_2.0 __pthread_mutexattr_settype F -GLIBC_2.0 __pthread_once F GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F @@ -60,7 +59,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_once F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index c8fb7da49f..6f323b3705 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -397,6 +397,7 @@ GLIBC_2.2 __printf_fp F GLIBC_2.2 __profile_frequency F GLIBC_2.2 __progname D 0x8 GLIBC_2.2 __progname_full D 0x8 +GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __rcmd_errstr D 0x8 @@ -1322,6 +1323,7 @@ GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F GLIBC_2.2 pthread_mutex_unlock F +GLIBC_2.2 pthread_once F GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F @@ -2137,7 +2139,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 0565c43c10..3698acd3e9 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -30,7 +30,6 @@ GLIBC_2.2 __pthread_mutex_unlock F GLIBC_2.2 __pthread_mutexattr_destroy F GLIBC_2.2 __pthread_mutexattr_init F GLIBC_2.2 __pthread_mutexattr_settype F -GLIBC_2.2 __pthread_once F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F GLIBC_2.2 __pthread_rwlock_rdlock F @@ -108,7 +107,6 @@ GLIBC_2.2 pthread_mutexattr_init F GLIBC_2.2 pthread_mutexattr_setkind_np F GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F -GLIBC_2.2 pthread_once F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F GLIBC_2.2 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index cde6fdb49d..35503c7361 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -358,6 +358,7 @@ GLIBC_2.2.5 __printf_fp F GLIBC_2.2.5 __profile_frequency F GLIBC_2.2.5 __progname D 0x8 GLIBC_2.2.5 __progname_full D 0x8 +GLIBC_2.2.5 __pthread_once F GLIBC_2.2.5 __pwrite64 F GLIBC_2.2.5 __rawmemchr F GLIBC_2.2.5 __rcmd_errstr D 0x8 @@ -1290,6 +1291,7 @@ GLIBC_2.2.5 pthread_mutex_destroy F GLIBC_2.2.5 pthread_mutex_init F GLIBC_2.2.5 pthread_mutex_lock F GLIBC_2.2.5 pthread_mutex_unlock F +GLIBC_2.2.5 pthread_once F GLIBC_2.2.5 pthread_self F GLIBC_2.2.5 pthread_setcancelstate F GLIBC_2.2.5 pthread_setcanceltype F @@ -2096,7 +2098,9 @@ GLIBC_2.33 stat F 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_mutex_consistent F +GLIBC_2.34 pthread_once F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_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 f1255816b1..7636fde610 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -30,7 +30,6 @@ GLIBC_2.2.5 __pthread_mutex_unlock F GLIBC_2.2.5 __pthread_mutexattr_destroy F GLIBC_2.2.5 __pthread_mutexattr_init F GLIBC_2.2.5 __pthread_mutexattr_settype F -GLIBC_2.2.5 __pthread_once F GLIBC_2.2.5 __pthread_rwlock_destroy F GLIBC_2.2.5 __pthread_rwlock_init F GLIBC_2.2.5 __pthread_rwlock_rdlock F @@ -108,7 +107,6 @@ GLIBC_2.2.5 pthread_mutexattr_init F GLIBC_2.2.5 pthread_mutexattr_setkind_np F GLIBC_2.2.5 pthread_mutexattr_setpshared F GLIBC_2.2.5 pthread_mutexattr_settype F -GLIBC_2.2.5 pthread_once F GLIBC_2.2.5 pthread_rwlock_destroy F GLIBC_2.2.5 pthread_rwlock_init F GLIBC_2.2.5 pthread_rwlock_rdlock F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index e772da1ec4..3af0b4def9 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -340,6 +340,7 @@ GLIBC_2.16 __profile_frequency F 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 __ptsname_r_chk F GLIBC_2.16 __pwrite64 F GLIBC_2.16 __rawmemchr F @@ -1461,6 +1462,7 @@ GLIBC_2.16 pthread_mutex_destroy F GLIBC_2.16 pthread_mutex_init F GLIBC_2.16 pthread_mutex_lock F GLIBC_2.16 pthread_mutex_unlock F +GLIBC_2.16 pthread_once F GLIBC_2.16 pthread_self F GLIBC_2.16 pthread_setcancelstate F GLIBC_2.16 pthread_setcanceltype F @@ -2194,4 +2196,6 @@ GLIBC_2.33 stat F 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_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 fdaff69ea6..d15de68e7e 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -23,7 +23,6 @@ GLIBC_2.16 __pthread_mutex_unlock F GLIBC_2.16 __pthread_mutexattr_destroy F GLIBC_2.16 __pthread_mutexattr_init F GLIBC_2.16 __pthread_mutexattr_settype F -GLIBC_2.16 __pthread_once F GLIBC_2.16 __pthread_register_cancel F GLIBC_2.16 __pthread_register_cancel_defer F GLIBC_2.16 __pthread_rwlock_destroy F @@ -120,7 +119,6 @@ GLIBC_2.16 pthread_mutexattr_setpshared F GLIBC_2.16 pthread_mutexattr_setrobust F GLIBC_2.16 pthread_mutexattr_setrobust_np F GLIBC_2.16 pthread_mutexattr_settype F -GLIBC_2.16 pthread_once F GLIBC_2.16 pthread_rwlock_destroy F GLIBC_2.16 pthread_rwlock_init F GLIBC_2.16 pthread_rwlock_rdlock F From patchwork Fri Mar 12 17:49:42 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452285 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=eEDUu6GC; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dxtcr68QYz9sRN for ; Sat, 13 Mar 2021 04:50:04 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1E7D8395B828; Fri, 12 Mar 2021 17:49:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1E7D8395B828 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571383; bh=PWE2OovrGt4xzDNzJTqNzjX9HfA083PHe93VZjQ8faU=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=eEDUu6GCqyRf0dBxNplQjlGqVvswLiCEEeS6hJNlU0MMysG7v273AKiqNHAzfJmgw dTSM3tQ6vD2er5DBF7TGqltav3xy2RpV+Ve8Y9OLuM/d2hzj2OhGUeSviTpIMWNu5w YBOJIQqaSEMBVh6ottUTKsfIZSQPVzLtj4f9rgXk= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by sourceware.org (Postfix) with ESMTP id 3AB13398EC10 for ; Fri, 12 Mar 2021 17:49:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3AB13398EC10 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-342-sIB-7-TSM6SI8o80sTKO8w-1; Fri, 12 Mar 2021 12:49:32 -0500 X-MC-Unique: sIB-7-TSM6SI8o80sTKO8w-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id CCE6B18460E0 for ; Fri, 12 Mar 2021 17:49:31 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 58C235C1C5 for ; Fri, 12 Mar 2021 17:49:30 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 09/18] nptl: Move __pthread_unwind_next into libc In-Reply-To: References: Message-Id: <97b98f51c7d80c11445da9ec2c8b04d16c7eb7df.1615569355.git.fweimer@redhat.com> Date: Fri, 12 Mar 2021 18:49:42 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" 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. 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. --- 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 4c9e63dac9..05efa239d8 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -522,6 +522,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) 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 @@ -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 diff --git a/nptl/Versions b/nptl/Versions index 74b311d4eb..c241763c13 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; } @@ -119,6 +120,7 @@ libc { __pthread_cond_init; # Used by the C11 threads. __pthread_force_elision; __pthread_getattr_default_np; + __pthread_unwind; } } @@ -324,7 +326,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; @@ -413,6 +414,5 @@ libpthread { __pthread_clock_settime; __pthread_get_minstack; __pthread_initialize_minimal; - __pthread_unwind; } } 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 ()) 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 diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index d385deae1a..1a264ab929 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 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"); + } #endif int result = 0; int oldval; 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 (); 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 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; - } } 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 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); -} 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 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); +} 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); } 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 *); 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); -} 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) 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 From patchwork Fri Mar 12 17:49:48 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452286 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=K/f2qzYr; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dxtcz3V1pz9sRN for ; Sat, 13 Mar 2021 04:50:11 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1C713399C028; Fri, 12 Mar 2021 17:49:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1C713399C028 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571384; bh=TAFHyKd6b3SCAR1oiLy4NehYQ4mbjelwkHC82irszfE=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=K/f2qzYrK9W5exMqtIQ+IS6gQ90t0oO4E8T+VjSzqVneqXXoze5zyZTVlA4dmAzb3 t7ulxLVXAc1GYvl+NtFryvRCfRH7H1lKfD99SSi0J2yJaNs6wKC3n0+k01PjQMBv+p 5e1cqdMUdT6GvtRMCaJGizem+yV/EcVx4CCeEjA4= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 503463959C2F for ; Fri, 12 Mar 2021 17:49:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 503463959C2F Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-483-sUJho1dDML2XqDQlB940-A-1; Fri, 12 Mar 2021 12:49:37 -0500 X-MC-Unique: sUJho1dDML2XqDQlB940-A-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id DCBF969724 for ; Fri, 12 Mar 2021 17:49:36 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 18C995C1C5 for ; Fri, 12 Mar 2021 17:49:35 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 10/18] csu: Move calling main out of __libc_start_main_impl In-Reply-To: References: Message-Id: Date: Fri, 12 Mar 2021 18:49:48 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" This code depends on whether glibc has unwinding support for a particular port. --- csu/libc-start.c | 74 ++-------------------- sysdeps/generic/libc_start_call_main.h | 24 +++++++ sysdeps/nptl/libc_start_call_main.h | 88 ++++++++++++++++++++++++++ 3 files changed, 116 insertions(+), 70 deletions(-) create mode 100644 sysdeps/generic/libc_start_call_main.h create mode 100644 sysdeps/nptl/libc_start_call_main.h diff --git a/csu/libc-start.c b/csu/libc-start.c index 05ff7afddf..8688cba76d 100644 --- a/csu/libc-start.c +++ b/csu/libc-start.c @@ -58,12 +58,6 @@ uintptr_t __pointer_chk_guard_local # endif #endif -#ifdef HAVE_PTR_NTHREADS -/* We need atomic operations. */ -# include -#endif - - #ifndef SHARED # include # include @@ -123,6 +117,9 @@ apply_irel (void) # define ARCH_INIT_CPU_FEATURES() #endif +/* Obtain the definition of __libc_start_call_main. */ +#include + #ifdef SHARED /* Initialization for dynamic executables. Find the main executable link map and run its init functions. */ @@ -245,9 +242,6 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), void (*fini) (void), void (*rtld_fini) (void), void *stack_end) { - /* Result of the 'main' function. */ - int result; - #ifndef SHARED char **ev = &argv[argc + 1]; @@ -413,68 +407,8 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), #ifndef SHARED _dl_debug_initialize (0, LM_ID_BASE); #endif -#ifdef HAVE_CLEANUP_JMP_BUF - /* Memory for the cancellation buffer. */ - struct pthread_unwind_buf unwind_buf; - - int not_first_call; - DIAG_PUSH_NEEDS_COMMENT; -#if __GNUC_PREREQ (7, 0) - /* This call results in a -Wstringop-overflow warning because struct - pthread_unwind_buf is smaller than jmp_buf. setjmp and longjmp - do not use anything beyond the common prefix (they never access - the saved signal mask), so that is a false positive. */ - DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overflow="); -#endif - not_first_call = setjmp ((struct __jmp_buf_tag *) unwind_buf.cancel_jmp_buf); - DIAG_POP_NEEDS_COMMENT; - if (__glibc_likely (! not_first_call)) - { - struct pthread *self = THREAD_SELF; - - /* Store old info. */ - unwind_buf.priv.data.prev = THREAD_GETMEM (self, cleanup_jmp_buf); - unwind_buf.priv.data.cleanup = THREAD_GETMEM (self, cleanup); - - /* Store the new cleanup handler info. */ - THREAD_SETMEM (self, cleanup_jmp_buf, &unwind_buf); - - /* Run the program. */ - result = main (argc, argv, __environ MAIN_AUXVEC_PARAM); - } - else - { - /* Remove the thread-local data. */ -# ifdef SHARED - PTHFCT_CALL (ptr__nptl_deallocate_tsd, ()); -# else - extern void __nptl_deallocate_tsd (void) __attribute ((weak)); - __nptl_deallocate_tsd (); -# endif - - /* One less thread. Decrement the counter. If it is zero we - terminate the entire process. */ - result = 0; -# ifdef SHARED - unsigned int *ptr = __libc_pthread_functions.ptr_nthreads; -# ifdef PTR_DEMANGLE - PTR_DEMANGLE (ptr); -# endif -# else - extern unsigned int __nptl_nthreads __attribute ((weak)); - unsigned int *const ptr = &__nptl_nthreads; -# endif - - if (! atomic_decrement_and_test (ptr)) - /* Not much left to do but to exit the thread, not the process. */ - __exit_thread (); - } -#else - /* Nothing fancy, just call the function. */ - result = main (argc, argv, __environ MAIN_AUXVEC_PARAM); -#endif - exit (result); + __libc_start_call_main (main, argc, argv MAIN_AUXVEC_PARAM); } /* Starting with glibc 2.34, the init parameter is always NULL. Older diff --git a/sysdeps/generic/libc_start_call_main.h b/sysdeps/generic/libc_start_call_main.h new file mode 100644 index 0000000000..8a06eec4a3 --- /dev/null +++ b/sysdeps/generic/libc_start_call_main.h @@ -0,0 +1,24 @@ +/* Invoking main from __libc_start. Generic version without unwinding. + Copyright (C) 1998-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 + . */ + +_Noreturn static __always_inline void +__libc_start_call_main (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), + int argc, char **argv MAIN_AUXVEC_DECL) +{ + exit (main (argc, argv, __environ MAIN_AUXVEC_PARAM)); +} diff --git a/sysdeps/nptl/libc_start_call_main.h b/sysdeps/nptl/libc_start_call_main.h new file mode 100644 index 0000000000..5218e7ab1e --- /dev/null +++ b/sysdeps/nptl/libc_start_call_main.h @@ -0,0 +1,88 @@ +/* Invoking main from __libc_start_main. nptl version. + Copyright (C) 1998-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 + . */ + +#include + +_Noreturn static void +__libc_start_call_main (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), + int argc, char **argv +#ifdef LIBC_START_MAIN_AUXVEC_ARG + , ElfW(auxv_t) *auxvec +#endif + ) +{ + int result; + + /* Memory for the cancellation buffer. */ + struct pthread_unwind_buf unwind_buf; + + int not_first_call; + DIAG_PUSH_NEEDS_COMMENT; +#if __GNUC_PREREQ (7, 0) + /* This call results in a -Wstringop-overflow warning because struct + pthread_unwind_buf is smaller than jmp_buf. setjmp and longjmp + do not use anything beyond the common prefix (they never access + the saved signal mask), so that is a false positive. */ + DIAG_IGNORE_NEEDS_COMMENT (11, "-Wstringop-overflow="); +#endif + not_first_call = setjmp ((struct __jmp_buf_tag *) unwind_buf.cancel_jmp_buf); + DIAG_POP_NEEDS_COMMENT; + if (__glibc_likely (! not_first_call)) + { + struct pthread *self = THREAD_SELF; + + /* Store old info. */ + unwind_buf.priv.data.prev = THREAD_GETMEM (self, cleanup_jmp_buf); + unwind_buf.priv.data.cleanup = THREAD_GETMEM (self, cleanup); + + /* Store the new cleanup handler info. */ + THREAD_SETMEM (self, cleanup_jmp_buf, &unwind_buf); + + /* Run the program. */ + result = main (argc, argv, __environ MAIN_AUXVEC_PARAM); + } + else + { + /* Remove the thread-local data. */ +# ifdef SHARED + PTHFCT_CALL (ptr__nptl_deallocate_tsd, ()); +# else + extern void __nptl_deallocate_tsd (void) __attribute ((weak)); + __nptl_deallocate_tsd (); +# endif + + /* One less thread. Decrement the counter. If it is zero we + terminate the entire process. */ + result = 0; +# ifdef SHARED + unsigned int *ptr = __libc_pthread_functions.ptr_nthreads; +# ifdef PTR_DEMANGLE + PTR_DEMANGLE (ptr); +# endif +# else + extern unsigned int __nptl_nthreads __attribute ((weak)); + unsigned int *const ptr = &__nptl_nthreads; +# endif + + if (! atomic_decrement_and_test (ptr)) + /* Not much left to do but to exit the thread, not the process. */ + __exit_thread (); + } + + exit (result); +} From patchwork Fri Mar 12 17:49:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452287 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=NTPfWpQ7; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dxtd42K82z9sRN for ; Sat, 13 Mar 2021 04:50:16 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A621D395B403; Fri, 12 Mar 2021 17:49:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A621D395B403 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571389; bh=aGrWnTZuLeTxnLkz6hgOYQs827NrtBVtLWFCHnLNbsY=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=NTPfWpQ7TSEt+wdHSyIXoeZWFR/DUvuK/d2CR6/JjMScQYnu6hYra/90WnWQmx+yT gcH/dikAFfH+ydWsMe8R2pDemoB3++11fDcBPeKH3v01poaRJY+P6FFrk3uX+gZS3x 6MxeV0rQW4gtRTbzVp9ByIPi7sYvidk6DKrIUZcc= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 B5774399C00C for ; Fri, 12 Mar 2021 17:49:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B5774399C00C Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-111-t6XtTZZ7PxmSQyTT-juz2w-1; Fri, 12 Mar 2021 12:49:43 -0500 X-MC-Unique: t6XtTZZ7PxmSQyTT-juz2w-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A4BA6100C618 for ; Fri, 12 Mar 2021 17:49:42 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CA9A6369A for ; Fri, 12 Mar 2021 17:49:41 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 11/18] nptl: Move internal __nptl_nthreads variable into libc In-Reply-To: References: Message-Id: <0815a95d750c6a6fd8a90d9e05fef94dabda9a97.1615569355.git.fweimer@redhat.com> Date: Fri, 12 Mar 2021 18:49:54 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" --- nptl/Makefile | 1 + nptl/Versions | 1 + nptl/libc_pthread_init.c | 1 - nptl/nptl-init.c | 1 - nptl/nptl_nthreads.c | 23 +++++++++++++++++++++++ nptl/pthreadP.h | 3 ++- nptl/pthread_create.c | 4 ---- nptl_db/structs.def | 2 +- sysdeps/nptl/libc_start_call_main.h | 13 ++----------- sysdeps/nptl/pthread-functions.h | 2 -- 10 files changed, 30 insertions(+), 21 deletions(-) create mode 100644 nptl/nptl_nthreads.c diff --git a/nptl/Makefile b/nptl/Makefile index c1ade91a0b..d7491632b8 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -45,6 +45,7 @@ routines = \ libc_multiple_threads \ libc_pthread_init \ lowlevellock \ + nptl_nthreads \ old_pthread_cond_destroy \ old_pthread_cond_init \ pthread_atfork \ diff --git a/nptl/Versions b/nptl/Versions index c241763c13..01a99ac99e 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -108,6 +108,7 @@ libc { __lll_lock_wait_private; __lll_trylock_elision; __lll_unlock_elision; + __nptl_nthreads; __pthread_attr_copy; __pthread_attr_destroy; __pthread_attr_init; diff --git a/nptl/libc_pthread_init.c b/nptl/libc_pthread_init.c index 3ac54aae13..85fceff930 100644 --- a/nptl/libc_pthread_init.c +++ b/nptl/libc_pthread_init.c @@ -27,7 +27,6 @@ #include #include - #ifdef TLS_MULTIPLE_THREADS_IN_TCB void #else diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index d30e8a9bdf..a09d6ed306 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -94,7 +94,6 @@ static const struct pthread_functions pthread_functions = .ptr___pthread_key_create = __pthread_key_create, .ptr___pthread_getspecific = __pthread_getspecific, .ptr___pthread_setspecific = __pthread_setspecific, - .ptr_nthreads = &__nptl_nthreads, .ptr__nptl_deallocate_tsd = __nptl_deallocate_tsd, .ptr__nptl_setxid = __nptl_setxid, .ptr_set_robust = __nptl_set_robust diff --git a/nptl/nptl_nthreads.c b/nptl/nptl_nthreads.c new file mode 100644 index 0000000000..2245bb3c76 --- /dev/null +++ b/nptl/nptl_nthreads.c @@ -0,0 +1,23 @@ +/* Thread counter variable. + 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; if not, see + . */ + +#include + +/* Number of threads running. */ +unsigned int __nptl_nthreads = 1; +libc_hidden_data_def (__nptl_nthreads) diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 1a264ab929..e00e21de7d 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -220,7 +220,8 @@ extern struct pthread_key_struct __pthread_keys[PTHREAD_KEYS_MAX]; hidden_proto (__pthread_keys) /* Number of threads running. */ -extern unsigned int __nptl_nthreads attribute_hidden; +extern unsigned int __nptl_nthreads; +libc_hidden_proto (__nptl_nthreads) #ifndef __ASSUME_SET_ROBUST_LIST /* Negative if we do not have the system call and we can use it. */ diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 6c645aff48..350bf03f5d 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -51,10 +51,6 @@ static td_thr_events_t __nptl_threads_events __attribute_used__; /* Pointer to descriptor with the last event. */ static struct pthread *__nptl_last_event __attribute_used__; -/* Number of threads running. */ -unsigned int __nptl_nthreads = 1; - - /* Code to allocate and deallocate a stack. */ #include "allocatestack.c" diff --git a/nptl_db/structs.def b/nptl_db/structs.def index 999a9fc35a..d0e1cb659a 100644 --- a/nptl_db/structs.def +++ b/nptl_db/structs.def @@ -73,7 +73,7 @@ DB_SYMBOL (nptl_version) DB_FUNCTION (__nptl_create_event) DB_FUNCTION (__nptl_death_event) DB_SYMBOL (__nptl_threads_events) -DB_VARIABLE (__nptl_nthreads) +DB_MAIN_VARIABLE (__nptl_nthreads) DB_VARIABLE (__nptl_last_event) DB_VARIABLE (__nptl_initial_report_events) diff --git a/sysdeps/nptl/libc_start_call_main.h b/sysdeps/nptl/libc_start_call_main.h index 5218e7ab1e..112cc20a7a 100644 --- a/sysdeps/nptl/libc_start_call_main.h +++ b/sysdeps/nptl/libc_start_call_main.h @@ -17,6 +17,7 @@ . */ #include +#include _Noreturn static void __libc_start_call_main (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), @@ -69,17 +70,7 @@ __libc_start_call_main (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), /* One less thread. Decrement the counter. If it is zero we terminate the entire process. */ result = 0; -# ifdef SHARED - unsigned int *ptr = __libc_pthread_functions.ptr_nthreads; -# ifdef PTR_DEMANGLE - PTR_DEMANGLE (ptr); -# endif -# else - extern unsigned int __nptl_nthreads __attribute ((weak)); - unsigned int *const ptr = &__nptl_nthreads; -# endif - - if (! atomic_decrement_and_test (ptr)) + if (! atomic_decrement_and_test (&__nptl_nthreads)) /* Not much left to do but to exit the thread, not the process. */ __exit_thread (); } diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 280655fe40..2fa698b1da 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -55,8 +55,6 @@ struct pthread_functions int (*ptr___pthread_key_create) (pthread_key_t *, void (*) (void *)); void *(*ptr___pthread_getspecific) (pthread_key_t); int (*ptr___pthread_setspecific) (pthread_key_t, const void *); -#define HAVE_PTR_NTHREADS - unsigned int *ptr_nthreads; void (*ptr__nptl_deallocate_tsd) (void); int (*ptr__nptl_setxid) (struct xid_command *); void (*ptr_set_robust) (struct pthread *); From patchwork Fri Mar 12 17:49:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452288 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=AKvEK944; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dxtd91KnSz9sRN for ; Sat, 13 Mar 2021 04:50:21 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 40782398EC0F; Fri, 12 Mar 2021 17:49:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 40782398EC0F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571393; bh=2kyyMI1sp1NZNtGJgBeAw379jvDBd+9bION/hb6Vnp4=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=AKvEK944Ot5QLHZNESRhFzHEXTqyENElkL1BlkGKdSALkKtLvKbMBZ+JxCAWW2N8q Og0JmSfrVOASiDIkSimWfCX8OBye0GIOtts9Mprh3teGxk68Lz8xUVSuWZ/RTPp46K OGC9zUo8A28WhB4DLJDJ46LMPnv0jWL22C3fOlDA= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by sourceware.org (Postfix) with ESMTP id DCA72399C017 for ; Fri, 12 Mar 2021 17:49:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org DCA72399C017 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-378-kexBVzZhOTqKVF9PbsS40g-1; Fri, 12 Mar 2021 12:49:48 -0500 X-MC-Unique: kexBVzZhOTqKVF9PbsS40g-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id DDD1781744F for ; Fri, 12 Mar 2021 17:49:47 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3EB3910023AB for ; Fri, 12 Mar 2021 17:49:47 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 12/18] nptl_db: Introduce DB_MAIN_ARRAY_VARIABLE In-Reply-To: References: Message-Id: Date: Fri, 12 Mar 2021 18:49:59 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" And document the reason for DB_ARRAY_VARIABLE. --- nptl_db/db-symbols.awk | 1 + nptl_db/structs.def | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/nptl_db/db-symbols.awk b/nptl_db/db-symbols.awk index eb089e188a..9e981537c8 100644 --- a/nptl_db/db-symbols.awk +++ b/nptl_db/db-symbols.awk @@ -4,6 +4,7 @@ BEGIN { %define DB_RTLD_VARIABLE(name) /* Nothing. */ %define DB_MAIN_VARIABLE(name) /* Nothing. */ +%define DB_MAIN_ARRAY_VARIABLE(name) /* Nothing. */ %define DB_LOOKUP_NAME(idx, name) required[STRINGIFY (name)] = 1; %define DB_LOOKUP_NAME_TH_UNIQUE(idx, name) th_unique[STRINGIFY (name)] = 1; %include "db-symbols.h" diff --git a/nptl_db/structs.def b/nptl_db/structs.def index d0e1cb659a..1522c96f8f 100644 --- a/nptl_db/structs.def +++ b/nptl_db/structs.def @@ -26,9 +26,14 @@ # define DB_RTLD_VARIABLE(name) DB_VARIABLE (name) #endif +/* DB_MAIN_VARIABLE and DB_MAIN_ARRAY_VARIABLE are not covered by the + libpthread symbol check in db-symbols.awk. */ #ifndef DB_MAIN_VARIABLE # define DB_MAIN_VARIABLE(name) DB_VARIABLE (name) #endif +#ifndef DB_MAIN_ARRAY_VARIABLE +# define DB_MAIN_ARRAY_VARIABLE(name) DB_ARRAY_VARIABLE (name) +#endif #ifndef DB_RTLD_GLOBAL_FIELD # if !IS_IN (libpthread) From patchwork Fri Mar 12 17:50:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452289 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=HatnY5pt; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DxtdG4DTbz9sRN for ; Sat, 13 Mar 2021 04:50:26 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C9BE039C5004; Fri, 12 Mar 2021 17:49:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C9BE039C5004 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571398; bh=ZkXopLcrGWcn5aST8snPdGZBQI/gqeCtpoP10tJ1W+0=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=HatnY5pt96ccNNM0YnMCtMdrWxj/XpNiS3lYr13F2nyCKND0NrvW+1QdK5pqDGGIw 8cr+MZU3jAe5ugmAFKCSukK9Gt9C0/l5bOSbK3n7ba5oseq/aJN2soZEejmuartRmz p4m4AbNcHzLjoZnCOsV/2tBu0xzXMhqSzxZyFUig= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 76E9A398B8B5 for ; Fri, 12 Mar 2021 17:49:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 76E9A398B8B5 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-295-8Fc7NH0YOrWp-IVp6wpSLA-1; Fri, 12 Mar 2021 12:49:54 -0500 X-MC-Unique: 8Fc7NH0YOrWp-IVp6wpSLA-1 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3ACA61074659 for ; Fri, 12 Mar 2021 17:49:53 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8D9925D9F2 for ; Fri, 12 Mar 2021 17:49:52 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 13/18] nptl: Move __pthread_keys global variable into libc In-Reply-To: References: Message-Id: <06e3fe2a78dc318e2fb463f7c700bb43b37d3eda.1615569355.git.fweimer@redhat.com> Date: Fri, 12 Mar 2021 18:50:05 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.14 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" This prepares moving pthread_exit, and later the pthread_key_create infrastructure. --- nptl/Makefile | 1 + nptl/Versions | 1 + nptl/pthreadP.h | 2 +- nptl/pthread_keys.c | 24 ++++++++++++++++++++++++ nptl/vars.c | 5 ----- nptl_db/structs.def | 2 +- 6 files changed, 28 insertions(+), 7 deletions(-) create mode 100644 nptl/pthread_keys.c diff --git a/nptl/Makefile b/nptl/Makefile index d7491632b8..c0ae3593ef 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -76,6 +76,7 @@ routines = \ pthread_getaffinity \ pthread_getattr_np \ pthread_getschedparam \ + pthread_keys \ pthread_mutex_consistent \ pthread_once \ pthread_self \ diff --git a/nptl/Versions b/nptl/Versions index 01a99ac99e..87bdcd89ea 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -121,6 +121,7 @@ libc { __pthread_cond_init; # Used by the C11 threads. __pthread_force_elision; __pthread_getattr_default_np; + __pthread_keys; __pthread_unwind; } } diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index e00e21de7d..df64d4f8f1 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -217,7 +217,7 @@ extern int __concurrency_level attribute_hidden; /* Thread-local data key handling. */ extern struct pthread_key_struct __pthread_keys[PTHREAD_KEYS_MAX]; -hidden_proto (__pthread_keys) +libc_hidden_proto (__pthread_keys) /* Number of threads running. */ extern unsigned int __nptl_nthreads; diff --git a/nptl/pthread_keys.c b/nptl/pthread_keys.c new file mode 100644 index 0000000000..76e4cfad34 --- /dev/null +++ b/nptl/pthread_keys.c @@ -0,0 +1,24 @@ +/* Table of pthread_key_create keys and their destructors. + Copyright (C) 2004-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 + . */ + +#include + +/* Table of the key information. */ +struct pthread_key_struct __pthread_keys[PTHREAD_KEYS_MAX] + __attribute__ ((nocommon)); +libc_hidden_data_def (__pthread_keys) diff --git a/nptl/vars.c b/nptl/vars.c index 51de9fbd54..8de30856b8 100644 --- a/nptl/vars.c +++ b/nptl/vars.c @@ -33,8 +33,3 @@ int __default_pthread_attr_lock = LLL_LOCK_INITIALIZER; nptl/descr.h for more context on the single-threaded process case. */ int __pthread_multiple_threads attribute_hidden; #endif - -/* Table of the key information. */ -struct pthread_key_struct __pthread_keys[PTHREAD_KEYS_MAX] - __attribute__ ((nocommon)); -hidden_data_def (__pthread_keys) diff --git a/nptl_db/structs.def b/nptl_db/structs.def index 1522c96f8f..33bf0f9be4 100644 --- a/nptl_db/structs.def +++ b/nptl_db/structs.def @@ -82,7 +82,7 @@ DB_MAIN_VARIABLE (__nptl_nthreads) DB_VARIABLE (__nptl_last_event) DB_VARIABLE (__nptl_initial_report_events) -DB_ARRAY_VARIABLE (__pthread_keys) +DB_MAIN_ARRAY_VARIABLE (__pthread_keys) DB_STRUCT (pthread_key_struct) DB_STRUCT_FIELD (pthread_key_struct, seq) DB_STRUCT_FIELD (pthread_key_struct, destr) From patchwork Fri Mar 12 17:50:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452290 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=b3/ifXhV; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DxtdL6wh5z9sRR for ; Sat, 13 Mar 2021 04:50:30 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id CB3DE399C02E; Fri, 12 Mar 2021 17:50:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org CB3DE399C02E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571404; bh=jhZL+h010FtQ7IWd9yq3HW5LWFpLUDOrTY/5f55kCB8=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=b3/ifXhVmV9Df9aSb3qH3xrBbilgbrnLkJATDn+1lT/56n7bYWu7IcBLiAr30njfV a8pbD6sOOBr7O/uvbC+nhIr2Z4Z7yhBTP7M31zYLA6VC/84Mf61AEymxlvs5IW2+Fk 8PxhBolUDZggZfAEo+e8qBGZ1nZEWNT4pspZLMT4= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 CF1E1398B8B5 for ; Fri, 12 Mar 2021 17:50:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org CF1E1398B8B5 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-599-GM-owZEbMDCznzpcBL6ETA-1; Fri, 12 Mar 2021 12:49:59 -0500 X-MC-Unique: GM-owZEbMDCznzpcBL6ETA-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6EF4E107ACCA for ; Fri, 12 Mar 2021 17:49:58 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 62ECD1975F for ; Fri, 12 Mar 2021 17:49:57 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 14/18] nptl: Move __nptl_deallocate_tsd into libc In-Reply-To: References: Message-Id: <9be5404d2cba9ccff7a28bdbe0b30de036f6cc4f.1615569355.git.fweimer@redhat.com> Date: Fri, 12 Mar 2021 18:50:09 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" This prepares moving pthread_exit, and later the pthread_key_create infrastructure. --- nptl/Makefile | 1 + nptl/Versions | 1 + nptl/nptl-init.c | 1 - nptl/nptl_deallocate_tsd.c | 112 ++++++++++++++++++++++++++++ nptl/pthreadP.h | 3 +- nptl/pthread_create.c | 94 ----------------------- sysdeps/nptl/libc_start_call_main.h | 5 -- sysdeps/nptl/pthread-functions.h | 1 - 8 files changed, 116 insertions(+), 102 deletions(-) create mode 100644 nptl/nptl_deallocate_tsd.c diff --git a/nptl/Makefile b/nptl/Makefile index c0ae3593ef..e21db8b138 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -45,6 +45,7 @@ routines = \ libc_multiple_threads \ libc_pthread_init \ lowlevellock \ + nptl_deallocate_tsd \ nptl_nthreads \ old_pthread_cond_destroy \ old_pthread_cond_init \ diff --git a/nptl/Versions b/nptl/Versions index 87bdcd89ea..5253772e8d 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -108,6 +108,7 @@ libc { __lll_lock_wait_private; __lll_trylock_elision; __lll_unlock_elision; + __nptl_deallocate_tsd; __nptl_nthreads; __pthread_attr_copy; __pthread_attr_destroy; diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index a09d6ed306..54d9d206b2 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -94,7 +94,6 @@ static const struct pthread_functions pthread_functions = .ptr___pthread_key_create = __pthread_key_create, .ptr___pthread_getspecific = __pthread_getspecific, .ptr___pthread_setspecific = __pthread_setspecific, - .ptr__nptl_deallocate_tsd = __nptl_deallocate_tsd, .ptr__nptl_setxid = __nptl_setxid, .ptr_set_robust = __nptl_set_robust }; diff --git a/nptl/nptl_deallocate_tsd.c b/nptl/nptl_deallocate_tsd.c new file mode 100644 index 0000000000..c665f4a08a --- /dev/null +++ b/nptl/nptl_deallocate_tsd.c @@ -0,0 +1,112 @@ +/* Deallocation thread-specific data structures related to pthread_key_create. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper , 2002. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* Deallocate POSIX thread-local-storage. */ +void +__nptl_deallocate_tsd (void) +{ + struct pthread *self = THREAD_SELF; + + /* Maybe no data was ever allocated. This happens often so we have + a flag for this. */ + if (THREAD_GETMEM (self, specific_used)) + { + size_t round; + size_t cnt; + + round = 0; + do + { + size_t idx; + + /* So far no new nonzero data entry. */ + THREAD_SETMEM (self, specific_used, false); + + for (cnt = idx = 0; cnt < PTHREAD_KEY_1STLEVEL_SIZE; ++cnt) + { + struct pthread_key_data *level2; + + level2 = THREAD_GETMEM_NC (self, specific, cnt); + + if (level2 != NULL) + { + size_t inner; + + for (inner = 0; inner < PTHREAD_KEY_2NDLEVEL_SIZE; + ++inner, ++idx) + { + void *data = level2[inner].data; + + if (data != NULL) + { + /* Always clear the data. */ + level2[inner].data = NULL; + + /* Make sure the data corresponds to a valid + key. This test fails if the key was + deallocated and also if it was + re-allocated. It is the user's + responsibility to free the memory in this + case. */ + if (level2[inner].seq + == __pthread_keys[idx].seq + /* It is not necessary to register a destructor + function. */ + && __pthread_keys[idx].destr != NULL) + /* Call the user-provided destructor. */ + __pthread_keys[idx].destr (data); + } + } + } + else + idx += PTHREAD_KEY_1STLEVEL_SIZE; + } + + if (THREAD_GETMEM (self, specific_used) == 0) + /* No data has been modified. */ + goto just_free; + } + /* We only repeat the process a fixed number of times. */ + while (__builtin_expect (++round < PTHREAD_DESTRUCTOR_ITERATIONS, 0)); + + /* Just clear the memory of the first block for reuse. */ + memset (&THREAD_SELF->specific_1stblock, '\0', + sizeof (self->specific_1stblock)); + + just_free: + /* Free the memory for the other blocks. */ + for (cnt = 1; cnt < PTHREAD_KEY_1STLEVEL_SIZE; ++cnt) + { + struct pthread_key_data *level2; + + level2 = THREAD_GETMEM_NC (self, specific, cnt); + if (level2 != NULL) + { + /* The first block is allocated as part of the thread + descriptor. */ + free (level2); + THREAD_SETMEM_NC (self, specific, cnt, NULL); + } + } + + THREAD_SETMEM (self, specific_used, false); + } +} +libc_hidden_def (__nptl_deallocate_tsd) diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index df64d4f8f1..e11a3a1945 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -679,7 +679,8 @@ extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer, extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer, int execute); -extern void __nptl_deallocate_tsd (void) attribute_hidden; +extern void __nptl_deallocate_tsd (void); +libc_hidden_proto (__nptl_deallocate_tsd) extern void __nptl_setxid_error (struct xid_command *cmdp, int error) attribute_hidden; diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 350bf03f5d..58e10e7741 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -242,100 +242,6 @@ __find_in_stack_list (struct pthread *pd) } -/* Deallocate POSIX thread-local-storage. */ -void -attribute_hidden -__nptl_deallocate_tsd (void) -{ - struct pthread *self = THREAD_SELF; - - /* Maybe no data was ever allocated. This happens often so we have - a flag for this. */ - if (THREAD_GETMEM (self, specific_used)) - { - size_t round; - size_t cnt; - - round = 0; - do - { - size_t idx; - - /* So far no new nonzero data entry. */ - THREAD_SETMEM (self, specific_used, false); - - for (cnt = idx = 0; cnt < PTHREAD_KEY_1STLEVEL_SIZE; ++cnt) - { - struct pthread_key_data *level2; - - level2 = THREAD_GETMEM_NC (self, specific, cnt); - - if (level2 != NULL) - { - size_t inner; - - for (inner = 0; inner < PTHREAD_KEY_2NDLEVEL_SIZE; - ++inner, ++idx) - { - void *data = level2[inner].data; - - if (data != NULL) - { - /* Always clear the data. */ - level2[inner].data = NULL; - - /* Make sure the data corresponds to a valid - key. This test fails if the key was - deallocated and also if it was - re-allocated. It is the user's - responsibility to free the memory in this - case. */ - if (level2[inner].seq - == __pthread_keys[idx].seq - /* It is not necessary to register a destructor - function. */ - && __pthread_keys[idx].destr != NULL) - /* Call the user-provided destructor. */ - __pthread_keys[idx].destr (data); - } - } - } - else - idx += PTHREAD_KEY_1STLEVEL_SIZE; - } - - if (THREAD_GETMEM (self, specific_used) == 0) - /* No data has been modified. */ - goto just_free; - } - /* We only repeat the process a fixed number of times. */ - while (__builtin_expect (++round < PTHREAD_DESTRUCTOR_ITERATIONS, 0)); - - /* Just clear the memory of the first block for reuse. */ - memset (&THREAD_SELF->specific_1stblock, '\0', - sizeof (self->specific_1stblock)); - - just_free: - /* Free the memory for the other blocks. */ - for (cnt = 1; cnt < PTHREAD_KEY_1STLEVEL_SIZE; ++cnt) - { - struct pthread_key_data *level2; - - level2 = THREAD_GETMEM_NC (self, specific, cnt); - if (level2 != NULL) - { - /* The first block is allocated as part of the thread - descriptor. */ - free (level2); - THREAD_SETMEM_NC (self, specific, cnt, NULL); - } - } - - THREAD_SETMEM (self, specific_used, false); - } -} - - /* Deallocate a thread's stack after optionally making sure the thread descriptor is still valid. */ void diff --git a/sysdeps/nptl/libc_start_call_main.h b/sysdeps/nptl/libc_start_call_main.h index 112cc20a7a..c579c65f78 100644 --- a/sysdeps/nptl/libc_start_call_main.h +++ b/sysdeps/nptl/libc_start_call_main.h @@ -60,12 +60,7 @@ __libc_start_call_main (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), else { /* Remove the thread-local data. */ -# ifdef SHARED - PTHFCT_CALL (ptr__nptl_deallocate_tsd, ()); -# else - extern void __nptl_deallocate_tsd (void) __attribute ((weak)); __nptl_deallocate_tsd (); -# endif /* One less thread. Decrement the counter. If it is zero we terminate the entire process. */ diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 2fa698b1da..b28b47ab0d 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -55,7 +55,6 @@ struct pthread_functions int (*ptr___pthread_key_create) (pthread_key_t *, void (*) (void *)); void *(*ptr___pthread_getspecific) (pthread_key_t); int (*ptr___pthread_setspecific) (pthread_key_t, const void *); - void (*ptr__nptl_deallocate_tsd) (void); int (*ptr__nptl_setxid) (struct xid_command *); void (*ptr_set_robust) (struct pthread *); }; From patchwork Fri Mar 12 17:50:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452291 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=qRrTT2sF; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DxtdR2LRcz9sRN for ; Sat, 13 Mar 2021 04:50:35 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5F8C139C502C; Fri, 12 Mar 2021 17:50:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5F8C139C502C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571415; bh=JuiHMoWDXcCdvKfm0MzEXRdrKRfzCeLwe487fikEr5s=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=qRrTT2sF9dJ9qIloTvo9uzG57J8aEjGJbZKbSUF9rPFQAy1cEK63PwEEla/fp6IcV ZkcaCJ0AWaWlf87pk4C0ZNKvLASoieAqD0lb3CxYB2cOxnPqkckUoRlpGNScrHKOoe TKO892pGSeEHzhufXXnlAJoOk3XiVH8m46aK+xXs= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id 2BE88398B8B5 for ; Fri, 12 Mar 2021 17:50:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2BE88398B8B5 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-164-DB8pRQtbOMGb_S3A4TQ9rA-1; Fri, 12 Mar 2021 12:50:06 -0500 X-MC-Unique: DB8pRQtbOMGb_S3A4TQ9rA-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id A4FE3107ACCA for ; Fri, 12 Mar 2021 17:50:03 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6A3A510023AB for ; Fri, 12 Mar 2021 17:50:02 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 15/18] nptl: Move pthread_exit into libc In-Reply-To: References: Message-Id: Date: Fri, 12 Mar 2021 18:50:14 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The pthread_exit symbol was moved using scripts/move-symbol-to-libc.py. No new symbol version is needed because there was a forwarder. The new tests nptl/tst-pthread_exit-nothreads and nptl/tst-pthread_exit-nothreads-static exercise the scenario that pthread_exit is called without libpthread having been linked in. This is not possible for the generic code, so these tests do not live in sysdeps/pthread for now. --- nptl/Makefile | 13 +++++++-- nptl/Versions | 2 +- nptl/forward.c | 16 ----------- nptl/nptl-init.c | 1 - nptl/pthreadP.h | 1 + nptl/pthread_exit.c | 5 +--- nptl/tst-pthread_exit-nothreads-static.c | 19 +++++++++++++ nptl/tst-pthread_exit-nothreads.c | 28 +++++++++++++++++++ sysdeps/nptl/pthread-functions.h | 1 - sysdeps/pthread/Makefile | 2 +- .../sysv/linux/aarch64/libpthread.abilist | 1 - .../unix/sysv/linux/alpha/libpthread.abilist | 1 - .../unix/sysv/linux/arc/libpthread.abilist | 1 - .../unix/sysv/linux/arm/be/libpthread.abilist | 1 - .../unix/sysv/linux/arm/le/libpthread.abilist | 1 - .../unix/sysv/linux/csky/libpthread.abilist | 1 - .../unix/sysv/linux/hppa/libpthread.abilist | 1 - .../unix/sysv/linux/i386/libpthread.abilist | 1 - .../unix/sysv/linux/ia64/libpthread.abilist | 1 - .../linux/m68k/coldfire/libpthread.abilist | 1 - .../sysv/linux/m68k/m680x0/libpthread.abilist | 1 - .../linux/microblaze/be/libpthread.abilist | 1 - .../linux/microblaze/le/libpthread.abilist | 1 - .../sysv/linux/mips/mips32/libpthread.abilist | 1 - .../sysv/linux/mips/mips64/libpthread.abilist | 1 - .../unix/sysv/linux/nios2/libpthread.abilist | 1 - .../powerpc/powerpc32/libpthread.abilist | 1 - .../powerpc/powerpc64/be/libpthread.abilist | 1 - .../powerpc/powerpc64/le/libpthread.abilist | 1 - .../sysv/linux/riscv/rv32/libpthread.abilist | 1 - .../sysv/linux/riscv/rv64/libpthread.abilist | 1 - .../linux/s390/s390-32/libpthread.abilist | 1 - .../linux/s390/s390-64/libpthread.abilist | 1 - .../unix/sysv/linux/sh/be/libpthread.abilist | 1 - .../unix/sysv/linux/sh/le/libpthread.abilist | 1 - .../linux/sparc/sparc32/libpthread.abilist | 1 - .../linux/sparc/sparc64/libpthread.abilist | 1 - .../sysv/linux/x86_64/64/libpthread.abilist | 1 - .../sysv/linux/x86_64/x32/libpthread.abilist | 1 - 39 files changed, 61 insertions(+), 56 deletions(-) create mode 100644 nptl/tst-pthread_exit-nothreads-static.c create mode 100644 nptl/tst-pthread_exit-nothreads.c diff --git a/nptl/Makefile b/nptl/Makefile index e21db8b138..2b184846ec 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -74,6 +74,7 @@ routines = \ pthread_condattr_destroy \ pthread_condattr_init \ pthread_equal \ + pthread_exit \ pthread_getaffinity \ pthread_getattr_np \ pthread_getschedparam \ @@ -150,7 +151,6 @@ libpthread-routines = \ pthread_condattr_setpshared \ pthread_create \ pthread_detach \ - pthread_exit \ pthread_getattr_default_np \ pthread_getconcurrency \ pthread_getcpuclockid \ @@ -363,7 +363,13 @@ tests = tst-attr2 tst-attr3 tst-default-attr \ tst-thread-affinity-sched \ tst-pthread-defaultattr-free \ tst-pthread-attr-sigmask \ - tst-pthread-timedlock-lockloop + tst-pthread-timedlock-lockloop \ + tst-pthread_exit-nothreads \ + tst-pthread_exit-nothreads-static \ + +tests-nolibpthread = \ + tst-pthread_exit-nothreads \ + tst-pthread_exit-nothreads-static \ tests-container = tst-pthread-getattr @@ -488,7 +494,8 @@ link-libc-static := $(common-objpfx)libc.a $(static-gnulib) \ tests-static += tst-stackguard1-static \ tst-cancel24-static \ tst-mutex8-static tst-mutexpi8-static tst-sem11-static \ - tst-sem12-static tst-cond11-static + tst-sem12-static tst-cond11-static \ + tst-pthread_exit-nothreads-static tests += tst-cancel24-static diff --git a/nptl/Versions b/nptl/Versions index 5253772e8d..f897439613 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -120,6 +120,7 @@ libc { __pthread_cleanup_upto; __pthread_cond_destroy; # Used by the C11 threads. __pthread_cond_init; # Used by the C11 threads. + __pthread_exit; __pthread_force_elision; __pthread_getattr_default_np; __pthread_keys; @@ -177,7 +178,6 @@ libpthread { pthread_cond_wait; pthread_create; pthread_detach; - pthread_exit; pthread_getspecific; pthread_join; pthread_key_create; diff --git a/nptl/forward.c b/nptl/forward.c index 7a7f54f9d9..a4a377ba6a 100644 --- a/nptl/forward.c +++ b/nptl/forward.c @@ -41,17 +41,6 @@ name decl \ return PTHFCT_CALL (ptr_##name, params); \ } -/* Same as FORWARD2, only without return. */ -#define FORWARD_NORETURN(name, rettype, decl, params, defaction) \ -rettype \ -name decl \ -{ \ - if (!__libc_pthread_functions_init) \ - defaction; \ - \ - PTHFCT_CALL (ptr_##name, params); \ -} - #define FORWARD(name, decl, params, defretval) \ FORWARD2 (name, int, decl, params, return defretval) @@ -103,11 +92,6 @@ versioned_symbol (libc, __pthread_cond_timedwait, pthread_cond_timedwait, GLIBC_2_3_2); -FORWARD_NORETURN (__pthread_exit, void, (void *retval), (retval), - exit (EXIT_SUCCESS)) -strong_alias (__pthread_exit, pthread_exit); - - FORWARD (pthread_mutex_destroy, (pthread_mutex_t *mutex), (mutex), 0) FORWARD (pthread_mutex_init, diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 54d9d206b2..caa06f380a 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -81,7 +81,6 @@ static const struct pthread_functions pthread_functions = .ptr___pthread_cond_wait_2_0 = __pthread_cond_wait_2_0, .ptr___pthread_cond_timedwait_2_0 = __pthread_cond_timedwait_2_0, # endif - .ptr___pthread_exit = __pthread_exit, .ptr_pthread_mutex_destroy = __pthread_mutex_destroy, .ptr_pthread_mutex_init = __pthread_mutex_init, .ptr_pthread_mutex_lock = __pthread_mutex_lock, diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index e11a3a1945..3c6025d2fe 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -528,6 +528,7 @@ extern int __pthread_detach (pthread_t th); extern int __pthread_cancel (pthread_t th); extern int __pthread_kill (pthread_t threadid, int signo); extern void __pthread_exit (void *value) __attribute__ ((__noreturn__)); +libc_hidden_proto (__pthread_exit) extern int __pthread_join (pthread_t threadid, void **thread_return); extern int __pthread_setcanceltype (int type, int *oldtype); extern int __pthread_enable_asynccancel (void) attribute_hidden; diff --git a/nptl/pthread_exit.c b/nptl/pthread_exit.c index aed8c12e17..1a93f371a9 100644 --- a/nptl/pthread_exit.c +++ b/nptl/pthread_exit.c @@ -36,8 +36,5 @@ __pthread_exit (void *value) __do_cancel (); } +libc_hidden_def (__pthread_exit) weak_alias (__pthread_exit, pthread_exit) - -/* After a thread terminates, __libc_start_main decrements - __nptl_nthreads defined in pthread_create.c. */ -PTHREAD_STATIC_FN_REQUIRE (__pthread_create) diff --git a/nptl/tst-pthread_exit-nothreads-static.c b/nptl/tst-pthread_exit-nothreads-static.c new file mode 100644 index 0000000000..e8cf19b1a4 --- /dev/null +++ b/nptl/tst-pthread_exit-nothreads-static.c @@ -0,0 +1,19 @@ +/* Check that pthread_exit works if there are no threads. Static 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; if not, see + . */ + +#include "tst-pthread_exit-nothreads.c" diff --git a/nptl/tst-pthread_exit-nothreads.c b/nptl/tst-pthread_exit-nothreads.c new file mode 100644 index 0000000000..d47455c75c --- /dev/null +++ b/nptl/tst-pthread_exit-nothreads.c @@ -0,0 +1,28 @@ +/* Check that pthread_exit works if there are no threads. + 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; if not, see + . */ + +#include + +static int +do_test (void) +{ + pthread_exit (NULL); + return 1; /* Not reached. */ +} + +#include diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index b28b47ab0d..8f280b9c25 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -41,7 +41,6 @@ struct pthread_functions int (*ptr___pthread_cond_timedwait_2_0) (pthread_cond_2_0_t *, pthread_mutex_t *, const struct timespec *); - void (*ptr___pthread_exit) (void *) __attribute__ ((__noreturn__)); int (*ptr_pthread_mutex_destroy) (pthread_mutex_t *); int (*ptr_pthread_mutex_init) (pthread_mutex_t *, const pthread_mutexattr_t *); diff --git a/sysdeps/pthread/Makefile b/sysdeps/pthread/Makefile index 53b65ef349..ed15c1e433 100644 --- a/sysdeps/pthread/Makefile +++ b/sysdeps/pthread/Makefile @@ -111,7 +111,7 @@ tests += tst-cnd-basic tst-mtx-trylock tst-cnd-broadcast \ # Files which must not be linked with libpthread. -tests-nolibpthread = tst-unload +tests-nolibpthread += tst-unload # GCC-4.9 compiles 'sprintf(NULL, ...)' into UD2 on x86_64 without -fno-builtin CFLAGS-tst-cleanup2.c += -fno-builtin diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 03f9309528..a5bc7c8357 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -84,7 +84,6 @@ GLIBC_2.17 pthread_condattr_setclock F GLIBC_2.17 pthread_condattr_setpshared F GLIBC_2.17 pthread_create F GLIBC_2.17 pthread_detach F -GLIBC_2.17 pthread_exit F GLIBC_2.17 pthread_getconcurrency F GLIBC_2.17 pthread_getcpuclockid F GLIBC_2.17 pthread_getname_np F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 62c3734ee1..5fc406b7c1 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -43,7 +43,6 @@ GLIBC_2.0 pthread_cond_timedwait F GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F -GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_create F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index 43c2308c10..e4c31d1343 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -97,7 +97,6 @@ GLIBC_2.32 pthread_condattr_setclock F GLIBC_2.32 pthread_condattr_setpshared F GLIBC_2.32 pthread_create F GLIBC_2.32 pthread_detach F -GLIBC_2.32 pthread_exit F GLIBC_2.32 pthread_getattr_default_np F GLIBC_2.32 pthread_getconcurrency F GLIBC_2.32 pthread_getcpuclockid F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index 9e897ccaac..b97115fe03 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -118,7 +118,6 @@ GLIBC_2.4 pthread_condattr_setclock F GLIBC_2.4 pthread_condattr_setpshared F GLIBC_2.4 pthread_create F GLIBC_2.4 pthread_detach F -GLIBC_2.4 pthread_exit F GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_getspecific F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index 9e897ccaac..b97115fe03 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -118,7 +118,6 @@ GLIBC_2.4 pthread_condattr_setclock F GLIBC_2.4 pthread_condattr_setpshared F GLIBC_2.4 pthread_create F GLIBC_2.4 pthread_detach F -GLIBC_2.4 pthread_exit F GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_getspecific F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index 02ecea2de5..7fb16e8387 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -95,7 +95,6 @@ GLIBC_2.29 pthread_condattr_setclock F GLIBC_2.29 pthread_condattr_setpshared F GLIBC_2.29 pthread_create F GLIBC_2.29 pthread_detach F -GLIBC_2.29 pthread_exit F GLIBC_2.29 pthread_getattr_default_np F GLIBC_2.29 pthread_getconcurrency F GLIBC_2.29 pthread_getcpuclockid F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 98c5811d37..3288c7dd84 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -84,7 +84,6 @@ GLIBC_2.2 pthread_condattr_getpshared F GLIBC_2.2 pthread_condattr_setpshared F GLIBC_2.2 pthread_create F GLIBC_2.2 pthread_detach F -GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_getspecific F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index 13df0ccca6..7ff0652b56 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -43,7 +43,6 @@ GLIBC_2.0 pthread_cond_timedwait F GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F -GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_create F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 78c683810a..f42e1d4f2f 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -84,7 +84,6 @@ GLIBC_2.2 pthread_condattr_getpshared F GLIBC_2.2 pthread_condattr_setpshared F GLIBC_2.2 pthread_create F GLIBC_2.2 pthread_detach F -GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_getspecific F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index 9e897ccaac..b97115fe03 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -118,7 +118,6 @@ GLIBC_2.4 pthread_condattr_setclock F GLIBC_2.4 pthread_condattr_setpshared F GLIBC_2.4 pthread_create F GLIBC_2.4 pthread_detach F -GLIBC_2.4 pthread_exit F GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_getspecific F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index 13df0ccca6..7ff0652b56 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -43,7 +43,6 @@ GLIBC_2.0 pthread_cond_timedwait F GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F -GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_create F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 51975cabbb..58dc35e926 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -84,7 +84,6 @@ GLIBC_2.18 pthread_condattr_setclock F GLIBC_2.18 pthread_condattr_setpshared F GLIBC_2.18 pthread_create F GLIBC_2.18 pthread_detach F -GLIBC_2.18 pthread_exit F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_getconcurrency F GLIBC_2.18 pthread_getcpuclockid F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 51975cabbb..58dc35e926 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -84,7 +84,6 @@ GLIBC_2.18 pthread_condattr_setclock F GLIBC_2.18 pthread_condattr_setpshared F GLIBC_2.18 pthread_create F GLIBC_2.18 pthread_detach F -GLIBC_2.18 pthread_exit F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_getconcurrency F GLIBC_2.18 pthread_getcpuclockid F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 8829753707..94f17b3c53 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -43,7 +43,6 @@ GLIBC_2.0 pthread_cond_timedwait F GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F -GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_create F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 8829753707..94f17b3c53 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -43,7 +43,6 @@ GLIBC_2.0 pthread_cond_timedwait F GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F -GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_create F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index f370adca8d..2bf7ef83c6 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -84,7 +84,6 @@ GLIBC_2.21 pthread_condattr_setclock F GLIBC_2.21 pthread_condattr_setpshared F GLIBC_2.21 pthread_create F GLIBC_2.21 pthread_detach F -GLIBC_2.21 pthread_exit F GLIBC_2.21 pthread_getattr_default_np F GLIBC_2.21 pthread_getconcurrency F GLIBC_2.21 pthread_getcpuclockid F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index e354162563..b642ce0420 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -43,7 +43,6 @@ GLIBC_2.0 pthread_cond_timedwait F GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F -GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_create F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 3bedf42d7a..ba4b580173 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -104,7 +104,6 @@ GLIBC_2.3 pthread_condattr_getpshared F GLIBC_2.3 pthread_condattr_setpshared F GLIBC_2.3 pthread_create F GLIBC_2.3 pthread_detach F -GLIBC_2.3 pthread_exit F GLIBC_2.3 pthread_getconcurrency F GLIBC_2.3 pthread_getcpuclockid F GLIBC_2.3 pthread_getspecific F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index 03f9309528..a5bc7c8357 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -84,7 +84,6 @@ GLIBC_2.17 pthread_condattr_setclock F GLIBC_2.17 pthread_condattr_setpshared F GLIBC_2.17 pthread_create F GLIBC_2.17 pthread_detach F -GLIBC_2.17 pthread_exit F GLIBC_2.17 pthread_getconcurrency F GLIBC_2.17 pthread_getcpuclockid F GLIBC_2.17 pthread_getname_np F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index a9958f0b67..4c2ef9c33d 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -97,7 +97,6 @@ GLIBC_2.33 pthread_condattr_setclock F GLIBC_2.33 pthread_condattr_setpshared F GLIBC_2.33 pthread_create F GLIBC_2.33 pthread_detach F -GLIBC_2.33 pthread_exit F GLIBC_2.33 pthread_getattr_default_np F GLIBC_2.33 pthread_getconcurrency F GLIBC_2.33 pthread_getcpuclockid F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index 0c6ae5b20c..81300bbbb4 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -84,7 +84,6 @@ GLIBC_2.27 pthread_condattr_setclock F GLIBC_2.27 pthread_condattr_setpshared F GLIBC_2.27 pthread_create F GLIBC_2.27 pthread_detach F -GLIBC_2.27 pthread_exit F GLIBC_2.27 pthread_getattr_default_np F GLIBC_2.27 pthread_getconcurrency F GLIBC_2.27 pthread_getcpuclockid F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index d72648c9dd..d17848f0b1 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -43,7 +43,6 @@ GLIBC_2.0 pthread_cond_timedwait F GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F -GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_create F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index 09c03d66b8..1ae431fdf7 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -85,7 +85,6 @@ GLIBC_2.2 pthread_condattr_getpshared F GLIBC_2.2 pthread_condattr_setpshared F GLIBC_2.2 pthread_create F GLIBC_2.2 pthread_detach F -GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_getspecific F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 98c5811d37..3288c7dd84 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -84,7 +84,6 @@ GLIBC_2.2 pthread_condattr_getpshared F GLIBC_2.2 pthread_condattr_setpshared F GLIBC_2.2 pthread_create F GLIBC_2.2 pthread_detach F -GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_getspecific F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 98c5811d37..3288c7dd84 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -84,7 +84,6 @@ GLIBC_2.2 pthread_condattr_getpshared F GLIBC_2.2 pthread_condattr_setpshared F GLIBC_2.2 pthread_create F GLIBC_2.2 pthread_detach F -GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_getspecific F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 62c3734ee1..5fc406b7c1 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -43,7 +43,6 @@ GLIBC_2.0 pthread_cond_timedwait F GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F -GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_create F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 78c683810a..f42e1d4f2f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -84,7 +84,6 @@ GLIBC_2.2 pthread_condattr_getpshared F GLIBC_2.2 pthread_condattr_setpshared F GLIBC_2.2 pthread_create F GLIBC_2.2 pthread_detach F -GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_getspecific F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index 31bb6837f9..49fdd52a28 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -84,7 +84,6 @@ GLIBC_2.2.5 pthread_condattr_getpshared F GLIBC_2.2.5 pthread_condattr_setpshared F GLIBC_2.2.5 pthread_create F GLIBC_2.2.5 pthread_detach F -GLIBC_2.2.5 pthread_exit F GLIBC_2.2.5 pthread_getconcurrency F GLIBC_2.2.5 pthread_getcpuclockid F GLIBC_2.2.5 pthread_getspecific F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index 73719e6d11..0384eaa51a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -84,7 +84,6 @@ GLIBC_2.16 pthread_condattr_setclock F GLIBC_2.16 pthread_condattr_setpshared F GLIBC_2.16 pthread_create F GLIBC_2.16 pthread_detach F -GLIBC_2.16 pthread_exit F GLIBC_2.16 pthread_getconcurrency F GLIBC_2.16 pthread_getcpuclockid F GLIBC_2.16 pthread_getname_np F From patchwork Fri Mar 12 17:50:20 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452292 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=sqbTPcHv; dkim-atps=neutral Received: from sourceware.org (unknown [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DxtdX2GpJz9sRR for ; Sat, 13 Mar 2021 04:50:40 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 75F6739960D7; Fri, 12 Mar 2021 17:50:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 75F6739960D7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571418; bh=kdv8hD8Y0dL0GKlig5C4ocP/hKpSNAX39QEch60WMLs=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=sqbTPcHvqtBU2euMPbfi0xCBJsKJjyrhbdigv2pp4kCAYgVGbBRS/a+bijLFZ3xxR 1ivp+Oki93MRIi9vZ+1RO5X5gJhBRTaFb6dVc5XALHFbOV0+nAH6/z40KDO0como3T 3BEixvaNERauGYFxEvrAEjk/9phybz2ev7t9h+0A= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 CDA99398B8B5 for ; Fri, 12 Mar 2021 17:50:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org CDA99398B8B5 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-127-aBpO2oK3ME-3LvM3T3RDvQ-1; Fri, 12 Mar 2021 12:50:10 -0500 X-MC-Unique: aBpO2oK3ME-3LvM3T3RDvQ-1 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9640E1074671 for ; Fri, 12 Mar 2021 17:50:09 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5596550EDF for ; Fri, 12 Mar 2021 17:50:08 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 16/18] nptl: Move pthread_setcancelstate into libc In-Reply-To: References: Message-Id: Date: Fri, 12 Mar 2021 18:50:20 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" No new symbol version is required because there was a forwarder. The symbol has been moved using scripts/move-symbol-to-libc.py. --- libio/iopopen.c | 5 ++--- misc/error.c | 19 ++++++------------- nptl/Makefile | 2 +- nptl/Versions | 2 +- nptl/forward.c | 4 ---- nptl/nptl-init.c | 1 - nptl/pthreadP.h | 2 -- nptl/pthread_setcancelstate.c | 6 +++--- stdlib/fmtmsg.c | 9 ++------- sysdeps/nptl/libc-lockP.h | 4 +--- sysdeps/nptl/pthread-functions.h | 1 - sysdeps/posix/system.c | 5 ++--- .../sysv/linux/aarch64/libpthread.abilist | 1 - .../unix/sysv/linux/alpha/libpthread.abilist | 1 - .../unix/sysv/linux/arc/libpthread.abilist | 1 - .../unix/sysv/linux/arm/be/libpthread.abilist | 1 - .../unix/sysv/linux/arm/le/libpthread.abilist | 1 - .../unix/sysv/linux/csky/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/fatal-prepare.h | 4 +--- .../unix/sysv/linux/hppa/libpthread.abilist | 1 - .../unix/sysv/linux/i386/libpthread.abilist | 1 - .../unix/sysv/linux/ia64/libpthread.abilist | 1 - .../linux/m68k/coldfire/libpthread.abilist | 1 - .../sysv/linux/m68k/m680x0/libpthread.abilist | 1 - .../linux/microblaze/be/libpthread.abilist | 1 - .../linux/microblaze/le/libpthread.abilist | 1 - .../sysv/linux/mips/mips32/libpthread.abilist | 1 - .../sysv/linux/mips/mips64/libpthread.abilist | 1 - .../unix/sysv/linux/nios2/libpthread.abilist | 1 - .../powerpc/powerpc32/libpthread.abilist | 1 - .../powerpc/powerpc64/be/libpthread.abilist | 1 - .../powerpc/powerpc64/le/libpthread.abilist | 1 - .../sysv/linux/riscv/rv32/libpthread.abilist | 1 - .../sysv/linux/riscv/rv64/libpthread.abilist | 1 - .../linux/s390/s390-32/libpthread.abilist | 1 - .../linux/s390/s390-64/libpthread.abilist | 1 - .../unix/sysv/linux/sh/be/libpthread.abilist | 1 - .../unix/sysv/linux/sh/le/libpthread.abilist | 1 - .../linux/sparc/sparc32/libpthread.abilist | 1 - .../linux/sparc/sparc64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/spawni.c | 5 ++--- .../sysv/linux/x86_64/64/libpthread.abilist | 1 - .../sysv/linux/x86_64/x32/libpthread.abilist | 1 - 43 files changed, 21 insertions(+), 77 deletions(-) diff --git a/libio/iopopen.c b/libio/iopopen.c index 3afca7e173..6b04222c24 100644 --- a/libio/iopopen.c +++ b/libio/iopopen.c @@ -282,10 +282,9 @@ _IO_new_proc_close (FILE *fp) do { int state; - __libc_ptf_call (__pthread_setcancelstate, - (PTHREAD_CANCEL_DISABLE, &state), 0); + __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state); wait_pid = __waitpid (((_IO_proc_file *) fp)->pid, &wstatus, 0); - __libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0); + __pthread_setcancelstate (state, NULL); } while (wait_pid == -1 && errno == EINTR); if (wait_pid == -1) diff --git a/misc/error.c b/misc/error.c index 06cc4a5028..0400c84df8 100644 --- a/misc/error.c +++ b/misc/error.c @@ -236,12 +236,11 @@ void __error_internal (int status, int errnum, const char *message, va_list args, unsigned int mode_flags) { -#if defined _LIBC && defined __libc_ptf_call +#if defined _LIBC /* We do not want this call to be cut short by a thread cancellation. Therefore disable cancellation for now. */ int state = PTHREAD_CANCEL_ENABLE; - __libc_ptf_call (__pthread_setcancelstate, - (PTHREAD_CANCEL_DISABLE, &state), 0); + __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state); #endif flush_stdout (); @@ -263,9 +262,7 @@ __error_internal (int status, int errnum, const char *message, #ifdef _LIBC _IO_funlockfile (stderr); -# ifdef __libc_ptf_call - __libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0); -# endif + __pthread_setcancelstate (state, NULL); #endif } @@ -305,13 +302,11 @@ __error_at_line_internal (int status, int errnum, const char *file_name, old_line_number = line_number; } -#if defined _LIBC && defined __libc_ptf_call +#if defined _LIBC /* We do not want this call to be cut short by a thread cancellation. Therefore disable cancellation for now. */ int state = PTHREAD_CANCEL_ENABLE; - __libc_ptf_call (__pthread_setcancelstate, - (PTHREAD_CANCEL_DISABLE, &state), - 0); + __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state); #endif flush_stdout (); @@ -341,9 +336,7 @@ __error_at_line_internal (int status, int errnum, const char *file_name, #ifdef _LIBC _IO_funlockfile (stderr); -# ifdef __libc_ptf_call - __libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0); -# endif + __pthread_setcancelstate (state, NULL); #endif } diff --git a/nptl/Makefile b/nptl/Makefile index 2b184846ec..fc0c5a405b 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -82,6 +82,7 @@ routines = \ pthread_mutex_consistent \ pthread_once \ pthread_self \ + pthread_setcancelstate \ pthread_setschedparam \ pthread_sigmask \ unwind \ @@ -203,7 +204,6 @@ libpthread-routines = \ pthread_rwlockattr_setpshared \ pthread_setaffinity \ pthread_setattr_default_np \ - pthread_setcancelstate \ pthread_setcanceltype \ pthread_setconcurrency \ pthread_setname \ diff --git a/nptl/Versions b/nptl/Versions index f897439613..5018649e5d 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -124,6 +124,7 @@ libc { __pthread_force_elision; __pthread_getattr_default_np; __pthread_keys; + __pthread_setcancelstate; __pthread_unwind; } } @@ -193,7 +194,6 @@ libpthread { pthread_mutexattr_getkind_np; pthread_mutexattr_init; pthread_mutexattr_setkind_np; - pthread_setcancelstate; pthread_setcanceltype; pthread_setspecific; pthread_sigmask; diff --git a/nptl/forward.c b/nptl/forward.c index a4a377ba6a..ef4a17d39b 100644 --- a/nptl/forward.c +++ b/nptl/forward.c @@ -102,8 +102,4 @@ FORWARD (pthread_mutex_lock, (pthread_mutex_t *mutex), (mutex), 0) FORWARD (pthread_mutex_unlock, (pthread_mutex_t *mutex), (mutex), 0) -FORWARD (__pthread_setcancelstate, (int state, int *oldstate), - (state, oldstate), 0) -strong_alias (__pthread_setcancelstate, pthread_setcancelstate) - FORWARD (pthread_setcanceltype, (int type, int *oldtype), (type, oldtype), 0) diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index caa06f380a..e7615ffcb6 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -85,7 +85,6 @@ static const struct pthread_functions pthread_functions = .ptr_pthread_mutex_init = __pthread_mutex_init, .ptr_pthread_mutex_lock = __pthread_mutex_lock, .ptr_pthread_mutex_unlock = __pthread_mutex_unlock, - .ptr___pthread_setcancelstate = __pthread_setcancelstate, .ptr_pthread_setcanceltype = __pthread_setcanceltype, .ptr___pthread_rwlock_rdlock = __pthread_rwlock_rdlock, .ptr___pthread_rwlock_wrlock = __pthread_rwlock_wrlock, diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 3c6025d2fe..c01cfea4ff 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -381,7 +381,6 @@ extern int __pthread_getschedparam (pthread_t thread_id, int *policy, struct sched_param *param); extern int __pthread_setschedparam (pthread_t thread_id, int policy, const struct sched_param *param); -extern int __pthread_setcancelstate (int state, int *oldstate); extern int __pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__mutexattr); extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex); @@ -553,7 +552,6 @@ hidden_proto (__pthread_rwlock_unlock) hidden_proto (__pthread_key_create) hidden_proto (__pthread_getspecific) hidden_proto (__pthread_setspecific) -hidden_proto (__pthread_setcancelstate) hidden_proto (__pthread_testcancel) hidden_proto (__pthread_mutexattr_init) hidden_proto (__pthread_mutexattr_settype) diff --git a/nptl/pthread_setcancelstate.c b/nptl/pthread_setcancelstate.c index a0ffbd9338..e3696ca348 100644 --- a/nptl/pthread_setcancelstate.c +++ b/nptl/pthread_setcancelstate.c @@ -19,7 +19,7 @@ #include #include "pthreadP.h" #include - +#include int __pthread_setcancelstate (int state, int *oldstate) @@ -67,5 +67,5 @@ __pthread_setcancelstate (int state, int *oldstate) return 0; } -strong_alias (__pthread_setcancelstate, pthread_setcancelstate) -hidden_def (__pthread_setcancelstate) +libc_hidden_def (__pthread_setcancelstate) +weak_alias (__pthread_setcancelstate, pthread_setcancelstate) diff --git a/stdlib/fmtmsg.c b/stdlib/fmtmsg.c index 2846d34012..428dad07ff 100644 --- a/stdlib/fmtmsg.c +++ b/stdlib/fmtmsg.c @@ -122,13 +122,10 @@ fmtmsg (long int classification, const char *label, int severity, return MM_NOTOK; } -#ifdef __libc_ptf_call /* We do not want this call to be cut short by a thread cancellation. Therefore disable cancellation for now. */ int state = PTHREAD_CANCEL_ENABLE; - __libc_ptf_call (__pthread_setcancelstate, - (PTHREAD_CANCEL_DISABLE, &state), 0); -#endif + __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state); __libc_lock_lock (lock); @@ -197,9 +194,7 @@ fmtmsg (long int classification, const char *label, int severity, __libc_lock_unlock (lock); -#ifdef __libc_ptf_call - __libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0); -#endif + __pthread_setcancelstate (state, NULL); return result; } diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h index f9f279525d..a3c0f6501d 100644 --- a/sysdeps/nptl/libc-lockP.h +++ b/sysdeps/nptl/libc-lockP.h @@ -343,7 +343,7 @@ extern int __pthread_atfork (void (*__prepare) (void), void (*__child) (void)); extern int __pthread_setcancelstate (int state, int *oldstate); - +libc_hidden_proto (__pthread_setcancelstate) /* Make the pthread functions weak so that we can elide them from single-threaded processes. */ @@ -369,7 +369,6 @@ weak_extern (__pthread_setspecific) weak_extern (__pthread_getspecific) weak_extern (__pthread_initialize) weak_extern (__pthread_atfork) -weak_extern (__pthread_setcancelstate) # else # pragma weak __pthread_mutex_init # pragma weak __pthread_mutex_destroy @@ -390,7 +389,6 @@ weak_extern (__pthread_setcancelstate) # pragma weak __pthread_getspecific # pragma weak __pthread_initialize # pragma weak __pthread_atfork -# pragma weak __pthread_setcancelstate # endif #endif diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 8f280b9c25..ca7673135d 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -46,7 +46,6 @@ struct pthread_functions const pthread_mutexattr_t *); int (*ptr_pthread_mutex_lock) (pthread_mutex_t *); int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *); - int (*ptr___pthread_setcancelstate) (int, int *); int (*ptr_pthread_setcanceltype) (int, int *); int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *); diff --git a/sysdeps/posix/system.c b/sysdeps/posix/system.c index 13c0662f90..48668fb392 100644 --- a/sysdeps/posix/system.c +++ b/sysdeps/posix/system.c @@ -82,10 +82,9 @@ cancel_handler (void *arg) __kill_noerrno (args->pid, SIGKILL); int state; - __libc_ptf_call (__pthread_setcancelstate, - (PTHREAD_CANCEL_DISABLE, &state), 0); + __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state); TEMP_FAILURE_RETRY (__waitpid (args->pid, NULL, 0)); - __libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0); + __pthread_setcancelstate (state, NULL); DO_LOCK (); if (SUB_REF () == 0) diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index a5bc7c8357..047869a3a0 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -133,7 +133,6 @@ GLIBC_2.17 pthread_rwlockattr_init F GLIBC_2.17 pthread_rwlockattr_setkind_np F GLIBC_2.17 pthread_rwlockattr_setpshared F GLIBC_2.17 pthread_setaffinity_np F -GLIBC_2.17 pthread_setcancelstate F GLIBC_2.17 pthread_setcanceltype F GLIBC_2.17 pthread_setconcurrency F GLIBC_2.17 pthread_setname_np F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 5fc406b7c1..5252f34efe 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index e4c31d1343..554b85d779 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -151,7 +151,6 @@ GLIBC_2.32 pthread_rwlockattr_setkind_np F GLIBC_2.32 pthread_rwlockattr_setpshared F GLIBC_2.32 pthread_setaffinity_np F GLIBC_2.32 pthread_setattr_default_np F -GLIBC_2.32 pthread_setcancelstate F GLIBC_2.32 pthread_setcanceltype F GLIBC_2.32 pthread_setconcurrency F GLIBC_2.32 pthread_setname_np F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index b97115fe03..bbe8d28583 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -164,7 +164,6 @@ GLIBC_2.4 pthread_rwlockattr_init F GLIBC_2.4 pthread_rwlockattr_setkind_np F GLIBC_2.4 pthread_rwlockattr_setpshared F GLIBC_2.4 pthread_setaffinity_np F -GLIBC_2.4 pthread_setcancelstate F GLIBC_2.4 pthread_setcanceltype F GLIBC_2.4 pthread_setconcurrency F GLIBC_2.4 pthread_setschedprio F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index b97115fe03..bbe8d28583 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -164,7 +164,6 @@ GLIBC_2.4 pthread_rwlockattr_init F GLIBC_2.4 pthread_rwlockattr_setkind_np F GLIBC_2.4 pthread_rwlockattr_setpshared F GLIBC_2.4 pthread_setaffinity_np F -GLIBC_2.4 pthread_setcancelstate F GLIBC_2.4 pthread_setcanceltype F GLIBC_2.4 pthread_setconcurrency F GLIBC_2.4 pthread_setschedprio F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index 7fb16e8387..c09b6cd6f4 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -146,7 +146,6 @@ GLIBC_2.29 pthread_rwlockattr_setkind_np F GLIBC_2.29 pthread_rwlockattr_setpshared F GLIBC_2.29 pthread_setaffinity_np F GLIBC_2.29 pthread_setattr_default_np F -GLIBC_2.29 pthread_setcancelstate F GLIBC_2.29 pthread_setcanceltype F GLIBC_2.29 pthread_setconcurrency F GLIBC_2.29 pthread_setname_np F diff --git a/sysdeps/unix/sysv/linux/fatal-prepare.h b/sysdeps/unix/sysv/linux/fatal-prepare.h index ec441bdfbc..e2591c5447 100644 --- a/sysdeps/unix/sysv/linux/fatal-prepare.h +++ b/sysdeps/unix/sysv/linux/fatal-prepare.h @@ -19,6 +19,4 @@ /* We have to completely disable cancellation. assert() must not be a cancellation point but the implementation uses write() etc. */ -#define FATAL_PREPARE \ - __libc_ptf_call (__pthread_setcancelstate, \ - (PTHREAD_CANCEL_DISABLE, NULL), 0) +#define FATAL_PREPARE __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, NULL) diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 3288c7dd84..424e2cf068 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F GLIBC_2.2 pthread_rwlockattr_init F GLIBC_2.2 pthread_rwlockattr_setkind_np F GLIBC_2.2 pthread_rwlockattr_setpshared F -GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setconcurrency F GLIBC_2.2 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index 7ff0652b56..e145d86e57 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index f42e1d4f2f..2c131140ba 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F GLIBC_2.2 pthread_rwlockattr_init F GLIBC_2.2 pthread_rwlockattr_setkind_np F GLIBC_2.2 pthread_rwlockattr_setpshared F -GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setconcurrency F GLIBC_2.2 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index b97115fe03..bbe8d28583 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -164,7 +164,6 @@ GLIBC_2.4 pthread_rwlockattr_init F GLIBC_2.4 pthread_rwlockattr_setkind_np F GLIBC_2.4 pthread_rwlockattr_setpshared F GLIBC_2.4 pthread_setaffinity_np F -GLIBC_2.4 pthread_setcancelstate F GLIBC_2.4 pthread_setcanceltype F GLIBC_2.4 pthread_setconcurrency F GLIBC_2.4 pthread_setschedprio F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index 7ff0652b56..e145d86e57 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 58dc35e926..31d008004d 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -135,7 +135,6 @@ GLIBC_2.18 pthread_rwlockattr_setkind_np F GLIBC_2.18 pthread_rwlockattr_setpshared F GLIBC_2.18 pthread_setaffinity_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.18 pthread_setcancelstate F GLIBC_2.18 pthread_setcanceltype F GLIBC_2.18 pthread_setconcurrency F GLIBC_2.18 pthread_setname_np F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 58dc35e926..31d008004d 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -135,7 +135,6 @@ GLIBC_2.18 pthread_rwlockattr_setkind_np F GLIBC_2.18 pthread_rwlockattr_setpshared F GLIBC_2.18 pthread_setaffinity_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.18 pthread_setcancelstate F GLIBC_2.18 pthread_setcanceltype F GLIBC_2.18 pthread_setconcurrency F GLIBC_2.18 pthread_setname_np F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 94f17b3c53..d4bd5b5ce3 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 94f17b3c53..d4bd5b5ce3 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index 2bf7ef83c6..ed8be1e44b 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -135,7 +135,6 @@ GLIBC_2.21 pthread_rwlockattr_setkind_np F GLIBC_2.21 pthread_rwlockattr_setpshared F GLIBC_2.21 pthread_setaffinity_np F GLIBC_2.21 pthread_setattr_default_np F -GLIBC_2.21 pthread_setcancelstate F GLIBC_2.21 pthread_setcanceltype F GLIBC_2.21 pthread_setconcurrency F GLIBC_2.21 pthread_setname_np F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index b642ce0420..d9e3bb5b31 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index ba4b580173..8f393575e1 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -141,7 +141,6 @@ GLIBC_2.3 pthread_rwlockattr_getpshared F GLIBC_2.3 pthread_rwlockattr_init F GLIBC_2.3 pthread_rwlockattr_setkind_np F GLIBC_2.3 pthread_rwlockattr_setpshared F -GLIBC_2.3 pthread_setcancelstate F GLIBC_2.3 pthread_setcanceltype F GLIBC_2.3 pthread_setconcurrency F GLIBC_2.3 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index a5bc7c8357..047869a3a0 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -133,7 +133,6 @@ GLIBC_2.17 pthread_rwlockattr_init F GLIBC_2.17 pthread_rwlockattr_setkind_np F GLIBC_2.17 pthread_rwlockattr_setpshared F GLIBC_2.17 pthread_setaffinity_np F -GLIBC_2.17 pthread_setcancelstate F GLIBC_2.17 pthread_setcanceltype F GLIBC_2.17 pthread_setconcurrency F GLIBC_2.17 pthread_setname_np F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index 4c2ef9c33d..528792a426 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -151,7 +151,6 @@ GLIBC_2.33 pthread_rwlockattr_setkind_np F GLIBC_2.33 pthread_rwlockattr_setpshared F GLIBC_2.33 pthread_setaffinity_np F GLIBC_2.33 pthread_setattr_default_np F -GLIBC_2.33 pthread_setcancelstate F GLIBC_2.33 pthread_setcanceltype F GLIBC_2.33 pthread_setconcurrency F GLIBC_2.33 pthread_setname_np F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index 81300bbbb4..66f871fb89 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -135,7 +135,6 @@ GLIBC_2.27 pthread_rwlockattr_setkind_np F GLIBC_2.27 pthread_rwlockattr_setpshared F GLIBC_2.27 pthread_setaffinity_np F GLIBC_2.27 pthread_setattr_default_np F -GLIBC_2.27 pthread_setcancelstate F GLIBC_2.27 pthread_setcanceltype F GLIBC_2.27 pthread_setconcurrency F GLIBC_2.27 pthread_setname_np F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index d17848f0b1..e69792eba6 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index 1ae431fdf7..75c5a27854 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -122,7 +122,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F GLIBC_2.2 pthread_rwlockattr_init F GLIBC_2.2 pthread_rwlockattr_setkind_np F GLIBC_2.2 pthread_rwlockattr_setpshared F -GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setconcurrency F GLIBC_2.2 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 3288c7dd84..424e2cf068 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F GLIBC_2.2 pthread_rwlockattr_init F GLIBC_2.2 pthread_rwlockattr_setkind_np F GLIBC_2.2 pthread_rwlockattr_setpshared F -GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setconcurrency F GLIBC_2.2 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 3288c7dd84..424e2cf068 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F GLIBC_2.2 pthread_rwlockattr_init F GLIBC_2.2 pthread_rwlockattr_setkind_np F GLIBC_2.2 pthread_rwlockattr_setpshared F -GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setconcurrency F GLIBC_2.2 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 5fc406b7c1..5252f34efe 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index f42e1d4f2f..2c131140ba 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F GLIBC_2.2 pthread_rwlockattr_init F GLIBC_2.2 pthread_rwlockattr_setkind_np F GLIBC_2.2 pthread_rwlockattr_setpshared F -GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setconcurrency F GLIBC_2.2 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/spawni.c b/sysdeps/unix/sysv/linux/spawni.c index b53b81b8fc..501f8fbccd 100644 --- a/sysdeps/unix/sysv/linux/spawni.c +++ b/sysdeps/unix/sysv/linux/spawni.c @@ -354,8 +354,7 @@ __spawnix (pid_t * pid, const char *file, /* Disable asynchronous cancellation. */ int state; - __libc_ptf_call (__pthread_setcancelstate, - (PTHREAD_CANCEL_DISABLE, &state), 0); + __pthread_setcancelstate (PTHREAD_CANCEL_DISABLE, &state); /* Child must set args.err to something non-negative - we rely on the parent and child sharing VM. */ @@ -413,7 +412,7 @@ __spawnix (pid_t * pid, const char *file, __libc_signal_restore_set (&args.oldmask); - __libc_ptf_call (__pthread_setcancelstate, (state, NULL), 0); + __pthread_setcancelstate (state, NULL); return ec; } diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index 49fdd52a28..afa8bb1dd8 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2.5 pthread_rwlockattr_getpshared F GLIBC_2.2.5 pthread_rwlockattr_init F GLIBC_2.2.5 pthread_rwlockattr_setkind_np F GLIBC_2.2.5 pthread_rwlockattr_setpshared F -GLIBC_2.2.5 pthread_setcancelstate F GLIBC_2.2.5 pthread_setcanceltype F GLIBC_2.2.5 pthread_setconcurrency F GLIBC_2.2.5 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index 0384eaa51a..b8c545b9c0 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -133,7 +133,6 @@ GLIBC_2.16 pthread_rwlockattr_init F GLIBC_2.16 pthread_rwlockattr_setkind_np F GLIBC_2.16 pthread_rwlockattr_setpshared F GLIBC_2.16 pthread_setaffinity_np F -GLIBC_2.16 pthread_setcancelstate F GLIBC_2.16 pthread_setcanceltype F GLIBC_2.16 pthread_setconcurrency F GLIBC_2.16 pthread_setname_np F From patchwork Fri Mar 12 17:50:26 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452293 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=8.43.85.97; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=ApC2njjw; dkim-atps=neutral Received: from sourceware.org (unknown [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dxtdc4mylz9sRN for ; Sat, 13 Mar 2021 04:50:44 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B813839CC004; Fri, 12 Mar 2021 17:50:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B813839CC004 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571423; bh=GM1fvtFUcMq31eE4LmTOPu0o/UMbUGRs2UTHkdep4n4=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=ApC2njjw7iIDaxc5bq9J9UNLgKZGqjEBLpzqvb+RFqRs3ZjRJw5AiGPh66/1jYLtc rImSicypUlI9MBR5uEGvlyqY3t+GbydhcD2TxXUJz+cyTS8SXmtWFY6XUYoXT2CUvH Pv8Q0x8g+OrM/mJDLDkn0rq8yweYUBvUZj7P25/U= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 1517239C503B for ; Fri, 12 Mar 2021 17:50:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1517239C503B Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-39-C3vquQeHOwSZG5LtNhpAxA-1; Fri, 12 Mar 2021 12:50:17 -0500 X-MC-Unique: C3vquQeHOwSZG5LtNhpAxA-1 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 8B66118460E1 for ; Fri, 12 Mar 2021 17:50:15 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7CC2619744 for ; Fri, 12 Mar 2021 17:50:14 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 17/18] nptl: Move pthread_setcanceltype into libc In-Reply-To: References: Message-Id: <219e8d82ea73e1c2ecffdd9a7e3ee28d983394f8.1615569355.git.fweimer@redhat.com> Date: Fri, 12 Mar 2021 18:50:26 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" No new symbol version is required because there was a forwarder. The symbol has been moved using scripts/move-symbol-to-libc.py. --- nptl/Makefile | 2 +- nptl/Versions | 1 - nptl/forward.c | 2 -- nptl/nptl-init.c | 1 - nptl/pthreadP.h | 1 + nptl/pthread_setcanceltype.c | 3 ++- sysdeps/nptl/pthread-functions.h | 1 - sysdeps/unix/sysv/linux/aarch64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/alpha/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/arc/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/arm/be/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/arm/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/csky/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/hppa/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/i386/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/ia64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/nios2/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist | 1 - .../unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist | 1 - .../unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sh/be/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sh/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist | 1 - 36 files changed, 4 insertions(+), 36 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index fc0c5a405b..098c31115f 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -83,6 +83,7 @@ routines = \ pthread_once \ pthread_self \ pthread_setcancelstate \ + pthread_setcanceltype \ pthread_setschedparam \ pthread_sigmask \ unwind \ @@ -204,7 +205,6 @@ libpthread-routines = \ pthread_rwlockattr_setpshared \ pthread_setaffinity \ pthread_setattr_default_np \ - pthread_setcanceltype \ pthread_setconcurrency \ pthread_setname \ pthread_setschedprio \ diff --git a/nptl/Versions b/nptl/Versions index 5018649e5d..2838897371 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -194,7 +194,6 @@ libpthread { pthread_mutexattr_getkind_np; pthread_mutexattr_init; pthread_mutexattr_setkind_np; - pthread_setcanceltype; pthread_setspecific; pthread_sigmask; pthread_testcancel; diff --git a/nptl/forward.c b/nptl/forward.c index ef4a17d39b..de4e9cd6ab 100644 --- a/nptl/forward.c +++ b/nptl/forward.c @@ -101,5 +101,3 @@ FORWARD (pthread_mutex_init, FORWARD (pthread_mutex_lock, (pthread_mutex_t *mutex), (mutex), 0) FORWARD (pthread_mutex_unlock, (pthread_mutex_t *mutex), (mutex), 0) - -FORWARD (pthread_setcanceltype, (int type, int *oldtype), (type, oldtype), 0) diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index e7615ffcb6..49d811aed7 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -85,7 +85,6 @@ static const struct pthread_functions pthread_functions = .ptr_pthread_mutex_init = __pthread_mutex_init, .ptr_pthread_mutex_lock = __pthread_mutex_lock, .ptr_pthread_mutex_unlock = __pthread_mutex_unlock, - .ptr_pthread_setcanceltype = __pthread_setcanceltype, .ptr___pthread_rwlock_rdlock = __pthread_rwlock_rdlock, .ptr___pthread_rwlock_wrlock = __pthread_rwlock_wrlock, .ptr___pthread_rwlock_unlock = __pthread_rwlock_unlock, diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index c01cfea4ff..b7b5e62747 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -530,6 +530,7 @@ extern void __pthread_exit (void *value) __attribute__ ((__noreturn__)); libc_hidden_proto (__pthread_exit) extern int __pthread_join (pthread_t threadid, void **thread_return); extern int __pthread_setcanceltype (int type, int *oldtype); +libc_hidden_proto (__pthread_setcanceltype) extern int __pthread_enable_asynccancel (void) attribute_hidden; extern void __pthread_disable_asynccancel (int oldtype) attribute_hidden; extern void __pthread_testcancel (void); diff --git a/nptl/pthread_setcanceltype.c b/nptl/pthread_setcanceltype.c index a9ce9b37fb..5f061d512b 100644 --- a/nptl/pthread_setcanceltype.c +++ b/nptl/pthread_setcanceltype.c @@ -68,4 +68,5 @@ __pthread_setcanceltype (int type, int *oldtype) return 0; } -strong_alias (__pthread_setcanceltype, pthread_setcanceltype) +libc_hidden_def (__pthread_setcanceltype) +weak_alias (__pthread_setcanceltype, pthread_setcanceltype) diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index ca7673135d..2092ecef07 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -46,7 +46,6 @@ struct pthread_functions const pthread_mutexattr_t *); int (*ptr_pthread_mutex_lock) (pthread_mutex_t *); int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *); - int (*ptr_pthread_setcanceltype) (int, int *); int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_unlock) (pthread_rwlock_t *); diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 047869a3a0..47c5564772 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -133,7 +133,6 @@ GLIBC_2.17 pthread_rwlockattr_init F GLIBC_2.17 pthread_rwlockattr_setkind_np F GLIBC_2.17 pthread_rwlockattr_setpshared F GLIBC_2.17 pthread_setaffinity_np F -GLIBC_2.17 pthread_setcanceltype F GLIBC_2.17 pthread_setconcurrency F GLIBC_2.17 pthread_setname_np F GLIBC_2.17 pthread_setschedprio F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 5252f34efe..1d834d6d54 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index 554b85d779..3c1054101c 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -151,7 +151,6 @@ GLIBC_2.32 pthread_rwlockattr_setkind_np F GLIBC_2.32 pthread_rwlockattr_setpshared F GLIBC_2.32 pthread_setaffinity_np F GLIBC_2.32 pthread_setattr_default_np F -GLIBC_2.32 pthread_setcanceltype F GLIBC_2.32 pthread_setconcurrency F GLIBC_2.32 pthread_setname_np F GLIBC_2.32 pthread_setschedprio F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index bbe8d28583..c2892c4b8d 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -164,7 +164,6 @@ GLIBC_2.4 pthread_rwlockattr_init F GLIBC_2.4 pthread_rwlockattr_setkind_np F GLIBC_2.4 pthread_rwlockattr_setpshared F GLIBC_2.4 pthread_setaffinity_np F -GLIBC_2.4 pthread_setcanceltype F GLIBC_2.4 pthread_setconcurrency F GLIBC_2.4 pthread_setschedprio F GLIBC_2.4 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index bbe8d28583..c2892c4b8d 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -164,7 +164,6 @@ GLIBC_2.4 pthread_rwlockattr_init F GLIBC_2.4 pthread_rwlockattr_setkind_np F GLIBC_2.4 pthread_rwlockattr_setpshared F GLIBC_2.4 pthread_setaffinity_np F -GLIBC_2.4 pthread_setcanceltype F GLIBC_2.4 pthread_setconcurrency F GLIBC_2.4 pthread_setschedprio F GLIBC_2.4 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index c09b6cd6f4..2d125f11a3 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -146,7 +146,6 @@ GLIBC_2.29 pthread_rwlockattr_setkind_np F GLIBC_2.29 pthread_rwlockattr_setpshared F GLIBC_2.29 pthread_setaffinity_np F GLIBC_2.29 pthread_setattr_default_np F -GLIBC_2.29 pthread_setcanceltype F GLIBC_2.29 pthread_setconcurrency F GLIBC_2.29 pthread_setname_np F GLIBC_2.29 pthread_setschedprio F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 424e2cf068..11fa4711d8 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F GLIBC_2.2 pthread_rwlockattr_init F GLIBC_2.2 pthread_rwlockattr_setkind_np F GLIBC_2.2 pthread_rwlockattr_setpshared F -GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setconcurrency F GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_spin_destroy F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index e145d86e57..1d84eb35fb 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 2c131140ba..88e178b1c3 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F GLIBC_2.2 pthread_rwlockattr_init F GLIBC_2.2 pthread_rwlockattr_setkind_np F GLIBC_2.2 pthread_rwlockattr_setpshared F -GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setconcurrency F GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_spin_destroy F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index bbe8d28583..c2892c4b8d 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -164,7 +164,6 @@ GLIBC_2.4 pthread_rwlockattr_init F GLIBC_2.4 pthread_rwlockattr_setkind_np F GLIBC_2.4 pthread_rwlockattr_setpshared F GLIBC_2.4 pthread_setaffinity_np F -GLIBC_2.4 pthread_setcanceltype F GLIBC_2.4 pthread_setconcurrency F GLIBC_2.4 pthread_setschedprio F GLIBC_2.4 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index e145d86e57..1d84eb35fb 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 31d008004d..b19c648328 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -135,7 +135,6 @@ GLIBC_2.18 pthread_rwlockattr_setkind_np F GLIBC_2.18 pthread_rwlockattr_setpshared F GLIBC_2.18 pthread_setaffinity_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.18 pthread_setcanceltype F GLIBC_2.18 pthread_setconcurrency F GLIBC_2.18 pthread_setname_np F GLIBC_2.18 pthread_setschedprio F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 31d008004d..b19c648328 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -135,7 +135,6 @@ GLIBC_2.18 pthread_rwlockattr_setkind_np F GLIBC_2.18 pthread_rwlockattr_setpshared F GLIBC_2.18 pthread_setaffinity_np F GLIBC_2.18 pthread_setattr_default_np F -GLIBC_2.18 pthread_setcanceltype F GLIBC_2.18 pthread_setconcurrency F GLIBC_2.18 pthread_setname_np F GLIBC_2.18 pthread_setschedprio F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index d4bd5b5ce3..0d7d23b8f3 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index d4bd5b5ce3..0d7d23b8f3 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index ed8be1e44b..34c81eb8db 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -135,7 +135,6 @@ GLIBC_2.21 pthread_rwlockattr_setkind_np F GLIBC_2.21 pthread_rwlockattr_setpshared F GLIBC_2.21 pthread_setaffinity_np F GLIBC_2.21 pthread_setattr_default_np F -GLIBC_2.21 pthread_setcanceltype F GLIBC_2.21 pthread_setconcurrency F GLIBC_2.21 pthread_setname_np F GLIBC_2.21 pthread_setschedprio F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index d9e3bb5b31..9ef23ed6d6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 8f393575e1..5474d3eb4d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -141,7 +141,6 @@ GLIBC_2.3 pthread_rwlockattr_getpshared F GLIBC_2.3 pthread_rwlockattr_init F GLIBC_2.3 pthread_rwlockattr_setkind_np F GLIBC_2.3 pthread_rwlockattr_setpshared F -GLIBC_2.3 pthread_setcanceltype F GLIBC_2.3 pthread_setconcurrency F GLIBC_2.3 pthread_setspecific F GLIBC_2.3 pthread_spin_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index 047869a3a0..47c5564772 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -133,7 +133,6 @@ GLIBC_2.17 pthread_rwlockattr_init F GLIBC_2.17 pthread_rwlockattr_setkind_np F GLIBC_2.17 pthread_rwlockattr_setpshared F GLIBC_2.17 pthread_setaffinity_np F -GLIBC_2.17 pthread_setcanceltype F GLIBC_2.17 pthread_setconcurrency F GLIBC_2.17 pthread_setname_np F GLIBC_2.17 pthread_setschedprio F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index 528792a426..e86e8cab1d 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -151,7 +151,6 @@ GLIBC_2.33 pthread_rwlockattr_setkind_np F GLIBC_2.33 pthread_rwlockattr_setpshared F GLIBC_2.33 pthread_setaffinity_np F GLIBC_2.33 pthread_setattr_default_np F -GLIBC_2.33 pthread_setcanceltype F GLIBC_2.33 pthread_setconcurrency F GLIBC_2.33 pthread_setname_np F GLIBC_2.33 pthread_setschedprio F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index 66f871fb89..220affa7f0 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -135,7 +135,6 @@ GLIBC_2.27 pthread_rwlockattr_setkind_np F GLIBC_2.27 pthread_rwlockattr_setpshared F GLIBC_2.27 pthread_setaffinity_np F GLIBC_2.27 pthread_setattr_default_np F -GLIBC_2.27 pthread_setcanceltype F GLIBC_2.27 pthread_setconcurrency F GLIBC_2.27 pthread_setname_np F GLIBC_2.27 pthread_setschedprio F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index e69792eba6..81b8d5ce5c 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index 75c5a27854..b916709d08 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -122,7 +122,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F GLIBC_2.2 pthread_rwlockattr_init F GLIBC_2.2 pthread_rwlockattr_setkind_np F GLIBC_2.2 pthread_rwlockattr_setpshared F -GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setconcurrency F GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_spin_destroy F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 424e2cf068..11fa4711d8 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F GLIBC_2.2 pthread_rwlockattr_init F GLIBC_2.2 pthread_rwlockattr_setkind_np F GLIBC_2.2 pthread_rwlockattr_setpshared F -GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setconcurrency F GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_spin_destroy F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 424e2cf068..11fa4711d8 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F GLIBC_2.2 pthread_rwlockattr_init F GLIBC_2.2 pthread_rwlockattr_setkind_np F GLIBC_2.2 pthread_rwlockattr_setpshared F -GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setconcurrency F GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_spin_destroy F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 5252f34efe..1d834d6d54 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -58,7 +58,6 @@ GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F GLIBC_2.0 pthread_mutexattr_setkind_np F -GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 2c131140ba..88e178b1c3 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2 pthread_rwlockattr_getpshared F GLIBC_2.2 pthread_rwlockattr_init F GLIBC_2.2 pthread_rwlockattr_setkind_np F GLIBC_2.2 pthread_rwlockattr_setpshared F -GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setconcurrency F GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_spin_destroy F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index afa8bb1dd8..f11ffd687f 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -121,7 +121,6 @@ GLIBC_2.2.5 pthread_rwlockattr_getpshared F GLIBC_2.2.5 pthread_rwlockattr_init F GLIBC_2.2.5 pthread_rwlockattr_setkind_np F GLIBC_2.2.5 pthread_rwlockattr_setpshared F -GLIBC_2.2.5 pthread_setcanceltype F GLIBC_2.2.5 pthread_setconcurrency F GLIBC_2.2.5 pthread_setspecific F GLIBC_2.2.5 pthread_spin_destroy F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index b8c545b9c0..579d0ffea2 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -133,7 +133,6 @@ GLIBC_2.16 pthread_rwlockattr_init F GLIBC_2.16 pthread_rwlockattr_setkind_np F GLIBC_2.16 pthread_rwlockattr_setpshared F GLIBC_2.16 pthread_setaffinity_np F -GLIBC_2.16 pthread_setcanceltype F GLIBC_2.16 pthread_setconcurrency F GLIBC_2.16 pthread_setname_np F GLIBC_2.16 pthread_setschedprio F From patchwork Fri Mar 12 17:50:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 1452294 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=sourceware.org (client-ip=2620:52:3:1:0:246e:9693:128c; helo=sourceware.org; envelope-from=libc-alpha-bounces@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=Rfd4OZCD; dkim-atps=neutral Received: from sourceware.org (server2.sourceware.org [IPv6:2620:52:3:1:0:246e:9693:128c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Dxtdj0rrNz9sRN for ; Sat, 13 Mar 2021 04:50:49 +1100 (AEDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 46FA539C503B; Fri, 12 Mar 2021 17:50:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 46FA539C503B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615571426; bh=bb4AMpIIHYU4HbK26rS2iBDf77TzAfEs0dn1ij8V2Mg=; h=To:Subject:In-Reply-To:References:Date:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=Rfd4OZCDUlHdk2Peki22RlV3QTpk9/3PfC+J6QT96CzO4OZPYiljDjg0y740obGv0 96I+Ny8Dd6IHlAQKxdOVYM2S9db5tvKzvi00kJLk1LOPRO4K3Jcus2mPq0v1WEVxJk hoXyNdXW2lKNIcyA/dn+GZVWcgDCqDZng+mZ2OJY= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org 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 F0DC6398B8B5 for ; Fri, 12 Mar 2021 17:50:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org F0DC6398B8B5 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-333-YlzOBsHJNfuPcfTTEyd4jg-1; Fri, 12 Mar 2021 12:50:21 -0500 X-MC-Unique: YlzOBsHJNfuPcfTTEyd4jg-1 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BF91F100C61A for ; Fri, 12 Mar 2021 17:50:20 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-77.ams2.redhat.com [10.36.112.77]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1FBEE60C5F for ; Fri, 12 Mar 2021 17:50:19 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH 18/18] nptl: Invoke the set_robust_list system call directly in fork In-Reply-To: References: Message-Id: Date: Fri, 12 Mar 2021 18:50:32 +0100 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.12 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.8 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP, URIBL_BLACK 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-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" This removes one of the pthread forwarder functions. --- nptl/nptl-init.c | 21 --------------------- sysdeps/nptl/fork.c | 11 ++--------- sysdeps/nptl/pthread-functions.h | 1 - 3 files changed, 2 insertions(+), 31 deletions(-) diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 49d811aed7..de64e34783 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -60,14 +60,6 @@ int __set_robust_list_avail; /* Version of the library, used in libthread_db to detect mismatches. */ static const char nptl_version[] __attribute_used__ = VERSION; - -#ifdef SHARED -static -#else -extern -#endif -void __nptl_set_robust (struct pthread *); - #ifdef SHARED static const struct pthread_functions pthread_functions = { @@ -92,25 +84,12 @@ static const struct pthread_functions pthread_functions = .ptr___pthread_getspecific = __pthread_getspecific, .ptr___pthread_setspecific = __pthread_setspecific, .ptr__nptl_setxid = __nptl_setxid, - .ptr_set_robust = __nptl_set_robust }; # define ptr_pthread_functions &pthread_functions #else # define ptr_pthread_functions NULL #endif - -#ifdef SHARED -static -#endif -void -__nptl_set_robust (struct pthread *self) -{ - INTERNAL_SYSCALL_CALL (set_robust_list, &self->robust_head, - sizeof (struct robust_list_head)); -} - - /* For asynchronous cancellation we use a signal. This is the handler. */ static void sigcancel_handler (int sig, siginfo_t *si, void *ctx) diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c index ffc8f9d041..a2a0643a1d 100644 --- a/sysdeps/nptl/fork.c +++ b/sysdeps/nptl/fork.c @@ -104,15 +104,8 @@ __libc_fork (void) self->robust_prev = &self->robust_head; #endif self->robust_head.list = &self->robust_head; -#ifdef SHARED - if (__builtin_expect (__libc_pthread_functions_init, 0)) - PTHFCT_CALL (ptr_set_robust, (self)); -#else - extern __typeof (__nptl_set_robust) __nptl_set_robust - __attribute__((weak)); - if (__builtin_expect (__nptl_set_robust != NULL, 0)) - __nptl_set_robust (self); -#endif + INTERNAL_SYSCALL_CALL (set_robust_list, &self->robust_head, + sizeof (struct robust_list_head)); /* Reset the lock state in the multi-threaded case. */ if (multiple_threads) diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 2092ecef07..844838cd49 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -53,7 +53,6 @@ struct pthread_functions void *(*ptr___pthread_getspecific) (pthread_key_t); int (*ptr___pthread_setspecific) (pthread_key_t, const void *); int (*ptr__nptl_setxid) (struct xid_command *); - void (*ptr_set_robust) (struct pthread *); }; /* Variable in libc.so. */