From patchwork Tue Mar 16 17:27:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42592 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5FFE83861034; Tue, 16 Mar 2021 17:27:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5FFE83861034 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915651; bh=DIDx3ufDfXvdASbrYA/U+lFwiF7zIFKN4ETC71dWjJk=; 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=MHqnxAbmxVhFRqEbPEcS0OwnPZce5ZFZI8izI6p6Nbo+25Tw4FXq6tGVg2O5061zq +Yd1MPOUofrAitT64gpM5olCRl7vC1TMo/65X/zDoadh/zmAYFj6ZoV0Qwq5VSsPUq yFdKSK6RC1fo4CMwD4W91IaH2OKSf4O5XPW8vrx4= 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 E6317385480F for ; Tue, 16 Mar 2021 17:27:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E6317385480F 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-282-4nP1bLTpMqmAGY63mEQJNA-1; Tue, 16 Mar 2021 13:27:21 -0400 X-MC-Unique: 4nP1bLTpMqmAGY63mEQJNA-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 718261934102 for ; Tue, 16 Mar 2021 17:27:20 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C0E4519D9F for ; Tue, 16 Mar 2021 17:27:18 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 01/37] nptl: Move pthread_mutex_consistent into libc In-Reply-To: References: Message-Id: <8c5877bbcc9e5c38df65b8191b02c80751587c65.1615914631.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:27:27 +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_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 deprecated pthread_mutex_consistent_np, its old name. Reviewed-by: Adhemerval Zanella --- NEWS | 4 +++- nptl/Makefile | 2 +- nptl/Versions | 11 ++++++++-- nptl/pthread_mutex_consistent.c | 22 ++++++++++++++++--- sysdeps/nptl/pthread.h | 10 +++++++-- 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, 141 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..23bcd51d91 100644 --- a/sysdeps/nptl/pthread.h +++ b/sysdeps/nptl/pthread.h @@ -809,8 +809,14 @@ 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)); +# ifdef __REDIRECT_NTH +extern int __REDIRECT_NTH (pthread_mutex_consistent_np, (pthread_mutex_t *), + pthread_mutex_consistent) __nonnull ((1)) + __attribute_deprecated_msg__ ("\ +pthread_mutex_consistent_np is deprecated, use pthread_mutex_consistent"); +# else +# define pthread_mutex_consistent_np pthread_mutex_consistent +# endif # 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 Tue Mar 16 17:27: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: 42593 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7F40E385040C; Tue, 16 Mar 2021 17:27:38 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7F40E385040C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915658; bh=v76FCqpCcR8NsbcDoqEkaZlcOWdtwrwiWAuScvc7Z9k=; 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=t10naKvVGrFiUtoRL5oZ1O6kMAzZDGu2pM2omZtaodDDHRycy+7Jkmx1GL2MK+Jmq dsX1MUIi/CcD24W7eTCn6R3s/hl9w9w0eiDyceY4qnmw1JEWVJWHsLcgRdlH0Kp1NU MUYzB0iv0ZsGAvF1d3aCH3DsUKRQtIvIAwYwPrYo= 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 504CF3861004 for ; Tue, 16 Mar 2021 17:27:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 504CF3861004 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-463-OUFdq2eGPJ2iFVT5WwPi2g-1; Tue, 16 Mar 2021 13:27:29 -0400 X-MC-Unique: OUFdq2eGPJ2iFVT5WwPi2g-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 237F3800FF0 for ; Tue, 16 Mar 2021 17:27:28 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A2EEA19D9F for ; Tue, 16 Mar 2021 17:27:26 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 02/37] nptl: Move __pthread_cleanup_routine into libc In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:27:35 +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" Reviewed-by: Adhemerval Zanella --- 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(-) 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 Tue Mar 16 17:27:45 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42594 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C6FAF3850417; Tue, 16 Mar 2021 17:27:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C6FAF3850417 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915665; bh=axQjnxSaLnEvD4dgBdN801O/IBfiUL4XeD/GDgQtiYo=; 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=YHNIWsibtIsDI0RG4eRU7VkmDMm1eIQnYaRZRh4q53kM7UlTbyYNWmx9q05RLfxhf RKsHAnxDVyHThX+sG6gJcAPilWktJsbE+5DPXqF5/A9CNvBtJ+SyBG+GuarsOLWzv7 Abf+6lZhB+fZg3VASEQfC4ate++Uhg3fEUCqru1I= 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 05BB13861004 for ; Tue, 16 Mar 2021 17:27:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 05BB13861004 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-555-RrJW-OvSNy-tZQADo8h_JA-1; Tue, 16 Mar 2021 13:27:39 -0400 X-MC-Unique: RrJW-OvSNy-tZQADo8h_JA-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 EBFB28189C8 for ; Tue, 16 Mar 2021 17:27:37 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DCFA06091A for ; Tue, 16 Mar 2021 17:27:36 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 03/37] nptl: Move legacy unwinding implementation into libc In-Reply-To: References: Message-Id: <6dc80a0800ca55e49fe01e7a465d4d5f96b25bf2.1615914631.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:27:45 +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" 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..e8a5e68a12 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-addressable 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 Tue Mar 16 17:27:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42595 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 6D3843861004; Tue, 16 Mar 2021 17:27:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6D3843861004 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915675; bh=8vnmLAKM4UvE1M/5Wnkc7xh6WYyQ5k7AYpr8Xn+/yh4=; 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=vKGaPLI9R5R2kjj6FzpVRYKg2MVZ6sfFiPqe1cKyfGNc+T35FlkWzsOqxPZ9sgMI2 6PsoSURY+tuBZkFrCkHTKCHBTDxije69yjsYz89geebS1bWlARoRasAfmceaLJFTdu kNtfAnFfN+mFzVZc2mCD7Zoykr4FVNg/NaK5h1O0= 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 1EDC73861004 for ; Tue, 16 Mar 2021 17:27:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1EDC73861004 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-554-239tHpP1ORai8ATD9P2Nwg-1; Tue, 16 Mar 2021 13:27:44 -0400 X-MC-Unique: 239tHpP1ORai8ATD9P2Nwg-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 C7445107F280 for ; Tue, 16 Mar 2021 17:27:43 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 514925D9D3 for ; Tue, 16 Mar 2021 17:27:42 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 04/37] nptl: Move legacy cancelation handling into libc as compat symbols In-Reply-To: References: Message-Id: <0bfe0e503f0034a08fa3a769ff73856099007982.1615914631.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:27:51 +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_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" 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. __pthread_cleanup_pop and __pthread_cleanup_push are added as GLIBC_PRIVATE symbols because they are also used internally, for glibc's own cancellation handling. 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 Tue Mar 16 17:27:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42596 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 71FA2385040A; Tue, 16 Mar 2021 17:27:59 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 71FA2385040A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915679; 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=l9SEANtH0XOAX2MBezqRSiKDiBRjuQm9QZuQreh/uLD0RqYGzrc6r/H6uxG4htLQg WikdUfhX3IRbEFIUqcNAgbQV3ykQ/5bv/mVYY6UmVDqqGBIVyxe6xt+JjKzIedkkG9 iA98HshnMG2vrlvedzSSO75iQqHdongEvRNqZDYA= 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 CBF193850407 for ; Tue, 16 Mar 2021 17:27:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org CBF193850407 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-93-UtJi0SXzPV6tNATM96rIyA-1; Tue, 16 Mar 2021 13:27:51 -0400 X-MC-Unique: UtJi0SXzPV6tNATM96rIyA-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 A3F05107F283 for ; Tue, 16 Mar 2021 17:27:50 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 735E96091A for ; Tue, 16 Mar 2021 17:27:49 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 05/37] nptl: Remove longjmp, siglongjmp from libpthread In-Reply-To: References: Message-Id: <5ca27a8b304554e203421a35b8d8135a6fb2ed18.1615914631.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:27:58 +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" 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. Reviewed-by: Adhemerval Zanella --- 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 Tue Mar 16 17:28:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42597 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BD4493850407; Tue, 16 Mar 2021 17:28:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BD4493850407 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915715; bh=xRRNenQTGs/uwGsLMoPrIFdVk0neS0LRa06O4Nnw7DY=; 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=PPAISf9Fe2rSRNMqgy3RclQMywP17hro1mGvsz89NvOt/XAA73rAD2WCvay3T/IF+ Z3lcE1K915omz0VUHkVYHWqZOQiC+kA1osPZNP0/I9YjATW1jz6VpsxrkXvTs1CpF6 kMOCkWjLGFaTnxxH8gUbxUL950Ods3DI3czk2Thw= 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 CB8C1385480F for ; Tue, 16 Mar 2021 17:28:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org CB8C1385480F 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-510-zhW9D5O6PpyhHmbPPpGNSA-1; Tue, 16 Mar 2021 13:28:31 -0400 X-MC-Unique: zhW9D5O6PpyhHmbPPpGNSA-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 A9FD6801596 for ; Tue, 16 Mar 2021 17:28:30 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0C5D75D9C0 for ; Tue, 16 Mar 2021 17:28:29 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 06/37] x86: Restore compile-time check for shadow stack pointer in longjmp In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:28:38 +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_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" From: Adhemerval Zanella --- sysdeps/unix/sysv/linux/x86/longjmp.c | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 sysdeps/unix/sysv/linux/x86/longjmp.c diff --git a/sysdeps/unix/sysv/linux/x86/longjmp.c b/sysdeps/unix/sysv/linux/x86/longjmp.c new file mode 100644 index 0000000000..1cc8b8dfad --- /dev/null +++ b/sysdeps/unix/sysv/linux/x86/longjmp.c @@ -0,0 +1,39 @@ +/* __libc_siglongjmp for Linux/x86 + Copyright (C) 2018-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 +#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."); From patchwork Tue Mar 16 17:28: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: 42598 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 58E48385043E; Tue, 16 Mar 2021 17:28:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 58E48385043E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915731; bh=1TCyBl8kNjHCrx8kF8VSv/ToqtuMq8bflKAUps5j6ro=; 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=ukGvQa+iuoV1j6/9M2tzg2dJ1JUP68M2WTxh2scgCd84jMGb4DQkwreusQCpYIBgY U6bx1jclR9w9ilQyZW30T6TzaX1UhZ/N4kYWzImG67VigphJLrQf1TLG4ezJ62Mnuu +aPVYmCn9aCyd4gECXm4fGemeBgJDA9RdQXo/Dws= 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 E2FB4385480F for ; Tue, 16 Mar 2021 17:28:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E2FB4385480F 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-262-SkYzmHcTP3iInc1h9dfq1w-1; Tue, 16 Mar 2021 13:28:41 -0400 X-MC-Unique: SkYzmHcTP3iInc1h9dfq1w-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 B21E88189C7 for ; Tue, 16 Mar 2021 17:28:40 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D9E8C60C0F for ; Tue, 16 Mar 2021 17:28:39 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 07/37] nptl: Move __pthread_cleanup_upto into libc In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:28: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.12 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" 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 Tue Mar 16 17:28: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: 42599 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id EF51A3850407; Tue, 16 Mar 2021 17:28:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org EF51A3850407 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915739; bh=QNv6BO/uRed4VnG3MgBL+e0Wpxge2M9FoUb2igv2jDY=; 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=IruAjSzcr6ZfaXomJsMoFVbrosPXw52Q9YpYNQUXFOQAL43JWjRglSsKVVqiYwoM1 1Wd55btUsGkmdud3ViXjauu4qZUirDPrp3qNI7BPGp3K6bptHkdO/NohxHP9Pvfs2O +K/D6coS13hPe/hkCPAkQvXERjDAoo972ccZsNHU= 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 12ADA385480F for ; Tue, 16 Mar 2021 17:28:51 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 12ADA385480F 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-484-YUiNOauHNFiOTwi5NWkTBg-1; Tue, 16 Mar 2021 13:28:48 -0400 X-MC-Unique: YUiNOauHNFiOTwi5NWkTBg-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 79DE1107F280 for ; Tue, 16 Mar 2021 17:28:47 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C7FAA5D9DC for ; Tue, 16 Mar 2021 17:28:45 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 08/37] nptl: Move pthread_once and __pthread_once into libc In-Reply-To: References: Message-Id: <3ab7ccc92585d17c3171cf375605b53252d6b9a9.1615914631.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:28: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.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, 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. 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. Reviewed-by: Adhemerval Zanella --- nptl/Makefile | 2 +- nptl/Versions | 6 ++++-- nptl/libc_pthread_init.c | 8 +------ nptl/nptl-init.c | 4 +--- nptl/pthreadP.h | 8 +++---- nptl/pthread_once.c | 21 +++++++++++++++---- sysdeps/nptl/fork.c | 3 +-- sysdeps/nptl/fork.h | 3 --- sysdeps/nptl/libc-lockP.h | 13 ++---------- 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, 158 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..49133585e4 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,7 +85,9 @@ libc { } GLIBC_2.34 { __pthread_cleanup_routine; + __pthread_once; pthread_mutex_consistent; + pthread_once; } GLIBC_PRIVATE { __futex_abstimed_wait64; @@ -141,7 +145,6 @@ libpthread { __pthread_mutexattr_destroy; __pthread_mutexattr_init; __pthread_mutexattr_settype; - __pthread_once; __pthread_setspecific; __read; __send; @@ -184,7 +187,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..9f2990217c 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, @@ -519,6 +517,7 @@ extern void *__pthread_getspecific (pthread_key_t key); extern int __pthread_setspecific (pthread_key_t key, const void *value); extern int __pthread_once (pthread_once_t *once_control, void (*init_routine) (void)); +libc_hidden_proto (__pthread_once) extern int __pthread_atfork (void (*prepare) (void), void (*parent) (void), void (*child) (void)); extern pthread_t __pthread_self (void); @@ -551,7 +550,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..7335150485 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)) +__pthread_once_1 (pthread_once_t *once_control, void (*init_routine) (void)) { /* Fast path. See __pthread_once_slow. */ int val; @@ -142,5 +144,16 @@ __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) +versioned_symbol (libc, __pthread_once_1, __pthread_once, GLIBC_2_34); +libc_hidden_ver (__pthread_once_1, __pthread_once) + +/* Several aliases for setting different symbol versions. */ +strong_alias (__pthread_once_1, __pthread_once_2) +strong_alias (__pthread_once_1, __pthread_once_3) +strong_alias (__pthread_once_1, __pthread_once_4) + +versioned_symbol (libc, __pthread_once_2, pthread_once, GLIBC_2_34); +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libc, __pthread_once_3, __pthread_once, GLIBC_2_0); +compat_symbol (libc, __pthread_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..9550bc37e4 100644 --- a/sysdeps/nptl/libc-lockP.h +++ b/sysdeps/nptl/libc-lockP.h @@ -238,15 +238,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0"); /* 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) + __pthread_once (&(ONCE_CONTROL), INIT_FUNCTION) /* Get once control variable. */ #define __libc_once_get(ONCE_CONTROL) ((ONCE_CONTROL) != PTHREAD_ONCE_INIT) @@ -342,6 +334,7 @@ extern void *__pthread_getspecific (pthread_key_t __key); extern int __pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)); +libc_hidden_proto (__pthread_once) extern int __pthread_atfork (void (*__prepare) (void), void (*__parent) (void), @@ -372,7 +365,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 +386,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 Tue Mar 16 17:29:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42601 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 43EA6386184F; Tue, 16 Mar 2021 17:29:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 43EA6386184F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915747; bh=yuk2QxB1S+iNeh5Rna4/aT7wFEdH5d1dCQaMPI4QcwQ=; 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=x7vDyNs8bxuASOs6U/khvfJJs0XPglM/dhMdvgQSD82AfLR1Iqz/pIXml3jyYL47n jYZWTo/hU5jvsK7QFRrltqE0eqUFpXbIvoo8ufXbKEypffqeOBQx3/SIuIUc4MQAi3 R71bIGO1NwyAYt07onWXAs6VS1iS5I83l77eV3vY= 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 3B96B3861843 for ; Tue, 16 Mar 2021 17:28:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3B96B3861843 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-197-c_Eq3Xs1M9iMq3kgC66jWA-1; Tue, 16 Mar 2021 13:28:55 -0400 X-MC-Unique: c_Eq3Xs1M9iMq3kgC66jWA-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 D4A38107F280 for ; Tue, 16 Mar 2021 17:28:53 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 29D0D5C1A1 for ; Tue, 16 Mar 2021 17:28:51 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 09/37] nptl: Move __pthread_unwind_next into libc In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:29:00 +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" 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. Reviewed-by: Adhemerva Zanella --- elf/Makefile | 2 + include/setjmp.h | 4 +- nptl/Makefile | 4 +- nptl/Versions | 4 +- nptl/forward.c | 6 -- nptl/nptl-init.c | 1 - nptl/pthreadP.h | 8 ++- nptl/pthread_cancel.c | 10 ++- nptl/pthread_exit.c | 11 +++- nptl/unwind.c | 14 ++-- setjmp/Versions | 4 -- sysdeps/arm/Makefile | 5 -- sysdeps/arm/nptl/unwind-forcedunwind.c | 25 -------- sysdeps/arm/pt-arm-unwind-resume.S | 20 ------ sysdeps/generic/unwind-resume.c | 14 ++++ .../unwind-resume.c} | 5 +- sysdeps/nptl/pthread-functions.h | 2 - sysdeps/nptl/unwind-forcedunwind.c | 64 ------------------- sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 + .../sysv/linux/aarch64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 + .../unix/sysv/linux/alpha/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/arc/libc.abilist | 2 + .../unix/sysv/linux/arc/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 + .../unix/sysv/linux/arm/be/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 + .../unix/sysv/linux/arm/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/csky/libc.abilist | 2 + .../unix/sysv/linux/csky/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 + .../unix/sysv/linux/hppa/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/i386/libc.abilist | 2 + .../unix/sysv/linux/i386/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/ia64/Makefile | 2 +- sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 + .../unix/sysv/linux/ia64/libpthread.abilist | 1 - .../sysv/linux/m68k/coldfire/libc.abilist | 2 + .../linux/m68k/coldfire/libpthread.abilist | 1 - .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 + .../sysv/linux/m68k/m680x0/libpthread.abilist | 1 - .../sysv/linux/microblaze/be/libc.abilist | 2 + .../linux/microblaze/be/libpthread.abilist | 1 - .../sysv/linux/microblaze/le/libc.abilist | 2 + .../linux/microblaze/le/libpthread.abilist | 1 - .../sysv/linux/mips/mips32/fpu/libc.abilist | 2 + .../sysv/linux/mips/mips32/libpthread.abilist | 1 - .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 + .../sysv/linux/mips/mips64/libpthread.abilist | 1 - .../sysv/linux/mips/mips64/n32/libc.abilist | 2 + .../sysv/linux/mips/mips64/n64/libc.abilist | 2 + sysdeps/unix/sysv/linux/nios2/libc.abilist | 2 + .../unix/sysv/linux/nios2/libpthread.abilist | 1 - .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 + .../powerpc/powerpc32/libpthread.abilist | 1 - .../powerpc/powerpc32/nofpu/libc.abilist | 2 + .../linux/powerpc/powerpc64/be/libc.abilist | 2 + .../powerpc/powerpc64/be/libpthread.abilist | 1 - .../linux/powerpc/powerpc64/le/libc.abilist | 2 + .../powerpc/powerpc64/le/libpthread.abilist | 1 - .../unix/sysv/linux/riscv/rv32/libc.abilist | 2 + .../sysv/linux/riscv/rv32/libpthread.abilist | 1 - .../unix/sysv/linux/riscv/rv64/libc.abilist | 2 + .../sysv/linux/riscv/rv64/libpthread.abilist | 1 - .../unix/sysv/linux/s390/s390-32/libc.abilist | 2 + .../linux/s390/s390-32/libpthread.abilist | 1 - .../unix/sysv/linux/s390/s390-64/libc.abilist | 2 + .../linux/s390/s390-64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 + .../unix/sysv/linux/sh/be/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 + .../unix/sysv/linux/sh/le/libpthread.abilist | 1 - .../sysv/linux/sparc/sparc32/libc.abilist | 2 + .../linux/sparc/sparc32/libpthread.abilist | 1 - .../sysv/linux/sparc/sparc64/libc.abilist | 2 + .../linux/sparc/sparc64/libpthread.abilist | 1 - .../unix/sysv/linux/x86_64/64/libc.abilist | 2 + .../sysv/linux/x86_64/64/libpthread.abilist | 1 - .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 + .../sysv/linux/x86_64/x32/libpthread.abilist | 1 - 80 files changed, 122 insertions(+), 176 deletions(-) delete mode 100644 sysdeps/arm/nptl/unwind-forcedunwind.c delete mode 100644 sysdeps/arm/pt-arm-unwind-resume.S rename sysdeps/{unix/sysv/linux/ia64/unwind-forcedunwind.c => ia64/unwind-resume.c} (87%) delete mode 100644 sysdeps/nptl/unwind-forcedunwind.c diff --git a/elf/Makefile b/elf/Makefile index 3b8e13e066..936d4cf276 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -519,6 +519,8 @@ $(objpfx)dl-allobjs.os: $(all-rtld-routines:%=$(objpfx)%.os) # discovery mechanism is not compatible with the libc implementation # when compiled for libc. rtld-stubbed-symbols = \ + __libc_disable_asynccancel \ + __libc_enable_asynccancel \ calloc \ free \ malloc \ diff --git a/include/setjmp.h b/include/setjmp.h index 0a8e4d2eaf..a3936e611d 100644 --- a/include/setjmp.h +++ b/include/setjmp.h @@ -20,9 +20,9 @@ extern int __sigjmp_save (jmp_buf __env, int __savemask); extern void _longjmp_unwind (jmp_buf env, int val); extern void __libc_siglongjmp (sigjmp_buf env, int val) - __attribute__ ((noreturn)); + __attribute__ ((noreturn)) attribute_hidden; extern void __libc_longjmp (sigjmp_buf env, int val) - __attribute__ ((noreturn)); + __attribute__ ((noreturn)) attribute_hidden; libc_hidden_proto (_setjmp) libc_hidden_proto (__sigsetjmp) 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 49133585e4..8f1cd3f7c4 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -56,6 +56,7 @@ libc { } GLIBC_2.3.3 { __pthread_cleanup_routine; + __pthread_unwind_next; pthread_attr_setaffinity_np; pthread_getaffinity_np; } @@ -118,6 +119,7 @@ libc { __pthread_cond_init; # Used by the C11 threads. __pthread_force_elision; __pthread_getattr_default_np; + __pthread_unwind; } } @@ -323,7 +325,6 @@ libpthread { __pthread_register_cancel_defer; __pthread_unregister_cancel; __pthread_unregister_cancel_restore; - __pthread_unwind_next; pthread_attr_getaffinity_np; pthread_barrierattr_getpshared; pthread_condattr_getclock; @@ -412,6 +413,5 @@ libpthread { __pthread_clock_settime; __pthread_get_minstack; __pthread_initialize_minimal; - __pthread_unwind; } } 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 9f2990217c..f78bf03a52 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -271,19 +271,21 @@ extern void __pthread_unwind (__pthread_unwind_buf_t *__buf) weak_function #endif ; +libc_hidden_proto (__pthread_unwind) extern void __pthread_unwind_next (__pthread_unwind_buf_t *__buf) __cleanup_fct_attribute __attribute ((__noreturn__)) #ifndef SHARED weak_function #endif ; +/* NB: No hidden proto for __pthread_unwind_next: inside glibc, the + legacy unwinding mechanism is used. */ + +#if IS_IN (libpthread) extern void __pthread_register_cancel (__pthread_unwind_buf_t *__buf) __cleanup_fct_attribute; extern void __pthread_unregister_cancel (__pthread_unwind_buf_t *__buf) __cleanup_fct_attribute; -#if IS_IN (libpthread) -hidden_proto (__pthread_unwind) -hidden_proto (__pthread_unwind_next) hidden_proto (__pthread_register_cancel) hidden_proto (__pthread_unregister_cancel) # ifdef SHARED 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 Tue Mar 16 17:29: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: 42600 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A6E40386187E; Tue, 16 Mar 2021 17:29:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A6E40386187E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915744; 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=LNDvtlJFME3yQBZuw3/lpCQd0lQ87ZbYJVPo/fiAAv9AQfPDJP/SAFN4LYejKLOYI BswcF0spMPfbF7r2tzzX/rculHpYZtDj/M2HdfXjEoCy9nMIMqF8fFtTjKH2pq68yI 2fW/YRNVyt41+8548Ixjt1+MNrnz95MK6nXALKEE= 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 7E472386184F for ; Tue, 16 Mar 2021 17:29:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 7E472386184F 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-447-Im_wHmtBPzC6OjoqPhOJMw-1; Tue, 16 Mar 2021 13:29:00 -0400 X-MC-Unique: Im_wHmtBPzC6OjoqPhOJMw-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 75EB4107ACCD for ; Tue, 16 Mar 2021 17:28:59 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9852E189A4 for ; Tue, 16 Mar 2021 17:28:58 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 10/37] csu: Move calling main out of __libc_start_main_impl In-Reply-To: References: Message-Id: <3ec0825ceb5514f7f94d170f40cae12a3111a3fd.1615914631.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:29: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.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" This code depends on whether glibc has unwinding support for a particular port. Reviewed-by: Adhemerval Zanella --- 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 Tue Mar 16 17:29: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: 42602 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4D40A3861843; Tue, 16 Mar 2021 17:29:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4D40A3861843 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915752; bh=2BWyFcocuShy2fBDwUDGlGgUMVlh4xBrbWlJm/l1o5k=; 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=G9iclhW39gt1cFHRdhh/6LmxWxNrMYirZpqPi5tdy+1P/kgTh2lKyDVGW+T/K29Ta o4//8rMu+JX14hlu2voRq1PnWE7fMx1C6UiRUkgJRyJGXQ6mfdDIraDE7JQu0TfkQt 3fJ09CApBApxg997qkn/PMXxEIu9W0tNJQESNGz8= 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 A876C38618B6 for ; Tue, 16 Mar 2021 17:29:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org A876C38618B6 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-74-YEAphlUYOJ2lQPZ8HVvlPA-1; Tue, 16 Mar 2021 13:29:06 -0400 X-MC-Unique: YEAphlUYOJ2lQPZ8HVvlPA-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 4BF461934106 for ; Tue, 16 Mar 2021 17:29:05 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6FDCB19D9F for ; Tue, 16 Mar 2021 17:29:04 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 11/37] nptl: Move internal __nptl_nthreads variable into libc In-Reply-To: References: Message-Id: <6f4a258f7dcf4ea89dfd26aab9be2a9e0b061cb5.1615914631.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:29:12 +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_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" --- 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 Reviewed-by: Adhemerval Zanella 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 8f1cd3f7c4..968c4fba35 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -107,6 +107,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 f78bf03a52..b136aeae4d 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 Tue Mar 16 17:29:19 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42603 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D00A338618A5; Tue, 16 Mar 2021 17:29:16 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D00A338618A5 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915756; 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=SK/DtXMmYgJoZyDTyjs6hCE8sVUXvjZaxohduy6cST9xzXFdBH0x0eiDA6+pTltWQ xGQ37Tq4pX1JqrG9J/UREliA8eSAKXS/JoXhgKaPBmwmqsEaxOGjDF2rla6sp4Qjys AjA4okPJ2j/Z1HZZyajwc7qbSBKSLNitj+QpCzMA= 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 BCB3938618AA for ; Tue, 16 Mar 2021 17:29:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org BCB3938618AA 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-575-8ztKjWAENFuepd7IPH_HlQ-1; Tue, 16 Mar 2021 13:29:12 -0400 X-MC-Unique: 8ztKjWAENFuepd7IPH_HlQ-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 8667A3E741 for ; Tue, 16 Mar 2021 17:29:11 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E15F719D61 for ; Tue, 16 Mar 2021 17:29:10 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 12/37] nptl_db: Introduce DB_MAIN_ARRAY_VARIABLE In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:29:19 +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=-2.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, UNWANTED_LANGUAGE_BODY 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. Reviewed-by: Adhemerval Zanella --- 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 Tue Mar 16 17:29:25 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42604 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5F60B38618BB; Tue, 16 Mar 2021 17:29:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5F60B38618BB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915763; bh=yYkixrD5ky+bm2gEEtuE843+XpwViU+E8nAkyIeYb74=; 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=eor6EwqJ0NwshwmGBAPFpjZxrPR0KPg7ySB+pWfMYIFEptU5el3Ggy9581GJNBS7I QaWzTn0ZlaMyR1rbTnab07CzdX1Av1c2oq4a0CLrfOFCizsNFaC07B0D+qojRcSF3u GbjZ50MtNYPU3KYCxoVVGN4vY0NUYIvKPiIVUhrw= 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 B387B385480F for ; Tue, 16 Mar 2021 17:29:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B387B385480F 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-436-2vtYgcZEMCmAwB2oGHa2Ng-1; Tue, 16 Mar 2021 13:29:18 -0400 X-MC-Unique: 2vtYgcZEMCmAwB2oGHa2Ng-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 90E893E746 for ; Tue, 16 Mar 2021 17:29:17 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E94FD60C0F for ; Tue, 16 Mar 2021 17:29:16 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 13/37] nptl: Move __pthread_keys global variable into libc In-Reply-To: References: Message-Id: <5cda5f191909a1e9b3f2f48ce6f417b4b7ea3556.1615914631.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:29:25 +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=-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" This prepares moving pthread_exit, and later the pthread_key_create infrastructure. Reviewed-by: Adhemerval Zanella --- 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 968c4fba35..13198d1e89 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -120,6 +120,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 b136aeae4d..d28610150c 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 Tue Mar 16 17:29:34 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42605 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1BE573861865; Tue, 16 Mar 2021 17:29:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1BE573861865 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915774; bh=82lEal4YXo8L/P9s3eP+yJsYdVBwNkAiGfynKz/FjJ0=; 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=FS54mU1YgqAi1fbf0jmeT1AdSoNoDbk+Zv5t3CqtTcb52kBWmqC4EXd9DGbCZZnOq WDYxGbg11jSFOAZ3mB26ZvjK5F79GoPE23LFns44IDzuE1qj5H4Bx7n//cNren8QqX pufihYNOltQhYl+HObxIftwLc78H5CZlWXB5sOrY= 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 174523861865 for ; Tue, 16 Mar 2021 17:29:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 174523861865 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-286-3AgQWTBbP2q7vjpU61y8Dg-1; Tue, 16 Mar 2021 13:29:27 -0400 X-MC-Unique: 3AgQWTBbP2q7vjpU61y8Dg-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 AE5163E745 for ; Tue, 16 Mar 2021 17:29:26 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A27255D9D3 for ; Tue, 16 Mar 2021 17:29:25 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 14/37] nptl: Move __nptl_deallocate_tsd into libc In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:29:34 +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_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" This prepares moving pthread_exit, and later the pthread_key_create infrastructure. Reviewed-by: Adhemerval Zanella --- 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 13198d1e89..72909b961c 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -107,6 +107,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 d28610150c..4f814287ae 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -680,7 +680,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 Tue Mar 16 17:29:40 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42606 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 192F038618CC; Tue, 16 Mar 2021 17:29:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 192F038618CC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915781; bh=UG7ExxCAbCH6L3kKONIZn2phXWKgH8Kqf/cF539iDcs=; 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=o4WHfMF75R4Vwjhl5iw9v0WG9jfs+/0xOtOCOLBfAOWRrDL9W8j5UkSS/Pyf0VcC2 nMf9Wr7drscOrG+UHcCqNCBoIEPosypfEjHvEYJgSygP5xKMmHlBUyf7YSUWG3fSak n4UONCLbsiAsE3ovcuEsuyHGyXwAorJxgj7xtJJs= 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 AB49D3861896 for ; Tue, 16 Mar 2021 17:29:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org AB49D3861896 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-245-mYj8VgnXNRGUaa7lND4WEA-1; Tue, 16 Mar 2021 13:29:34 -0400 X-MC-Unique: mYj8VgnXNRGUaa7lND4WEA-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 5A645107ACCA for ; Tue, 16 Mar 2021 17:29:33 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 19B595C1A3 for ; Tue, 16 Mar 2021 17:29:31 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 15/37] nptl: Move pthread_exit into libc In-Reply-To: References: Message-Id: <79bd9c6457d5f83fc3ab90c9669fb431c505998c.1615914631.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:29:40 +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" 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. Reviewed-by: Adhemerval Zanella --- 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 72909b961c..f8178409dd 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -119,6 +119,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; @@ -176,7 +177,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 4f814287ae..7d88754e67 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -529,6 +529,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 Tue Mar 16 17:29:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42607 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A2A1F38618F6; Tue, 16 Mar 2021 17:29:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A2A1F38618F6 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915788; bh=S4+Jlb3QcFPGpl6ZooTcUwmsbW0f0ai/WI888luJxe8=; 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=n/77sz2PbwLQkCb7VsLzr39AGTlVrjBhcmgQSk8iWA1LZdoLh4b/fr7v18vV5rdpJ r8l+VXl6iZOnumrZjH1EJJNq9umzqvOc2vezk8OQ1AnYwlYOxo3QHpeauFZarrwyIO GA3y3RwH51sSQw/4Q/cdYYx30zhpwZCEQDy9u6ok= 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 7038D3861896 for ; Tue, 16 Mar 2021 17:29:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 7038D3861896 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-62-55iXtDCVML2-emLpvY1n3g-1; Tue, 16 Mar 2021 13:29:40 -0400 X-MC-Unique: 55iXtDCVML2-emLpvY1n3g-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 3442E801983 for ; Tue, 16 Mar 2021 17:29:39 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E961C19CAD for ; Tue, 16 Mar 2021 17:29:37 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 16/37] nptl: Move pthread_setcancelstate into libc In-Reply-To: References: Message-Id: <37028d02f6589d0b3bb6f9c8bdeef721e2d557c8.1615914632.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:29:46 +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_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" No new symbol version is required because there was a forwarder. The symbol has been moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerval Zanella --- 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 f8178409dd..32e7acfcae 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -123,6 +123,7 @@ libc { __pthread_force_elision; __pthread_getattr_default_np; __pthread_keys; + __pthread_setcancelstate; __pthread_unwind; } } @@ -192,7 +193,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 7d88754e67..9f07aa718b 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); @@ -554,7 +553,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 9550bc37e4..df62ce0e61 100644 --- a/sysdeps/nptl/libc-lockP.h +++ b/sysdeps/nptl/libc-lockP.h @@ -341,7 +341,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. */ @@ -367,7 +367,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 @@ -388,7 +387,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 Tue Mar 16 17:29:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42608 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id D20B638618E2; Tue, 16 Mar 2021 17:29:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D20B638618E2 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915791; bh=dESTyKsb99x0pUFQARlru2P8QbQJV6UJikP+87ZVQ3o=; 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=Udd5QQV++MrzWE4YsJCIah1zZNw9+607F7d77wlR/aZnyYn5+Y1kYQx5kWsYHYc9E gAY7UTd6b6R3O2LxpFEJrM5GetZVAkFSdb1UA1LHRyU1llyORkjXVlo3iIGx+3XI31 uKnM0hzoQ5tUD1IdEimCtnWPyAf9fM1kGsjuU850= 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 DD31A38618E2 for ; Tue, 16 Mar 2021 17:29:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org DD31A38618E2 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-113-RkL4tPdAOsW4sGTotW105A-1; Tue, 16 Mar 2021 13:29:45 -0400 X-MC-Unique: RkL4tPdAOsW4sGTotW105A-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 9DC5E835B64 for ; Tue, 16 Mar 2021 17:29:44 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8D0A15D9DC for ; Tue, 16 Mar 2021 17:29:43 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 17/37] nptl: Move pthread_setcanceltype into libc In-Reply-To: References: Message-Id: <810c78552284be170d5a994075977fc561a52204.1615914632.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:29:52 +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, 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. Reviewed-by: Adhemerval Zanella --- 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 32e7acfcae..b619df41fb 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -193,7 +193,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 9f07aa718b..4b486b3577 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -531,6 +531,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 Tue Mar 16 17:29:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42609 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 61E0C386186A; Tue, 16 Mar 2021 17:29:57 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 61E0C386186A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915797; 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=oPC1t2Qk/QHV2jP+S1CQd+570KIOHYYNlo6qYyeUkkxqcb6i8fOMu57SNZkkbcWr1 TMRPyVd3LMTK5eZNI5eFwZbgyx+ETjOUzv1eO/H//5fdOLtLuZT4giE9N+v9RVZGhA UN63abXJYB2sck9vwpMOaTUU8Pm6P3I0ghf+RfeM= 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 E7F82386185F for ; Tue, 16 Mar 2021 17:29:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E7F82386185F 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-175-uWQg8qIKPF2LSqWN8IYl7w-1; Tue, 16 Mar 2021 13:29:50 -0400 X-MC-Unique: uWQg8qIKPF2LSqWN8IYl7w-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 8777B800C78 for ; Tue, 16 Mar 2021 17:29:49 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DB61D5D9D3 for ; Tue, 16 Mar 2021 17:29:48 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 18/37] nptl: Invoke the set_robust_list system call directly in fork In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:29:57 +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=-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. Reviewed-by: Adhemerval Zanella --- 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. */ From patchwork Tue Mar 16 17:30:10 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42610 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 7283B386189F; Tue, 16 Mar 2021 17:30:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7283B386189F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915812; bh=Z9aG5l4XsHZDXfSoz9MZB6l4d1RpHgje0FGArKer50w=; 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=owQQNTyqu0lwPBG6P9sK3J4rwErbuA7DgBOo3ArsBzAo/hgvdMvifK8dr8r4zmMT4 mLaMCOXuh08N3NRm3sBVSDOUAt6zLa64dODCAsJrzYrSsGTiUe/VhLPQCPgOOa9dUz lvZqWxWGF4EDW8qSGBtC7LQxvsLu/SiHXp/jcHDk= 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 4EE033850407 for ; Tue, 16 Mar 2021 17:30:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 4EE033850407 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-544-DRQj6llLMN2OAIfH4BHQhA-1; Tue, 16 Mar 2021 13:30:04 -0400 X-MC-Unique: DRQj6llLMN2OAIfH4BHQhA-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 A8DBE802B7A for ; Tue, 16 Mar 2021 17:30:03 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9CEDD5D9C0 for ; Tue, 16 Mar 2021 17:30:02 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 19/37] dlfcn: Failures after dlmopen should not terminate process [BZ #24772] In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:30:10 +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=-11.8 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, 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" Commit 9e78f6f6e7134a5f299cc8de77370218f8019237 ("Implement _dl_catch_error, _dl_signal_error in libc.so [BZ #16628]") has the side effect that distinct namespaces, as created by dlmopen, now have separate implementations of the rtld exception mechanism. This means that the call to _dl_catch_error from libdl in a secondary namespace does not actually install an exception handler because the thread-local variable catch_hook in the libc.so copy in the secondary namespace is distinct from that of the base namepace. As a result, a dlsym/dlopen/… failure in a secondary namespace terminates the process with a dynamic linker error because it looks to the exception handler mechanism as if no handler has been installed. This commit restores GLRO (dl_catch_error) and uses it to set the handler in the base namespace. Reviewed-by: Adhemerval Zanella --- dlfcn/dlerror.c | 6 +++-- elf/Makefile | 8 ++++++- elf/dl-error-skeleton.c | 12 ++++++++++ elf/rtld.c | 1 + elf/tst-dlmopen-dlerror-mod.c | 41 +++++++++++++++++++++++++++++++++++ elf/tst-dlmopen-dlerror.c | 37 +++++++++++++++++++++++++++++++ sysdeps/generic/ldsodefs.h | 9 ++++++++ 7 files changed, 111 insertions(+), 3 deletions(-) create mode 100644 elf/tst-dlmopen-dlerror-mod.c create mode 100644 elf/tst-dlmopen-dlerror.c diff --git a/dlfcn/dlerror.c b/dlfcn/dlerror.c index 48b4c25bea..947b7c10c6 100644 --- a/dlfcn/dlerror.c +++ b/dlfcn/dlerror.c @@ -167,8 +167,10 @@ _dlerror_run (void (*operate) (void *), void *args) result->errstring = NULL; } - result->errcode = _dl_catch_error (&result->objname, &result->errstring, - &result->malloced, operate, args); + result->errcode = GLRO (dl_catch_error) (&result->objname, + &result->errstring, + &result->malloced, + operate, args); /* If no error we mark that no error string is available. */ result->returned = result->errstring == NULL; diff --git a/elf/Makefile b/elf/Makefile index 936d4cf276..deb76aed99 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -222,7 +222,8 @@ tests += restest1 preloadtest loadfail multiload origtest resolvfail \ tst-audit14 tst-audit15 tst-audit16 \ tst-single_threaded tst-single_threaded-pthread \ tst-tls-ie tst-tls-ie-dlmopen argv0test \ - tst-glibc-hwcaps tst-glibc-hwcaps-prepend tst-glibc-hwcaps-mask + tst-glibc-hwcaps tst-glibc-hwcaps-prepend tst-glibc-hwcaps-mask \ + tst-dlmopen-dlerror # reldep9 tests-internal += loadtest unload unload2 circleload1 \ neededtest neededtest2 neededtest3 neededtest4 \ @@ -344,6 +345,7 @@ modules-names = testobj1 testobj2 testobj3 testobj4 testobj5 testobj6 \ libmarkermod2-1 libmarkermod2-2 \ libmarkermod3-1 libmarkermod3-2 libmarkermod3-3 \ libmarkermod4-1 libmarkermod4-2 libmarkermod4-3 libmarkermod4-4 \ + tst-ldconfig-ld-mod tst-dlmopen-dlerror-mod \ # Most modules build with _ISOMAC defined, but those filtered out # depend on internal headers. @@ -1580,6 +1582,10 @@ $(objpfx)tst-sonamemove-dlopen.out: \ $(objpfx)tst-sonamemove-runmod1.so \ $(objpfx)tst-sonamemove-runmod2.so +$(objpfx)tst-dlmopen-dlerror: $(libdl) +$(objpfx)tst-dlmopen-dlerror-mod.so: $(libdl) $(libsupport) +$(objpfx)tst-dlmopen-dlerror.out: $(objpfx)tst-dlmopen-dlerror-mod.so + # Override -z defs, so that we can reference an undefined symbol. # Force lazy binding for the same reason. LDFLAGS-tst-latepthreadmod.so = \ diff --git a/elf/dl-error-skeleton.c b/elf/dl-error-skeleton.c index 2fd62777cf..b699936c6e 100644 --- a/elf/dl-error-skeleton.c +++ b/elf/dl-error-skeleton.c @@ -248,4 +248,16 @@ _dl_receive_error (receiver_fct fct, void (*operate) (void *), void *args) catch_hook = old_catch; receiver = old_receiver; } + +/* Forwarder used for initializing GLRO (_dl_catch_error). */ +int +_rtld_catch_error (const char **objname, const char **errstring, + bool *mallocedp, void (*operate) (void *), + void *args) +{ + /* The reference to _dl_catch_error will eventually be relocated to + point to the implementation in libc.so. */ + return _dl_catch_error (objname, errstring, mallocedp, operate, args); +} + #endif /* DL_ERROR_BOOTSTRAP */ diff --git a/elf/rtld.c b/elf/rtld.c index 94a00e2049..fd02438936 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -368,6 +368,7 @@ struct rtld_global_ro _rtld_global_ro attribute_relro = ._dl_lookup_symbol_x = _dl_lookup_symbol_x, ._dl_open = _dl_open, ._dl_close = _dl_close, + ._dl_catch_error = _rtld_catch_error, ._dl_tls_get_addr_soft = _dl_tls_get_addr_soft, #ifdef HAVE_DL_DISCOVER_OSVERSION ._dl_discover_osversion = _dl_discover_osversion diff --git a/elf/tst-dlmopen-dlerror-mod.c b/elf/tst-dlmopen-dlerror-mod.c new file mode 100644 index 0000000000..dcb94320b4 --- /dev/null +++ b/elf/tst-dlmopen-dlerror-mod.c @@ -0,0 +1,41 @@ +/* Check that dlfcn errors are reported properly after dlmopen. Test module. + Copyright (C) 2019 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 +#include + +/* Note: This object is not linked into the main program, so we cannot + use delayed test failure reporting via TEST_VERIFY etc., and have + to use FAIL_EXIT1 (or something else that calls exit). */ + +void +call_dlsym (void) +{ + void *ptr = dlsym (NULL, "does not exist"); + if (ptr != NULL) + FAIL_EXIT1 ("dlsym did not fail as expected"); +} + +void +call_dlopen (void) +{ + void *handle = dlopen ("tst-dlmopen-dlerror does not exist", RTLD_NOW); + if (handle != NULL) + FAIL_EXIT1 ("dlopen did not fail as expected"); +} diff --git a/elf/tst-dlmopen-dlerror.c b/elf/tst-dlmopen-dlerror.c new file mode 100644 index 0000000000..65638f7f38 --- /dev/null +++ b/elf/tst-dlmopen-dlerror.c @@ -0,0 +1,37 @@ +/* Check that dlfcn errors are reported properly after dlmopen. + Copyright (C) 2019 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 +#include + +static int +do_test (void) +{ + void *handle = xdlmopen (LM_ID_NEWLM, "tst-dlmopen-dlerror-mod.so", + RTLD_NOW); + void (*call_dlsym) (void) = xdlsym (handle, "call_dlsym"); + void (*call_dlopen) (void) = xdlsym (handle, "call_dlopen"); + + call_dlsym (); + call_dlopen (); + + return 0; +} + +#include diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index ea3f7a69d0..b207f229c3 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -662,6 +662,12 @@ struct rtld_global_ro void *(*_dl_open) (const char *file, int mode, const void *caller_dlopen, Lmid_t nsid, int argc, char *argv[], char *env[]); void (*_dl_close) (void *map); + /* libdl in a secondary namespace (after dlopen) must use + _dl_catch_error from the main namespace, so it has to be + exported in some way. */ + int (*_dl_catch_error) (const char **objname, const char **errstring, + bool *mallocedp, void (*operate) (void *), + void *args); void *(*_dl_tls_get_addr_soft) (struct link_map *); #ifdef HAVE_DL_DISCOVER_OSVERSION int (*_dl_discover_osversion) (void); @@ -900,6 +906,9 @@ extern int _dl_catch_error (const char **objname, const char **errstring, void *args); libc_hidden_proto (_dl_catch_error) +/* Used for initializing GLRO (_dl_catch_error). */ +extern __typeof__ (_dl_catch_error) _rtld_catch_error attribute_hidden; + /* Call OPERATE (ARGS). If no error occurs, set *EXCEPTION to zero. Otherwise, store a copy of the raised exception in *EXCEPTION, which has to be freed by _dl_exception_free. As a special case, if From patchwork Tue Mar 16 17:30:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42613 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3A2713864858; Tue, 16 Mar 2021 17:30:30 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3A2713864858 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915830; bh=pfCvQX9UHvS5GWyEwcgLw2wvzOvew/sPCCtE3ZIPsb8=; 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=Mn0z4nPVjTLQRx7XbZD4onD1YHnOsq7lBGffCvTHCOEmqm0xxcc1zZA/vqS+WJDrB iwoZpN/fAFJkBE+/SkhZFW9WkmJVB+gzjQMej8kC9um7zYUEsAW4jWLp/xtXrVuFv+ Z0fiBJxFB2kmyLBi4GBFubHcjpTSKl5/fw1PnhVs= 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 02F13386196E for ; Tue, 16 Mar 2021 17:30:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 02F13386196E 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-517-_a1zfx9yNECWybM6WucoOA-1; Tue, 16 Mar 2021 13:30:14 -0400 X-MC-Unique: _a1zfx9yNECWybM6WucoOA-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 81D0E5A064 for ; Tue, 16 Mar 2021 17:30:09 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 25E2919069 for ; Tue, 16 Mar 2021 17:30:07 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 20/37] dlfcn: dlerror needs to call free from the base namespace [BZ #24773] In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:30:16 +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, KAM_SHORT, 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" Calling free directly may end up freeing a pointer allocated by the dynamic loader using malloc from libc.so in the base namespace using the allocator from libc.so in a secondary namespace, which results in crashes. This commit redirects the free call through GLRO and the dynamic linker, to reach the correct namespace. It also cleans up the dlerror handling along the way, so that pthread_setspecific is no longer needed (which avoids triggering bug 24774). --- dlfcn/Makefile | 3 +- dlfcn/Versions | 6 +- dlfcn/dlerror.c | 299 ++++++++++++++-------------------- dlfcn/dlerror.h | 74 +++++++++ dlfcn/dlfreeres.c | 29 ---- dlfcn/libc_dlerror_result.c | 39 +++++ elf/dl-exception.c | 11 ++ elf/rtld.c | 1 + elf/tst-dlmopen-dlerror-mod.c | 29 +++- elf/tst-dlmopen-dlerror.c | 22 ++- include/dlfcn.h | 2 - malloc/set-freeres.c | 10 +- malloc/thread-freeres.c | 2 + sysdeps/generic/ldsodefs.h | 7 + 14 files changed, 307 insertions(+), 227 deletions(-) create mode 100644 dlfcn/dlerror.h delete mode 100644 dlfcn/dlfreeres.c create mode 100644 dlfcn/libc_dlerror_result.c diff --git a/dlfcn/Makefile b/dlfcn/Makefile index d51fd08c33..994a3afee6 100644 --- a/dlfcn/Makefile +++ b/dlfcn/Makefile @@ -22,9 +22,10 @@ include ../Makeconfig headers := bits/dlfcn.h dlfcn.h extra-libs := libdl libdl-routines := dlopen dlclose dlsym dlvsym dlerror dladdr dladdr1 dlinfo \ - dlmopen dlfcn dlfreeres + dlmopen dlfcn routines := $(patsubst %,s%,$(filter-out dlfcn,$(libdl-routines))) elide-routines.os := $(routines) +routines += libc_dlerror_result extra-libs-others := libdl diff --git a/dlfcn/Versions b/dlfcn/Versions index 1df6925a92..f07cb929aa 100644 --- a/dlfcn/Versions +++ b/dlfcn/Versions @@ -1,3 +1,8 @@ +libc { + GLIBC_PRIVATE { + __libc_dlerror_result; + } +} libdl { GLIBC_2.0 { dladdr; dlclose; dlerror; dlopen; dlsym; @@ -13,6 +18,5 @@ libdl { } GLIBC_PRIVATE { _dlfcn_hook; - __libdl_freeres; } } diff --git a/dlfcn/dlerror.c b/dlfcn/dlerror.c index 947b7c10c6..e0dedbe3a6 100644 --- a/dlfcn/dlerror.c +++ b/dlfcn/dlerror.c @@ -25,6 +25,8 @@ #include #include #include +#include +#include #if !defined SHARED && IS_IN (libdl) @@ -36,89 +38,70 @@ dlerror (void) #else -/* Type for storing results of dynamic loading actions. */ -struct dl_action_result - { - int errcode; - int returned; - bool malloced; - const char *objname; - const char *errstring; - }; -static struct dl_action_result last_result; -static struct dl_action_result *static_buf; - -/* This is the key for the thread specific memory. */ -static __libc_key_t key; -__libc_once_define (static, once); - -/* Destructor for the thread-specific data. */ -static void init (void); -static void free_key_mem (void *mem); - - char * __dlerror (void) { - char *buf = NULL; - struct dl_action_result *result; - # ifdef SHARED if (!rtld_active ()) return _dlfcn_hook->dlerror (); # endif - /* If we have not yet initialized the buffer do it now. */ - __libc_once (once, init); + struct dl_action_result *result = __libc_dlerror_result; - /* Get error string. */ - if (static_buf != NULL) - result = static_buf; - else + /* No libdl function has been called. No error is possible. */ + if (result == NULL) + return NULL; + + /* For an early malloc failure, clear the error flag and return the + error message. This marks the error as delivered. */ + if (result == dl_action_result_malloc_failed ()) { - /* init () has been run and we don't use the static buffer. - So we have a valid key. */ - result = (struct dl_action_result *) __libc_getspecific (key); - if (result == NULL) - result = &last_result; + __libc_dlerror_result = NULL; + return (char *) "out of memory"; } - /* Test whether we already returned the string. */ - if (result->returned != 0) + /* Placeholder object. This can be observed in a recursive call, + e.g. from an ELF constructor. */ + if (result->errstring == NULL) + return NULL; + + /* If we have already reported the error, we can free the result + and return NULL. */ + if (result->returned) { - /* We can now free the string. */ - if (result->errstring != NULL) - { - if (strcmp (result->errstring, "out of memory") != 0) - free ((char *) result->errstring); - result->errstring = NULL; - } + __libc_dlerror_result = NULL; + dl_action_result_errstring_free (result); + free (result); + return NULL; } - else if (result->errstring != NULL) - { - buf = (char *) result->errstring; - int n; - if (result->errcode == 0) - n = __asprintf (&buf, "%s%s%s", - result->objname, - result->objname[0] == '\0' ? "" : ": ", - _(result->errstring)); - else - n = __asprintf (&buf, "%s%s%s: %s", - result->objname, - result->objname[0] == '\0' ? "" : ": ", - _(result->errstring), - strerror (result->errcode)); - if (n != -1) - { - /* We don't need the error string anymore. */ - if (strcmp (result->errstring, "out of memory") != 0) - free ((char *) result->errstring); - result->errstring = buf; - } - /* Mark the error as returned. */ - result->returned = 1; + assert (result->errstring != NULL); + + /* Create the combined error message. */ + char *buf; + int n; + if (result->errcode == 0) + n = __asprintf (&buf, "%s%s%s", + result->objname, + result->objname[0] == '\0' ? "" : ": ", + _(result->errstring)); + else + n = __asprintf (&buf, "%s%s%s: %s", + result->objname, + result->objname[0] == '\0' ? "" : ": ", + _(result->errstring), + strerror (result->errcode)); + + /* Mark the error as delivered. */ + result->returned = true; + + if (n >= 0) + { + /* Replace the error string with the newly allocated one. */ + dl_action_result_errstring_free (result); + result->errstring = buf; + result->errstring_source = dl_action_result_errstring_local; + return buf; } return buf; @@ -130,130 +113,94 @@ strong_alias (__dlerror, dlerror) int _dlerror_run (void (*operate) (void *), void *args) { - struct dl_action_result *result; - - /* If we have not yet initialized the buffer do it now. */ - __libc_once (once, init); - - /* Get error string and number. */ - if (static_buf != NULL) - result = static_buf; - else + struct dl_action_result *result = __libc_dlerror_result; + if (result != NULL) { - /* We don't use the static buffer and so we have a key. Use it - to get the thread-specific buffer. */ - result = __libc_getspecific (key); - if (result == NULL) + if (result == dl_action_result_malloc_failed ()) { - result = (struct dl_action_result *) calloc (1, sizeof (*result)); - if (result == NULL) - /* We are out of memory. Since this is no really critical - situation we carry on by using the global variable. - This might lead to conflicts between the threads but - they soon all will have memory problems. */ - result = &last_result; - else - /* Set the tsd. */ - __libc_setspecific (key, result); + /* Clear the previous error. */ + __libc_dlerror_result = NULL; + result = NULL; + } + else + { + /* There is an existing object. Free its error string, but + keep the object. */ + dl_action_result_errstring_free (result); + /* Mark the object as not containing an error. This ensures + that call to dlerror from, for example, an ELF + constructor will not notice this result object. */ + result->errstring = NULL; } } - if (result->errstring != NULL) - { - /* Free the error string from the last failed command. This can - happen if `dlerror' was not run after an error was found. */ - if (result->malloced) - free ((char *) result->errstring); - result->errstring = NULL; - } - - result->errcode = GLRO (dl_catch_error) (&result->objname, - &result->errstring, - &result->malloced, - operate, args); + const char *objname; + const char *errstring; + bool malloced; + int errcode = GLRO (dl_catch_error) (&objname, &errstring, &malloced, + operate, args); - /* If no error we mark that no error string is available. */ - result->returned = result->errstring == NULL; + /* ELF constructors or destructors may have indirectly altered the + value of __libc_dlerror_result, therefore reload it. */ + result = __libc_dlerror_result; - return result->errstring != NULL; -} - - -/* Initialize buffers for results. */ -static void -init (void) -{ - if (__libc_key_create (&key, free_key_mem)) - /* Creating the key failed. This means something really went - wrong. In any case use a static buffer which is better than - nothing. */ - static_buf = &last_result; -} - - -static void -check_free (struct dl_action_result *rec) -{ - if (rec->errstring != NULL - && strcmp (rec->errstring, "out of memory") != 0) + if (errstring == NULL) { - /* We can free the string only if the allocation happened in the - C library used by the dynamic linker. This means, it is - always the C library in the base namespace. When we're statically - linked, the dynamic linker is part of the program and so always - uses the same C library we use here. */ -#ifdef SHARED - struct link_map *map = NULL; - Dl_info info; - if (_dl_addr (check_free, &info, &map, NULL) != 0 && map->l_ns == 0) -#endif + /* There is no error. We no longer need the result object if it + does not contain an error. However, a recursive call may + have added an error even if this call did not cause it. Keep + the other error. */ + if (result != NULL && result->errstring == NULL) { - free ((char *) rec->errstring); - rec->errstring = NULL; + __libc_dlerror_result = NULL; + free (result); } + return 0; } -} - - -static void -__attribute__ ((destructor)) -fini (void) -{ - check_free (&last_result); -} - - -/* Free the thread specific data, this is done if a thread terminates. */ -static void -free_key_mem (void *mem) -{ - check_free ((struct dl_action_result *) mem); + else + { + /* A new error occurred. Check if a result object has to be + allocated. */ + if (result == NULL || result == dl_action_result_malloc_failed ()) + { + /* Allocating storage for the error message after the fact + is not ideal. But this avoids an infinite recursion in + case malloc itself calls libdl functions (without + triggering errors). */ + result = malloc (sizeof (*result)); + if (result == NULL) + { + /* Assume that the dlfcn failure was due to a malloc + failure, too. */ + if (malloced) + dl_error_free ((char *) errstring); + __libc_dlerror_result = dl_action_result_malloc_failed (); + return 1; + } + __libc_dlerror_result = result; + } + else + /* Deallocate the existing error message from a recursive + call, but reuse the result object. */ + dl_action_result_errstring_free (result); + + result->errcode = errcode; + result->objname = objname; + result->errstring = (char *) errstring; + result->returned = false; + /* In case of an error, the malloced flag indicates whether the + error string is constant or not. */ + if (malloced) + result->errstring_source = dl_action_result_errstring_rtld; + else + result->errstring_source = dl_action_result_errstring_constant; - free (mem); - __libc_setspecific (key, NULL); + return 1; + } } # ifdef SHARED -/* Free the dlerror-related resources. */ -void -__dlerror_main_freeres (void) -{ - /* Free the global memory if used. */ - check_free (&last_result); - - if (__libc_once_get (once) && static_buf == NULL) - { - /* init () has been run and we don't use the static buffer. - So we have a valid key. */ - void *mem; - /* Free the TSD memory if used. */ - mem = __libc_getspecific (key); - if (mem != NULL) - free_key_mem (mem); - } -} - struct dlfcn_hook *_dlfcn_hook __attribute__((nocommon)); libdl_hidden_data_def (_dlfcn_hook) diff --git a/dlfcn/dlerror.h b/dlfcn/dlerror.h new file mode 100644 index 0000000000..ae07495139 --- /dev/null +++ b/dlfcn/dlerror.h @@ -0,0 +1,74 @@ +#ifndef _DLERROR_H +#define _DLERROR_H + +#include +#include +#include +#include +#include + +/* Source of the errstring member in struct dl_action_result, for + finding the right deallocation routine. */ +enum dl_action_result_errstring_source + { + dl_action_result_errstring_constant, /* String literal, no deallocation. */ + dl_action_result_errstring_rtld, /* libc in the primary namespace. */ + dl_action_result_errstring_local, /* libc in the current namespace. */ + }; + +struct dl_action_result +{ + int errcode; + char errstring_source; + bool returned; + const char *objname; + char *errstring; +}; + +/* Used to free the errstring member of struct dl_action_result in the + dl_action_result_errstring_rtld case. */ +static inline void +dl_error_free (void *ptr) +{ +#ifdef SHARED + /* In the shared case, ld.so may use a different malloc than this + namespace. */ + GLRO (dl_error_free (ptr)); +#else + /* Call the implementation directly. It still has to check for + pointers which cannot be freed, so do not call free directly + here. */ + _dl_error_free (ptr); +#endif +} + +/* Deallocate RESULT->errstring, leaving *RESULT itself allocated. */ +static inline void +dl_action_result_errstring_free (struct dl_action_result *result) +{ + switch (result->errstring_source) + { + case dl_action_result_errstring_constant: + break; + case dl_action_result_errstring_rtld: + dl_error_free (result->errstring); + break; + case dl_action_result_errstring_local: + free (result->errstring); + break; + } +} + +static inline struct dl_action_result * +dl_action_result_malloc_failed (void) +{ + return (struct dl_action_result *) (intptr_t) -1; +} + +/* Thread-local variable for storing dlfcn failures for subsequent + reporting via dlerror. */ +extern __thread struct dl_action_result *__libc_dlerror_result + attribute_tls_model_ie; +void __libc_dlerror_result_free (void) attribute_hidden; + +#endif /* _DLERROR_H */ diff --git a/dlfcn/dlfreeres.c b/dlfcn/dlfreeres.c deleted file mode 100644 index 856b76416d..0000000000 --- a/dlfcn/dlfreeres.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Clean up allocated libdl memory on demand. - Copyright (C) 2018-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 -#include - -/* Free libdl.so resources. - Note: Caller ensures we are called only once. */ -void -__libdl_freeres (void) -{ - call_function_static_weak (__dlerror_main_freeres); -} diff --git a/dlfcn/libc_dlerror_result.c b/dlfcn/libc_dlerror_result.c new file mode 100644 index 0000000000..11468937a2 --- /dev/null +++ b/dlfcn/libc_dlerror_result.c @@ -0,0 +1,39 @@ +/* Thread-local variable holding the dlerror result. + Copyright (C) 2019 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 + +/* This pointer is either NULL, dl_action_result_malloc_failed (), or + has been allocated using malloc by the namespace that also contains + this instance of the thread-local variable. */ +__thread struct dl_action_result *__libc_dlerror_result attribute_tls_model_ie; + +/* Called during thread shutdown to free resources. */ +void +__libc_dlerror_result_free (void) +{ + if (__libc_dlerror_result != NULL) + { + if (__libc_dlerror_result != dl_action_result_malloc_failed ()) + { + dl_action_result_errstring_free (__libc_dlerror_result); + free (__libc_dlerror_result); + } + __libc_dlerror_result = NULL; + } +} diff --git a/elf/dl-exception.c b/elf/dl-exception.c index 30adb7d1dc..8eaad418cb 100644 --- a/elf/dl-exception.c +++ b/elf/dl-exception.c @@ -30,6 +30,17 @@ a pointer comparison. See below and in dlfcn/dlerror.c. */ static const char _dl_out_of_memory[] = "out of memory"; +/* Call free in the main libc.so. This allows other namespaces to + free pointers on the main libc heap, via GLRO (dl_error_free). It + also avoids calling free on the special, pre-allocated + out-of-memory error message. */ +void +_dl_error_free (void *ptr) +{ + if (ptr != _dl_out_of_memory) + free (ptr); +} + /* Dummy allocation object used if allocating the message buffer fails. */ static void diff --git a/elf/rtld.c b/elf/rtld.c index fd02438936..c2ca4b7ce3 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -369,6 +369,7 @@ struct rtld_global_ro _rtld_global_ro attribute_relro = ._dl_open = _dl_open, ._dl_close = _dl_close, ._dl_catch_error = _rtld_catch_error, + ._dl_error_free = _dl_error_free, ._dl_tls_get_addr_soft = _dl_tls_get_addr_soft, #ifdef HAVE_DL_DISCOVER_OSVERSION ._dl_discover_osversion = _dl_discover_osversion diff --git a/elf/tst-dlmopen-dlerror-mod.c b/elf/tst-dlmopen-dlerror-mod.c index dcb94320b4..25188750fb 100644 --- a/elf/tst-dlmopen-dlerror-mod.c +++ b/elf/tst-dlmopen-dlerror-mod.c @@ -18,6 +18,8 @@ #include #include +#include +#include #include /* Note: This object is not linked into the main program, so we cannot @@ -25,17 +27,32 @@ to use FAIL_EXIT1 (or something else that calls exit). */ void -call_dlsym (void) +call_dlsym (const char *name) { - void *ptr = dlsym (NULL, "does not exist"); + void *ptr = dlsym (NULL, name); if (ptr != NULL) - FAIL_EXIT1 ("dlsym did not fail as expected"); + FAIL_EXIT1 ("dlsym did not fail as expected for: %s", name); + const char *message = dlerror (); + if (strstr (message, ": undefined symbol: does not exist X") == NULL) + FAIL_EXIT1 ("invalid dlsym error message for [[%s]]: %s", name, message); + message = dlerror (); + if (message != NULL) + FAIL_EXIT1 ("second dlsym for [[%s]]: %s", name, message); } void -call_dlopen (void) +call_dlopen (const char *name) { - void *handle = dlopen ("tst-dlmopen-dlerror does not exist", RTLD_NOW); + void *handle = dlopen (name, RTLD_NOW); if (handle != NULL) - FAIL_EXIT1 ("dlopen did not fail as expected"); + FAIL_EXIT1 ("dlopen did not fail as expected for: %s", name); + const char *message = dlerror (); + if (strstr (message, "X: cannot open shared object file:" + " No such file or directory") == NULL + && strstr (message, "X: cannot open shared object file:" + " File name too long") == NULL) + FAIL_EXIT1 ("invalid dlopen error message for [[%s]]: %s", name, message); + message = dlerror (); + if (message != NULL) + FAIL_EXIT1 ("second dlopen for [[%s]]: %s", name, message); } diff --git a/elf/tst-dlmopen-dlerror.c b/elf/tst-dlmopen-dlerror.c index 65638f7f38..d02993847d 100644 --- a/elf/tst-dlmopen-dlerror.c +++ b/elf/tst-dlmopen-dlerror.c @@ -17,6 +17,7 @@ . */ #include +#include #include #include @@ -25,11 +26,22 @@ do_test (void) { void *handle = xdlmopen (LM_ID_NEWLM, "tst-dlmopen-dlerror-mod.so", RTLD_NOW); - void (*call_dlsym) (void) = xdlsym (handle, "call_dlsym"); - void (*call_dlopen) (void) = xdlsym (handle, "call_dlopen"); - - call_dlsym (); - call_dlopen (); + void (*call_dlsym) (const char *name) = xdlsym (handle, "call_dlsym"); + void (*call_dlopen) (const char *name) = xdlsym (handle, "call_dlopen"); + + /* Iterate over various name lengths. This changes the size of + error messages allocated by ld.so and has been shown to trigger + detectable heap corruption if malloc/free calls in different + namespaces are mixed. */ + char buffer[2048]; + char *buffer_end = &buffer[sizeof (buffer) - 2]; + for (char *p = stpcpy (buffer, "does not exist "); p < buffer_end; ++p) + { + p[0] = 'X'; + p[1] = '\0'; + call_dlsym (buffer); + call_dlopen (buffer); + } return 0; } diff --git a/include/dlfcn.h b/include/dlfcn.h index a1816e4991..a8d48bdada 100644 --- a/include/dlfcn.h +++ b/include/dlfcn.h @@ -156,7 +156,5 @@ extern void __libc_register_dlfcn_hook (struct link_map *map) attribute_hidden; #endif -extern void __dlerror_main_freeres (void) attribute_hidden; - #endif #endif diff --git a/malloc/set-freeres.c b/malloc/set-freeres.c index 817fbea8b8..d404250151 100644 --- a/malloc/set-freeres.c +++ b/malloc/set-freeres.c @@ -20,6 +20,7 @@ #include #include #include +#include #include "../nss/nsswitch.h" #include "../libio/libioP.h" @@ -28,8 +29,6 @@ DEFINE_HOOK (__libc_subfreeres, (void)); symbol_set_define (__libc_freeres_ptrs); -extern __attribute__ ((weak)) void __libdl_freeres (void); - extern __attribute__ ((weak)) void __libpthread_freeres (void); void __libc_freeres_fn_section @@ -52,11 +51,6 @@ __libc_freeres (void) /* We run the resource freeing after IO cleanup. */ RUN_HOOK (__libc_subfreeres, ()); - /* Call the libdl list of cleanup functions - (weak-ref-and-check). */ - if (&__libdl_freeres != NULL) - __libdl_freeres (); - /* Call the libpthread list of cleanup functions (weak-ref-and-check). */ if (&__libpthread_freeres != NULL) @@ -66,6 +60,8 @@ __libc_freeres (void) __libc_unwind_link_freeres (); #endif + call_function_static_weak (__libc_dlerror_result_free); + for (p = symbol_set_first_element (__libc_freeres_ptrs); !symbol_set_end_p (__libc_freeres_ptrs, p); ++p) free (*p); diff --git a/malloc/thread-freeres.c b/malloc/thread-freeres.c index da76a3dca7..77a204f9fa 100644 --- a/malloc/thread-freeres.c +++ b/malloc/thread-freeres.c @@ -16,6 +16,7 @@ License along with the GNU C Library; if not, see . */ +#include #include #include #include @@ -36,6 +37,7 @@ __libc_thread_freeres (void) #endif call_function_static_weak (__res_thread_freeres); __glibc_tls_internal_free (); + call_function_static_weak (__libc_dlerror_result_free); /* This should come last because it shuts down malloc for this thread and the other shutdown functions might well call free. */ diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index b207f229c3..dfc117a445 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -668,6 +668,9 @@ struct rtld_global_ro int (*_dl_catch_error) (const char **objname, const char **errstring, bool *mallocedp, void (*operate) (void *), void *args); + /* libdl in a secondary namespace must use free from the base + namespace. */ + void (*_dl_error_free) (void *); void *(*_dl_tls_get_addr_soft) (struct link_map *); #ifdef HAVE_DL_DISCOVER_OSVERSION int (*_dl_discover_osversion) (void); @@ -823,6 +826,10 @@ void _dl_exception_create (struct dl_exception *, const char *object, __attribute__ ((nonnull (1, 3))); rtld_hidden_proto (_dl_exception_create) +/* Used internally to implement dlerror message freeing. See + include/dlfcn.h and dlfcn/dlerror.c. */ +void _dl_error_free (void *ptr) attribute_hidden; + /* Like _dl_exception_create, but create errstring from a format string FMT. Currently, only "%s" and "%%" are supported as format directives. */ From patchwork Tue Mar 16 17:30:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42611 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1D45B3850407; Tue, 16 Mar 2021 17:30:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1D45B3850407 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915820; bh=TmEH5/5WHSaihdzmafYu97uFPTandsQQbsSGT5pjerM=; 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=h/mVEYHo8Jiv0jgik1kuAqpZGaA5V2OH/i31l5b6SZpshJNd7GQdCpQpZOSX+yDZs AyLdZG2BIEeOsVVwq/aLA1R3LS8oyUpSCqqTwGphgkJQO9StvRzDSjx9kXEnTldLTE iZpP7DC+0XDtxiNOzYK+ZaCxzCZzV1YyRLJCoHa0= 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 B7DB53850407 for ; Tue, 16 Mar 2021 17:30:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B7DB53850407 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-284-5S4M5qGTMhOvy5dJcEYIsQ-1; Tue, 16 Mar 2021 13:30:15 -0400 X-MC-Unique: 5S4M5qGTMhOvy5dJcEYIsQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B67B45A07E for ; Tue, 16 Mar 2021 17:30:14 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1687862951 for ; Tue, 16 Mar 2021 17:30:13 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 21/37] Remove pthread_key_create-related internals from libc-lock.h In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:30:22 +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.15 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 libc-lockP.h. This is no longer used because all internal TLS use goes directly to the thread descriptor/TCB or uses ELF TLS. Reviewed-by: Adhemerval Zanella --- sysdeps/generic/libc-lock.h | 12 ------------ sysdeps/htl/libc-lockP.h | 13 ------------- sysdeps/nptl/libc-lockP.h | 24 ------------------------ 3 files changed, 49 deletions(-) diff --git a/sysdeps/generic/libc-lock.h b/sysdeps/generic/libc-lock.h index 6b1e98e34d..c538e858ea 100644 --- a/sysdeps/generic/libc-lock.h +++ b/sysdeps/generic/libc-lock.h @@ -125,16 +125,4 @@ /* We need portable names for some of the functions. */ #define __libc_mutex_unlock -/* Type for key of thread specific data. */ -typedef int __libc_key_t; - -/* Create key for thread specific data. */ -#define __libc_key_create(KEY,DEST) ((void) (KEY), (void) (DEST), -1) - -/* Set thread-specific data associated with KEY to VAL. */ -#define __libc_setspecific(KEY,VAL) ((void) (KEY), (void) (VAL)) - -/* Get thread-specific data associated with KEY. */ -#define __libc_getspecific(KEY) ((void) (KEY), (void *) 0) - #endif /* libc-lock.h */ diff --git a/sysdeps/htl/libc-lockP.h b/sysdeps/htl/libc-lockP.h index f183bde680..eb09171c85 100644 --- a/sysdeps/htl/libc-lockP.h +++ b/sysdeps/htl/libc-lockP.h @@ -22,9 +22,6 @@ #include #include -/* Type for key to thread-specific data. */ -typedef pthread_key_t __libc_key_t; - /* If we check for a weakly referenced symbol and then perform a normal jump to it te code generated for some platforms in case of PIC is unnecessarily slow. What would happen is that the function @@ -109,16 +106,6 @@ extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock); -extern int __pthread_key_create (pthread_key_t *__key, - void (*__destr_function) (void *)); - -extern int __pthread_key_delete (pthread_key_t __key); - -extern int __pthread_setspecific (pthread_key_t __key, - const void *__pointer); - -extern void *__pthread_getspecific (pthread_key_t __key); - extern int __pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)); diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h index df62ce0e61..d032463dd0 100644 --- a/sysdeps/nptl/libc-lockP.h +++ b/sysdeps/nptl/libc-lockP.h @@ -49,9 +49,6 @@ typedef int __libc_lock_t; typedef struct { pthread_mutex_t mutex; } __rtld_lock_recursive_t; typedef pthread_rwlock_t __libc_rwlock_t; -/* Type for key to thread-specific data. */ -typedef pthread_key_t __libc_key_t; - /* Define a lock variable NAME with storage class CLASS. The lock must be initialized with __libc_lock_init before it can be used (or define it with __libc_lock_define_initialized, below). Use `extern' for CLASS to @@ -267,19 +264,6 @@ __libc_cleanup_routine (struct __pthread_cleanup_frame *f) } while (0) #endif /* __EXCEPTIONS */ -/* Create thread-specific key. */ -#define __libc_key_create(KEY, DESTRUCTOR) \ - __libc_ptf_call (__pthread_key_create, (KEY, DESTRUCTOR), 1) - -/* Get thread-specific data. */ -#define __libc_getspecific(KEY) \ - __libc_ptf_call (__pthread_getspecific, (KEY), NULL) - -/* Set thread-specific data. */ -#define __libc_setspecific(KEY, VALUE) \ - __libc_ptf_call (__pthread_setspecific, (KEY, VALUE), 0) - - /* Register handlers to execute before and after `fork'. Note that the last parameter is NULL. The handlers registered by the libc are never removed so this is OK. */ @@ -324,14 +308,6 @@ extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock); -extern int __pthread_key_create (pthread_key_t *__key, - void (*__destr_function) (void *)); - -extern int __pthread_setspecific (pthread_key_t __key, - const void *__pointer); - -extern void *__pthread_getspecific (pthread_key_t __key); - extern int __pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)); libc_hidden_proto (__pthread_once) From patchwork Tue Mar 16 17:30:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42612 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 9FAEB38618FF; Tue, 16 Mar 2021 17:30:26 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9FAEB38618FF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915826; bh=0BYbocCPV6vZXrPgWkdfCKXOPGENmxz4aKbkvuXadgw=; 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=UOPcfyeHeJDSqBFI8rx2UQvp3gWvvAnUZhtHef/sZozcie3VSaHQaInrgpa05V1Pt JL3VKsAgsBNbvjwhU1tLGBHbwdUNfPgfaCyeyWdG/hONrNSnGoAlziR0ZAXd7zSIue OHGEt5Btamim35TSltuavFFvobsgA2rHi4CkEKD4= 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 55834385480F for ; Tue, 16 Mar 2021 17:30:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 55834385480F 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-162-AwrlGgFZNBuRVLiDRnrhnA-1; Tue, 16 Mar 2021 13:30:21 -0400 X-MC-Unique: AwrlGgFZNBuRVLiDRnrhnA-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 78BCC800FF0 for ; Tue, 16 Mar 2021 17:30:20 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 731A05D747 for ; Tue, 16 Mar 2021 17:30:19 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 22/37] elf: Introduce __tls_init_tp for second-phase TCB initialization In-Reply-To: References: Message-Id: <43278f21dab16dae26ffc58b51c04326419b9d2e.1615914632.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:30:27 +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.15 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" TLS_INIT_TP is processor-specific, so it is not a good place to put thread library initialization code (it would have to be repeated for all CPUs). Introduce __tls_init_tp as a separate function, to be called immediately after TLS_INIT_TP. Move the existing stack list setup code for NPTL to this function. Reviewed-by: Adhemerval Zanella --- csu/libc-tls.c | 8 +------- elf/Makefile | 2 +- elf/dl-tls_init_tp.c | 24 ++++++++++++++++++++++++ elf/rtld.c | 14 ++------------ sysdeps/generic/ldsodefs.h | 5 +++++ sysdeps/nptl/dl-tls_init_tp.c | 30 ++++++++++++++++++++++++++++++ 6 files changed, 63 insertions(+), 20 deletions(-) create mode 100644 elf/dl-tls_init_tp.c create mode 100644 sysdeps/nptl/dl-tls_init_tp.c diff --git a/csu/libc-tls.c b/csu/libc-tls.c index f3a6a6a075..22f8e4838d 100644 --- a/csu/libc-tls.c +++ b/csu/libc-tls.c @@ -24,7 +24,6 @@ #include #include #include -#include #ifdef SHARED #error makefile bug, this file is for static only @@ -193,12 +192,7 @@ __libc_setup_tls (void) #endif if (__builtin_expect (lossage != NULL, 0)) _startup_fatal (lossage); - -#if THREAD_GSCOPE_IN_TCB - INIT_LIST_HEAD (&_dl_stack_used); - INIT_LIST_HEAD (&_dl_stack_user); - list_add (&THREAD_SELF->list, &_dl_stack_user); -#endif + __tls_init_tp (); /* Update the executable's link map with enough information to make the TLS routines happy. */ diff --git a/elf/Makefile b/elf/Makefile index deb76aed99..22b3a06cab 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -35,7 +35,7 @@ dl-routines = $(addprefix dl-,load lookup object reloc deps \ execstack open close trampoline \ exception sort-maps lookup-direct \ call-libc-early-init write \ - thread_gscope_wait) + thread_gscope_wait tls_init_tp) ifeq (yes,$(use-ldconfig)) dl-routines += dl-cache endif diff --git a/elf/dl-tls_init_tp.c b/elf/dl-tls_init_tp.c new file mode 100644 index 0000000000..728cd84c00 --- /dev/null +++ b/elf/dl-tls_init_tp.c @@ -0,0 +1,24 @@ +/* Completion of TCB initialization after TLS_INIT_TP. Generic 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 + +void +__tls_init_tp (void) +{ +} diff --git a/elf/rtld.c b/elf/rtld.c index c2ca4b7ce3..34879016ad 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -48,7 +48,6 @@ #include #include #include -#include #include #include @@ -807,9 +806,7 @@ cannot allocate TLS data structures for initial thread\n"); const char *lossage = TLS_INIT_TP (tcbp); if (__glibc_unlikely (lossage != NULL)) _dl_fatal_printf ("cannot set up thread-local storage: %s\n", lossage); -#if THREAD_GSCOPE_IN_TCB - list_add (&THREAD_SELF->list, &GL (dl_stack_user)); -#endif + __tls_init_tp (); tls_init_tp_called = true; return tcbp; @@ -1150,11 +1147,6 @@ dl_main (const ElfW(Phdr) *phdr, GL(dl_rtld_unlock_recursive) = rtld_lock_default_unlock_recursive; #endif -#if THREAD_GSCOPE_IN_TCB - INIT_LIST_HEAD (&GL (dl_stack_used)); - INIT_LIST_HEAD (&GL (dl_stack_user)); -#endif - /* The explicit initialization here is cheaper than processing the reloc in the _rtld_local definition's initializer. */ GL(dl_make_stack_executable_hook) = &_dl_make_stack_executable; @@ -2454,9 +2446,7 @@ dl_main (const ElfW(Phdr) *phdr, if (__glibc_unlikely (lossage != NULL)) _dl_fatal_printf ("cannot set up thread-local storage: %s\n", lossage); -#if THREAD_GSCOPE_IN_TCB - list_add (&THREAD_SELF->list, &GL (dl_stack_user)); -#endif + __tls_init_tp (); } /* Make sure no new search directories have been added. */ diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index dfc117a445..67c6686015 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -1163,6 +1163,11 @@ extern void _dl_determine_tlsoffset (void) attribute_hidden; number of audit modules are loaded. */ void _dl_tls_static_surplus_init (size_t naudit) attribute_hidden; +/* This function is called after processor-specific initialization of + the TCB and thread pointer via TLS_INIT_TP, to complete very early + initialization of the thread library. */ +void __tls_init_tp (void) attribute_hidden; + #ifndef SHARED /* Set up the TCB for statically linked applications. This is called early during startup because we always use TLS (for errno and the diff --git a/sysdeps/nptl/dl-tls_init_tp.c b/sysdeps/nptl/dl-tls_init_tp.c new file mode 100644 index 0000000000..8983808233 --- /dev/null +++ b/sysdeps/nptl/dl-tls_init_tp.c @@ -0,0 +1,30 @@ +/* Completion of TCB initialization after TLS_INIT_TP. NPTL version. + Copyright (C) 2020-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 +#include + +void +__tls_init_tp (void) +{ + /* Set up thread stack list management. */ + INIT_LIST_HEAD (&GL (dl_stack_used)); + INIT_LIST_HEAD (&GL (dl_stack_user)); + list_add (&THREAD_SELF->list, &GL (dl_stack_user)); +} From patchwork Tue Mar 16 17:30:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42614 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 4A6AD385480F; Tue, 16 Mar 2021 17:30:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4A6AD385480F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915832; bh=PRAF8oTTjzSzmMH2J7ivPXnbcgljMopP3ho+NvfFCqE=; 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=EHXRSb8RA/JfhM0mNHWOKl2306an4HnC2L9vTPshCb9//MSTRr5KJbu3bKNr+BHMd ZsXD+o5KwCj7NzI0yQxNfvyx/fwRKApIusemRY6omvDzgwQREAIfRAgzr8+S5wuXKr OAStW3h1UhnX6JSLgQuihXlxioYKxA/1g+Rbh3MQ= 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 631D6385480F for ; Tue, 16 Mar 2021 17:30:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 631D6385480F 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-519-9_AyKv4fPsukvRlg5hklJA-1; Tue, 16 Mar 2021 13:30:27 -0400 X-MC-Unique: 9_AyKv4fPsukvRlg5hklJA-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 52F6E1934102 for ; Tue, 16 Mar 2021 17:30:26 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3F83E5D9C0 for ; Tue, 16 Mar 2021 17:30:24 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 23/37] nptl: Move part of TCB initialization from libpthread to __tls_init_tp In-Reply-To: References: Message-Id: <1d0192110720b4515f29fc46254ae92e6fe744e7.1615914632.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:30:33 +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 initalization should only happen once for the main thread's TCB. At present, auditors can achieve this by not linking against libpthread. If libpthread becomes part of libc, doing this initialization in libc would happen for every audit namespace, or too late (if it happens from the main libc only). That's why moving this code into ld.so seems the right thing to do, right after the TCB initialization. For !__ASSUME_SET_ROBUST_LIST ports, this also moves the symbol __set_robust_list_avail into ld.so, as __nptl_set_robust_list_avail. It also turned into a proper boolean flag. Inline the __pthread_initialize_pids function because it seems no longer useful as a separate function. Reviewed-by: Adhemerval Zanella --- nptl/Versions | 6 +++++ nptl/nptl-init.c | 36 ++----------------------- nptl/pthread-pids.h | 29 -------------------- nptl/pthreadP.h | 6 +++-- nptl/pthread_create.c | 4 +-- nptl/pthread_mutex_init.c | 2 +- sysdeps/nptl/dl-tls_init_tp.c | 37 ++++++++++++++++++++++++++ sysdeps/unix/sysv/linux/pthread-pids.h | 29 -------------------- 8 files changed, 52 insertions(+), 97 deletions(-) delete mode 100644 nptl/pthread-pids.h delete mode 100644 sysdeps/unix/sysv/linux/pthread-pids.h diff --git a/nptl/Versions b/nptl/Versions index b619df41fb..c50a5442af 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -417,3 +417,9 @@ libpthread { __pthread_initialize_minimal; } } + +ld { + GLIBC_PRIVATE { + __nptl_set_robust_list_avail; + } +} \ No newline at end of file diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index de64e34783..5913bf7272 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -36,7 +36,6 @@ #include #include #include -#include #include #ifndef TLS_MULTIPLE_THREADS_IN_TCB @@ -48,15 +47,6 @@ int *__libc_multiple_threads_ptr attribute_hidden; size_t __static_tls_size; size_t __static_tls_align_m1; -#ifndef __ASSUME_SET_ROBUST_LIST -/* Negative if we do not have the system call and we can use it. */ -int __set_robust_list_avail; -# define set_robust_list_not_avail() \ - __set_robust_list_avail = -1 -#else -# define set_robust_list_not_avail() do { } while (0) -#endif - /* Version of the library, used in libthread_db to detect mismatches. */ static const char nptl_version[] __attribute_used__ = VERSION; @@ -194,31 +184,9 @@ static bool __nptl_initial_report_events __attribute_used__; void __pthread_initialize_minimal_internal (void) { - /* Minimal initialization of the thread descriptor. */ + /* Partial initialization of the TCB already happened in TLS_INIT_TP + and __tls_init_tp. */ struct pthread *pd = THREAD_SELF; - __pthread_initialize_pids (pd); - THREAD_SETMEM (pd, specific[0], &pd->specific_1stblock[0]); - THREAD_SETMEM (pd, user_stack, true); - - /* Initialize the robust mutex data. */ - { -#if __PTHREAD_MUTEX_HAVE_PREV - pd->robust_prev = &pd->robust_head; -#endif - pd->robust_head.list = &pd->robust_head; - pd->robust_head.futex_offset = (offsetof (pthread_mutex_t, __data.__lock) - - offsetof (pthread_mutex_t, - __data.__list.__next)); - int res = INTERNAL_SYSCALL_CALL (set_robust_list, &pd->robust_head, - sizeof (struct robust_list_head)); - if (INTERNAL_SYSCALL_ERROR_P (res)) - set_robust_list_not_avail (); - } - - /* Set initial thread's stack block from 0 up to __libc_stack_end. - It will be bigger than it actually is, but for unwind.c/pt-longjmp.c - purposes this is good enough. */ - THREAD_SETMEM (pd, stackblock_size, (size_t) __libc_stack_end); /* Before initializing GL (dl_stack_user), the debugger could not find us and had to set __nptl_initial_report_events. Propagate diff --git a/nptl/pthread-pids.h b/nptl/pthread-pids.h deleted file mode 100644 index 1a0e9ade41..0000000000 --- a/nptl/pthread-pids.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Initialize pid and tid fields of struct pthread. Stub version. - 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 - . */ - -#include - -/* Initialize PD->pid and PD->tid for the initial thread. If there is - setup required to arrange that __exit_thread causes PD->tid to be - cleared and futex-woken, then this function should do that as well. */ -static inline void -__pthread_initialize_pids (struct pthread *pd) -{ -#error "sysdeps pthread-pids.h file required" - pd->pid = pd->tid = -1; -} diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 4b486b3577..68f8ef5aa1 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -224,8 +224,10 @@ 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. */ -extern int __set_robust_list_avail attribute_hidden; +/* True if the set_robust_list system call works. Initialized in + __tls_init_tp. */ +extern bool __nptl_set_robust_list_avail; +rtld_hidden_proto (__nptl_set_robust_list_avail) #endif /* Thread Priority Protection. */ diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 58e10e7741..51340acc4d 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -289,7 +289,7 @@ START_THREAD_DEFN __ctype_init (); #ifndef __ASSUME_SET_ROBUST_LIST - if (__set_robust_list_avail >= 0) + if (__nptl_set_robust_list_avail) #endif { /* This call should never fail because the initial call in init.c @@ -439,7 +439,7 @@ START_THREAD_DEFN /* We let the kernel do the notification if it is able to do so. If we have to do it here there for sure are no PI mutexes involved since the kernel support for them is even more recent. */ - if (__set_robust_list_avail < 0 + if (!__nptl_set_robust_list_avail && __builtin_expect (robust != (void *) &pd->robust_head, 0)) { do diff --git a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c index 233cebc504..f5c3a4b464 100644 --- a/nptl/pthread_mutex_init.c +++ b/nptl/pthread_mutex_init.c @@ -95,7 +95,7 @@ __pthread_mutex_init (pthread_mutex_t *mutex, { #ifndef __ASSUME_SET_ROBUST_LIST if ((imutexattr->mutexkind & PTHREAD_MUTEXATTR_FLAG_PSHARED) != 0 - && __set_robust_list_avail < 0) + && !__nptl_set_robust_list_avail) return ENOTSUP; #endif diff --git a/sysdeps/nptl/dl-tls_init_tp.c b/sysdeps/nptl/dl-tls_init_tp.c index 8983808233..c5172b7613 100644 --- a/sysdeps/nptl/dl-tls_init_tp.c +++ b/sysdeps/nptl/dl-tls_init_tp.c @@ -16,10 +16,17 @@ License along with the GNU C Library; if not, see . */ +#include #include #include +#include #include +#ifndef __ASSUME_SET_ROBUST_LIST +bool __nptl_set_robust_list_avail; +rtld_hidden_data_def (__nptl_set_robust_list_avail) +#endif + void __tls_init_tp (void) { @@ -27,4 +34,34 @@ __tls_init_tp (void) INIT_LIST_HEAD (&GL (dl_stack_used)); INIT_LIST_HEAD (&GL (dl_stack_user)); list_add (&THREAD_SELF->list, &GL (dl_stack_user)); + + /* Early initialization of the TCB. */ + struct pthread *pd = THREAD_SELF; + pd->tid = INTERNAL_SYSCALL_CALL (set_tid_address, &pd->tid); + THREAD_SETMEM (pd, specific[0], &pd->specific_1stblock[0]); + THREAD_SETMEM (pd, user_stack, true); + + /* Initialize the robust mutex data. */ + { +#if __PTHREAD_MUTEX_HAVE_PREV + pd->robust_prev = &pd->robust_head; +#endif + pd->robust_head.list = &pd->robust_head; + pd->robust_head.futex_offset = (offsetof (pthread_mutex_t, __data.__lock) + - offsetof (pthread_mutex_t, + __data.__list.__next)); + int res = INTERNAL_SYSCALL_CALL (set_robust_list, &pd->robust_head, + sizeof (struct robust_list_head)); + if (!INTERNAL_SYSCALL_ERROR_P (res)) + { +#ifndef __ASSUME_SET_ROBUST_LIST + __nptl_set_robust_list_avail = true; +#endif + } + } + + /* Set initial thread's stack block from 0 up to __libc_stack_end. + It will be bigger than it actually is, but for unwind.c/pt-longjmp.c + purposes this is good enough. */ + THREAD_SETMEM (pd, stackblock_size, (size_t) __libc_stack_end); } diff --git a/sysdeps/unix/sysv/linux/pthread-pids.h b/sysdeps/unix/sysv/linux/pthread-pids.h deleted file mode 100644 index 10b58899f5..0000000000 --- a/sysdeps/unix/sysv/linux/pthread-pids.h +++ /dev/null @@ -1,29 +0,0 @@ -/* Initialize pid and tid fields of struct pthread. Linux version. - 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 - . */ - -#include -#include - -/* Initialize PD->pid and PD->tid for the initial thread. If there is - setup required to arrange that __exit_thread causes PD->tid to be - cleared and futex-woken, then this function should do that as well. */ -static inline void -__pthread_initialize_pids (struct pthread *pd) -{ - pd->tid = INTERNAL_SYSCALL_CALL (set_tid_address, &pd->tid); -} From patchwork Tue Mar 16 17:30:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42615 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0BBBC386545E; Tue, 16 Mar 2021 17:30:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0BBBC386545E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915845; bh=wANlmD4cMXeS/4tJmll2YJ8NfJcvXP6FOCNhFRfv/rU=; 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=mRI1It9jTaKBuPx6BwUlQ380p11HyvJMO6co0ErD1uE2C8jLTUmWbj9a6ZJeYec1V IktaPer1ZAVHwukG4KR3n8bjw7eE70OKy3C7+ta0buwT52Y33Rt2hvtgUji82+S8az OlFuESyXpJNURDH30sPPYAUkg1L16DfMP0l1OYTQ= 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 1974A386196E for ; Tue, 16 Mar 2021 17:30:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1974A386196E 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-230-1zN2MzbkONGo33vpbqmbhA-1; Tue, 16 Mar 2021 13:30:34 -0400 X-MC-Unique: 1zN2MzbkONGo33vpbqmbhA-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 2E351640B8 for ; Tue, 16 Mar 2021 17:30:33 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 486086A042 for ; Tue, 16 Mar 2021 17:30:31 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 24/37] nptl: Move pthread_key_create, __pthread_key_create into libc In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:30:39 +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" The symbols have been moved using scripts/move-symbol-to-libc.py. --- nptl/Makefile | 2 +- nptl/Versions | 6 ++++-- nptl/nptl-init.c | 1 - nptl/pthreadP.h | 1 - nptl/pthread_key_create.c | 21 +++++++++++++++---- sysdeps/nptl/libc-lockP.h | 2 -- 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 -- 68 files changed, 150 insertions(+), 70 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 098c31115f..4255953fad 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -78,6 +78,7 @@ routines = \ pthread_getaffinity \ pthread_getattr_np \ pthread_getschedparam \ + pthread_key_create \ pthread_keys \ pthread_mutex_consistent \ pthread_once \ @@ -160,7 +161,6 @@ libpthread-routines = \ pthread_getspecific \ pthread_join \ pthread_join_common \ - pthread_key_create \ pthread_key_delete \ pthread_kill \ pthread_kill_other_threads \ diff --git a/nptl/Versions b/nptl/Versions index c50a5442af..d44958f5b6 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -1,5 +1,6 @@ libc { GLIBC_2.0 { + __pthread_key_create; __pthread_once; _pthread_cleanup_pop; _pthread_cleanup_pop_restore; @@ -28,6 +29,7 @@ libc { pthread_equal; pthread_exit; pthread_getschedparam; + pthread_key_create; pthread_mutex_destroy; pthread_mutex_init; pthread_mutex_lock; @@ -86,7 +88,9 @@ libc { } GLIBC_2.34 { __pthread_cleanup_routine; + __pthread_key_create; __pthread_once; + pthread_key_create; pthread_mutex_consistent; pthread_once; } @@ -143,7 +147,6 @@ libpthread { __open; __pthread_atfork; __pthread_getspecific; - __pthread_key_create; __pthread_mutex_destroy; __pthread_mutex_init; __pthread_mutex_lock; @@ -180,7 +183,6 @@ libpthread { pthread_detach; pthread_getspecific; pthread_join; - pthread_key_create; pthread_key_delete; pthread_kill; pthread_kill_other_threads_np; diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 5913bf7272..b1a8b1a95b 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -70,7 +70,6 @@ static const struct pthread_functions pthread_functions = .ptr___pthread_rwlock_rdlock = __pthread_rwlock_rdlock, .ptr___pthread_rwlock_wrlock = __pthread_rwlock_wrlock, .ptr___pthread_rwlock_unlock = __pthread_rwlock_unlock, - .ptr___pthread_key_create = __pthread_key_create, .ptr___pthread_getspecific = __pthread_getspecific, .ptr___pthread_setspecific = __pthread_setspecific, .ptr__nptl_setxid = __nptl_setxid, diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 68f8ef5aa1..38aeed1dfc 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -553,7 +553,6 @@ hidden_proto (__pthread_mutex_unlock) hidden_proto (__pthread_rwlock_rdlock) hidden_proto (__pthread_rwlock_wrlock) hidden_proto (__pthread_rwlock_unlock) -hidden_proto (__pthread_key_create) hidden_proto (__pthread_getspecific) hidden_proto (__pthread_setspecific) hidden_proto (__pthread_testcancel) diff --git a/nptl/pthread_key_create.c b/nptl/pthread_key_create.c index 5b725c56e2..5b3726e9f3 100644 --- a/nptl/pthread_key_create.c +++ b/nptl/pthread_key_create.c @@ -19,10 +19,10 @@ #include #include "pthreadP.h" #include - +#include int -__pthread_key_create (pthread_key_t *key, void (*destr) (void *)) +__pthread_key_create_1 (pthread_key_t *key, void (*destr) (void *)) { /* Find a slot in __pthread_keys which is unused. */ for (size_t cnt = 0; cnt < PTHREAD_KEYS_MAX; ++cnt) @@ -47,5 +47,18 @@ __pthread_key_create (pthread_key_t *key, void (*destr) (void *)) return EAGAIN; } -weak_alias (__pthread_key_create, pthread_key_create) -hidden_def (__pthread_key_create) +versioned_symbol (libc, __pthread_key_create_1, __pthread_key_create, + GLIBC_2_34); +libc_hidden_ver (__pthread_key_create_1, __pthread_key_create) + +/* Several aliases for setting different symbol versions. */ +strong_alias (__pthread_key_create_1, __pthread_key_create_2) +strong_alias (__pthread_key_create_1, __pthread_key_create_3) +strong_alias (__pthread_key_create_1, __pthread_key_create_4) + +versioned_symbol (libc, __pthread_key_create_2, pthread_key_create, + GLIBC_2_34); +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libc, __pthread_key_create_3, __pthread_key_create, GLIBC_2_0); +compat_symbol (libc, __pthread_key_create_4, pthread_key_create, GLIBC_2_0); +#endif diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h index d032463dd0..64c7a99bbf 100644 --- a/sysdeps/nptl/libc-lockP.h +++ b/sysdeps/nptl/libc-lockP.h @@ -338,7 +338,6 @@ weak_extern (__pthread_rwlock_tryrdlock) weak_extern (__pthread_rwlock_wrlock) weak_extern (__pthread_rwlock_trywrlock) weak_extern (__pthread_rwlock_unlock) -weak_extern (__pthread_key_create) weak_extern (__pthread_setspecific) weak_extern (__pthread_getspecific) weak_extern (__pthread_initialize) @@ -358,7 +357,6 @@ weak_extern (__pthread_atfork) # pragma weak __pthread_rwlock_wrlock # pragma weak __pthread_rwlock_trywrlock # pragma weak __pthread_rwlock_unlock -# pragma weak __pthread_key_create # pragma weak __pthread_setspecific # pragma weak __pthread_getspecific # pragma weak __pthread_initialize diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 844838cd49..69ba1d8278 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -49,7 +49,6 @@ struct pthread_functions int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_unlock) (pthread_rwlock_t *); - 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 *); int (*ptr__nptl_setxid) (struct xid_command *); diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index a4eec97fd0..edd8ff4e1a 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_key_create F GLIBC_2.17 __pthread_once F GLIBC_2.17 __pthread_unwind_next F GLIBC_2.17 __ptsname_r_chk F @@ -1449,6 +1450,7 @@ 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_key_create F GLIBC_2.17 pthread_mutex_consistent F GLIBC_2.17 pthread_mutex_consistent_np F GLIBC_2.17 pthread_mutex_destroy F @@ -2183,7 +2185,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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 47c5564772..620915eca6 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -14,7 +14,6 @@ GLIBC_2.17 __open F GLIBC_2.17 __open64 F GLIBC_2.17 __pread64 F GLIBC_2.17 __pthread_getspecific F -GLIBC_2.17 __pthread_key_create F GLIBC_2.17 __pthread_mutex_destroy F GLIBC_2.17 __pthread_mutex_init F GLIBC_2.17 __pthread_mutex_lock F @@ -89,7 +88,6 @@ GLIBC_2.17 pthread_getcpuclockid F GLIBC_2.17 pthread_getname_np F GLIBC_2.17 pthread_getspecific F GLIBC_2.17 pthread_join F -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 diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index cfd43859bc..ad921167a2 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_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x8 GLIBC_2.0 __read F @@ -888,6 +889,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2264,8 +2266,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 1d834d6d54..85a6f26e5d 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -9,7 +9,6 @@ GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F GLIBC_2.0 __pthread_getspecific F -GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -45,7 +44,6 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index f4a38131a0..2bdf0fffdb 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_key_create F GLIBC_2.32 __pthread_once F GLIBC_2.32 __pthread_unwind_next F GLIBC_2.32 __ptsname_r_chk F @@ -1376,6 +1377,7 @@ 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_key_create F GLIBC_2.32 pthread_mutex_consistent F GLIBC_2.32 pthread_mutex_consistent_np F GLIBC_2.32 pthread_mutex_destroy F @@ -1943,7 +1945,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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 3c1054101c..d79ba9adbf 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -13,7 +13,6 @@ GLIBC_2.32 __open F GLIBC_2.32 __open64 F GLIBC_2.32 __pread64 F GLIBC_2.32 __pthread_getspecific F -GLIBC_2.32 __pthread_key_create F GLIBC_2.32 __pthread_mutex_destroy F GLIBC_2.32 __pthread_mutex_init F GLIBC_2.32 __pthread_mutex_lock F @@ -103,7 +102,6 @@ GLIBC_2.32 pthread_getcpuclockid F GLIBC_2.32 pthread_getname_np F GLIBC_2.32 pthread_getspecific F GLIBC_2.32 pthread_join F -GLIBC_2.32 pthread_key_create F GLIBC_2.32 pthread_key_delete F GLIBC_2.32 pthread_kill F GLIBC_2.32 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 9e6b989de2..451c02d687 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -158,8 +158,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.4 _Exit F @@ -490,6 +492,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_key_create F GLIBC_2.4 __pthread_once F GLIBC_2.4 __pthread_unwind_next F GLIBC_2.4 __ptsname_r_chk F @@ -1548,6 +1551,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_key_create F GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index c2892c4b8d..d00e0e9258 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -48,7 +48,6 @@ GLIBC_2.4 __open F GLIBC_2.4 __open64 F GLIBC_2.4 __pread64 F GLIBC_2.4 __pthread_getspecific F -GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_mutex_destroy F GLIBC_2.4 __pthread_mutex_init F GLIBC_2.4 __pthread_mutex_lock F @@ -122,7 +121,6 @@ GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_getspecific F GLIBC_2.4 pthread_join F -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 diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index 319cf8474a..873d6c3f22 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -155,8 +155,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.4 _Exit F @@ -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_key_create F GLIBC_2.4 __pthread_once F GLIBC_2.4 __pthread_unwind_next F GLIBC_2.4 __ptsname_r_chk F @@ -1545,6 +1548,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_key_create F GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index c2892c4b8d..d00e0e9258 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -48,7 +48,6 @@ GLIBC_2.4 __open F GLIBC_2.4 __open64 F GLIBC_2.4 __pread64 F GLIBC_2.4 __pthread_getspecific F -GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_mutex_destroy F GLIBC_2.4 __pthread_mutex_init F GLIBC_2.4 __pthread_mutex_lock F @@ -122,7 +121,6 @@ GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_getspecific F GLIBC_2.4 pthread_join F -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 diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index a9094c6575..d9149b68cc 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_key_create F GLIBC_2.29 __pthread_once F GLIBC_2.29 __pthread_unwind_next F GLIBC_2.29 __ptsname_r_chk F @@ -1437,6 +1438,7 @@ 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_key_create F GLIBC_2.29 pthread_mutex_consistent F GLIBC_2.29 pthread_mutex_consistent_np F GLIBC_2.29 pthread_mutex_destroy F @@ -2127,7 +2129,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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 2d125f11a3..e3721d98e6 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -13,7 +13,6 @@ GLIBC_2.29 __open F GLIBC_2.29 __open64 F GLIBC_2.29 __pread64 F GLIBC_2.29 __pthread_getspecific F -GLIBC_2.29 __pthread_key_create F GLIBC_2.29 __pthread_mutex_destroy F GLIBC_2.29 __pthread_mutex_init F GLIBC_2.29 __pthread_mutex_lock F @@ -101,7 +100,6 @@ GLIBC_2.29 pthread_getcpuclockid F GLIBC_2.29 pthread_getname_np F GLIBC_2.29 pthread_getspecific F GLIBC_2.29 pthread_join F -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 diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 63e458dc99..938fa14288 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_key_create F GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F @@ -1272,6 +1273,7 @@ GLIBC_2.2 pthread_condattr_init F GLIBC_2.2 pthread_equal F GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F +GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F @@ -2085,8 +2087,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 11fa4711d8..bf871d121b 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -21,7 +21,6 @@ GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_getspecific F -GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_mutex_destroy F GLIBC_2.2 __pthread_mutex_init F GLIBC_2.2 __pthread_mutex_lock F @@ -88,7 +87,6 @@ GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_join F -GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 428ff25c25..425d1df5a3 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_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F @@ -865,6 +866,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2252,8 +2254,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 1d84eb35fb..b186b3039b 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -9,7 +9,6 @@ GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F GLIBC_2.0 __pthread_getspecific F -GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -45,7 +44,6 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 3556b0eac4..c34b5a157d 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_key_create F GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F @@ -1293,6 +1294,7 @@ GLIBC_2.2 pthread_condattr_init F GLIBC_2.2 pthread_equal F GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F +GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F @@ -2117,8 +2119,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 88e178b1c3..b49b6ef57a 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -21,7 +21,6 @@ GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_getspecific F -GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_mutex_destroy F GLIBC_2.2 __pthread_mutex_init F GLIBC_2.2 __pthread_mutex_lock F @@ -88,7 +87,6 @@ GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_join F -GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 245ae8da1f..56d55caed9 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -159,8 +159,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.4 _Exit F @@ -476,6 +478,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_key_create F GLIBC_2.4 __pthread_once F GLIBC_2.4 __pthread_unwind_next F GLIBC_2.4 __ptsname_r_chk F @@ -1528,6 +1531,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_key_create F GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index c2892c4b8d..d00e0e9258 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -48,7 +48,6 @@ GLIBC_2.4 __open F GLIBC_2.4 __open64 F GLIBC_2.4 __pread64 F GLIBC_2.4 __pthread_getspecific F -GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_mutex_destroy F GLIBC_2.4 __pthread_mutex_init F GLIBC_2.4 __pthread_mutex_lock F @@ -122,7 +121,6 @@ GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_getspecific F GLIBC_2.4 pthread_join F -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 diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index fba3ac0138..a3b3bf4f74 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_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F @@ -864,6 +865,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2197,8 +2199,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 1d84eb35fb..b186b3039b 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -9,7 +9,6 @@ GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F GLIBC_2.0 __pthread_getspecific F -GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -45,7 +44,6 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 6a6d813b2c..75213c08d4 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_key_create F GLIBC_2.18 __pthread_once F GLIBC_2.18 __pthread_unwind_next F GLIBC_2.18 __ptsname_r_chk F @@ -1452,6 +1453,7 @@ 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_key_create F GLIBC_2.18 pthread_mutex_consistent F GLIBC_2.18 pthread_mutex_consistent_np F GLIBC_2.18 pthread_mutex_destroy F @@ -2178,7 +2180,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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 b19c648328..ca115fe783 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -14,7 +14,6 @@ GLIBC_2.18 __open F GLIBC_2.18 __open64 F GLIBC_2.18 __pread64 F GLIBC_2.18 __pthread_getspecific F -GLIBC_2.18 __pthread_key_create F GLIBC_2.18 __pthread_mutex_destroy F GLIBC_2.18 __pthread_mutex_init F GLIBC_2.18 __pthread_mutex_lock F @@ -90,7 +89,6 @@ GLIBC_2.18 pthread_getcpuclockid F GLIBC_2.18 pthread_getname_np F GLIBC_2.18 pthread_getspecific F GLIBC_2.18 pthread_join F -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 diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 7138bb3fe7..014d53f893 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_key_create F GLIBC_2.18 __pthread_once F GLIBC_2.18 __pthread_unwind_next F GLIBC_2.18 __ptsname_r_chk F @@ -1452,6 +1453,7 @@ 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_key_create F GLIBC_2.18 pthread_mutex_consistent F GLIBC_2.18 pthread_mutex_consistent_np F GLIBC_2.18 pthread_mutex_destroy F @@ -2175,7 +2177,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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 b19c648328..ca115fe783 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -14,7 +14,6 @@ GLIBC_2.18 __open F GLIBC_2.18 __open64 F GLIBC_2.18 __pread64 F GLIBC_2.18 __pthread_getspecific F -GLIBC_2.18 __pthread_key_create F GLIBC_2.18 __pthread_mutex_destroy F GLIBC_2.18 __pthread_mutex_init F GLIBC_2.18 __pthread_mutex_lock F @@ -90,7 +89,6 @@ GLIBC_2.18 pthread_getcpuclockid F GLIBC_2.18 pthread_getname_np F GLIBC_2.18 pthread_getspecific F GLIBC_2.18 pthread_join F -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 diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index d070746259..46c7716ee6 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_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F @@ -861,6 +862,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2168,8 +2170,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 0d7d23b8f3..2b830751c8 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -9,7 +9,6 @@ GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F GLIBC_2.0 __pthread_getspecific F -GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -45,7 +44,6 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index d40d0079fc..5666362839 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_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F @@ -861,6 +862,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2166,8 +2168,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 0d7d23b8f3..2b830751c8 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -9,7 +9,6 @@ GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F GLIBC_2.0 __pthread_getspecific F -GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -45,7 +44,6 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index d56b5a25cb..97866f80c7 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_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F @@ -861,6 +862,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2174,8 +2176,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 d334efb37c..3d9321f9e0 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_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x8 GLIBC_2.0 __read F @@ -859,6 +860,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2168,8 +2170,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 4422b5ca92..3a0c0c5d8a 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_key_create F GLIBC_2.21 __pthread_once F GLIBC_2.21 __pthread_unwind_next F GLIBC_2.21 __ptsname_r_chk F @@ -1494,6 +1495,7 @@ 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_key_create F GLIBC_2.21 pthread_mutex_consistent F GLIBC_2.21 pthread_mutex_consistent_np F GLIBC_2.21 pthread_mutex_destroy F @@ -2216,7 +2218,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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 34c81eb8db..06500b1865 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -14,7 +14,6 @@ GLIBC_2.21 __open F GLIBC_2.21 __open64 F GLIBC_2.21 __pread64 F GLIBC_2.21 __pthread_getspecific F -GLIBC_2.21 __pthread_key_create F GLIBC_2.21 __pthread_mutex_destroy F GLIBC_2.21 __pthread_mutex_init F GLIBC_2.21 __pthread_mutex_lock F @@ -90,7 +89,6 @@ GLIBC_2.21 pthread_getcpuclockid F GLIBC_2.21 pthread_getname_np F GLIBC_2.21 pthread_getspecific F GLIBC_2.21 pthread_join F -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 diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index 8bd6dd5b48..c01a200e83 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_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F @@ -872,6 +873,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2224,8 +2226,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 9ef23ed6d6..d36522b751 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -9,7 +9,6 @@ GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F GLIBC_2.0 __pthread_getspecific F -GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -45,7 +44,6 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 6bf7342f4c..3eced88f9f 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_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F @@ -872,6 +873,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2257,8 +2259,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 2d616e24cd..35b689a767 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_key_create F GLIBC_2.3 __pthread_once F GLIBC_2.3 __pwrite64 F GLIBC_2.3 __rawmemchr F @@ -1379,6 +1380,7 @@ GLIBC_2.3 pthread_equal F GLIBC_2.3 pthread_exit F GLIBC_2.3 pthread_getattr_np F GLIBC_2.3 pthread_getschedparam F +GLIBC_2.3 pthread_key_create F GLIBC_2.3 pthread_mutex_destroy F GLIBC_2.3 pthread_mutex_init F GLIBC_2.3 pthread_mutex_lock F @@ -2087,8 +2089,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 5474d3eb4d..2d24956efe 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -42,7 +42,6 @@ GLIBC_2.3 __open F GLIBC_2.3 __open64 F GLIBC_2.3 __pread64 F GLIBC_2.3 __pthread_getspecific F -GLIBC_2.3 __pthread_key_create F GLIBC_2.3 __pthread_mutex_destroy F GLIBC_2.3 __pthread_mutex_init F GLIBC_2.3 __pthread_mutex_lock F @@ -108,7 +107,6 @@ GLIBC_2.3 pthread_getconcurrency F GLIBC_2.3 pthread_getcpuclockid F GLIBC_2.3 pthread_getspecific F GLIBC_2.3 pthread_join F -GLIBC_2.3 pthread_key_create F GLIBC_2.3 pthread_key_delete F GLIBC_2.3 pthread_kill F GLIBC_2.3 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 247c8f77cf..d54a37f8ad 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_key_create F GLIBC_2.17 __pthread_once F GLIBC_2.17 __pthread_unwind_next F GLIBC_2.17 __ptsname_r_chk F @@ -1538,6 +1539,7 @@ 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_key_create F GLIBC_2.17 pthread_mutex_consistent F GLIBC_2.17 pthread_mutex_consistent_np F GLIBC_2.17 pthread_mutex_destroy F @@ -2378,7 +2380,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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 47c5564772..620915eca6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -14,7 +14,6 @@ GLIBC_2.17 __open F GLIBC_2.17 __open64 F GLIBC_2.17 __pread64 F GLIBC_2.17 __pthread_getspecific F -GLIBC_2.17 __pthread_key_create F GLIBC_2.17 __pthread_mutex_destroy F GLIBC_2.17 __pthread_mutex_init F GLIBC_2.17 __pthread_mutex_lock F @@ -89,7 +88,6 @@ GLIBC_2.17 pthread_getcpuclockid F GLIBC_2.17 pthread_getname_np F GLIBC_2.17 pthread_getspecific F GLIBC_2.17 pthread_join F -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 diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 1af16292a7..e82a4a7a90 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_key_create F GLIBC_2.33 __pthread_once F GLIBC_2.33 __pthread_unwind_next F GLIBC_2.33 __ptsname_r_chk F @@ -1378,6 +1379,7 @@ 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_key_create F GLIBC_2.33 pthread_mutex_consistent F GLIBC_2.33 pthread_mutex_consistent_np F GLIBC_2.33 pthread_mutex_destroy F @@ -1945,7 +1947,9 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 e86e8cab1d..c2dd7f8dee 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -13,7 +13,6 @@ GLIBC_2.33 __open F GLIBC_2.33 __open64 F GLIBC_2.33 __pread64 F GLIBC_2.33 __pthread_getspecific F -GLIBC_2.33 __pthread_key_create F GLIBC_2.33 __pthread_mutex_destroy F GLIBC_2.33 __pthread_mutex_init F GLIBC_2.33 __pthread_mutex_lock F @@ -103,7 +102,6 @@ GLIBC_2.33 pthread_getcpuclockid F GLIBC_2.33 pthread_getname_np F GLIBC_2.33 pthread_getspecific F GLIBC_2.33 pthread_join F -GLIBC_2.33 pthread_key_create F GLIBC_2.33 pthread_key_delete F GLIBC_2.33 pthread_kill F GLIBC_2.33 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 54038ac5ba..0c81f1a72c 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_key_create F GLIBC_2.27 __pthread_once F GLIBC_2.27 __pthread_unwind_next F GLIBC_2.27 __ptsname_r_chk F @@ -1440,6 +1441,7 @@ 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_key_create F GLIBC_2.27 pthread_mutex_consistent F GLIBC_2.27 pthread_mutex_consistent_np F GLIBC_2.27 pthread_mutex_destroy F @@ -2145,7 +2147,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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 220affa7f0..d53306f3cb 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -14,7 +14,6 @@ GLIBC_2.27 __open F GLIBC_2.27 __open64 F GLIBC_2.27 __pread64 F GLIBC_2.27 __pthread_getspecific F -GLIBC_2.27 __pthread_key_create F GLIBC_2.27 __pthread_mutex_destroy F GLIBC_2.27 __pthread_mutex_init F GLIBC_2.27 __pthread_mutex_lock F @@ -90,7 +89,6 @@ GLIBC_2.27 pthread_getcpuclockid F GLIBC_2.27 pthread_getname_np F GLIBC_2.27 pthread_getspecific F GLIBC_2.27 pthread_join F -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 diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 1e896254ef..ca08d2f3f5 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_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F @@ -863,6 +864,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2222,8 +2224,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 81b8d5ce5c..accbf2be59 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -9,7 +9,6 @@ GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F GLIBC_2.0 __pthread_getspecific F -GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -45,7 +44,6 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 3cf10b2ab2..061e0c6ffa 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_key_create F GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F @@ -1290,6 +1291,7 @@ GLIBC_2.2 pthread_condattr_init F GLIBC_2.2 pthread_equal F GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F +GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F @@ -2123,8 +2125,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 b916709d08..9d6d87494a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -22,7 +22,6 @@ GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_getspecific F -GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_mutex_destroy F GLIBC_2.2 __pthread_mutex_init F GLIBC_2.2 __pthread_mutex_lock F @@ -89,7 +88,6 @@ GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_join F -GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index f7bded858a..d102c24997 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_key_create F GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F @@ -1276,6 +1277,7 @@ GLIBC_2.2 pthread_condattr_init F GLIBC_2.2 pthread_equal F GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F +GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F @@ -2092,8 +2094,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 11fa4711d8..bf871d121b 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -21,7 +21,6 @@ GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_getspecific F -GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_mutex_destroy F GLIBC_2.2 __pthread_mutex_init F GLIBC_2.2 __pthread_mutex_lock F @@ -88,7 +87,6 @@ GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_join F -GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index c8ec299eac..3ed1b31c84 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_key_create F GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F @@ -1276,6 +1277,7 @@ GLIBC_2.2 pthread_condattr_init F GLIBC_2.2 pthread_equal F GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F +GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F @@ -2089,8 +2091,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 11fa4711d8..bf871d121b 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -21,7 +21,6 @@ GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_getspecific F -GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_mutex_destroy F GLIBC_2.2 __pthread_mutex_init F GLIBC_2.2 __pthread_mutex_lock F @@ -88,7 +87,6 @@ GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_join F -GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 64529443e9..78f69c96ab 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_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F @@ -866,6 +867,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2213,8 +2215,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 1d834d6d54..85a6f26e5d 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -9,7 +9,6 @@ GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F GLIBC_2.0 __pthread_getspecific F -GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -45,7 +44,6 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 5c5ad0af63..49d6360768 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_key_create F GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F @@ -1319,6 +1320,7 @@ GLIBC_2.2 pthread_condattr_init F GLIBC_2.2 pthread_equal F GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F +GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F @@ -2140,8 +2142,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 88e178b1c3..b49b6ef57a 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -21,7 +21,6 @@ GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_getspecific F -GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_mutex_destroy F GLIBC_2.2 __pthread_mutex_init F GLIBC_2.2 __pthread_mutex_lock F @@ -88,7 +87,6 @@ GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_join F -GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index 1805cd6b9b..c795ffb505 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_key_create F GLIBC_2.2.5 __pthread_once F GLIBC_2.2.5 __pwrite64 F GLIBC_2.2.5 __rawmemchr F @@ -1287,6 +1288,7 @@ GLIBC_2.2.5 pthread_equal F GLIBC_2.2.5 pthread_exit F GLIBC_2.2.5 pthread_getattr_np F GLIBC_2.2.5 pthread_getschedparam F +GLIBC_2.2.5 pthread_key_create F GLIBC_2.2.5 pthread_mutex_destroy F GLIBC_2.2.5 pthread_mutex_init F GLIBC_2.2.5 pthread_mutex_lock F @@ -2099,8 +2101,10 @@ 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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 f11ffd687f..0408564253 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -21,7 +21,6 @@ GLIBC_2.2.5 __open F GLIBC_2.2.5 __open64 F GLIBC_2.2.5 __pread64 F GLIBC_2.2.5 __pthread_getspecific F -GLIBC_2.2.5 __pthread_key_create F GLIBC_2.2.5 __pthread_mutex_destroy F GLIBC_2.2.5 __pthread_mutex_init F GLIBC_2.2.5 __pthread_mutex_lock F @@ -88,7 +87,6 @@ GLIBC_2.2.5 pthread_getconcurrency F GLIBC_2.2.5 pthread_getcpuclockid F GLIBC_2.2.5 pthread_getspecific F GLIBC_2.2.5 pthread_join F -GLIBC_2.2.5 pthread_key_create F GLIBC_2.2.5 pthread_key_delete F GLIBC_2.2.5 pthread_kill F GLIBC_2.2.5 pthread_kill_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index 780679cb52..74ccdc4905 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_key_create F GLIBC_2.16 __pthread_once F GLIBC_2.16 __pthread_unwind_next F GLIBC_2.16 __ptsname_r_chk F @@ -1457,6 +1458,7 @@ 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_key_create F GLIBC_2.16 pthread_mutex_consistent F GLIBC_2.16 pthread_mutex_consistent_np F GLIBC_2.16 pthread_mutex_destroy F @@ -2197,7 +2199,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_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_key_create 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 579d0ffea2..79ab1b8cef 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -14,7 +14,6 @@ GLIBC_2.16 __open F GLIBC_2.16 __open64 F GLIBC_2.16 __pread64 F GLIBC_2.16 __pthread_getspecific F -GLIBC_2.16 __pthread_key_create F GLIBC_2.16 __pthread_mutex_destroy F GLIBC_2.16 __pthread_mutex_init F GLIBC_2.16 __pthread_mutex_lock F @@ -89,7 +88,6 @@ GLIBC_2.16 pthread_getcpuclockid F GLIBC_2.16 pthread_getname_np F GLIBC_2.16 pthread_getspecific F GLIBC_2.16 pthread_join F -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 From patchwork Tue Mar 16 17:30:46 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42616 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 1B35D3865479; Tue, 16 Mar 2021 17:30:52 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1B35D3865479 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915852; bh=CSjZV69cxDBwGFkedaQej1XXlFTe5yu6/W3Gtyj/OQk=; 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=rj8wHIh5x34jaafgawZW3aul/dWTSe63bCUlJmEldTh7AWwl6+znxK9PigvA3GBXo OwZZupIIuBla9VcWTCKje1nByI7nfOyTSFNBu96MagId5xVSEEN+1IRWaruruKnxWR CO2HTN/yHboZgR3bLaavzI5nz5aWMnm8Ri6H10qQ= 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 2C409386197F for ; Tue, 16 Mar 2021 17:30:44 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2C409386197F 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-158-QScJQgvQN5CGZdOBtGAtSg-1; Tue, 16 Mar 2021 13:30:41 -0400 X-MC-Unique: QScJQgvQN5CGZdOBtGAtSg-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 26215640A9 for ; Tue, 16 Mar 2021 17:30:40 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3D2145D9D3 for ; Tue, 16 Mar 2021 17:30:38 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 25/37] nptl: Move pthread_getspecific, __pthread_getspecific into libc In-Reply-To: References: Message-Id: <731956b0cd5783de2b09d1754bee65456791e4ea.1615914632.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:30:46 +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, 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 symbols have been moved using scripts/move-symbol-to-libc.py. --- nptl/Makefile | 2 +- nptl/Versions | 6 +++-- nptl/nptl-init.c | 1 - nptl/pthreadP.h | 2 +- nptl/pthread_getspecific.c | 22 +++++++++++++++---- sysdeps/nptl/libc-lockP.h | 2 -- 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 -- 68 files changed, 152 insertions(+), 70 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 4255953fad..c66e4dccab 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -78,6 +78,7 @@ routines = \ pthread_getaffinity \ pthread_getattr_np \ pthread_getschedparam \ + pthread_getspecific \ pthread_key_create \ pthread_keys \ pthread_mutex_consistent \ @@ -158,7 +159,6 @@ libpthread-routines = \ pthread_getconcurrency \ pthread_getcpuclockid \ pthread_getname \ - pthread_getspecific \ pthread_join \ pthread_join_common \ pthread_key_delete \ diff --git a/nptl/Versions b/nptl/Versions index d44958f5b6..218d6bbbf8 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -1,5 +1,6 @@ libc { GLIBC_2.0 { + __pthread_getspecific; __pthread_key_create; __pthread_once; _pthread_cleanup_pop; @@ -29,6 +30,7 @@ libc { pthread_equal; pthread_exit; pthread_getschedparam; + pthread_getspecific; pthread_key_create; pthread_mutex_destroy; pthread_mutex_init; @@ -88,8 +90,10 @@ libc { } GLIBC_2.34 { __pthread_cleanup_routine; + __pthread_getspecific; __pthread_key_create; __pthread_once; + pthread_getspecific; pthread_key_create; pthread_mutex_consistent; pthread_once; @@ -146,7 +150,6 @@ libpthread { __lseek; __open; __pthread_atfork; - __pthread_getspecific; __pthread_mutex_destroy; __pthread_mutex_init; __pthread_mutex_lock; @@ -181,7 +184,6 @@ libpthread { pthread_cond_wait; pthread_create; pthread_detach; - pthread_getspecific; pthread_join; pthread_key_delete; pthread_kill; diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index b1a8b1a95b..5be58fc966 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -70,7 +70,6 @@ static const struct pthread_functions pthread_functions = .ptr___pthread_rwlock_rdlock = __pthread_rwlock_rdlock, .ptr___pthread_rwlock_wrlock = __pthread_rwlock_wrlock, .ptr___pthread_rwlock_unlock = __pthread_rwlock_unlock, - .ptr___pthread_getspecific = __pthread_getspecific, .ptr___pthread_setspecific = __pthread_setspecific, .ptr__nptl_setxid = __nptl_setxid, }; diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 38aeed1dfc..1d69a0f617 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -518,6 +518,7 @@ extern int __pthread_condattr_init (pthread_condattr_t *attr); extern int __pthread_key_create (pthread_key_t *key, void (*destr) (void *)); extern int __pthread_key_delete (pthread_key_t key); extern void *__pthread_getspecific (pthread_key_t key); +libc_hidden_proto (__pthread_getspecific) extern int __pthread_setspecific (pthread_key_t key, const void *value); extern int __pthread_once (pthread_once_t *once_control, void (*init_routine) (void)); @@ -553,7 +554,6 @@ hidden_proto (__pthread_mutex_unlock) hidden_proto (__pthread_rwlock_rdlock) hidden_proto (__pthread_rwlock_wrlock) hidden_proto (__pthread_rwlock_unlock) -hidden_proto (__pthread_getspecific) hidden_proto (__pthread_setspecific) hidden_proto (__pthread_testcancel) hidden_proto (__pthread_mutexattr_init) diff --git a/nptl/pthread_getspecific.c b/nptl/pthread_getspecific.c index d38847e1c2..320ff2aa35 100644 --- a/nptl/pthread_getspecific.c +++ b/nptl/pthread_getspecific.c @@ -18,10 +18,10 @@ #include #include "pthreadP.h" - +#include void * -__pthread_getspecific (pthread_key_t key) +__pthread_getspecific_1 (pthread_key_t key) { struct pthread_key_data *data; @@ -63,5 +63,19 @@ __pthread_getspecific (pthread_key_t key) return result; } -weak_alias (__pthread_getspecific, pthread_getspecific) -hidden_def (__pthread_getspecific) +versioned_symbol (libc, __pthread_getspecific_1, __pthread_getspecific, + GLIBC_2_34); +libc_hidden_ver (__pthread_getspecific_1, __pthread_getspecific) + +/* Several aliases for setting different symbol versions. */ +strong_alias (__pthread_getspecific_1, __pthread_getspecific_2) +strong_alias (__pthread_getspecific_1, __pthread_getspecific_3) +strong_alias (__pthread_getspecific_1, __pthread_getspecific_4) + +versioned_symbol (libc, __pthread_getspecific_2, pthread_getspecific, + GLIBC_2_34); +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libc, __pthread_getspecific_3, + __pthread_getspecific, GLIBC_2_0); +compat_symbol (libc, __pthread_getspecific_4, pthread_getspecific, GLIBC_2_0); +#endif diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h index 64c7a99bbf..bf92a035f8 100644 --- a/sysdeps/nptl/libc-lockP.h +++ b/sysdeps/nptl/libc-lockP.h @@ -339,7 +339,6 @@ weak_extern (__pthread_rwlock_wrlock) weak_extern (__pthread_rwlock_trywrlock) weak_extern (__pthread_rwlock_unlock) weak_extern (__pthread_setspecific) -weak_extern (__pthread_getspecific) weak_extern (__pthread_initialize) weak_extern (__pthread_atfork) # else @@ -358,7 +357,6 @@ weak_extern (__pthread_atfork) # pragma weak __pthread_rwlock_trywrlock # pragma weak __pthread_rwlock_unlock # pragma weak __pthread_setspecific -# pragma weak __pthread_getspecific # pragma weak __pthread_initialize # pragma weak __pthread_atfork # endif diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 69ba1d8278..4b4816b873 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -49,7 +49,6 @@ struct pthread_functions int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_unlock) (pthread_rwlock_t *); - void *(*ptr___pthread_getspecific) (pthread_key_t); int (*ptr___pthread_setspecific) (pthread_key_t, const void *); int (*ptr__nptl_setxid) (struct xid_command *); }; diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index edd8ff4e1a..ae0e7a313e 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_getspecific F GLIBC_2.17 __pthread_key_create F GLIBC_2.17 __pthread_once F GLIBC_2.17 __pthread_unwind_next F @@ -1450,6 +1451,7 @@ 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_getspecific F GLIBC_2.17 pthread_key_create F GLIBC_2.17 pthread_mutex_consistent F GLIBC_2.17 pthread_mutex_consistent_np F @@ -2185,9 +2187,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create 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 620915eca6..667e00551a 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_getspecific F GLIBC_2.17 __pthread_mutex_destroy F GLIBC_2.17 __pthread_mutex_init F GLIBC_2.17 __pthread_mutex_lock F @@ -86,7 +85,6 @@ GLIBC_2.17 pthread_detach F GLIBC_2.17 pthread_getconcurrency F GLIBC_2.17 pthread_getcpuclockid F GLIBC_2.17 pthread_getname_np F -GLIBC_2.17 pthread_getspecific F GLIBC_2.17 pthread_join F GLIBC_2.17 pthread_key_delete F GLIBC_2.17 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index ad921167a2..d27a8d9ad4 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_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x8 @@ -889,6 +890,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2266,9 +2268,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 85a6f26e5d..66f17908e0 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -42,7 +41,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_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 2bdf0fffdb..f740f0d40a 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_getspecific F GLIBC_2.32 __pthread_key_create F GLIBC_2.32 __pthread_once F GLIBC_2.32 __pthread_unwind_next F @@ -1377,6 +1378,7 @@ 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_getspecific F GLIBC_2.32 pthread_key_create F GLIBC_2.32 pthread_mutex_consistent F GLIBC_2.32 pthread_mutex_consistent_np F @@ -1945,9 +1947,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create 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 d79ba9adbf..977e964a47 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_getspecific F GLIBC_2.32 __pthread_mutex_destroy F GLIBC_2.32 __pthread_mutex_init F GLIBC_2.32 __pthread_mutex_lock F @@ -100,7 +99,6 @@ GLIBC_2.32 pthread_getattr_default_np F GLIBC_2.32 pthread_getconcurrency F GLIBC_2.32 pthread_getcpuclockid F GLIBC_2.32 pthread_getname_np F -GLIBC_2.32 pthread_getspecific F GLIBC_2.32 pthread_join F GLIBC_2.32 pthread_key_delete F GLIBC_2.32 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 451c02d687..60baeff299 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -158,9 +158,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F @@ -492,6 +494,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_getspecific F GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_once F GLIBC_2.4 __pthread_unwind_next F @@ -1551,6 +1554,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_getspecific F GLIBC_2.4 pthread_key_create F GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index d00e0e9258..d6612a1e9e 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_getspecific F GLIBC_2.4 __pthread_mutex_destroy F GLIBC_2.4 __pthread_mutex_init F GLIBC_2.4 __pthread_mutex_lock F @@ -119,7 +118,6 @@ GLIBC_2.4 pthread_create F GLIBC_2.4 pthread_detach F GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F -GLIBC_2.4 pthread_getspecific F GLIBC_2.4 pthread_join F GLIBC_2.4 pthread_key_delete F GLIBC_2.4 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index 873d6c3f22..3525e76e3c 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -155,9 +155,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F @@ -489,6 +491,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_getspecific F GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_once F GLIBC_2.4 __pthread_unwind_next F @@ -1548,6 +1551,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_getspecific F GLIBC_2.4 pthread_key_create F GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index d00e0e9258..d6612a1e9e 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_getspecific F GLIBC_2.4 __pthread_mutex_destroy F GLIBC_2.4 __pthread_mutex_init F GLIBC_2.4 __pthread_mutex_lock F @@ -119,7 +118,6 @@ GLIBC_2.4 pthread_create F GLIBC_2.4 pthread_detach F GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F -GLIBC_2.4 pthread_getspecific F GLIBC_2.4 pthread_join F GLIBC_2.4 pthread_key_delete F GLIBC_2.4 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index d9149b68cc..ec6b7f2755 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_getspecific F GLIBC_2.29 __pthread_key_create F GLIBC_2.29 __pthread_once F GLIBC_2.29 __pthread_unwind_next F @@ -1438,6 +1439,7 @@ 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_getspecific F GLIBC_2.29 pthread_key_create F GLIBC_2.29 pthread_mutex_consistent F GLIBC_2.29 pthread_mutex_consistent_np F @@ -2129,9 +2131,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create 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 e3721d98e6..78eb06a880 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_getspecific F GLIBC_2.29 __pthread_mutex_destroy F GLIBC_2.29 __pthread_mutex_init F GLIBC_2.29 __pthread_mutex_lock F @@ -98,7 +97,6 @@ GLIBC_2.29 pthread_getattr_default_np F GLIBC_2.29 pthread_getconcurrency F GLIBC_2.29 pthread_getcpuclockid F GLIBC_2.29 pthread_getname_np F -GLIBC_2.29 pthread_getspecific F GLIBC_2.29 pthread_join F GLIBC_2.29 pthread_key_delete F GLIBC_2.29 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 938fa14288..0ef57987cd 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_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F @@ -1273,6 +1274,7 @@ GLIBC_2.2 pthread_condattr_init F GLIBC_2.2 pthread_equal F GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F +GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2087,9 +2089,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index bf871d121b..cc98751c47 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -20,7 +20,6 @@ GLIBC_2.2 __lseek F GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F -GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_mutex_destroy F GLIBC_2.2 __pthread_mutex_init F GLIBC_2.2 __pthread_mutex_lock F @@ -85,7 +84,6 @@ GLIBC_2.2 pthread_create F GLIBC_2.2 pthread_detach F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F -GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_join F GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 425d1df5a3..fa7a28a5e3 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_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -866,6 +867,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2254,9 +2256,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index b186b3039b..6c0211a134 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -42,7 +41,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_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index c34b5a157d..078315ddda 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_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F @@ -1294,6 +1295,7 @@ GLIBC_2.2 pthread_condattr_init F GLIBC_2.2 pthread_equal F GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F +GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2119,9 +2121,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index b49b6ef57a..f18ff271c2 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -20,7 +20,6 @@ GLIBC_2.2 __lseek F GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F -GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_mutex_destroy F GLIBC_2.2 __pthread_mutex_init F GLIBC_2.2 __pthread_mutex_lock F @@ -85,7 +84,6 @@ GLIBC_2.2 pthread_create F GLIBC_2.2 pthread_detach F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F -GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_join F GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 56d55caed9..e297ce158e 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -159,9 +159,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F @@ -478,6 +480,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_getspecific F GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_once F GLIBC_2.4 __pthread_unwind_next F @@ -1531,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_getspecific F GLIBC_2.4 pthread_key_create F GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index d00e0e9258..d6612a1e9e 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_getspecific F GLIBC_2.4 __pthread_mutex_destroy F GLIBC_2.4 __pthread_mutex_init F GLIBC_2.4 __pthread_mutex_lock F @@ -119,7 +118,6 @@ GLIBC_2.4 pthread_create F GLIBC_2.4 pthread_detach F GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F -GLIBC_2.4 pthread_getspecific F GLIBC_2.4 pthread_join F GLIBC_2.4 pthread_key_delete F GLIBC_2.4 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index a3b3bf4f74..10c54ce3ab 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_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -865,6 +866,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2199,9 +2201,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index b186b3039b..6c0211a134 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -42,7 +41,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_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 75213c08d4..e6d033a29b 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_getspecific F GLIBC_2.18 __pthread_key_create F GLIBC_2.18 __pthread_once F GLIBC_2.18 __pthread_unwind_next F @@ -1453,6 +1454,7 @@ 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_getspecific F GLIBC_2.18 pthread_key_create F GLIBC_2.18 pthread_mutex_consistent F GLIBC_2.18 pthread_mutex_consistent_np F @@ -2180,9 +2182,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create 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 ca115fe783..4751a8e6c5 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_getspecific F GLIBC_2.18 __pthread_mutex_destroy F GLIBC_2.18 __pthread_mutex_init F GLIBC_2.18 __pthread_mutex_lock F @@ -87,7 +86,6 @@ GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_getconcurrency F GLIBC_2.18 pthread_getcpuclockid F GLIBC_2.18 pthread_getname_np F -GLIBC_2.18 pthread_getspecific F GLIBC_2.18 pthread_join F GLIBC_2.18 pthread_key_delete F GLIBC_2.18 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 014d53f893..448c257562 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_getspecific F GLIBC_2.18 __pthread_key_create F GLIBC_2.18 __pthread_once F GLIBC_2.18 __pthread_unwind_next F @@ -1453,6 +1454,7 @@ 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_getspecific F GLIBC_2.18 pthread_key_create F GLIBC_2.18 pthread_mutex_consistent F GLIBC_2.18 pthread_mutex_consistent_np F @@ -2177,9 +2179,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create 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 ca115fe783..4751a8e6c5 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_getspecific F GLIBC_2.18 __pthread_mutex_destroy F GLIBC_2.18 __pthread_mutex_init F GLIBC_2.18 __pthread_mutex_lock F @@ -87,7 +86,6 @@ GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_getconcurrency F GLIBC_2.18 pthread_getcpuclockid F GLIBC_2.18 pthread_getname_np F -GLIBC_2.18 pthread_getspecific F GLIBC_2.18 pthread_join F GLIBC_2.18 pthread_key_delete F GLIBC_2.18 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index 46c7716ee6..8f5df09289 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_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -862,6 +863,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2170,9 +2172,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 2b830751c8..ea9a850ba9 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -42,7 +41,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_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 5666362839..4d39526a30 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_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -862,6 +863,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2168,9 +2170,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 2b830751c8..ea9a850ba9 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -42,7 +41,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_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 97866f80c7..3cfb9e62db 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_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -862,6 +863,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2176,9 +2178,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index 3d9321f9e0..9b5cc5db4c 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_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x8 @@ -860,6 +861,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2170,9 +2172,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 3a0c0c5d8a..1335395b2f 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_getspecific F GLIBC_2.21 __pthread_key_create F GLIBC_2.21 __pthread_once F GLIBC_2.21 __pthread_unwind_next F @@ -1495,6 +1496,7 @@ 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_getspecific F GLIBC_2.21 pthread_key_create F GLIBC_2.21 pthread_mutex_consistent F GLIBC_2.21 pthread_mutex_consistent_np F @@ -2218,9 +2220,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create 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 06500b1865..e6354e8a80 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_getspecific F GLIBC_2.21 __pthread_mutex_destroy F GLIBC_2.21 __pthread_mutex_init F GLIBC_2.21 __pthread_mutex_lock F @@ -87,7 +86,6 @@ GLIBC_2.21 pthread_getattr_default_np F GLIBC_2.21 pthread_getconcurrency F GLIBC_2.21 pthread_getcpuclockid F GLIBC_2.21 pthread_getname_np F -GLIBC_2.21 pthread_getspecific F GLIBC_2.21 pthread_join F GLIBC_2.21 pthread_key_delete F GLIBC_2.21 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index c01a200e83..eb5f9814e8 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_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -873,6 +874,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2226,9 +2228,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index d36522b751..a56ee2d7ca 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -42,7 +41,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_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 3eced88f9f..b0372c3178 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_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -873,6 +874,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2259,9 +2261,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 35b689a767..aa4aadbbb4 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_getspecific F GLIBC_2.3 __pthread_key_create F GLIBC_2.3 __pthread_once F GLIBC_2.3 __pwrite64 F @@ -1380,6 +1381,7 @@ GLIBC_2.3 pthread_equal F GLIBC_2.3 pthread_exit F GLIBC_2.3 pthread_getattr_np F GLIBC_2.3 pthread_getschedparam F +GLIBC_2.3 pthread_getspecific F GLIBC_2.3 pthread_key_create F GLIBC_2.3 pthread_mutex_destroy F GLIBC_2.3 pthread_mutex_init F @@ -2089,9 +2091,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 2d24956efe..6b2c9bba60 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -41,7 +41,6 @@ GLIBC_2.3 __lseek F GLIBC_2.3 __open F GLIBC_2.3 __open64 F GLIBC_2.3 __pread64 F -GLIBC_2.3 __pthread_getspecific F GLIBC_2.3 __pthread_mutex_destroy F GLIBC_2.3 __pthread_mutex_init F GLIBC_2.3 __pthread_mutex_lock F @@ -105,7 +104,6 @@ GLIBC_2.3 pthread_create F GLIBC_2.3 pthread_detach F GLIBC_2.3 pthread_getconcurrency F GLIBC_2.3 pthread_getcpuclockid F -GLIBC_2.3 pthread_getspecific F GLIBC_2.3 pthread_join F GLIBC_2.3 pthread_key_delete F GLIBC_2.3 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index d54a37f8ad..045912572c 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_getspecific F GLIBC_2.17 __pthread_key_create F GLIBC_2.17 __pthread_once F GLIBC_2.17 __pthread_unwind_next F @@ -1539,6 +1540,7 @@ 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_getspecific F GLIBC_2.17 pthread_key_create F GLIBC_2.17 pthread_mutex_consistent F GLIBC_2.17 pthread_mutex_consistent_np F @@ -2380,9 +2382,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create 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 620915eca6..667e00551a 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_getspecific F GLIBC_2.17 __pthread_mutex_destroy F GLIBC_2.17 __pthread_mutex_init F GLIBC_2.17 __pthread_mutex_lock F @@ -86,7 +85,6 @@ GLIBC_2.17 pthread_detach F GLIBC_2.17 pthread_getconcurrency F GLIBC_2.17 pthread_getcpuclockid F GLIBC_2.17 pthread_getname_np F -GLIBC_2.17 pthread_getspecific F GLIBC_2.17 pthread_join F GLIBC_2.17 pthread_key_delete F GLIBC_2.17 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index e82a4a7a90..5ef9b35b6d 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_getspecific F GLIBC_2.33 __pthread_key_create F GLIBC_2.33 __pthread_once F GLIBC_2.33 __pthread_unwind_next F @@ -1379,6 +1380,7 @@ 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_getspecific F GLIBC_2.33 pthread_key_create F GLIBC_2.33 pthread_mutex_consistent F GLIBC_2.33 pthread_mutex_consistent_np F @@ -1947,9 +1949,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create 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 c2dd7f8dee..5665726bbb 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_getspecific F GLIBC_2.33 __pthread_mutex_destroy F GLIBC_2.33 __pthread_mutex_init F GLIBC_2.33 __pthread_mutex_lock F @@ -100,7 +99,6 @@ GLIBC_2.33 pthread_getattr_default_np F GLIBC_2.33 pthread_getconcurrency F GLIBC_2.33 pthread_getcpuclockid F GLIBC_2.33 pthread_getname_np F -GLIBC_2.33 pthread_getspecific F GLIBC_2.33 pthread_join F GLIBC_2.33 pthread_key_delete F GLIBC_2.33 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 0c81f1a72c..7f7385d87c 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_getspecific F GLIBC_2.27 __pthread_key_create F GLIBC_2.27 __pthread_once F GLIBC_2.27 __pthread_unwind_next F @@ -1441,6 +1442,7 @@ 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_getspecific F GLIBC_2.27 pthread_key_create F GLIBC_2.27 pthread_mutex_consistent F GLIBC_2.27 pthread_mutex_consistent_np F @@ -2147,9 +2149,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create 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 d53306f3cb..5abf715b3b 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_getspecific F GLIBC_2.27 __pthread_mutex_destroy F GLIBC_2.27 __pthread_mutex_init F GLIBC_2.27 __pthread_mutex_lock F @@ -87,7 +86,6 @@ GLIBC_2.27 pthread_getattr_default_np F GLIBC_2.27 pthread_getconcurrency F GLIBC_2.27 pthread_getcpuclockid F GLIBC_2.27 pthread_getname_np F -GLIBC_2.27 pthread_getspecific F GLIBC_2.27 pthread_join F GLIBC_2.27 pthread_key_delete F GLIBC_2.27 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index ca08d2f3f5..c062cbcde7 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_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -864,6 +865,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2224,9 +2226,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index accbf2be59..bfeb7b715f 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -42,7 +41,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_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 061e0c6ffa..cfc797c7fb 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_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F @@ -1291,6 +1292,7 @@ GLIBC_2.2 pthread_condattr_init F GLIBC_2.2 pthread_equal F GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F +GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2125,9 +2127,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index 9d6d87494a..3de726cb37 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -21,7 +21,6 @@ GLIBC_2.2 __lseek F GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F -GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_mutex_destroy F GLIBC_2.2 __pthread_mutex_init F GLIBC_2.2 __pthread_mutex_lock F @@ -86,7 +85,6 @@ GLIBC_2.2 pthread_create F GLIBC_2.2 pthread_detach F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F -GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_join F GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index d102c24997..08db66df29 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_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F @@ -1277,6 +1278,7 @@ GLIBC_2.2 pthread_condattr_init F GLIBC_2.2 pthread_equal F GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F +GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2094,9 +2096,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index bf871d121b..cc98751c47 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -20,7 +20,6 @@ GLIBC_2.2 __lseek F GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F -GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_mutex_destroy F GLIBC_2.2 __pthread_mutex_init F GLIBC_2.2 __pthread_mutex_lock F @@ -85,7 +84,6 @@ GLIBC_2.2 pthread_create F GLIBC_2.2 pthread_detach F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F -GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_join F GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 3ed1b31c84..10b8352efb 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_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F @@ -1277,6 +1278,7 @@ GLIBC_2.2 pthread_condattr_init F GLIBC_2.2 pthread_equal F GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F +GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2091,9 +2093,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index bf871d121b..cc98751c47 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -20,7 +20,6 @@ GLIBC_2.2 __lseek F GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F -GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_mutex_destroy F GLIBC_2.2 __pthread_mutex_init F GLIBC_2.2 __pthread_mutex_lock F @@ -85,7 +84,6 @@ GLIBC_2.2 pthread_create F GLIBC_2.2 pthread_detach F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F -GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_join F GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 78f69c96ab..dce478788e 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_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -867,6 +868,7 @@ GLIBC_2.0 pthread_condattr_init F GLIBC_2.0 pthread_equal F GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F +GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2215,9 +2217,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 85a6f26e5d..66f17908e0 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -8,7 +8,6 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_mutex_destroy F GLIBC_2.0 __pthread_mutex_init F GLIBC_2.0 __pthread_mutex_lock F @@ -42,7 +41,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_getspecific F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 49d6360768..1dc6c45074 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_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F GLIBC_2.2 __pwrite64 F @@ -1320,6 +1321,7 @@ GLIBC_2.2 pthread_condattr_init F GLIBC_2.2 pthread_equal F GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F +GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_key_create F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2142,9 +2144,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index b49b6ef57a..f18ff271c2 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -20,7 +20,6 @@ GLIBC_2.2 __lseek F GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F -GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_mutex_destroy F GLIBC_2.2 __pthread_mutex_init F GLIBC_2.2 __pthread_mutex_lock F @@ -85,7 +84,6 @@ GLIBC_2.2 pthread_create F GLIBC_2.2 pthread_detach F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F -GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_join F GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index c795ffb505..e74d5c43c6 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_getspecific F GLIBC_2.2.5 __pthread_key_create F GLIBC_2.2.5 __pthread_once F GLIBC_2.2.5 __pwrite64 F @@ -1288,6 +1289,7 @@ GLIBC_2.2.5 pthread_equal F GLIBC_2.2.5 pthread_exit F GLIBC_2.2.5 pthread_getattr_np F GLIBC_2.2.5 pthread_getschedparam F +GLIBC_2.2.5 pthread_getspecific F GLIBC_2.2.5 pthread_key_create F GLIBC_2.2.5 pthread_mutex_destroy F GLIBC_2.2.5 pthread_mutex_init F @@ -2101,9 +2103,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index 0408564253..5ea8f8020b 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -20,7 +20,6 @@ GLIBC_2.2.5 __lseek F GLIBC_2.2.5 __open F GLIBC_2.2.5 __open64 F GLIBC_2.2.5 __pread64 F -GLIBC_2.2.5 __pthread_getspecific F GLIBC_2.2.5 __pthread_mutex_destroy F GLIBC_2.2.5 __pthread_mutex_init F GLIBC_2.2.5 __pthread_mutex_lock F @@ -85,7 +84,6 @@ GLIBC_2.2.5 pthread_create F GLIBC_2.2.5 pthread_detach F GLIBC_2.2.5 pthread_getconcurrency F GLIBC_2.2.5 pthread_getcpuclockid F -GLIBC_2.2.5 pthread_getspecific F GLIBC_2.2.5 pthread_join F GLIBC_2.2.5 pthread_key_delete F GLIBC_2.2.5 pthread_kill F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index 74ccdc4905..007dd401d3 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_getspecific F GLIBC_2.16 __pthread_key_create F GLIBC_2.16 __pthread_once F GLIBC_2.16 __pthread_unwind_next F @@ -1458,6 +1459,7 @@ 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_getspecific F GLIBC_2.16 pthread_key_create F GLIBC_2.16 pthread_mutex_consistent F GLIBC_2.16 pthread_mutex_consistent_np F @@ -2199,9 +2201,11 @@ 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_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create 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 79ab1b8cef..6e3cb18549 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_getspecific F GLIBC_2.16 __pthread_mutex_destroy F GLIBC_2.16 __pthread_mutex_init F GLIBC_2.16 __pthread_mutex_lock F @@ -86,7 +85,6 @@ GLIBC_2.16 pthread_detach F GLIBC_2.16 pthread_getconcurrency F GLIBC_2.16 pthread_getcpuclockid F GLIBC_2.16 pthread_getname_np F -GLIBC_2.16 pthread_getspecific F GLIBC_2.16 pthread_join F GLIBC_2.16 pthread_key_delete F GLIBC_2.16 pthread_kill F From patchwork Tue Mar 16 17:30:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42617 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 248853864877; Tue, 16 Mar 2021 17:30:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 248853864877 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915858; bh=ULD0nLVdlHJzk1VFAV1OWYD+C5abP+4WsTj3AZ5w4pQ=; 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=QenyATXQ47sVCcEATkWpJWcGcJMmoivyY2lg3LmZBaIqFLZkGYdX6ZvkdlA1tXFk4 msdXRTd32WxsqcZeae8SqW5U3BKpNNu5gbz7LnVZpxRbR6LjF5rAh5fQ0dj2DVZOC5 3IUo95oYYxh5hfudut5bKeA3XtIVhGSmOxKpbtn8= 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 30ADF3864877 for ; Tue, 16 Mar 2021 17:30:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 30ADF3864877 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-530-3peNEtoQMYyNzvlywMAOfA-1; Tue, 16 Mar 2021 13:30:47 -0400 X-MC-Unique: 3peNEtoQMYyNzvlywMAOfA-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 46B9A107F28C for ; Tue, 16 Mar 2021 17:30:46 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7951F60C0F for ; Tue, 16 Mar 2021 17:30:44 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 26/37] nptl: Move pthread_setspecific, __pthread_setspecific into libc In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:30:52 +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=-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" The symbols have been moved using scripts/move-symbol-to-libc.py. --- nptl/Makefile | 2 +- nptl/Versions | 6 +++-- nptl/nptl-init.c | 1 - nptl/pthreadP.h | 2 +- nptl/pthread_setspecific.c | 22 +++++++++++++++---- sysdeps/nptl/libc-lockP.h | 2 -- 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 -- 68 files changed, 152 insertions(+), 70 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index c66e4dccab..fa8bcf8c62 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -87,6 +87,7 @@ routines = \ pthread_setcancelstate \ pthread_setcanceltype \ pthread_setschedparam \ + pthread_setspecific \ pthread_sigmask \ unwind \ @@ -208,7 +209,6 @@ libpthread-routines = \ pthread_setconcurrency \ pthread_setname \ pthread_setschedprio \ - pthread_setspecific \ pthread_sigqueue \ pthread_spin_destroy \ pthread_spin_init \ diff --git a/nptl/Versions b/nptl/Versions index 218d6bbbf8..58a37b8816 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -3,6 +3,7 @@ libc { __pthread_getspecific; __pthread_key_create; __pthread_once; + __pthread_setspecific; _pthread_cleanup_pop; _pthread_cleanup_pop_restore; _pthread_cleanup_push; @@ -41,6 +42,7 @@ libc { pthread_setcancelstate; pthread_setcanceltype; pthread_setschedparam; + pthread_setspecific; pthread_sigmask; } GLIBC_2.1 { @@ -93,10 +95,12 @@ libc { __pthread_getspecific; __pthread_key_create; __pthread_once; + __pthread_setspecific; pthread_getspecific; pthread_key_create; pthread_mutex_consistent; pthread_once; + pthread_setspecific; } GLIBC_PRIVATE { __futex_abstimed_wait64; @@ -158,7 +162,6 @@ libpthread { __pthread_mutexattr_destroy; __pthread_mutexattr_init; __pthread_mutexattr_settype; - __pthread_setspecific; __read; __send; __sigaction; @@ -197,7 +200,6 @@ libpthread { pthread_mutexattr_getkind_np; pthread_mutexattr_init; pthread_mutexattr_setkind_np; - pthread_setspecific; pthread_sigmask; pthread_testcancel; raise; diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 5be58fc966..cacbf045a7 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -70,7 +70,6 @@ static const struct pthread_functions pthread_functions = .ptr___pthread_rwlock_rdlock = __pthread_rwlock_rdlock, .ptr___pthread_rwlock_wrlock = __pthread_rwlock_wrlock, .ptr___pthread_rwlock_unlock = __pthread_rwlock_unlock, - .ptr___pthread_setspecific = __pthread_setspecific, .ptr__nptl_setxid = __nptl_setxid, }; # define ptr_pthread_functions &pthread_functions diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 1d69a0f617..c9e845e4a2 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -520,6 +520,7 @@ extern int __pthread_key_delete (pthread_key_t key); extern void *__pthread_getspecific (pthread_key_t key); libc_hidden_proto (__pthread_getspecific) extern int __pthread_setspecific (pthread_key_t key, const void *value); +libc_hidden_proto (__pthread_setspecific) extern int __pthread_once (pthread_once_t *once_control, void (*init_routine) (void)); libc_hidden_proto (__pthread_once) @@ -554,7 +555,6 @@ hidden_proto (__pthread_mutex_unlock) hidden_proto (__pthread_rwlock_rdlock) hidden_proto (__pthread_rwlock_wrlock) hidden_proto (__pthread_rwlock_unlock) -hidden_proto (__pthread_setspecific) hidden_proto (__pthread_testcancel) hidden_proto (__pthread_mutexattr_init) hidden_proto (__pthread_mutexattr_settype) diff --git a/nptl/pthread_setspecific.c b/nptl/pthread_setspecific.c index a6e84cd001..892a4307e7 100644 --- a/nptl/pthread_setspecific.c +++ b/nptl/pthread_setspecific.c @@ -19,10 +19,10 @@ #include #include #include "pthreadP.h" - +#include int -__pthread_setspecific (pthread_key_t key, const void *value) +__pthread_setspecific_1 (pthread_key_t key, const void *value) { struct pthread *self; unsigned int idx1st; @@ -89,5 +89,19 @@ __pthread_setspecific (pthread_key_t key, const void *value) return 0; } -weak_alias (__pthread_setspecific, pthread_setspecific) -hidden_def (__pthread_setspecific) +versioned_symbol (libc, __pthread_setspecific_1, __pthread_setspecific, + GLIBC_2_34); +libc_hidden_ver (__pthread_setspecific_1, __pthread_setspecific) + +/* Several aliases for setting different symbol versions. */ +strong_alias (__pthread_setspecific_1, __pthread_setspecific_2) +strong_alias (__pthread_setspecific_1, __pthread_setspecific_3) +strong_alias (__pthread_setspecific_1, __pthread_setspecific_4) + +versioned_symbol (libc, __pthread_setspecific_2, pthread_setspecific, + GLIBC_2_34); +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libc, __pthread_setspecific_3, + __pthread_setspecific, GLIBC_2_0); +compat_symbol (libc, __pthread_setspecific_4, pthread_setspecific, GLIBC_2_0); +#endif diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h index bf92a035f8..10a24568a9 100644 --- a/sysdeps/nptl/libc-lockP.h +++ b/sysdeps/nptl/libc-lockP.h @@ -338,7 +338,6 @@ weak_extern (__pthread_rwlock_tryrdlock) weak_extern (__pthread_rwlock_wrlock) weak_extern (__pthread_rwlock_trywrlock) weak_extern (__pthread_rwlock_unlock) -weak_extern (__pthread_setspecific) weak_extern (__pthread_initialize) weak_extern (__pthread_atfork) # else @@ -356,7 +355,6 @@ weak_extern (__pthread_atfork) # pragma weak __pthread_rwlock_wrlock # pragma weak __pthread_rwlock_trywrlock # pragma weak __pthread_rwlock_unlock -# pragma weak __pthread_setspecific # pragma weak __pthread_initialize # pragma weak __pthread_atfork # endif diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 4b4816b873..2d89013ff5 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -49,7 +49,6 @@ struct pthread_functions int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_unlock) (pthread_rwlock_t *); - int (*ptr___pthread_setspecific) (pthread_key_t, const void *); int (*ptr__nptl_setxid) (struct xid_command *); }; diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index ae0e7a313e..2601be32bf 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -342,6 +342,7 @@ GLIBC_2.17 __pthread_cleanup_routine F GLIBC_2.17 __pthread_getspecific F GLIBC_2.17 __pthread_key_create F GLIBC_2.17 __pthread_once F +GLIBC_2.17 __pthread_setspecific F GLIBC_2.17 __pthread_unwind_next F GLIBC_2.17 __ptsname_r_chk F GLIBC_2.17 __pwrite64 F @@ -1464,6 +1465,7 @@ GLIBC_2.17 pthread_self F GLIBC_2.17 pthread_setcancelstate F GLIBC_2.17 pthread_setcanceltype F GLIBC_2.17 pthread_setschedparam F +GLIBC_2.17 pthread_setspecific F GLIBC_2.17 pthread_sigmask F GLIBC_2.17 ptrace F GLIBC_2.17 ptsname F @@ -2190,8 +2192,10 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 667e00551a..778eb45ffc 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -30,7 +30,6 @@ GLIBC_2.17 __pthread_rwlock_tryrdlock F GLIBC_2.17 __pthread_rwlock_trywrlock F GLIBC_2.17 __pthread_rwlock_unlock F 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 __pwrite64 F @@ -132,7 +131,6 @@ GLIBC_2.17 pthread_setaffinity_np F GLIBC_2.17 pthread_setconcurrency F GLIBC_2.17 pthread_setname_np F GLIBC_2.17 pthread_setschedprio F -GLIBC_2.17 pthread_setspecific F GLIBC_2.17 pthread_sigqueue F GLIBC_2.17 pthread_spin_destroy F GLIBC_2.17 pthread_spin_init F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index d27a8d9ad4..d334d0759d 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -191,6 +191,7 @@ GLIBC_2.0 __progname_full D 0x8 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F +GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __rcmd_errstr D 0x8 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x8 @@ -901,6 +902,7 @@ GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setschedparam F +GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_sigmask F GLIBC_2.0 ptrace F GLIBC_2.0 putc F @@ -2271,11 +2273,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 66f17908e0..8ccbe19154 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -16,7 +16,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_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F @@ -54,7 +53,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_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F GLIBC_2.0 read F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index f740f0d40a..49034a2bdd 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -331,6 +331,7 @@ GLIBC_2.32 __pthread_cleanup_routine F GLIBC_2.32 __pthread_getspecific F GLIBC_2.32 __pthread_key_create F GLIBC_2.32 __pthread_once F +GLIBC_2.32 __pthread_setspecific F GLIBC_2.32 __pthread_unwind_next F GLIBC_2.32 __ptsname_r_chk F GLIBC_2.32 __pwrite64 F @@ -1391,6 +1392,7 @@ GLIBC_2.32 pthread_self F GLIBC_2.32 pthread_setcancelstate F GLIBC_2.32 pthread_setcanceltype F GLIBC_2.32 pthread_setschedparam F +GLIBC_2.32 pthread_setspecific F GLIBC_2.32 pthread_sigmask F GLIBC_2.32 ptrace F GLIBC_2.32 ptsname F @@ -1950,8 +1952,10 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index 977e964a47..fba129cfad 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -29,7 +29,6 @@ GLIBC_2.32 __pthread_rwlock_tryrdlock F GLIBC_2.32 __pthread_rwlock_trywrlock F GLIBC_2.32 __pthread_rwlock_unlock F 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 __pwrite64 F @@ -150,7 +149,6 @@ GLIBC_2.32 pthread_setattr_default_np F GLIBC_2.32 pthread_setconcurrency F GLIBC_2.32 pthread_setname_np F GLIBC_2.32 pthread_setschedprio F -GLIBC_2.32 pthread_setspecific F GLIBC_2.32 pthread_sigqueue F GLIBC_2.32 pthread_spin_destroy F GLIBC_2.32 pthread_spin_init F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 60baeff299..3727e33898 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -161,11 +161,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0xa0 GLIBC_2.4 _IO_2_1_stdin_ D 0xa0 @@ -497,6 +499,7 @@ GLIBC_2.4 __pthread_cleanup_routine F GLIBC_2.4 __pthread_getspecific F GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_once F +GLIBC_2.4 __pthread_setspecific F GLIBC_2.4 __pthread_unwind_next F GLIBC_2.4 __ptsname_r_chk F GLIBC_2.4 __pwrite64 F @@ -1566,6 +1569,7 @@ GLIBC_2.4 pthread_self F GLIBC_2.4 pthread_setcancelstate F GLIBC_2.4 pthread_setcanceltype F GLIBC_2.4 pthread_setschedparam F +GLIBC_2.4 pthread_setspecific F GLIBC_2.4 pthread_sigmask F GLIBC_2.4 ptrace F GLIBC_2.4 ptsname F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index d6612a1e9e..2cb1f0e2f5 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -64,7 +64,6 @@ GLIBC_2.4 __pthread_rwlock_tryrdlock F GLIBC_2.4 __pthread_rwlock_trywrlock F GLIBC_2.4 __pthread_rwlock_unlock F 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 __pwrite64 F @@ -162,7 +161,6 @@ GLIBC_2.4 pthread_rwlockattr_setpshared F GLIBC_2.4 pthread_setaffinity_np F GLIBC_2.4 pthread_setconcurrency F GLIBC_2.4 pthread_setschedprio F -GLIBC_2.4 pthread_setspecific F GLIBC_2.4 pthread_spin_destroy F GLIBC_2.4 pthread_spin_init F GLIBC_2.4 pthread_spin_lock F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index 3525e76e3c..a7bc3a9a8e 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -158,11 +158,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0xa0 GLIBC_2.4 _IO_2_1_stdin_ D 0xa0 @@ -494,6 +496,7 @@ GLIBC_2.4 __pthread_cleanup_routine F GLIBC_2.4 __pthread_getspecific F GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_once F +GLIBC_2.4 __pthread_setspecific F GLIBC_2.4 __pthread_unwind_next F GLIBC_2.4 __ptsname_r_chk F GLIBC_2.4 __pwrite64 F @@ -1563,6 +1566,7 @@ GLIBC_2.4 pthread_self F GLIBC_2.4 pthread_setcancelstate F GLIBC_2.4 pthread_setcanceltype F GLIBC_2.4 pthread_setschedparam F +GLIBC_2.4 pthread_setspecific F GLIBC_2.4 pthread_sigmask F GLIBC_2.4 ptrace F GLIBC_2.4 ptsname F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index d6612a1e9e..2cb1f0e2f5 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -64,7 +64,6 @@ GLIBC_2.4 __pthread_rwlock_tryrdlock F GLIBC_2.4 __pthread_rwlock_trywrlock F GLIBC_2.4 __pthread_rwlock_unlock F 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 __pwrite64 F @@ -162,7 +161,6 @@ GLIBC_2.4 pthread_rwlockattr_setpshared F GLIBC_2.4 pthread_setaffinity_np F GLIBC_2.4 pthread_setconcurrency F GLIBC_2.4 pthread_setschedprio F -GLIBC_2.4 pthread_setspecific F GLIBC_2.4 pthread_spin_destroy F GLIBC_2.4 pthread_spin_init F GLIBC_2.4 pthread_spin_lock F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index ec6b7f2755..61de7117bd 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -335,6 +335,7 @@ GLIBC_2.29 __pthread_cleanup_routine F GLIBC_2.29 __pthread_getspecific F GLIBC_2.29 __pthread_key_create F GLIBC_2.29 __pthread_once F +GLIBC_2.29 __pthread_setspecific F GLIBC_2.29 __pthread_unwind_next F GLIBC_2.29 __ptsname_r_chk F GLIBC_2.29 __pwrite64 F @@ -1452,6 +1453,7 @@ GLIBC_2.29 pthread_self F GLIBC_2.29 pthread_setcancelstate F GLIBC_2.29 pthread_setcanceltype F GLIBC_2.29 pthread_setschedparam F +GLIBC_2.29 pthread_setspecific F GLIBC_2.29 pthread_sigmask F GLIBC_2.29 ptrace F GLIBC_2.29 ptsname F @@ -2134,8 +2136,10 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index 78eb06a880..760740a4ed 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -29,7 +29,6 @@ GLIBC_2.29 __pthread_rwlock_tryrdlock F GLIBC_2.29 __pthread_rwlock_trywrlock F GLIBC_2.29 __pthread_rwlock_unlock F 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 __pwrite64 F @@ -145,7 +144,6 @@ GLIBC_2.29 pthread_setattr_default_np F GLIBC_2.29 pthread_setconcurrency F GLIBC_2.29 pthread_setname_np F GLIBC_2.29 pthread_setschedprio F -GLIBC_2.29 pthread_setspecific F GLIBC_2.29 pthread_sigqueue F GLIBC_2.29 pthread_spin_destroy F GLIBC_2.29 pthread_spin_init F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 0ef57987cd..c380a422ca 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -359,6 +359,7 @@ GLIBC_2.2 __progname_full D 0x4 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F +GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __rcmd_errstr D 0x4 @@ -1285,6 +1286,7 @@ GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setschedparam F +GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_sigmask F GLIBC_2.2 ptrace F GLIBC_2.2 ptsname F @@ -2092,11 +2094,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 cc98751c47..c24d832b13 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -35,7 +35,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __read F GLIBC_2.2 __res_state F @@ -118,7 +117,6 @@ 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_setconcurrency F -GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_spin_destroy F GLIBC_2.2 pthread_spin_init F GLIBC_2.2 pthread_spin_lock F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index fa7a28a5e3..dd10b08625 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -188,6 +188,7 @@ GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F +GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -878,6 +879,7 @@ GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setschedparam F +GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_sigmask F GLIBC_2.0 ptrace F GLIBC_2.0 putc F @@ -2259,11 +2261,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 6c0211a134..6b644a2513 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -16,7 +16,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_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F @@ -54,7 +53,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_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F GLIBC_2.0 read F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 078315ddda..fe64b5c1f0 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -363,6 +363,7 @@ GLIBC_2.2 __progname_full D 0x8 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F +GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __rcmd_errstr D 0x8 @@ -1306,6 +1307,7 @@ GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setschedparam F +GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_sigmask F GLIBC_2.2 ptrace F GLIBC_2.2 ptsname F @@ -2124,11 +2126,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 f18ff271c2..1669fb860d 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -35,7 +35,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __read F GLIBC_2.2 __res_state F @@ -118,7 +117,6 @@ 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_setconcurrency F -GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_spin_destroy F GLIBC_2.2 pthread_spin_init F GLIBC_2.2 pthread_spin_lock F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index e297ce158e..1af30ff1b3 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -162,11 +162,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0x98 GLIBC_2.4 _IO_2_1_stdin_ D 0x98 @@ -483,6 +485,7 @@ GLIBC_2.4 __pthread_cleanup_routine F GLIBC_2.4 __pthread_getspecific F GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_once F +GLIBC_2.4 __pthread_setspecific F GLIBC_2.4 __pthread_unwind_next F GLIBC_2.4 __ptsname_r_chk F GLIBC_2.4 __pwrite64 F @@ -1546,6 +1549,7 @@ GLIBC_2.4 pthread_self F GLIBC_2.4 pthread_setcancelstate F GLIBC_2.4 pthread_setcanceltype F GLIBC_2.4 pthread_setschedparam F +GLIBC_2.4 pthread_setspecific F GLIBC_2.4 pthread_sigmask F GLIBC_2.4 ptrace F GLIBC_2.4 ptsname F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index d6612a1e9e..2cb1f0e2f5 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -64,7 +64,6 @@ GLIBC_2.4 __pthread_rwlock_tryrdlock F GLIBC_2.4 __pthread_rwlock_trywrlock F GLIBC_2.4 __pthread_rwlock_unlock F 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 __pwrite64 F @@ -162,7 +161,6 @@ GLIBC_2.4 pthread_rwlockattr_setpshared F GLIBC_2.4 pthread_setaffinity_np F GLIBC_2.4 pthread_setconcurrency F GLIBC_2.4 pthread_setschedprio F -GLIBC_2.4 pthread_setspecific F GLIBC_2.4 pthread_spin_destroy F GLIBC_2.4 pthread_spin_init F GLIBC_2.4 pthread_spin_lock F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 10c54ce3ab..372bb9db63 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -188,6 +188,7 @@ GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F +GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -877,6 +878,7 @@ GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setschedparam F +GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_sigmask F GLIBC_2.0 ptrace F GLIBC_2.0 putc F @@ -2204,11 +2206,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 6c0211a134..6b644a2513 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -16,7 +16,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_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F @@ -54,7 +53,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_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F GLIBC_2.0 read F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index e6d033a29b..7b1b02ff24 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -343,6 +343,7 @@ GLIBC_2.18 __pthread_cleanup_routine F GLIBC_2.18 __pthread_getspecific F GLIBC_2.18 __pthread_key_create F GLIBC_2.18 __pthread_once F +GLIBC_2.18 __pthread_setspecific F GLIBC_2.18 __pthread_unwind_next F GLIBC_2.18 __ptsname_r_chk F GLIBC_2.18 __pwrite64 F @@ -1467,6 +1468,7 @@ GLIBC_2.18 pthread_self F GLIBC_2.18 pthread_setcancelstate F GLIBC_2.18 pthread_setcanceltype F GLIBC_2.18 pthread_setschedparam F +GLIBC_2.18 pthread_setspecific F GLIBC_2.18 pthread_sigmask F GLIBC_2.18 ptrace F GLIBC_2.18 ptsname F @@ -2185,8 +2187,10 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 4751a8e6c5..64e0587af6 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -30,7 +30,6 @@ GLIBC_2.18 __pthread_rwlock_tryrdlock F GLIBC_2.18 __pthread_rwlock_trywrlock F GLIBC_2.18 __pthread_rwlock_unlock F 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 __pwrite64 F @@ -134,7 +133,6 @@ GLIBC_2.18 pthread_setattr_default_np F GLIBC_2.18 pthread_setconcurrency F GLIBC_2.18 pthread_setname_np F GLIBC_2.18 pthread_setschedprio F -GLIBC_2.18 pthread_setspecific F GLIBC_2.18 pthread_sigqueue F GLIBC_2.18 pthread_spin_destroy F GLIBC_2.18 pthread_spin_init F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 448c257562..07ec814a0d 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -343,6 +343,7 @@ GLIBC_2.18 __pthread_cleanup_routine F GLIBC_2.18 __pthread_getspecific F GLIBC_2.18 __pthread_key_create F GLIBC_2.18 __pthread_once F +GLIBC_2.18 __pthread_setspecific F GLIBC_2.18 __pthread_unwind_next F GLIBC_2.18 __ptsname_r_chk F GLIBC_2.18 __pwrite64 F @@ -1467,6 +1468,7 @@ GLIBC_2.18 pthread_self F GLIBC_2.18 pthread_setcancelstate F GLIBC_2.18 pthread_setcanceltype F GLIBC_2.18 pthread_setschedparam F +GLIBC_2.18 pthread_setspecific F GLIBC_2.18 pthread_sigmask F GLIBC_2.18 ptrace F GLIBC_2.18 ptsname F @@ -2182,8 +2184,10 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 4751a8e6c5..64e0587af6 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -30,7 +30,6 @@ GLIBC_2.18 __pthread_rwlock_tryrdlock F GLIBC_2.18 __pthread_rwlock_trywrlock F GLIBC_2.18 __pthread_rwlock_unlock F 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 __pwrite64 F @@ -134,7 +133,6 @@ GLIBC_2.18 pthread_setattr_default_np F GLIBC_2.18 pthread_setconcurrency F GLIBC_2.18 pthread_setname_np F GLIBC_2.18 pthread_setschedprio F -GLIBC_2.18 pthread_setspecific F GLIBC_2.18 pthread_sigqueue F GLIBC_2.18 pthread_spin_destroy F GLIBC_2.18 pthread_spin_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 8f5df09289..51253a4216 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -186,6 +186,7 @@ GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F +GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -874,6 +875,7 @@ GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setschedparam F +GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_sigmask F GLIBC_2.0 ptrace F GLIBC_2.0 putc F @@ -2175,11 +2177,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 ea9a850ba9..1118a25c82 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -16,7 +16,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_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F @@ -54,7 +53,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_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F GLIBC_2.0 read F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 4d39526a30..2574b7627e 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -186,6 +186,7 @@ GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F +GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -874,6 +875,7 @@ GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setschedparam F +GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_sigmask F GLIBC_2.0 ptrace F GLIBC_2.0 putc F @@ -2173,11 +2175,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 ea9a850ba9..1118a25c82 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -16,7 +16,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_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F @@ -54,7 +53,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_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F GLIBC_2.0 read F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 3cfb9e62db..0580b260e2 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -186,6 +186,7 @@ GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F +GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -874,6 +875,7 @@ GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setschedparam F +GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_sigmask F GLIBC_2.0 ptrace F GLIBC_2.0 putc F @@ -2181,11 +2183,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 9b5cc5db4c..40fe64ea6b 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -186,6 +186,7 @@ GLIBC_2.0 __progname_full D 0x8 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F +GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __rcmd_errstr D 0x8 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x8 @@ -872,6 +873,7 @@ GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setschedparam F +GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_sigmask F GLIBC_2.0 ptrace F GLIBC_2.0 putc F @@ -2175,11 +2177,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 1335395b2f..b9400803eb 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -380,6 +380,7 @@ GLIBC_2.21 __pthread_cleanup_routine F GLIBC_2.21 __pthread_getspecific F GLIBC_2.21 __pthread_key_create F GLIBC_2.21 __pthread_once F +GLIBC_2.21 __pthread_setspecific F GLIBC_2.21 __pthread_unwind_next F GLIBC_2.21 __ptsname_r_chk F GLIBC_2.21 __pwrite64 F @@ -1509,6 +1510,7 @@ GLIBC_2.21 pthread_self F GLIBC_2.21 pthread_setcancelstate F GLIBC_2.21 pthread_setcanceltype F GLIBC_2.21 pthread_setschedparam F +GLIBC_2.21 pthread_setspecific F GLIBC_2.21 pthread_sigmask F GLIBC_2.21 ptrace F GLIBC_2.21 ptsname F @@ -2223,8 +2225,10 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index e6354e8a80..96d1cd0f49 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -30,7 +30,6 @@ GLIBC_2.21 __pthread_rwlock_tryrdlock F GLIBC_2.21 __pthread_rwlock_trywrlock F GLIBC_2.21 __pthread_rwlock_unlock F 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 __pwrite64 F @@ -134,7 +133,6 @@ GLIBC_2.21 pthread_setattr_default_np F GLIBC_2.21 pthread_setconcurrency F GLIBC_2.21 pthread_setname_np F GLIBC_2.21 pthread_setschedprio F -GLIBC_2.21 pthread_setspecific F GLIBC_2.21 pthread_sigqueue F GLIBC_2.21 pthread_spin_destroy F GLIBC_2.21 pthread_spin_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 eb5f9814e8..9f27e4aa50 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -197,6 +197,7 @@ GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F +GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -885,6 +886,7 @@ GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setschedparam F +GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_sigmask F GLIBC_2.0 ptrace F GLIBC_2.0 putc F @@ -2231,11 +2233,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 a56ee2d7ca..a8111f4b92 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -16,7 +16,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_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F @@ -54,7 +53,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_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F GLIBC_2.0 read F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index b0372c3178..9c91e65fc1 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -197,6 +197,7 @@ GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F +GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -885,6 +886,7 @@ GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setschedparam F +GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_sigmask F GLIBC_2.0 ptrace F GLIBC_2.0 putc F @@ -2264,11 +2266,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 aa4aadbbb4..0ef070e285 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -412,6 +412,7 @@ GLIBC_2.3 __progname_full D 0x8 GLIBC_2.3 __pthread_getspecific F GLIBC_2.3 __pthread_key_create F GLIBC_2.3 __pthread_once F +GLIBC_2.3 __pthread_setspecific F GLIBC_2.3 __pwrite64 F GLIBC_2.3 __rawmemchr F GLIBC_2.3 __rcmd_errstr D 0x8 @@ -1392,6 +1393,7 @@ GLIBC_2.3 pthread_self F GLIBC_2.3 pthread_setcancelstate F GLIBC_2.3 pthread_setcanceltype F GLIBC_2.3 pthread_setschedparam F +GLIBC_2.3 pthread_setspecific F GLIBC_2.3 pthread_sigmask F GLIBC_2.3 ptrace F GLIBC_2.3 ptsname F @@ -2094,11 +2096,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 6b2c9bba60..a0f5dffd25 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -56,7 +56,6 @@ GLIBC_2.3 __pthread_rwlock_tryrdlock F GLIBC_2.3 __pthread_rwlock_trywrlock F GLIBC_2.3 __pthread_rwlock_unlock F GLIBC_2.3 __pthread_rwlock_wrlock F -GLIBC_2.3 __pthread_setspecific F GLIBC_2.3 __pwrite64 F GLIBC_2.3 __read F GLIBC_2.3 __res_state F @@ -138,7 +137,6 @@ 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_setconcurrency F -GLIBC_2.3 pthread_setspecific F GLIBC_2.3 pthread_spin_destroy F GLIBC_2.3 pthread_spin_init F GLIBC_2.3 pthread_spin_lock F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 045912572c..4a6de68ece 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -428,6 +428,7 @@ GLIBC_2.17 __pthread_cleanup_routine F GLIBC_2.17 __pthread_getspecific F GLIBC_2.17 __pthread_key_create F GLIBC_2.17 __pthread_once F +GLIBC_2.17 __pthread_setspecific F GLIBC_2.17 __pthread_unwind_next F GLIBC_2.17 __ptsname_r_chk F GLIBC_2.17 __pwrite64 F @@ -1553,6 +1554,7 @@ GLIBC_2.17 pthread_self F GLIBC_2.17 pthread_setcancelstate F GLIBC_2.17 pthread_setcanceltype F GLIBC_2.17 pthread_setschedparam F +GLIBC_2.17 pthread_setspecific F GLIBC_2.17 pthread_sigmask F GLIBC_2.17 ptrace F GLIBC_2.17 ptsname F @@ -2385,8 +2387,10 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 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 667e00551a..778eb45ffc 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -30,7 +30,6 @@ GLIBC_2.17 __pthread_rwlock_tryrdlock F GLIBC_2.17 __pthread_rwlock_trywrlock F GLIBC_2.17 __pthread_rwlock_unlock F 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 __pwrite64 F @@ -132,7 +131,6 @@ GLIBC_2.17 pthread_setaffinity_np F GLIBC_2.17 pthread_setconcurrency F GLIBC_2.17 pthread_setname_np F GLIBC_2.17 pthread_setschedprio F -GLIBC_2.17 pthread_setspecific F GLIBC_2.17 pthread_sigqueue F GLIBC_2.17 pthread_spin_destroy F GLIBC_2.17 pthread_spin_init F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 5ef9b35b6d..62f9d06cc6 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -328,6 +328,7 @@ GLIBC_2.33 __pthread_cleanup_routine F GLIBC_2.33 __pthread_getspecific F GLIBC_2.33 __pthread_key_create F GLIBC_2.33 __pthread_once F +GLIBC_2.33 __pthread_setspecific F GLIBC_2.33 __pthread_unwind_next F GLIBC_2.33 __ptsname_r_chk F GLIBC_2.33 __pwrite64 F @@ -1393,6 +1394,7 @@ GLIBC_2.33 pthread_self F GLIBC_2.33 pthread_setcancelstate F GLIBC_2.33 pthread_setcanceltype F GLIBC_2.33 pthread_setschedparam F +GLIBC_2.33 pthread_setspecific F GLIBC_2.33 pthread_sigmask F GLIBC_2.33 ptrace F GLIBC_2.33 ptsname F @@ -1952,8 +1954,10 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index 5665726bbb..dc38dee1ae 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -29,7 +29,6 @@ GLIBC_2.33 __pthread_rwlock_tryrdlock F GLIBC_2.33 __pthread_rwlock_trywrlock F GLIBC_2.33 __pthread_rwlock_unlock F 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 __pwrite64 F @@ -150,7 +149,6 @@ GLIBC_2.33 pthread_setattr_default_np F GLIBC_2.33 pthread_setconcurrency F GLIBC_2.33 pthread_setname_np F GLIBC_2.33 pthread_setschedprio F -GLIBC_2.33 pthread_setspecific F GLIBC_2.33 pthread_sigqueue F GLIBC_2.33 pthread_spin_destroy F GLIBC_2.33 pthread_spin_init F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 7f7385d87c..63976e8487 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -339,6 +339,7 @@ GLIBC_2.27 __pthread_cleanup_routine F GLIBC_2.27 __pthread_getspecific F GLIBC_2.27 __pthread_key_create F GLIBC_2.27 __pthread_once F +GLIBC_2.27 __pthread_setspecific F GLIBC_2.27 __pthread_unwind_next F GLIBC_2.27 __ptsname_r_chk F GLIBC_2.27 __pwrite64 F @@ -1455,6 +1456,7 @@ GLIBC_2.27 pthread_self F GLIBC_2.27 pthread_setcancelstate F GLIBC_2.27 pthread_setcanceltype F GLIBC_2.27 pthread_setschedparam F +GLIBC_2.27 pthread_setspecific F GLIBC_2.27 pthread_sigmask F GLIBC_2.27 ptrace F GLIBC_2.27 ptsname F @@ -2152,8 +2154,10 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index 5abf715b3b..a78a847c1a 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -30,7 +30,6 @@ GLIBC_2.27 __pthread_rwlock_tryrdlock F GLIBC_2.27 __pthread_rwlock_trywrlock F GLIBC_2.27 __pthread_rwlock_unlock F 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 __pwrite64 F @@ -134,7 +133,6 @@ GLIBC_2.27 pthread_setattr_default_np F GLIBC_2.27 pthread_setconcurrency F GLIBC_2.27 pthread_setname_np F GLIBC_2.27 pthread_setschedprio F -GLIBC_2.27 pthread_setspecific F GLIBC_2.27 pthread_sigqueue F GLIBC_2.27 pthread_spin_destroy F GLIBC_2.27 pthread_spin_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 c062cbcde7..8b159936e4 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -188,6 +188,7 @@ GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F +GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -876,6 +877,7 @@ GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setschedparam F +GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_sigmask F GLIBC_2.0 ptrace F GLIBC_2.0 putc F @@ -2229,11 +2231,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 bfeb7b715f..5f9f4da233 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -16,7 +16,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_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F @@ -54,7 +53,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_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F GLIBC_2.0 read F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index cfc797c7fb..5bbf8fdbb4 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -373,6 +373,7 @@ GLIBC_2.2 __progname_full D 0x8 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F +GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __rcmd_errstr D 0x8 @@ -1303,6 +1304,7 @@ GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setschedparam F +GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_sigmask F GLIBC_2.2 ptrace F GLIBC_2.2 ptsname F @@ -2130,11 +2132,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 3de726cb37..ec27acf8c2 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -36,7 +36,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __read F GLIBC_2.2 __res_state F @@ -119,7 +118,6 @@ 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_setconcurrency F -GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_spin_destroy F GLIBC_2.2 pthread_spin_init F GLIBC_2.2 pthread_spin_lock F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index 08db66df29..10ea3c59b9 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -362,6 +362,7 @@ GLIBC_2.2 __progname_full D 0x4 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F +GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __rcmd_errstr D 0x4 @@ -1289,6 +1290,7 @@ GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setschedparam F +GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_sigmask F GLIBC_2.2 ptrace F GLIBC_2.2 ptsname F @@ -2099,11 +2101,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 cc98751c47..c24d832b13 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -35,7 +35,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __read F GLIBC_2.2 __res_state F @@ -118,7 +117,6 @@ 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_setconcurrency F -GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_spin_destroy F GLIBC_2.2 pthread_spin_init F GLIBC_2.2 pthread_spin_lock F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 10b8352efb..12d492b088 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -362,6 +362,7 @@ GLIBC_2.2 __progname_full D 0x4 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F +GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __rcmd_errstr D 0x4 @@ -1289,6 +1290,7 @@ GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setschedparam F +GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_sigmask F GLIBC_2.2 ptrace F GLIBC_2.2 ptsname F @@ -2096,11 +2098,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 cc98751c47..c24d832b13 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -35,7 +35,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __read F GLIBC_2.2 __res_state F @@ -118,7 +117,6 @@ 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_setconcurrency F -GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_spin_destroy F GLIBC_2.2 pthread_spin_init F GLIBC_2.2 pthread_spin_lock F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index dce478788e..3bb06d6ce0 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -192,6 +192,7 @@ GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F GLIBC_2.0 __pthread_once F +GLIBC_2.0 __pthread_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 GLIBC_2.0 __read F GLIBC_2.0 __realloc_hook D 0x4 @@ -879,6 +880,7 @@ GLIBC_2.0 pthread_self F GLIBC_2.0 pthread_setcancelstate F GLIBC_2.0 pthread_setcanceltype F GLIBC_2.0 pthread_setschedparam F +GLIBC_2.0 pthread_setspecific F GLIBC_2.0 pthread_sigmask F GLIBC_2.0 ptrace F GLIBC_2.0 putc F @@ -2220,11 +2222,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 66f17908e0..8ccbe19154 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -16,7 +16,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_setspecific F GLIBC_2.0 __read F GLIBC_2.0 __send F GLIBC_2.0 __sigaction F @@ -54,7 +53,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_setspecific F GLIBC_2.0 pthread_testcancel F GLIBC_2.0 raise F GLIBC_2.0 read F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 1dc6c45074..8a32fa3e95 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -400,6 +400,7 @@ GLIBC_2.2 __progname_full D 0x8 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F +GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __rcmd_errstr D 0x8 @@ -1332,6 +1333,7 @@ GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F GLIBC_2.2 pthread_setschedparam F +GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_sigmask F GLIBC_2.2 ptrace F GLIBC_2.2 ptsname F @@ -2147,11 +2149,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 f18ff271c2..1669fb860d 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -35,7 +35,6 @@ GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F -GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __read F GLIBC_2.2 __res_state F @@ -118,7 +117,6 @@ 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_setconcurrency F -GLIBC_2.2 pthread_setspecific F GLIBC_2.2 pthread_spin_destroy F GLIBC_2.2 pthread_spin_init F GLIBC_2.2 pthread_spin_lock F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index e74d5c43c6..e05acdd11a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -361,6 +361,7 @@ GLIBC_2.2.5 __progname_full D 0x8 GLIBC_2.2.5 __pthread_getspecific F GLIBC_2.2.5 __pthread_key_create F GLIBC_2.2.5 __pthread_once F +GLIBC_2.2.5 __pthread_setspecific F GLIBC_2.2.5 __pwrite64 F GLIBC_2.2.5 __rawmemchr F GLIBC_2.2.5 __rcmd_errstr D 0x8 @@ -1300,6 +1301,7 @@ GLIBC_2.2.5 pthread_self F GLIBC_2.2.5 pthread_setcancelstate F GLIBC_2.2.5 pthread_setcanceltype F GLIBC_2.2.5 pthread_setschedparam F +GLIBC_2.2.5 pthread_setspecific F GLIBC_2.2.5 pthread_sigmask F GLIBC_2.2.5 ptrace F GLIBC_2.2.5 ptsname F @@ -2106,11 +2108,13 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_setspecific 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 5ea8f8020b..f4d633ca96 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -35,7 +35,6 @@ GLIBC_2.2.5 __pthread_rwlock_tryrdlock F GLIBC_2.2.5 __pthread_rwlock_trywrlock F GLIBC_2.2.5 __pthread_rwlock_unlock F GLIBC_2.2.5 __pthread_rwlock_wrlock F -GLIBC_2.2.5 __pthread_setspecific F GLIBC_2.2.5 __pwrite64 F GLIBC_2.2.5 __read F GLIBC_2.2.5 __res_state F @@ -118,7 +117,6 @@ 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_setconcurrency F -GLIBC_2.2.5 pthread_setspecific F GLIBC_2.2.5 pthread_spin_destroy F GLIBC_2.2.5 pthread_spin_init F GLIBC_2.2.5 pthread_spin_lock F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index 007dd401d3..8800e570a4 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -343,6 +343,7 @@ GLIBC_2.16 __pthread_cleanup_routine F GLIBC_2.16 __pthread_getspecific F GLIBC_2.16 __pthread_key_create F GLIBC_2.16 __pthread_once F +GLIBC_2.16 __pthread_setspecific F GLIBC_2.16 __pthread_unwind_next F GLIBC_2.16 __ptsname_r_chk F GLIBC_2.16 __pwrite64 F @@ -1472,6 +1473,7 @@ GLIBC_2.16 pthread_self F GLIBC_2.16 pthread_setcancelstate F GLIBC_2.16 pthread_setcanceltype F GLIBC_2.16 pthread_setschedparam F +GLIBC_2.16 pthread_setspecific F GLIBC_2.16 pthread_sigmask F GLIBC_2.16 ptrace F GLIBC_2.16 ptsname F @@ -2204,8 +2206,10 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 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 6e3cb18549..b687932187 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -30,7 +30,6 @@ GLIBC_2.16 __pthread_rwlock_tryrdlock F GLIBC_2.16 __pthread_rwlock_trywrlock F GLIBC_2.16 __pthread_rwlock_unlock F 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 __pwrite64 F @@ -132,7 +131,6 @@ GLIBC_2.16 pthread_setaffinity_np F GLIBC_2.16 pthread_setconcurrency F GLIBC_2.16 pthread_setname_np F GLIBC_2.16 pthread_setschedprio F -GLIBC_2.16 pthread_setspecific F GLIBC_2.16 pthread_sigqueue F GLIBC_2.16 pthread_spin_destroy F GLIBC_2.16 pthread_spin_init F From patchwork Tue Mar 16 17:30: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: 42618 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 34EBF386197F; Tue, 16 Mar 2021 17:31:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 34EBF386197F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915863; bh=dqGMEKcIwOAUdT/33zHUKJ74fOmjIb8+pjBye7CLm4k=; 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=pYvknm+PS8p8fFc7caL35zbKmN4sAzpJLX/z1vAc0pP+4lrcshqpFK2ptZ9S9s8oN +yHIxdbSm8wDfj/vFNIELob+b2YMZJSOd+7RdWG8e5boShIZ0FQX9PLtNWdRBHCfLN InCkyaWpDXFRdu301j4/wKzSctZYHvUP0c6uT5ug= 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 C0ED5386197F for ; Tue, 16 Mar 2021 17:30:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C0ED5386197F 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-404-wTEBe6j6N9avRP-nacMNiw-1; Tue, 16 Mar 2021 13:30:53 -0400 X-MC-Unique: wTEBe6j6N9avRP-nacMNiw-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5016E6409B for ; Tue, 16 Mar 2021 17:30:52 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E87AD5D747 for ; Tue, 16 Mar 2021 17:30:50 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 27/37] nptl: Move pthread_key_delete into libc. In-Reply-To: References: Message-Id: <213b9f1d5300956f7dae7f29c3de212b8537d4b7.1615914632.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:30:59 +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.15 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" The symbol was moved using scripts/move-symbol-to-libc.py. tss_delete (still in libpthread) uses the __pthread_key_create alias, so that is now exported under GLIBC_PRIVATE. --- nptl/Makefile | 2 +- nptl/Versions | 4 +++- nptl/pthreadP.h | 1 + nptl/pthread_key_delete.c | 17 ++++++++++++++--- sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 ++ .../unix/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 ++ sysdeps/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 ++ 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 - .../unix/sysv/linux/m68k/coldfire/libc.abilist | 2 ++ .../sysv/linux/m68k/coldfire/libpthread.abilist | 1 - .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 ++ .../sysv/linux/m68k/m680x0/libpthread.abilist | 1 - .../unix/sysv/linux/microblaze/be/libc.abilist | 2 ++ .../sysv/linux/microblaze/be/libpthread.abilist | 1 - .../unix/sysv/linux/microblaze/le/libc.abilist | 2 ++ .../sysv/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 ++ .../linux/powerpc/powerpc32/libpthread.abilist | 1 - .../linux/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 - sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist | 2 ++ .../sysv/linux/riscv/rv32/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist | 2 ++ .../sysv/linux/riscv/rv64/libpthread.abilist | 1 - .../unix/sysv/linux/s390/s390-32/libc.abilist | 2 ++ .../sysv/linux/s390/s390-32/libpthread.abilist | 1 - .../unix/sysv/linux/s390/s390-64/libc.abilist | 2 ++ .../sysv/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 - .../unix/sysv/linux/sparc/sparc32/libc.abilist | 2 ++ .../sysv/linux/sparc/sparc32/libpthread.abilist | 1 - .../unix/sysv/linux/sparc/sparc64/libc.abilist | 2 ++ .../sysv/linux/sparc/sparc64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 2 ++ .../sysv/linux/x86_64/64/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 2 ++ .../sysv/linux/x86_64/x32/libpthread.abilist | 1 - 65 files changed, 83 insertions(+), 34 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index fa8bcf8c62..5d4276d9f9 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -80,6 +80,7 @@ routines = \ pthread_getschedparam \ pthread_getspecific \ pthread_key_create \ + pthread_key_delete \ pthread_keys \ pthread_mutex_consistent \ pthread_once \ @@ -162,7 +163,6 @@ libpthread-routines = \ pthread_getname \ pthread_join \ pthread_join_common \ - pthread_key_delete \ pthread_kill \ pthread_kill_other_threads \ pthread_mutex_cond_lock \ diff --git a/nptl/Versions b/nptl/Versions index 58a37b8816..e93c27b083 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -33,6 +33,7 @@ libc { pthread_getschedparam; pthread_getspecific; pthread_key_create; + pthread_key_delete; pthread_mutex_destroy; pthread_mutex_init; pthread_mutex_lock; @@ -98,6 +99,7 @@ libc { __pthread_setspecific; pthread_getspecific; pthread_key_create; + pthread_key_delete; pthread_mutex_consistent; pthread_once; pthread_setspecific; @@ -134,6 +136,7 @@ libc { __pthread_exit; __pthread_force_elision; __pthread_getattr_default_np; + __pthread_key_delete; __pthread_keys; __pthread_setcancelstate; __pthread_unwind; @@ -188,7 +191,6 @@ libpthread { pthread_create; pthread_detach; pthread_join; - pthread_key_delete; pthread_kill; pthread_kill_other_threads_np; pthread_mutex_destroy; diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index c9e845e4a2..515c58039b 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -517,6 +517,7 @@ extern int __pthread_condattr_destroy (pthread_condattr_t *attr); extern int __pthread_condattr_init (pthread_condattr_t *attr); extern int __pthread_key_create (pthread_key_t *key, void (*destr) (void *)); extern int __pthread_key_delete (pthread_key_t key); +libc_hidden_proto (__pthread_key_delete) extern void *__pthread_getspecific (pthread_key_t key); libc_hidden_proto (__pthread_getspecific) extern int __pthread_setspecific (pthread_key_t key, const void *value); diff --git a/nptl/pthread_key_delete.c b/nptl/pthread_key_delete.c index b9018306b1..081821cc02 100644 --- a/nptl/pthread_key_delete.c +++ b/nptl/pthread_key_delete.c @@ -19,10 +19,10 @@ #include #include "pthreadP.h" #include - +#include int -__pthread_key_delete (pthread_key_t key) +__pthread_key_delete_1 (pthread_key_t key) { int result = EINVAL; @@ -39,4 +39,15 @@ __pthread_key_delete (pthread_key_t key) return result; } -weak_alias (__pthread_key_delete, pthread_key_delete) +versioned_symbol (libc, __pthread_key_delete_1, pthread_key_delete, + GLIBC_2_34); +libc_hidden_ver (__pthread_key_delete_1, __pthread_key_delete) + +strong_alias (__pthread_key_delete_1, __pthread_key_delete_2) +versioned_symbol (libc, __pthread_key_delete_2, __pthread_key_delete, + GLIBC_PRIVATE); + +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +strong_alias (__pthread_key_delete_1, __pthread_key_delete_3) +compat_symbol (libc, __pthread_key_delete_3, pthread_key_delete, GLIBC_2_0); +#endif diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index 2601be32bf..991efa0044 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -1454,6 +1454,7 @@ GLIBC_2.17 pthread_getattr_np F GLIBC_2.17 pthread_getschedparam F GLIBC_2.17 pthread_getspecific F GLIBC_2.17 pthread_key_create F +GLIBC_2.17 pthread_key_delete F GLIBC_2.17 pthread_mutex_consistent F GLIBC_2.17 pthread_mutex_consistent_np F GLIBC_2.17 pthread_mutex_destroy F @@ -2196,6 +2197,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 778eb45ffc..50ab959905 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -85,7 +85,6 @@ GLIBC_2.17 pthread_getconcurrency F GLIBC_2.17 pthread_getcpuclockid F GLIBC_2.17 pthread_getname_np F GLIBC_2.17 pthread_join 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_destroy F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index d334d0759d..a1229e4a1a 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -893,6 +893,7 @@ GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F +GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2277,6 +2278,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 8ccbe19154..9d78d94466 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 49034a2bdd..ceee863b25 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -1381,6 +1381,7 @@ GLIBC_2.32 pthread_getattr_np F GLIBC_2.32 pthread_getschedparam F GLIBC_2.32 pthread_getspecific F GLIBC_2.32 pthread_key_create F +GLIBC_2.32 pthread_key_delete F GLIBC_2.32 pthread_mutex_consistent F GLIBC_2.32 pthread_mutex_consistent_np F GLIBC_2.32 pthread_mutex_destroy F @@ -1956,6 +1957,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index fba129cfad..6fed825b25 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -99,7 +99,6 @@ GLIBC_2.32 pthread_getconcurrency F GLIBC_2.32 pthread_getcpuclockid F GLIBC_2.32 pthread_getname_np F GLIBC_2.32 pthread_join F -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 diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 3727e33898..31e2de3cc2 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -165,6 +165,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F @@ -1559,6 +1560,7 @@ GLIBC_2.4 pthread_getattr_np F GLIBC_2.4 pthread_getschedparam F GLIBC_2.4 pthread_getspecific F GLIBC_2.4 pthread_key_create F +GLIBC_2.4 pthread_key_delete F GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index 2cb1f0e2f5..5d3859b245 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_detach F GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_join 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_destroy F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index a7bc3a9a8e..c6f9e3dbc3 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -162,6 +162,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F @@ -1556,6 +1557,7 @@ GLIBC_2.4 pthread_getattr_np F GLIBC_2.4 pthread_getschedparam F GLIBC_2.4 pthread_getspecific F GLIBC_2.4 pthread_key_create F +GLIBC_2.4 pthread_key_delete F GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index 2cb1f0e2f5..5d3859b245 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_detach F GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_join 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_destroy F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index 61de7117bd..ec7f3bde74 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -1442,6 +1442,7 @@ GLIBC_2.29 pthread_getattr_np F GLIBC_2.29 pthread_getschedparam F GLIBC_2.29 pthread_getspecific F GLIBC_2.29 pthread_key_create F +GLIBC_2.29 pthread_key_delete F GLIBC_2.29 pthread_mutex_consistent F GLIBC_2.29 pthread_mutex_consistent_np F GLIBC_2.29 pthread_mutex_destroy F @@ -2140,6 +2141,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index 760740a4ed..cf7869867c 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -97,7 +97,6 @@ GLIBC_2.29 pthread_getconcurrency F GLIBC_2.29 pthread_getcpuclockid F GLIBC_2.29 pthread_getname_np F GLIBC_2.29 pthread_join 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_destroy F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index c380a422ca..ebced5d8c3 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -1277,6 +1277,7 @@ GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_key_create F +GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F @@ -2098,6 +2099,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index c24d832b13..d0e8564302 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_detach F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join F -GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F GLIBC_2.2 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index dd10b08625..d15479dabd 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -870,6 +870,7 @@ GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F +GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2265,6 +2266,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index 6b644a2513..99e53d0c49 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index fe64b5c1f0..62c8c7d461 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -1298,6 +1298,7 @@ GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_key_create F +GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F @@ -2130,6 +2131,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 1669fb860d..ff37f3905e 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_detach F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join F -GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F GLIBC_2.2 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 1af30ff1b3..83e8a6824f 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -166,6 +166,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F @@ -1539,6 +1540,7 @@ GLIBC_2.4 pthread_getattr_np F GLIBC_2.4 pthread_getschedparam F GLIBC_2.4 pthread_getspecific F GLIBC_2.4 pthread_key_create F +GLIBC_2.4 pthread_key_delete F GLIBC_2.4 pthread_mutex_consistent_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index 2cb1f0e2f5..5d3859b245 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_detach F GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_join 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_destroy F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 372bb9db63..5a81c61de7 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -869,6 +869,7 @@ GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F +GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2210,6 +2211,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index 6b644a2513..99e53d0c49 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 7b1b02ff24..39c806db53 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -1457,6 +1457,7 @@ GLIBC_2.18 pthread_getattr_np F GLIBC_2.18 pthread_getschedparam F GLIBC_2.18 pthread_getspecific F GLIBC_2.18 pthread_key_create F +GLIBC_2.18 pthread_key_delete F GLIBC_2.18 pthread_mutex_consistent F GLIBC_2.18 pthread_mutex_consistent_np F GLIBC_2.18 pthread_mutex_destroy F @@ -2191,6 +2192,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 64e0587af6..8b3785414d 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -86,7 +86,6 @@ GLIBC_2.18 pthread_getconcurrency F GLIBC_2.18 pthread_getcpuclockid F GLIBC_2.18 pthread_getname_np F GLIBC_2.18 pthread_join 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_destroy F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 07ec814a0d..ce2823207c 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -1457,6 +1457,7 @@ GLIBC_2.18 pthread_getattr_np F GLIBC_2.18 pthread_getschedparam F GLIBC_2.18 pthread_getspecific F GLIBC_2.18 pthread_key_create F +GLIBC_2.18 pthread_key_delete F GLIBC_2.18 pthread_mutex_consistent F GLIBC_2.18 pthread_mutex_consistent_np F GLIBC_2.18 pthread_mutex_destroy F @@ -2188,6 +2189,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 64e0587af6..8b3785414d 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -86,7 +86,6 @@ GLIBC_2.18 pthread_getconcurrency F GLIBC_2.18 pthread_getcpuclockid F GLIBC_2.18 pthread_getname_np F GLIBC_2.18 pthread_join 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_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 51253a4216..5e8abfa6ae 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -866,6 +866,7 @@ GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F +GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2181,6 +2182,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 1118a25c82..cd0d6d7419 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 2574b7627e..93002ae842 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -866,6 +866,7 @@ GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F +GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2179,6 +2180,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 1118a25c82..cd0d6d7419 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 0580b260e2..245a840e12 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -866,6 +866,7 @@ GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F +GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2187,6 +2188,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index 40fe64ea6b..24b2dddb51 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -864,6 +864,7 @@ GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F +GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2181,6 +2182,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index b9400803eb..7d4b4dd278 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -1499,6 +1499,7 @@ GLIBC_2.21 pthread_getattr_np F GLIBC_2.21 pthread_getschedparam F GLIBC_2.21 pthread_getspecific F GLIBC_2.21 pthread_key_create F +GLIBC_2.21 pthread_key_delete F GLIBC_2.21 pthread_mutex_consistent F GLIBC_2.21 pthread_mutex_consistent_np F GLIBC_2.21 pthread_mutex_destroy F @@ -2229,6 +2230,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index 96d1cd0f49..0250c9756d 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -86,7 +86,6 @@ GLIBC_2.21 pthread_getconcurrency F GLIBC_2.21 pthread_getcpuclockid F GLIBC_2.21 pthread_getname_np F GLIBC_2.21 pthread_join 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_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 9f27e4aa50..65ea41b2db 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -877,6 +877,7 @@ GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F +GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2237,6 +2238,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index a8111f4b92..e0eb362a7a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 9c91e65fc1..9d413de126 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -877,6 +877,7 @@ GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F +GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2270,6 +2271,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 0ef070e285..16c24bfc69 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -1384,6 +1384,7 @@ GLIBC_2.3 pthread_getattr_np F GLIBC_2.3 pthread_getschedparam F GLIBC_2.3 pthread_getspecific F GLIBC_2.3 pthread_key_create F +GLIBC_2.3 pthread_key_delete F GLIBC_2.3 pthread_mutex_destroy F GLIBC_2.3 pthread_mutex_init F GLIBC_2.3 pthread_mutex_lock F @@ -2100,6 +2101,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index a0f5dffd25..1099d88afe 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_detach F GLIBC_2.3 pthread_getconcurrency F GLIBC_2.3 pthread_getcpuclockid F GLIBC_2.3 pthread_join F -GLIBC_2.3 pthread_key_delete F GLIBC_2.3 pthread_kill F GLIBC_2.3 pthread_kill_other_threads_np F GLIBC_2.3 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 4a6de68ece..d97c594edd 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -1543,6 +1543,7 @@ GLIBC_2.17 pthread_getattr_np F GLIBC_2.17 pthread_getschedparam F GLIBC_2.17 pthread_getspecific F GLIBC_2.17 pthread_key_create F +GLIBC_2.17 pthread_key_delete F GLIBC_2.17 pthread_mutex_consistent F GLIBC_2.17 pthread_mutex_consistent_np F GLIBC_2.17 pthread_mutex_destroy F @@ -2391,6 +2392,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 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 778eb45ffc..50ab959905 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -85,7 +85,6 @@ GLIBC_2.17 pthread_getconcurrency F GLIBC_2.17 pthread_getcpuclockid F GLIBC_2.17 pthread_getname_np F GLIBC_2.17 pthread_join 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_destroy F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 62f9d06cc6..44b0121343 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -1383,6 +1383,7 @@ GLIBC_2.33 pthread_getattr_np F GLIBC_2.33 pthread_getschedparam F GLIBC_2.33 pthread_getspecific F GLIBC_2.33 pthread_key_create F +GLIBC_2.33 pthread_key_delete F GLIBC_2.33 pthread_mutex_consistent F GLIBC_2.33 pthread_mutex_consistent_np F GLIBC_2.33 pthread_mutex_destroy F @@ -1958,6 +1959,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index dc38dee1ae..6c6fdd0cbf 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -99,7 +99,6 @@ GLIBC_2.33 pthread_getconcurrency F GLIBC_2.33 pthread_getcpuclockid F GLIBC_2.33 pthread_getname_np F GLIBC_2.33 pthread_join F -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 diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 63976e8487..22a34442f0 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -1445,6 +1445,7 @@ GLIBC_2.27 pthread_getattr_np F GLIBC_2.27 pthread_getschedparam F GLIBC_2.27 pthread_getspecific F GLIBC_2.27 pthread_key_create F +GLIBC_2.27 pthread_key_delete F GLIBC_2.27 pthread_mutex_consistent F GLIBC_2.27 pthread_mutex_consistent_np F GLIBC_2.27 pthread_mutex_destroy F @@ -2158,6 +2159,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index a78a847c1a..359545faee 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -86,7 +86,6 @@ GLIBC_2.27 pthread_getconcurrency F GLIBC_2.27 pthread_getcpuclockid F GLIBC_2.27 pthread_getname_np F GLIBC_2.27 pthread_join 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_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 8b159936e4..21f49b1fa0 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -868,6 +868,7 @@ GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F +GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2235,6 +2236,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index 5f9f4da233..5eb6187d98 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 5bbf8fdbb4..114591d6f5 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -1295,6 +1295,7 @@ GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_key_create F +GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F @@ -2136,6 +2137,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index ec27acf8c2..8f60a6b633 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_detach F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join F -GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F GLIBC_2.2 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index 10ea3c59b9..ad487f0c9f 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -1281,6 +1281,7 @@ GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_key_create F +GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F @@ -2105,6 +2106,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index c24d832b13..d0e8564302 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_detach F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join F -GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F GLIBC_2.2 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 12d492b088..7f6886ff02 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -1281,6 +1281,7 @@ GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_key_create F +GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F @@ -2102,6 +2103,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index c24d832b13..d0e8564302 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_detach F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join F -GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F GLIBC_2.2 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 3bb06d6ce0..4ae6d45923 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -871,6 +871,7 @@ GLIBC_2.0 pthread_exit F GLIBC_2.0 pthread_getschedparam F GLIBC_2.0 pthread_getspecific F GLIBC_2.0 pthread_key_create F +GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F GLIBC_2.0 pthread_mutex_lock F @@ -2226,6 +2227,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 8ccbe19154..9d78d94466 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -41,7 +41,6 @@ GLIBC_2.0 pthread_cond_wait F GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F -GLIBC_2.0 pthread_key_delete F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 8a32fa3e95..44d0f68cb2 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -1324,6 +1324,7 @@ GLIBC_2.2 pthread_exit F GLIBC_2.2 pthread_getschedparam F GLIBC_2.2 pthread_getspecific F GLIBC_2.2 pthread_key_create F +GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F GLIBC_2.2 pthread_mutex_lock F @@ -2153,6 +2154,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 1669fb860d..ff37f3905e 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_detach F GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join F -GLIBC_2.2 pthread_key_delete F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F GLIBC_2.2 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index e05acdd11a..d96699a20d 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -1292,6 +1292,7 @@ GLIBC_2.2.5 pthread_getattr_np F GLIBC_2.2.5 pthread_getschedparam F GLIBC_2.2.5 pthread_getspecific F GLIBC_2.2.5 pthread_key_create F +GLIBC_2.2.5 pthread_key_delete F GLIBC_2.2.5 pthread_mutex_destroy F GLIBC_2.2.5 pthread_mutex_init F GLIBC_2.2.5 pthread_mutex_lock F @@ -2112,6 +2113,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index f4d633ca96..511240921e 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_detach F GLIBC_2.2.5 pthread_getconcurrency F GLIBC_2.2.5 pthread_getcpuclockid F GLIBC_2.2.5 pthread_join F -GLIBC_2.2.5 pthread_key_delete F GLIBC_2.2.5 pthread_kill F GLIBC_2.2.5 pthread_kill_other_threads_np F GLIBC_2.2.5 pthread_mutex_destroy F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index 8800e570a4..33bbaff90c 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -1462,6 +1462,7 @@ GLIBC_2.16 pthread_getattr_np F GLIBC_2.16 pthread_getschedparam F GLIBC_2.16 pthread_getspecific F GLIBC_2.16 pthread_key_create F +GLIBC_2.16 pthread_key_delete F GLIBC_2.16 pthread_mutex_consistent F GLIBC_2.16 pthread_mutex_consistent_np F GLIBC_2.16 pthread_mutex_destroy F @@ -2210,6 +2211,7 @@ GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F +GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F GLIBC_2.34 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 b687932187..a481ef56ab 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -85,7 +85,6 @@ GLIBC_2.16 pthread_getconcurrency F GLIBC_2.16 pthread_getcpuclockid F GLIBC_2.16 pthread_getname_np F GLIBC_2.16 pthread_join 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_destroy F From patchwork Tue Mar 16 17:31: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: 42620 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 19A63384B821; Tue, 16 Mar 2021 17:31:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 19A63384B821 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915873; bh=a1LfH2NVJK6fGfl5vOa+I8ucYUwi5xMqlhIbXWpsiGY=; 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=BY02Sqd0FxSiZyVaiayeHbpGG0VPgyd2iBGTcmqhcb2SBXDHKld7Z8MuI7qjBsCPX c/NCx9iy/29chpyeMUv7vRjWPBpIzCW1Q29dE6sitmHH/k4JAx28576/6PxULhCsDZ 2S/6qzUTivS2dBZ0unuZTdXOnKl75rFY7CzKyKdk= 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 DFBD0386191C for ; Tue, 16 Mar 2021 17:31:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org DFBD0386191C 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-109-iNrDtTgQMn-EHAuahAJ8fQ-1; Tue, 16 Mar 2021 13:30:59 -0400 X-MC-Unique: iNrDtTgQMn-EHAuahAJ8fQ-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id BDD35800FF0 for ; Tue, 16 Mar 2021 17:30:58 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 75C6F5D747 for ; Tue, 16 Mar 2021 17:30:56 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 28/37] nptl: Move rwlock functions with forwarders into libc In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:31: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.15 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" The forwarders were only used internally, so new symbol versions are needed. All symbols are moved at once because the forwarders are no-ops if libpthread is not loaded, leading to inconsistencies in case of a partial migration. The symbols __pthread_rwlock_rdlock, __pthread_rwlock_unlock, __pthread_rwlock_wrlock, pthread_rwlock_rdlock, pthread_rwlock_unlock, pthread_rwlock_wrlock have been moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerval Zanella --- nptl/Makefile | 6 ++--- nptl/Versions | 20 ++++++++++++----- nptl/nptl-init.c | 3 --- nptl/pthreadP.h | 4 ++-- nptl/pthread_rwlock_rdlock.c | 22 ++++++++++++++++--- nptl/pthread_rwlock_unlock.c | 22 ++++++++++++++++--- nptl/pthread_rwlock_wrlock.c | 22 ++++++++++++++++--- sysdeps/nptl/libc-lockP.h | 21 +++++------------- sysdeps/nptl/pthread-functions.h | 3 --- sysdeps/unix/sysv/linux/aarch64/libc.abilist | 12 ++++++++++ .../sysv/linux/aarch64/libpthread.abilist | 6 ----- sysdeps/unix/sysv/linux/alpha/libc.abilist | 12 ++++++++++ .../unix/sysv/linux/alpha/libpthread.abilist | 6 ----- sysdeps/unix/sysv/linux/arc/libc.abilist | 12 ++++++++++ .../unix/sysv/linux/arc/libpthread.abilist | 6 ----- sysdeps/unix/sysv/linux/arm/be/libc.abilist | 12 ++++++++++ .../unix/sysv/linux/arm/be/libpthread.abilist | 6 ----- sysdeps/unix/sysv/linux/arm/le/libc.abilist | 12 ++++++++++ .../unix/sysv/linux/arm/le/libpthread.abilist | 6 ----- sysdeps/unix/sysv/linux/csky/libc.abilist | 12 ++++++++++ .../unix/sysv/linux/csky/libpthread.abilist | 6 ----- sysdeps/unix/sysv/linux/hppa/libc.abilist | 12 ++++++++++ .../unix/sysv/linux/hppa/libpthread.abilist | 6 ----- sysdeps/unix/sysv/linux/i386/libc.abilist | 12 ++++++++++ .../unix/sysv/linux/i386/libpthread.abilist | 6 ----- sysdeps/unix/sysv/linux/ia64/libc.abilist | 12 ++++++++++ .../unix/sysv/linux/ia64/libpthread.abilist | 6 ----- .../sysv/linux/m68k/coldfire/libc.abilist | 12 ++++++++++ .../linux/m68k/coldfire/libpthread.abilist | 6 ----- .../unix/sysv/linux/m68k/m680x0/libc.abilist | 12 ++++++++++ .../sysv/linux/m68k/m680x0/libpthread.abilist | 6 ----- .../sysv/linux/microblaze/be/libc.abilist | 12 ++++++++++ .../linux/microblaze/be/libpthread.abilist | 6 ----- .../sysv/linux/microblaze/le/libc.abilist | 12 ++++++++++ .../linux/microblaze/le/libpthread.abilist | 6 ----- .../sysv/linux/mips/mips32/fpu/libc.abilist | 12 ++++++++++ .../sysv/linux/mips/mips32/libpthread.abilist | 6 ----- .../sysv/linux/mips/mips32/nofpu/libc.abilist | 12 ++++++++++ .../sysv/linux/mips/mips64/libpthread.abilist | 6 ----- .../sysv/linux/mips/mips64/n32/libc.abilist | 12 ++++++++++ .../sysv/linux/mips/mips64/n64/libc.abilist | 12 ++++++++++ sysdeps/unix/sysv/linux/nios2/libc.abilist | 12 ++++++++++ .../unix/sysv/linux/nios2/libpthread.abilist | 6 ----- .../linux/powerpc/powerpc32/fpu/libc.abilist | 12 ++++++++++ .../powerpc/powerpc32/libpthread.abilist | 6 ----- .../powerpc/powerpc32/nofpu/libc.abilist | 12 ++++++++++ .../linux/powerpc/powerpc64/be/libc.abilist | 12 ++++++++++ .../powerpc/powerpc64/be/libpthread.abilist | 6 ----- .../linux/powerpc/powerpc64/le/libc.abilist | 12 ++++++++++ .../powerpc/powerpc64/le/libpthread.abilist | 6 ----- .../unix/sysv/linux/riscv/rv32/libc.abilist | 12 ++++++++++ .../sysv/linux/riscv/rv32/libpthread.abilist | 6 ----- .../unix/sysv/linux/riscv/rv64/libc.abilist | 12 ++++++++++ .../sysv/linux/riscv/rv64/libpthread.abilist | 6 ----- .../unix/sysv/linux/s390/s390-32/libc.abilist | 12 ++++++++++ .../linux/s390/s390-32/libpthread.abilist | 6 ----- .../unix/sysv/linux/s390/s390-64/libc.abilist | 12 ++++++++++ .../linux/s390/s390-64/libpthread.abilist | 6 ----- sysdeps/unix/sysv/linux/sh/be/libc.abilist | 12 ++++++++++ .../unix/sysv/linux/sh/be/libpthread.abilist | 6 ----- sysdeps/unix/sysv/linux/sh/le/libc.abilist | 12 ++++++++++ .../unix/sysv/linux/sh/le/libpthread.abilist | 6 ----- .../sysv/linux/sparc/sparc32/libc.abilist | 12 ++++++++++ .../linux/sparc/sparc32/libpthread.abilist | 6 ----- .../sysv/linux/sparc/sparc64/libc.abilist | 12 ++++++++++ .../linux/sparc/sparc64/libpthread.abilist | 6 ----- .../unix/sysv/linux/x86_64/64/libc.abilist | 12 ++++++++++ .../sysv/linux/x86_64/64/libpthread.abilist | 6 ----- .../unix/sysv/linux/x86_64/x32/libc.abilist | 12 ++++++++++ .../sysv/linux/x86_64/x32/libpthread.abilist | 6 ----- 70 files changed, 466 insertions(+), 215 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 5d4276d9f9..1eca75ef35 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -84,6 +84,9 @@ routines = \ pthread_keys \ pthread_mutex_consistent \ pthread_once \ + pthread_rwlock_rdlock \ + pthread_rwlock_unlock \ + pthread_rwlock_wrlock \ pthread_self \ pthread_setcancelstate \ pthread_setcanceltype \ @@ -191,13 +194,10 @@ libpthread-routines = \ pthread_rwlock_clockwrlock \ pthread_rwlock_destroy \ pthread_rwlock_init \ - pthread_rwlock_rdlock \ pthread_rwlock_timedrdlock \ pthread_rwlock_timedwrlock \ pthread_rwlock_tryrdlock \ pthread_rwlock_trywrlock \ - pthread_rwlock_unlock \ - pthread_rwlock_wrlock \ pthread_rwlockattr_destroy \ pthread_rwlockattr_getkind_np \ pthread_rwlockattr_getpshared \ diff --git a/nptl/Versions b/nptl/Versions index e93c27b083..b3feadd045 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -48,6 +48,14 @@ libc { } GLIBC_2.1 { pthread_attr_init; + pthread_rwlock_rdlock; + pthread_rwlock_unlock; + pthread_rwlock_wrlock; + } + GLIBC_2.2 { + __pthread_rwlock_rdlock; + __pthread_rwlock_unlock; + __pthread_rwlock_wrlock; } GLIBC_2.2.3 { pthread_getattr_np; @@ -96,12 +104,18 @@ libc { __pthread_getspecific; __pthread_key_create; __pthread_once; + __pthread_rwlock_rdlock; + __pthread_rwlock_unlock; + __pthread_rwlock_wrlock; __pthread_setspecific; pthread_getspecific; pthread_key_create; pthread_key_delete; pthread_mutex_consistent; pthread_once; + pthread_rwlock_rdlock; + pthread_rwlock_unlock; + pthread_rwlock_wrlock; pthread_setspecific; } GLIBC_PRIVATE { @@ -241,11 +255,8 @@ libpthread { pthread_mutexattr_settype; pthread_rwlock_destroy; pthread_rwlock_init; - pthread_rwlock_rdlock; pthread_rwlock_tryrdlock; pthread_rwlock_trywrlock; - pthread_rwlock_unlock; - pthread_rwlock_wrlock; pthread_rwlockattr_destroy; pthread_rwlockattr_getkind_np; pthread_rwlockattr_getpshared; @@ -276,11 +287,8 @@ libpthread { __pread64; __pthread_rwlock_destroy; __pthread_rwlock_init; - __pthread_rwlock_rdlock; __pthread_rwlock_tryrdlock; __pthread_rwlock_trywrlock; - __pthread_rwlock_unlock; - __pthread_rwlock_wrlock; __pwrite64; __res_state; lseek64; diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index cacbf045a7..0c07b46a77 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -67,9 +67,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_rwlock_rdlock = __pthread_rwlock_rdlock, - .ptr___pthread_rwlock_wrlock = __pthread_rwlock_wrlock, - .ptr___pthread_rwlock_unlock = __pthread_rwlock_unlock, .ptr__nptl_setxid = __nptl_setxid, }; # define ptr_pthread_functions &pthread_functions diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 515c58039b..527e4acd4f 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -441,8 +441,10 @@ extern int __pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, __attr); extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock); +libc_hidden_proto (__pthread_rwlock_rdlock) extern int __pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock); +libc_hidden_proto (__pthread_rwlock_wrlock) extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock); extern int __pthread_cond_broadcast (pthread_cond_t *cond); @@ -553,8 +555,6 @@ hidden_proto (__pthread_mutex_destroy) hidden_proto (__pthread_mutex_lock) hidden_proto (__pthread_mutex_trylock) hidden_proto (__pthread_mutex_unlock) -hidden_proto (__pthread_rwlock_rdlock) -hidden_proto (__pthread_rwlock_wrlock) hidden_proto (__pthread_rwlock_unlock) hidden_proto (__pthread_testcancel) hidden_proto (__pthread_mutexattr_init) diff --git a/nptl/pthread_rwlock_rdlock.c b/nptl/pthread_rwlock_rdlock.c index 0eeee50834..6793e01e7b 100644 --- a/nptl/pthread_rwlock_rdlock.c +++ b/nptl/pthread_rwlock_rdlock.c @@ -20,7 +20,7 @@ /* See pthread_rwlock_common.c. */ int -__pthread_rwlock_rdlock (pthread_rwlock_t *rwlock) +__pthread_rwlock_rdlock_1 (pthread_rwlock_t *rwlock) { LIBC_PROBE (rdlock_entry, 1, rwlock); @@ -28,6 +28,22 @@ __pthread_rwlock_rdlock (pthread_rwlock_t *rwlock) LIBC_PROBE (rdlock_acquire_read, 1, rwlock); return result; } +versioned_symbol (libc, __pthread_rwlock_rdlock_1, __pthread_rwlock_rdlock, + GLIBC_2_34); +libc_hidden_ver (__pthread_rwlock_rdlock_1, __pthread_rwlock_rdlock) -weak_alias (__pthread_rwlock_rdlock, pthread_rwlock_rdlock) -hidden_def (__pthread_rwlock_rdlock) +/* Several aliases for setting different symbol versions. */ +strong_alias (__pthread_rwlock_rdlock_1, __pthread_rwlock_rdlock_2) +strong_alias (__pthread_rwlock_rdlock_1, __pthread_rwlock_rdlock_3) +strong_alias (__pthread_rwlock_rdlock_1, __pthread_rwlock_rdlock_4) + +versioned_symbol (libc, __pthread_rwlock_rdlock_2, pthread_rwlock_rdlock, + GLIBC_2_34); +#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_34) +compat_symbol (libc, __pthread_rwlock_rdlock_3, pthread_rwlock_rdlock, + GLIBC_2_1); +#endif +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_34) +compat_symbol (libc, __pthread_rwlock_rdlock_4, __pthread_rwlock_rdlock, + GLIBC_2_2); +#endif diff --git a/nptl/pthread_rwlock_unlock.c b/nptl/pthread_rwlock_unlock.c index 356d63a045..6d0fb76afd 100644 --- a/nptl/pthread_rwlock_unlock.c +++ b/nptl/pthread_rwlock_unlock.c @@ -27,7 +27,7 @@ /* See pthread_rwlock_common.c for an overview. */ int -__pthread_rwlock_unlock (pthread_rwlock_t *rwlock) +__pthread_rwlock_unlock_1 (pthread_rwlock_t *rwlock) { LIBC_PROBE (rwlock_unlock, 1, rwlock); @@ -43,6 +43,22 @@ __pthread_rwlock_unlock (pthread_rwlock_t *rwlock) __pthread_rwlock_rdunlock (rwlock); return 0; } +versioned_symbol (libc, __pthread_rwlock_unlock_1, __pthread_rwlock_unlock, + GLIBC_2_34); +libc_hidden_ver (__pthread_rwlock_unlock_1, __pthread_rwlock_unlock) -weak_alias (__pthread_rwlock_unlock, pthread_rwlock_unlock) -hidden_def (__pthread_rwlock_unlock) +/* Several aliases for setting different symbol versions. */ +strong_alias (__pthread_rwlock_unlock_1, __pthread_rwlock_unlock_2) +strong_alias (__pthread_rwlock_unlock_1, __pthread_rwlock_unlock_3) +strong_alias (__pthread_rwlock_unlock_1, __pthread_rwlock_unlock_4) + +versioned_symbol (libc, __pthread_rwlock_unlock_2, pthread_rwlock_unlock, + GLIBC_2_34); +#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_34) +compat_symbol (libc, __pthread_rwlock_unlock_3, pthread_rwlock_unlock, + GLIBC_2_1); +#endif +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_34) +compat_symbol (libc, __pthread_rwlock_unlock_4, __pthread_rwlock_unlock, + GLIBC_2_2); +#endif diff --git a/nptl/pthread_rwlock_wrlock.c b/nptl/pthread_rwlock_wrlock.c index 98882a87e4..7b625201c5 100644 --- a/nptl/pthread_rwlock_wrlock.c +++ b/nptl/pthread_rwlock_wrlock.c @@ -20,7 +20,7 @@ /* See pthread_rwlock_common.c. */ int -__pthread_rwlock_wrlock (pthread_rwlock_t *rwlock) +__pthread_rwlock_wrlock_1 (pthread_rwlock_t *rwlock) { LIBC_PROBE (wrlock_entry, 1, rwlock); @@ -28,6 +28,22 @@ __pthread_rwlock_wrlock (pthread_rwlock_t *rwlock) LIBC_PROBE (wrlock_acquire_write, 1, rwlock); return result; } +versioned_symbol (libc, __pthread_rwlock_wrlock_1, __pthread_rwlock_wrlock, + GLIBC_2_34); +libc_hidden_ver (__pthread_rwlock_wrlock_1, __pthread_rwlock_wrlock) -weak_alias (__pthread_rwlock_wrlock, pthread_rwlock_wrlock) -hidden_def (__pthread_rwlock_wrlock) +/* Several aliases for setting different symbol versions. */ +strong_alias (__pthread_rwlock_wrlock_1, __pthread_rwlock_wrlock_2) +strong_alias (__pthread_rwlock_wrlock_1, __pthread_rwlock_wrlock_3) +strong_alias (__pthread_rwlock_wrlock_1, __pthread_rwlock_wrlock_4) + +versioned_symbol (libc, __pthread_rwlock_wrlock_2, pthread_rwlock_wrlock, + GLIBC_2_34); +#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_34) +compat_symbol (libc, __pthread_rwlock_wrlock_3, pthread_rwlock_wrlock, + GLIBC_2_1); +#endif +#if SHLIB_COMPAT (libc, GLIBC_2_2, GLIBC_2_34) +compat_symbol (libc, __pthread_rwlock_wrlock_4, __pthread_rwlock_wrlock, + GLIBC_2_2); +#endif diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h index 10a24568a9..89910560fa 100644 --- a/sysdeps/nptl/libc-lockP.h +++ b/sysdeps/nptl/libc-lockP.h @@ -167,10 +167,8 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0"); # define __libc_lock_lock(NAME) \ __libc_maybe_call (__pthread_mutex_lock, (&(NAME)), 0) #endif -#define __libc_rwlock_rdlock(NAME) \ - __libc_ptf_call (__pthread_rwlock_rdlock, (&(NAME)), 0) -#define __libc_rwlock_wrlock(NAME) \ - __libc_ptf_call (__pthread_rwlock_wrlock, (&(NAME)), 0) +#define __libc_rwlock_rdlock(NAME) __pthread_rwlock_rdlock (&(NAME)) +#define __libc_rwlock_wrlock(NAME) __pthread_rwlock_wrlock (&(NAME)) /* Try to lock the named lock variable. */ #if IS_IN (libc) || IS_IN (libpthread) @@ -199,8 +197,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0"); # define __libc_lock_unlock(NAME) \ __libc_maybe_call (__pthread_mutex_unlock, (&(NAME)), 0) #endif -#define __libc_rwlock_unlock(NAME) \ - __libc_ptf_call (__pthread_rwlock_unlock, (&(NAME)), 0) +#define __libc_rwlock_unlock(NAME) __pthread_rwlock_unlock (&(NAME)) #ifdef SHARED # define __rtld_lock_default_lock_recursive(lock) \ @@ -299,15 +296,15 @@ extern int __pthread_rwlock_init (pthread_rwlock_t *__rwlock, extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock); - +libc_hidden_proto (__pthread_rwlock_rdlock) extern int __pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock); - +libc_hidden_proto (__pthread_rwlock_wrlock) extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock); - +libc_hidden_proto (__pthread_rwlock_unlock) extern int __pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)); libc_hidden_proto (__pthread_once) @@ -333,11 +330,8 @@ weak_extern (__pthread_mutexattr_destroy) weak_extern (__pthread_mutexattr_settype) weak_extern (__pthread_rwlock_init) weak_extern (__pthread_rwlock_destroy) -weak_extern (__pthread_rwlock_rdlock) weak_extern (__pthread_rwlock_tryrdlock) -weak_extern (__pthread_rwlock_wrlock) weak_extern (__pthread_rwlock_trywrlock) -weak_extern (__pthread_rwlock_unlock) weak_extern (__pthread_initialize) weak_extern (__pthread_atfork) # else @@ -350,11 +344,8 @@ weak_extern (__pthread_atfork) # pragma weak __pthread_mutexattr_destroy # pragma weak __pthread_mutexattr_settype # pragma weak __pthread_rwlock_destroy -# pragma weak __pthread_rwlock_rdlock # pragma weak __pthread_rwlock_tryrdlock -# pragma weak __pthread_rwlock_wrlock # pragma weak __pthread_rwlock_trywrlock -# pragma weak __pthread_rwlock_unlock # pragma weak __pthread_initialize # pragma weak __pthread_atfork # endif diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 2d89013ff5..8535e142d5 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -46,9 +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_rwlock_rdlock) (pthread_rwlock_t *); - int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *); - int (*ptr___pthread_rwlock_unlock) (pthread_rwlock_t *); int (*ptr__nptl_setxid) (struct xid_command *); }; diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index 991efa0044..9191b2e760 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -342,6 +342,9 @@ GLIBC_2.17 __pthread_cleanup_routine F GLIBC_2.17 __pthread_getspecific F GLIBC_2.17 __pthread_key_create F GLIBC_2.17 __pthread_once F +GLIBC_2.17 __pthread_rwlock_rdlock F +GLIBC_2.17 __pthread_rwlock_unlock F +GLIBC_2.17 __pthread_rwlock_wrlock F GLIBC_2.17 __pthread_setspecific F GLIBC_2.17 __pthread_unwind_next F GLIBC_2.17 __ptsname_r_chk F @@ -1462,6 +1465,9 @@ 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_rwlock_rdlock F +GLIBC_2.17 pthread_rwlock_unlock F +GLIBC_2.17 pthread_rwlock_wrlock F GLIBC_2.17 pthread_self F GLIBC_2.17 pthread_setcancelstate F GLIBC_2.17 pthread_setcanceltype F @@ -2193,6 +2199,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2200,4 +2209,7 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 50ab959905..9a24f796de 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -25,11 +25,8 @@ GLIBC_2.17 __pthread_register_cancel F GLIBC_2.17 __pthread_register_cancel_defer F GLIBC_2.17 __pthread_rwlock_destroy F GLIBC_2.17 __pthread_rwlock_init F -GLIBC_2.17 __pthread_rwlock_rdlock F GLIBC_2.17 __pthread_rwlock_tryrdlock F GLIBC_2.17 __pthread_rwlock_trywrlock F -GLIBC_2.17 __pthread_rwlock_unlock F -GLIBC_2.17 __pthread_rwlock_wrlock F GLIBC_2.17 __pthread_unregister_cancel F GLIBC_2.17 __pthread_unregister_cancel_restore F GLIBC_2.17 __pwrite64 F @@ -113,13 +110,10 @@ GLIBC_2.17 pthread_mutexattr_setrobust_np F GLIBC_2.17 pthread_mutexattr_settype F GLIBC_2.17 pthread_rwlock_destroy F GLIBC_2.17 pthread_rwlock_init F -GLIBC_2.17 pthread_rwlock_rdlock F GLIBC_2.17 pthread_rwlock_timedrdlock F GLIBC_2.17 pthread_rwlock_timedwrlock F GLIBC_2.17 pthread_rwlock_tryrdlock F GLIBC_2.17 pthread_rwlock_trywrlock F -GLIBC_2.17 pthread_rwlock_unlock F -GLIBC_2.17 pthread_rwlock_wrlock F GLIBC_2.17 pthread_rwlockattr_destroy F GLIBC_2.17 pthread_rwlockattr_getkind_np F GLIBC_2.17 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index a1229e4a1a..71dd49d25c 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -1588,6 +1588,9 @@ GLIBC_2.1 pread64 F GLIBC_2.1 printf_size F GLIBC_2.1 printf_size_info F GLIBC_2.1 pthread_attr_init F +GLIBC_2.1 pthread_rwlock_rdlock F +GLIBC_2.1 pthread_rwlock_unlock F +GLIBC_2.1 pthread_rwlock_wrlock F GLIBC_2.1 ptsname F GLIBC_2.1 ptsname_r F GLIBC_2.1 putgrent F @@ -1861,6 +1864,9 @@ GLIBC_2.2 __fwriting F GLIBC_2.2 __getmntent_r F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -2274,6 +2280,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2281,6 +2290,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 9d78d94466..a7b3fd73ab 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -87,11 +87,8 @@ GLIBC_2.1 pthread_mutexattr_gettype F GLIBC_2.1 pthread_mutexattr_settype F GLIBC_2.1 pthread_rwlock_destroy F GLIBC_2.1 pthread_rwlock_init F -GLIBC_2.1 pthread_rwlock_rdlock F GLIBC_2.1 pthread_rwlock_tryrdlock F GLIBC_2.1 pthread_rwlock_trywrlock F -GLIBC_2.1 pthread_rwlock_unlock F -GLIBC_2.1 pthread_rwlock_wrlock F GLIBC_2.1 pthread_rwlockattr_destroy F GLIBC_2.1 pthread_rwlockattr_getkind_np F GLIBC_2.1 pthread_rwlockattr_getpshared F @@ -120,11 +117,8 @@ GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 lseek64 F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index ceee863b25..38764a6746 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -331,6 +331,9 @@ GLIBC_2.32 __pthread_cleanup_routine F GLIBC_2.32 __pthread_getspecific F GLIBC_2.32 __pthread_key_create F GLIBC_2.32 __pthread_once F +GLIBC_2.32 __pthread_rwlock_rdlock F +GLIBC_2.32 __pthread_rwlock_unlock F +GLIBC_2.32 __pthread_rwlock_wrlock F GLIBC_2.32 __pthread_setspecific F GLIBC_2.32 __pthread_unwind_next F GLIBC_2.32 __ptsname_r_chk F @@ -1389,6 +1392,9 @@ 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_rwlock_rdlock F +GLIBC_2.32 pthread_rwlock_unlock F +GLIBC_2.32 pthread_rwlock_wrlock F GLIBC_2.32 pthread_self F GLIBC_2.32 pthread_setcancelstate F GLIBC_2.32 pthread_setcanceltype F @@ -1953,6 +1959,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -1960,4 +1969,7 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index 6fed825b25..0d8b928e6d 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -24,11 +24,8 @@ GLIBC_2.32 __pthread_register_cancel F GLIBC_2.32 __pthread_register_cancel_defer F GLIBC_2.32 __pthread_rwlock_destroy F GLIBC_2.32 __pthread_rwlock_init F -GLIBC_2.32 __pthread_rwlock_rdlock F GLIBC_2.32 __pthread_rwlock_tryrdlock F GLIBC_2.32 __pthread_rwlock_trywrlock F -GLIBC_2.32 __pthread_rwlock_unlock F -GLIBC_2.32 __pthread_rwlock_wrlock F GLIBC_2.32 __pthread_unregister_cancel F GLIBC_2.32 __pthread_unregister_cancel_restore F GLIBC_2.32 __pwrite64 F @@ -130,13 +127,10 @@ GLIBC_2.32 pthread_rwlock_clockrdlock F GLIBC_2.32 pthread_rwlock_clockwrlock F GLIBC_2.32 pthread_rwlock_destroy F GLIBC_2.32 pthread_rwlock_init F -GLIBC_2.32 pthread_rwlock_rdlock F GLIBC_2.32 pthread_rwlock_timedrdlock F GLIBC_2.32 pthread_rwlock_timedwrlock F GLIBC_2.32 pthread_rwlock_tryrdlock F GLIBC_2.32 pthread_rwlock_trywrlock F -GLIBC_2.32 pthread_rwlock_unlock F -GLIBC_2.32 pthread_rwlock_wrlock F GLIBC_2.32 pthread_rwlockattr_destroy F GLIBC_2.32 pthread_rwlockattr_getkind_np F GLIBC_2.32 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 31e2de3cc2..86d971e7d2 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -161,6 +161,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -168,6 +171,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0xa0 @@ -500,6 +506,9 @@ GLIBC_2.4 __pthread_cleanup_routine F GLIBC_2.4 __pthread_getspecific F GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_once F +GLIBC_2.4 __pthread_rwlock_rdlock F +GLIBC_2.4 __pthread_rwlock_unlock F +GLIBC_2.4 __pthread_rwlock_wrlock F GLIBC_2.4 __pthread_setspecific F GLIBC_2.4 __pthread_unwind_next F GLIBC_2.4 __ptsname_r_chk F @@ -1567,6 +1576,9 @@ 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_rwlock_rdlock F +GLIBC_2.4 pthread_rwlock_unlock F +GLIBC_2.4 pthread_rwlock_wrlock 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 5d3859b245..833b53362d 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -59,11 +59,8 @@ GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_rwlock_destroy F GLIBC_2.4 __pthread_rwlock_init F -GLIBC_2.4 __pthread_rwlock_rdlock F GLIBC_2.4 __pthread_rwlock_tryrdlock F GLIBC_2.4 __pthread_rwlock_trywrlock F -GLIBC_2.4 __pthread_rwlock_unlock F -GLIBC_2.4 __pthread_rwlock_wrlock F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F GLIBC_2.4 __pwrite64 F @@ -144,13 +141,10 @@ GLIBC_2.4 pthread_mutexattr_setrobust_np F GLIBC_2.4 pthread_mutexattr_settype F GLIBC_2.4 pthread_rwlock_destroy F GLIBC_2.4 pthread_rwlock_init F -GLIBC_2.4 pthread_rwlock_rdlock F GLIBC_2.4 pthread_rwlock_timedrdlock F GLIBC_2.4 pthread_rwlock_timedwrlock F GLIBC_2.4 pthread_rwlock_tryrdlock F GLIBC_2.4 pthread_rwlock_trywrlock F -GLIBC_2.4 pthread_rwlock_unlock F -GLIBC_2.4 pthread_rwlock_wrlock F GLIBC_2.4 pthread_rwlockattr_destroy F GLIBC_2.4 pthread_rwlockattr_getkind_np F GLIBC_2.4 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index c6f9e3dbc3..caf3f6a141 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -158,6 +158,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -165,6 +168,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0xa0 @@ -497,6 +503,9 @@ GLIBC_2.4 __pthread_cleanup_routine F GLIBC_2.4 __pthread_getspecific F GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_once F +GLIBC_2.4 __pthread_rwlock_rdlock F +GLIBC_2.4 __pthread_rwlock_unlock F +GLIBC_2.4 __pthread_rwlock_wrlock F GLIBC_2.4 __pthread_setspecific F GLIBC_2.4 __pthread_unwind_next F GLIBC_2.4 __ptsname_r_chk F @@ -1564,6 +1573,9 @@ 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_rwlock_rdlock F +GLIBC_2.4 pthread_rwlock_unlock F +GLIBC_2.4 pthread_rwlock_wrlock 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 5d3859b245..833b53362d 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -59,11 +59,8 @@ GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_rwlock_destroy F GLIBC_2.4 __pthread_rwlock_init F -GLIBC_2.4 __pthread_rwlock_rdlock F GLIBC_2.4 __pthread_rwlock_tryrdlock F GLIBC_2.4 __pthread_rwlock_trywrlock F -GLIBC_2.4 __pthread_rwlock_unlock F -GLIBC_2.4 __pthread_rwlock_wrlock F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F GLIBC_2.4 __pwrite64 F @@ -144,13 +141,10 @@ GLIBC_2.4 pthread_mutexattr_setrobust_np F GLIBC_2.4 pthread_mutexattr_settype F GLIBC_2.4 pthread_rwlock_destroy F GLIBC_2.4 pthread_rwlock_init F -GLIBC_2.4 pthread_rwlock_rdlock F GLIBC_2.4 pthread_rwlock_timedrdlock F GLIBC_2.4 pthread_rwlock_timedwrlock F GLIBC_2.4 pthread_rwlock_tryrdlock F GLIBC_2.4 pthread_rwlock_trywrlock F -GLIBC_2.4 pthread_rwlock_unlock F -GLIBC_2.4 pthread_rwlock_wrlock F GLIBC_2.4 pthread_rwlockattr_destroy F GLIBC_2.4 pthread_rwlockattr_getkind_np F GLIBC_2.4 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index ec7f3bde74..aeb6424389 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -335,6 +335,9 @@ GLIBC_2.29 __pthread_cleanup_routine F GLIBC_2.29 __pthread_getspecific F GLIBC_2.29 __pthread_key_create F GLIBC_2.29 __pthread_once F +GLIBC_2.29 __pthread_rwlock_rdlock F +GLIBC_2.29 __pthread_rwlock_unlock F +GLIBC_2.29 __pthread_rwlock_wrlock F GLIBC_2.29 __pthread_setspecific F GLIBC_2.29 __pthread_unwind_next F GLIBC_2.29 __ptsname_r_chk F @@ -1450,6 +1453,9 @@ 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_rwlock_rdlock F +GLIBC_2.29 pthread_rwlock_unlock F +GLIBC_2.29 pthread_rwlock_wrlock F GLIBC_2.29 pthread_self F GLIBC_2.29 pthread_setcancelstate F GLIBC_2.29 pthread_setcanceltype F @@ -2137,6 +2143,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2144,4 +2153,7 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index cf7869867c..440c0507d1 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -24,11 +24,8 @@ GLIBC_2.29 __pthread_register_cancel F GLIBC_2.29 __pthread_register_cancel_defer F GLIBC_2.29 __pthread_rwlock_destroy F GLIBC_2.29 __pthread_rwlock_init F -GLIBC_2.29 __pthread_rwlock_rdlock F GLIBC_2.29 __pthread_rwlock_tryrdlock F GLIBC_2.29 __pthread_rwlock_trywrlock F -GLIBC_2.29 __pthread_rwlock_unlock F -GLIBC_2.29 __pthread_rwlock_wrlock F GLIBC_2.29 __pthread_unregister_cancel F GLIBC_2.29 __pthread_unregister_cancel_restore F GLIBC_2.29 __pwrite64 F @@ -125,13 +122,10 @@ GLIBC_2.29 pthread_mutexattr_setrobust_np F GLIBC_2.29 pthread_mutexattr_settype F GLIBC_2.29 pthread_rwlock_destroy F GLIBC_2.29 pthread_rwlock_init F -GLIBC_2.29 pthread_rwlock_rdlock F GLIBC_2.29 pthread_rwlock_timedrdlock F GLIBC_2.29 pthread_rwlock_timedwrlock F GLIBC_2.29 pthread_rwlock_tryrdlock F GLIBC_2.29 pthread_rwlock_trywrlock F -GLIBC_2.29 pthread_rwlock_unlock F -GLIBC_2.29 pthread_rwlock_wrlock F GLIBC_2.29 pthread_rwlockattr_destroy F GLIBC_2.29 pthread_rwlockattr_getkind_np F GLIBC_2.29 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index ebced5d8c3..e1d02058c9 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -359,6 +359,9 @@ GLIBC_2.2 __progname_full D 0x4 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F @@ -1283,6 +1286,9 @@ 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_rwlock_rdlock F +GLIBC_2.2 pthread_rwlock_unlock F +GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F @@ -2095,6 +2101,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2102,6 +2111,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 d0e8564302..70af59d791 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -30,11 +30,8 @@ GLIBC_2.2 __pthread_mutexattr_init F GLIBC_2.2 __pthread_mutexattr_settype F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __read F GLIBC_2.2 __res_state F @@ -102,13 +99,10 @@ GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F -GLIBC_2.2 pthread_rwlock_rdlock F GLIBC_2.2 pthread_rwlock_timedrdlock F GLIBC_2.2 pthread_rwlock_timedwrlock F GLIBC_2.2 pthread_rwlock_tryrdlock F GLIBC_2.2 pthread_rwlock_trywrlock F -GLIBC_2.2 pthread_rwlock_unlock F -GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_rwlockattr_destroy F GLIBC_2.2 pthread_rwlockattr_getkind_np F GLIBC_2.2 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index d15479dabd..717344a690 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -1556,6 +1556,9 @@ GLIBC_2.1 pread64 F GLIBC_2.1 printf_size F GLIBC_2.1 printf_size_info F GLIBC_2.1 pthread_attr_init F +GLIBC_2.1 pthread_rwlock_rdlock F +GLIBC_2.1 pthread_rwlock_unlock F +GLIBC_2.1 pthread_rwlock_wrlock F GLIBC_2.1 ptsname F GLIBC_2.1 ptsname_r F GLIBC_2.1 putgrent F @@ -1865,6 +1868,9 @@ GLIBC_2.2 __getmntent_r F GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -2262,6 +2268,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2269,6 +2278,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 99e53d0c49..35cc2f61c5 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -87,11 +87,8 @@ GLIBC_2.1 pthread_mutexattr_gettype F GLIBC_2.1 pthread_mutexattr_settype F GLIBC_2.1 pthread_rwlock_destroy F GLIBC_2.1 pthread_rwlock_init F -GLIBC_2.1 pthread_rwlock_rdlock F GLIBC_2.1 pthread_rwlock_tryrdlock F GLIBC_2.1 pthread_rwlock_trywrlock F -GLIBC_2.1 pthread_rwlock_unlock F -GLIBC_2.1 pthread_rwlock_wrlock F GLIBC_2.1 pthread_rwlockattr_destroy F GLIBC_2.1 pthread_rwlockattr_getkind_np F GLIBC_2.1 pthread_rwlockattr_getpshared F @@ -120,11 +117,8 @@ GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 lseek64 F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 62c8c7d461..284b7072a3 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -363,6 +363,9 @@ GLIBC_2.2 __progname_full D 0x8 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F @@ -1304,6 +1307,9 @@ 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_rwlock_rdlock F +GLIBC_2.2 pthread_rwlock_unlock F +GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F @@ -2127,6 +2133,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2134,6 +2143,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 ff37f3905e..2e69109cdc 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -30,11 +30,8 @@ GLIBC_2.2 __pthread_mutexattr_init F GLIBC_2.2 __pthread_mutexattr_settype F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __read F GLIBC_2.2 __res_state F @@ -102,13 +99,10 @@ GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F -GLIBC_2.2 pthread_rwlock_rdlock F GLIBC_2.2 pthread_rwlock_timedrdlock F GLIBC_2.2 pthread_rwlock_timedwrlock F GLIBC_2.2 pthread_rwlock_tryrdlock F GLIBC_2.2 pthread_rwlock_trywrlock F -GLIBC_2.2 pthread_rwlock_unlock F -GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_rwlockattr_destroy F GLIBC_2.2 pthread_rwlockattr_getkind_np F GLIBC_2.2 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 83e8a6824f..404d16b92a 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -162,6 +162,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -169,6 +172,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific F GLIBC_2.4 _Exit F GLIBC_2.4 _IO_2_1_stderr_ D 0x98 @@ -486,6 +492,9 @@ GLIBC_2.4 __pthread_cleanup_routine F GLIBC_2.4 __pthread_getspecific F GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_once F +GLIBC_2.4 __pthread_rwlock_rdlock F +GLIBC_2.4 __pthread_rwlock_unlock F +GLIBC_2.4 __pthread_rwlock_wrlock F GLIBC_2.4 __pthread_setspecific F GLIBC_2.4 __pthread_unwind_next F GLIBC_2.4 __ptsname_r_chk F @@ -1547,6 +1556,9 @@ 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_rwlock_rdlock F +GLIBC_2.4 pthread_rwlock_unlock F +GLIBC_2.4 pthread_rwlock_wrlock 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 5d3859b245..833b53362d 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -59,11 +59,8 @@ GLIBC_2.4 __pthread_register_cancel F GLIBC_2.4 __pthread_register_cancel_defer F GLIBC_2.4 __pthread_rwlock_destroy F GLIBC_2.4 __pthread_rwlock_init F -GLIBC_2.4 __pthread_rwlock_rdlock F GLIBC_2.4 __pthread_rwlock_tryrdlock F GLIBC_2.4 __pthread_rwlock_trywrlock F -GLIBC_2.4 __pthread_rwlock_unlock F -GLIBC_2.4 __pthread_rwlock_wrlock F GLIBC_2.4 __pthread_unregister_cancel F GLIBC_2.4 __pthread_unregister_cancel_restore F GLIBC_2.4 __pwrite64 F @@ -144,13 +141,10 @@ GLIBC_2.4 pthread_mutexattr_setrobust_np F GLIBC_2.4 pthread_mutexattr_settype F GLIBC_2.4 pthread_rwlock_destroy F GLIBC_2.4 pthread_rwlock_init F -GLIBC_2.4 pthread_rwlock_rdlock F GLIBC_2.4 pthread_rwlock_timedrdlock F GLIBC_2.4 pthread_rwlock_timedwrlock F GLIBC_2.4 pthread_rwlock_tryrdlock F GLIBC_2.4 pthread_rwlock_trywrlock F -GLIBC_2.4 pthread_rwlock_unlock F -GLIBC_2.4 pthread_rwlock_wrlock F GLIBC_2.4 pthread_rwlockattr_destroy F GLIBC_2.4 pthread_rwlockattr_getkind_np F GLIBC_2.4 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 5a81c61de7..b1ad96e072 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -1552,6 +1552,9 @@ GLIBC_2.1 pread64 F GLIBC_2.1 printf_size F GLIBC_2.1 printf_size_info F GLIBC_2.1 pthread_attr_init F +GLIBC_2.1 pthread_rwlock_rdlock F +GLIBC_2.1 pthread_rwlock_unlock F +GLIBC_2.1 pthread_rwlock_wrlock F GLIBC_2.1 ptsname F GLIBC_2.1 ptsname_r F GLIBC_2.1 putgrent F @@ -1821,6 +1824,9 @@ GLIBC_2.2 __getmntent_r F GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -2207,6 +2213,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2214,6 +2223,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 99e53d0c49..35cc2f61c5 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -87,11 +87,8 @@ GLIBC_2.1 pthread_mutexattr_gettype F GLIBC_2.1 pthread_mutexattr_settype F GLIBC_2.1 pthread_rwlock_destroy F GLIBC_2.1 pthread_rwlock_init F -GLIBC_2.1 pthread_rwlock_rdlock F GLIBC_2.1 pthread_rwlock_tryrdlock F GLIBC_2.1 pthread_rwlock_trywrlock F -GLIBC_2.1 pthread_rwlock_unlock F -GLIBC_2.1 pthread_rwlock_wrlock F GLIBC_2.1 pthread_rwlockattr_destroy F GLIBC_2.1 pthread_rwlockattr_getkind_np F GLIBC_2.1 pthread_rwlockattr_getpshared F @@ -120,11 +117,8 @@ GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 lseek64 F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 39c806db53..3e0cceae93 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -343,6 +343,9 @@ GLIBC_2.18 __pthread_cleanup_routine F GLIBC_2.18 __pthread_getspecific F GLIBC_2.18 __pthread_key_create F GLIBC_2.18 __pthread_once F +GLIBC_2.18 __pthread_rwlock_rdlock F +GLIBC_2.18 __pthread_rwlock_unlock F +GLIBC_2.18 __pthread_rwlock_wrlock F GLIBC_2.18 __pthread_setspecific F GLIBC_2.18 __pthread_unwind_next F GLIBC_2.18 __ptsname_r_chk F @@ -1465,6 +1468,9 @@ 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_rwlock_rdlock F +GLIBC_2.18 pthread_rwlock_unlock F +GLIBC_2.18 pthread_rwlock_wrlock F GLIBC_2.18 pthread_self F GLIBC_2.18 pthread_setcancelstate F GLIBC_2.18 pthread_setcanceltype F @@ -2188,6 +2194,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2195,4 +2204,7 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 8b3785414d..0db83c2f88 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -25,11 +25,8 @@ GLIBC_2.18 __pthread_register_cancel F GLIBC_2.18 __pthread_register_cancel_defer F GLIBC_2.18 __pthread_rwlock_destroy F GLIBC_2.18 __pthread_rwlock_init F -GLIBC_2.18 __pthread_rwlock_rdlock F GLIBC_2.18 __pthread_rwlock_tryrdlock F GLIBC_2.18 __pthread_rwlock_trywrlock F -GLIBC_2.18 __pthread_rwlock_unlock F -GLIBC_2.18 __pthread_rwlock_wrlock F GLIBC_2.18 __pthread_unregister_cancel F GLIBC_2.18 __pthread_unregister_cancel_restore F GLIBC_2.18 __pwrite64 F @@ -114,13 +111,10 @@ GLIBC_2.18 pthread_mutexattr_setrobust_np F GLIBC_2.18 pthread_mutexattr_settype F GLIBC_2.18 pthread_rwlock_destroy F GLIBC_2.18 pthread_rwlock_init F -GLIBC_2.18 pthread_rwlock_rdlock F GLIBC_2.18 pthread_rwlock_timedrdlock F GLIBC_2.18 pthread_rwlock_timedwrlock F GLIBC_2.18 pthread_rwlock_tryrdlock F GLIBC_2.18 pthread_rwlock_trywrlock F -GLIBC_2.18 pthread_rwlock_unlock F -GLIBC_2.18 pthread_rwlock_wrlock F GLIBC_2.18 pthread_rwlockattr_destroy F GLIBC_2.18 pthread_rwlockattr_getkind_np F GLIBC_2.18 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index ce2823207c..4ee88a1d01 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -343,6 +343,9 @@ GLIBC_2.18 __pthread_cleanup_routine F GLIBC_2.18 __pthread_getspecific F GLIBC_2.18 __pthread_key_create F GLIBC_2.18 __pthread_once F +GLIBC_2.18 __pthread_rwlock_rdlock F +GLIBC_2.18 __pthread_rwlock_unlock F +GLIBC_2.18 __pthread_rwlock_wrlock F GLIBC_2.18 __pthread_setspecific F GLIBC_2.18 __pthread_unwind_next F GLIBC_2.18 __ptsname_r_chk F @@ -1465,6 +1468,9 @@ 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_rwlock_rdlock F +GLIBC_2.18 pthread_rwlock_unlock F +GLIBC_2.18 pthread_rwlock_wrlock F GLIBC_2.18 pthread_self F GLIBC_2.18 pthread_setcancelstate F GLIBC_2.18 pthread_setcanceltype F @@ -2185,6 +2191,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2192,4 +2201,7 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 8b3785414d..0db83c2f88 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -25,11 +25,8 @@ GLIBC_2.18 __pthread_register_cancel F GLIBC_2.18 __pthread_register_cancel_defer F GLIBC_2.18 __pthread_rwlock_destroy F GLIBC_2.18 __pthread_rwlock_init F -GLIBC_2.18 __pthread_rwlock_rdlock F GLIBC_2.18 __pthread_rwlock_tryrdlock F GLIBC_2.18 __pthread_rwlock_trywrlock F -GLIBC_2.18 __pthread_rwlock_unlock F -GLIBC_2.18 __pthread_rwlock_wrlock F GLIBC_2.18 __pthread_unregister_cancel F GLIBC_2.18 __pthread_unregister_cancel_restore F GLIBC_2.18 __pwrite64 F @@ -114,13 +111,10 @@ GLIBC_2.18 pthread_mutexattr_setrobust_np F GLIBC_2.18 pthread_mutexattr_settype F GLIBC_2.18 pthread_rwlock_destroy F GLIBC_2.18 pthread_rwlock_init F -GLIBC_2.18 pthread_rwlock_rdlock F GLIBC_2.18 pthread_rwlock_timedrdlock F GLIBC_2.18 pthread_rwlock_timedwrlock F GLIBC_2.18 pthread_rwlock_tryrdlock F GLIBC_2.18 pthread_rwlock_trywrlock F -GLIBC_2.18 pthread_rwlock_unlock F -GLIBC_2.18 pthread_rwlock_wrlock F GLIBC_2.18 pthread_rwlockattr_destroy F GLIBC_2.18 pthread_rwlockattr_getkind_np F GLIBC_2.18 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index 5e8abfa6ae..e67af35000 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -1526,6 +1526,9 @@ GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F GLIBC_2.2 __poll F GLIBC_2.2 __pread64 F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __res_init F @@ -1813,6 +1816,9 @@ GLIBC_2.2 pread64 F GLIBC_2.2 printf_size F GLIBC_2.2 printf_size_info F GLIBC_2.2 pthread_attr_init F +GLIBC_2.2 pthread_rwlock_rdlock F +GLIBC_2.2 pthread_rwlock_unlock F +GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 ptsname F GLIBC_2.2 ptsname_r F GLIBC_2.2 putgrent F @@ -2178,6 +2184,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2185,6 +2194,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 cd0d6d7419..a1a66138d4 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -86,11 +86,8 @@ GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 lseek64 F @@ -123,13 +120,10 @@ GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F -GLIBC_2.2 pthread_rwlock_rdlock F GLIBC_2.2 pthread_rwlock_timedrdlock F GLIBC_2.2 pthread_rwlock_timedwrlock F GLIBC_2.2 pthread_rwlock_tryrdlock F GLIBC_2.2 pthread_rwlock_trywrlock F -GLIBC_2.2 pthread_rwlock_unlock F -GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_rwlockattr_destroy F GLIBC_2.2 pthread_rwlockattr_getkind_np F GLIBC_2.2 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 93002ae842..1ce0179391 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -1524,6 +1524,9 @@ GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F GLIBC_2.2 __poll F GLIBC_2.2 __pread64 F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __res_init F @@ -1811,6 +1814,9 @@ GLIBC_2.2 pread64 F GLIBC_2.2 printf_size F GLIBC_2.2 printf_size_info F GLIBC_2.2 pthread_attr_init F +GLIBC_2.2 pthread_rwlock_rdlock F +GLIBC_2.2 pthread_rwlock_unlock F +GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 ptsname F GLIBC_2.2 ptsname_r F GLIBC_2.2 putgrent F @@ -2176,6 +2182,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2183,6 +2192,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 cd0d6d7419..a1a66138d4 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -86,11 +86,8 @@ GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 lseek64 F @@ -123,13 +120,10 @@ GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F -GLIBC_2.2 pthread_rwlock_rdlock F GLIBC_2.2 pthread_rwlock_timedrdlock F GLIBC_2.2 pthread_rwlock_timedwrlock F GLIBC_2.2 pthread_rwlock_tryrdlock F GLIBC_2.2 pthread_rwlock_trywrlock F -GLIBC_2.2 pthread_rwlock_unlock F -GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_rwlockattr_destroy F GLIBC_2.2 pthread_rwlockattr_getkind_np F GLIBC_2.2 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 245a840e12..54c2300420 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -1524,6 +1524,9 @@ GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F GLIBC_2.2 __poll F GLIBC_2.2 __pread64 F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __res_init F @@ -1811,6 +1814,9 @@ GLIBC_2.2 pread64 F GLIBC_2.2 printf_size F GLIBC_2.2 printf_size_info F GLIBC_2.2 pthread_attr_init F +GLIBC_2.2 pthread_rwlock_rdlock F +GLIBC_2.2 pthread_rwlock_unlock F +GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 ptsname F GLIBC_2.2 ptsname_r F GLIBC_2.2 putgrent F @@ -2184,6 +2190,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2191,6 +2200,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 24b2dddb51..90bbb7f253 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -1520,6 +1520,9 @@ GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F GLIBC_2.2 __poll F GLIBC_2.2 __pread64 F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F GLIBC_2.2 __res_init F @@ -1807,6 +1810,9 @@ GLIBC_2.2 pread64 F GLIBC_2.2 printf_size F GLIBC_2.2 printf_size_info F GLIBC_2.2 pthread_attr_init F +GLIBC_2.2 pthread_rwlock_rdlock F +GLIBC_2.2 pthread_rwlock_unlock F +GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 ptsname F GLIBC_2.2 ptsname_r F GLIBC_2.2 putgrent F @@ -2178,6 +2184,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2185,6 +2194,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 7d4b4dd278..1f68c2a3fb 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -380,6 +380,9 @@ GLIBC_2.21 __pthread_cleanup_routine F GLIBC_2.21 __pthread_getspecific F GLIBC_2.21 __pthread_key_create F GLIBC_2.21 __pthread_once F +GLIBC_2.21 __pthread_rwlock_rdlock F +GLIBC_2.21 __pthread_rwlock_unlock F +GLIBC_2.21 __pthread_rwlock_wrlock F GLIBC_2.21 __pthread_setspecific F GLIBC_2.21 __pthread_unwind_next F GLIBC_2.21 __ptsname_r_chk F @@ -1507,6 +1510,9 @@ 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_rwlock_rdlock F +GLIBC_2.21 pthread_rwlock_unlock F +GLIBC_2.21 pthread_rwlock_wrlock F GLIBC_2.21 pthread_self F GLIBC_2.21 pthread_setcancelstate F GLIBC_2.21 pthread_setcanceltype F @@ -2226,6 +2232,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2233,4 +2242,7 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index 0250c9756d..806432b7b4 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -25,11 +25,8 @@ GLIBC_2.21 __pthread_register_cancel F GLIBC_2.21 __pthread_register_cancel_defer F GLIBC_2.21 __pthread_rwlock_destroy F GLIBC_2.21 __pthread_rwlock_init F -GLIBC_2.21 __pthread_rwlock_rdlock F GLIBC_2.21 __pthread_rwlock_tryrdlock F GLIBC_2.21 __pthread_rwlock_trywrlock F -GLIBC_2.21 __pthread_rwlock_unlock F -GLIBC_2.21 __pthread_rwlock_wrlock F GLIBC_2.21 __pthread_unregister_cancel F GLIBC_2.21 __pthread_unregister_cancel_restore F GLIBC_2.21 __pwrite64 F @@ -114,13 +111,10 @@ GLIBC_2.21 pthread_mutexattr_setrobust_np F GLIBC_2.21 pthread_mutexattr_settype F GLIBC_2.21 pthread_rwlock_destroy F GLIBC_2.21 pthread_rwlock_init F -GLIBC_2.21 pthread_rwlock_rdlock F GLIBC_2.21 pthread_rwlock_timedrdlock F GLIBC_2.21 pthread_rwlock_timedwrlock F GLIBC_2.21 pthread_rwlock_tryrdlock F GLIBC_2.21 pthread_rwlock_trywrlock F -GLIBC_2.21 pthread_rwlock_unlock F -GLIBC_2.21 pthread_rwlock_wrlock F GLIBC_2.21 pthread_rwlockattr_destroy F GLIBC_2.21 pthread_rwlockattr_getkind_np F GLIBC_2.21 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index 65ea41b2db..a41536e4cd 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -1560,6 +1560,9 @@ GLIBC_2.1 pread64 F GLIBC_2.1 printf_size F GLIBC_2.1 printf_size_info F GLIBC_2.1 pthread_attr_init F +GLIBC_2.1 pthread_rwlock_rdlock F +GLIBC_2.1 pthread_rwlock_unlock F +GLIBC_2.1 pthread_rwlock_wrlock F GLIBC_2.1 ptsname F GLIBC_2.1 ptsname_r F GLIBC_2.1 putgrent F @@ -1827,6 +1830,9 @@ GLIBC_2.2 __getmntent_r F GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -2234,6 +2240,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2241,6 +2250,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 e0eb362a7a..d0646d0eaf 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -87,11 +87,8 @@ GLIBC_2.1 pthread_mutexattr_gettype F GLIBC_2.1 pthread_mutexattr_settype F GLIBC_2.1 pthread_rwlock_destroy F GLIBC_2.1 pthread_rwlock_init F -GLIBC_2.1 pthread_rwlock_rdlock F GLIBC_2.1 pthread_rwlock_tryrdlock F GLIBC_2.1 pthread_rwlock_trywrlock F -GLIBC_2.1 pthread_rwlock_unlock F -GLIBC_2.1 pthread_rwlock_wrlock F GLIBC_2.1 pthread_rwlockattr_destroy F GLIBC_2.1 pthread_rwlockattr_getkind_np F GLIBC_2.1 pthread_rwlockattr_getpshared F @@ -120,11 +117,8 @@ GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 lseek64 F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 9d413de126..cdd6e98496 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -1560,6 +1560,9 @@ GLIBC_2.1 pread64 F GLIBC_2.1 printf_size F GLIBC_2.1 printf_size_info F GLIBC_2.1 pthread_attr_init F +GLIBC_2.1 pthread_rwlock_rdlock F +GLIBC_2.1 pthread_rwlock_unlock F +GLIBC_2.1 pthread_rwlock_wrlock F GLIBC_2.1 ptsname F GLIBC_2.1 ptsname_r F GLIBC_2.1 putgrent F @@ -1831,6 +1834,9 @@ GLIBC_2.2 __getmntent_r F GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -2267,6 +2273,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2274,6 +2283,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 16c24bfc69..63a7449937 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -412,6 +412,9 @@ GLIBC_2.3 __progname_full D 0x8 GLIBC_2.3 __pthread_getspecific F GLIBC_2.3 __pthread_key_create F GLIBC_2.3 __pthread_once F +GLIBC_2.3 __pthread_rwlock_rdlock F +GLIBC_2.3 __pthread_rwlock_unlock F +GLIBC_2.3 __pthread_rwlock_wrlock F GLIBC_2.3 __pthread_setspecific F GLIBC_2.3 __pwrite64 F GLIBC_2.3 __rawmemchr F @@ -1390,6 +1393,9 @@ 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_rwlock_rdlock F +GLIBC_2.3 pthread_rwlock_unlock F +GLIBC_2.3 pthread_rwlock_wrlock F GLIBC_2.3 pthread_self F GLIBC_2.3 pthread_setcancelstate F GLIBC_2.3 pthread_setcanceltype F @@ -2097,6 +2103,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2104,6 +2113,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 1099d88afe..72d49ce4f3 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -51,11 +51,8 @@ GLIBC_2.3 __pthread_mutexattr_init F GLIBC_2.3 __pthread_mutexattr_settype F GLIBC_2.3 __pthread_rwlock_destroy F GLIBC_2.3 __pthread_rwlock_init F -GLIBC_2.3 __pthread_rwlock_rdlock F GLIBC_2.3 __pthread_rwlock_tryrdlock F GLIBC_2.3 __pthread_rwlock_trywrlock F -GLIBC_2.3 __pthread_rwlock_unlock F -GLIBC_2.3 __pthread_rwlock_wrlock F GLIBC_2.3 __pwrite64 F GLIBC_2.3 __read F GLIBC_2.3 __res_state F @@ -122,13 +119,10 @@ GLIBC_2.3 pthread_mutexattr_setpshared F GLIBC_2.3 pthread_mutexattr_settype F GLIBC_2.3 pthread_rwlock_destroy F GLIBC_2.3 pthread_rwlock_init F -GLIBC_2.3 pthread_rwlock_rdlock F GLIBC_2.3 pthread_rwlock_timedrdlock F GLIBC_2.3 pthread_rwlock_timedwrlock F GLIBC_2.3 pthread_rwlock_tryrdlock F GLIBC_2.3 pthread_rwlock_trywrlock F -GLIBC_2.3 pthread_rwlock_unlock F -GLIBC_2.3 pthread_rwlock_wrlock F GLIBC_2.3 pthread_rwlockattr_destroy F GLIBC_2.3 pthread_rwlockattr_getkind_np F GLIBC_2.3 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index d97c594edd..b6de88ea41 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -428,6 +428,9 @@ GLIBC_2.17 __pthread_cleanup_routine F GLIBC_2.17 __pthread_getspecific F GLIBC_2.17 __pthread_key_create F GLIBC_2.17 __pthread_once F +GLIBC_2.17 __pthread_rwlock_rdlock F +GLIBC_2.17 __pthread_rwlock_unlock F +GLIBC_2.17 __pthread_rwlock_wrlock F GLIBC_2.17 __pthread_setspecific F GLIBC_2.17 __pthread_unwind_next F GLIBC_2.17 __ptsname_r_chk F @@ -1551,6 +1554,9 @@ 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_rwlock_rdlock F +GLIBC_2.17 pthread_rwlock_unlock F +GLIBC_2.17 pthread_rwlock_wrlock F GLIBC_2.17 pthread_self F GLIBC_2.17 pthread_setcancelstate F GLIBC_2.17 pthread_setcanceltype F @@ -2388,6 +2394,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2395,4 +2404,7 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 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 50ab959905..9a24f796de 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -25,11 +25,8 @@ GLIBC_2.17 __pthread_register_cancel F GLIBC_2.17 __pthread_register_cancel_defer F GLIBC_2.17 __pthread_rwlock_destroy F GLIBC_2.17 __pthread_rwlock_init F -GLIBC_2.17 __pthread_rwlock_rdlock F GLIBC_2.17 __pthread_rwlock_tryrdlock F GLIBC_2.17 __pthread_rwlock_trywrlock F -GLIBC_2.17 __pthread_rwlock_unlock F -GLIBC_2.17 __pthread_rwlock_wrlock F GLIBC_2.17 __pthread_unregister_cancel F GLIBC_2.17 __pthread_unregister_cancel_restore F GLIBC_2.17 __pwrite64 F @@ -113,13 +110,10 @@ GLIBC_2.17 pthread_mutexattr_setrobust_np F GLIBC_2.17 pthread_mutexattr_settype F GLIBC_2.17 pthread_rwlock_destroy F GLIBC_2.17 pthread_rwlock_init F -GLIBC_2.17 pthread_rwlock_rdlock F GLIBC_2.17 pthread_rwlock_timedrdlock F GLIBC_2.17 pthread_rwlock_timedwrlock F GLIBC_2.17 pthread_rwlock_tryrdlock F GLIBC_2.17 pthread_rwlock_trywrlock F -GLIBC_2.17 pthread_rwlock_unlock F -GLIBC_2.17 pthread_rwlock_wrlock F GLIBC_2.17 pthread_rwlockattr_destroy F GLIBC_2.17 pthread_rwlockattr_getkind_np F GLIBC_2.17 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 44b0121343..d81b46d597 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -328,6 +328,9 @@ GLIBC_2.33 __pthread_cleanup_routine F GLIBC_2.33 __pthread_getspecific F GLIBC_2.33 __pthread_key_create F GLIBC_2.33 __pthread_once F +GLIBC_2.33 __pthread_rwlock_rdlock F +GLIBC_2.33 __pthread_rwlock_unlock F +GLIBC_2.33 __pthread_rwlock_wrlock F GLIBC_2.33 __pthread_setspecific F GLIBC_2.33 __pthread_unwind_next F GLIBC_2.33 __ptsname_r_chk F @@ -1391,6 +1394,9 @@ 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_rwlock_rdlock F +GLIBC_2.33 pthread_rwlock_unlock F +GLIBC_2.33 pthread_rwlock_wrlock F GLIBC_2.33 pthread_self F GLIBC_2.33 pthread_setcancelstate F GLIBC_2.33 pthread_setcanceltype F @@ -1955,6 +1961,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -1962,4 +1971,7 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index 6c6fdd0cbf..10e50b67c0 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -24,11 +24,8 @@ GLIBC_2.33 __pthread_register_cancel F GLIBC_2.33 __pthread_register_cancel_defer F GLIBC_2.33 __pthread_rwlock_destroy F GLIBC_2.33 __pthread_rwlock_init F -GLIBC_2.33 __pthread_rwlock_rdlock F GLIBC_2.33 __pthread_rwlock_tryrdlock F GLIBC_2.33 __pthread_rwlock_trywrlock F -GLIBC_2.33 __pthread_rwlock_unlock F -GLIBC_2.33 __pthread_rwlock_wrlock F GLIBC_2.33 __pthread_unregister_cancel F GLIBC_2.33 __pthread_unregister_cancel_restore F GLIBC_2.33 __pwrite64 F @@ -130,13 +127,10 @@ GLIBC_2.33 pthread_rwlock_clockrdlock F GLIBC_2.33 pthread_rwlock_clockwrlock F GLIBC_2.33 pthread_rwlock_destroy F GLIBC_2.33 pthread_rwlock_init F -GLIBC_2.33 pthread_rwlock_rdlock F GLIBC_2.33 pthread_rwlock_timedrdlock F GLIBC_2.33 pthread_rwlock_timedwrlock F GLIBC_2.33 pthread_rwlock_tryrdlock F GLIBC_2.33 pthread_rwlock_trywrlock F -GLIBC_2.33 pthread_rwlock_unlock F -GLIBC_2.33 pthread_rwlock_wrlock F GLIBC_2.33 pthread_rwlockattr_destroy F GLIBC_2.33 pthread_rwlockattr_getkind_np F GLIBC_2.33 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 22a34442f0..fbd1c5e5cf 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -339,6 +339,9 @@ GLIBC_2.27 __pthread_cleanup_routine F GLIBC_2.27 __pthread_getspecific F GLIBC_2.27 __pthread_key_create F GLIBC_2.27 __pthread_once F +GLIBC_2.27 __pthread_rwlock_rdlock F +GLIBC_2.27 __pthread_rwlock_unlock F +GLIBC_2.27 __pthread_rwlock_wrlock F GLIBC_2.27 __pthread_setspecific F GLIBC_2.27 __pthread_unwind_next F GLIBC_2.27 __ptsname_r_chk F @@ -1453,6 +1456,9 @@ 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_rwlock_rdlock F +GLIBC_2.27 pthread_rwlock_unlock F +GLIBC_2.27 pthread_rwlock_wrlock F GLIBC_2.27 pthread_self F GLIBC_2.27 pthread_setcancelstate F GLIBC_2.27 pthread_setcanceltype F @@ -2155,6 +2161,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2162,4 +2171,7 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index 359545faee..ed24898e0d 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -25,11 +25,8 @@ GLIBC_2.27 __pthread_register_cancel F GLIBC_2.27 __pthread_register_cancel_defer F GLIBC_2.27 __pthread_rwlock_destroy F GLIBC_2.27 __pthread_rwlock_init F -GLIBC_2.27 __pthread_rwlock_rdlock F GLIBC_2.27 __pthread_rwlock_tryrdlock F GLIBC_2.27 __pthread_rwlock_trywrlock F -GLIBC_2.27 __pthread_rwlock_unlock F -GLIBC_2.27 __pthread_rwlock_wrlock F GLIBC_2.27 __pthread_unregister_cancel F GLIBC_2.27 __pthread_unregister_cancel_restore F GLIBC_2.27 __pwrite64 F @@ -114,13 +111,10 @@ GLIBC_2.27 pthread_mutexattr_setrobust_np F GLIBC_2.27 pthread_mutexattr_settype F GLIBC_2.27 pthread_rwlock_destroy F GLIBC_2.27 pthread_rwlock_init F -GLIBC_2.27 pthread_rwlock_rdlock F GLIBC_2.27 pthread_rwlock_timedrdlock F GLIBC_2.27 pthread_rwlock_timedwrlock F GLIBC_2.27 pthread_rwlock_tryrdlock F GLIBC_2.27 pthread_rwlock_trywrlock F -GLIBC_2.27 pthread_rwlock_unlock F -GLIBC_2.27 pthread_rwlock_wrlock F GLIBC_2.27 pthread_rwlockattr_destroy F GLIBC_2.27 pthread_rwlockattr_getkind_np F GLIBC_2.27 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 21f49b1fa0..27a9b011a8 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -1552,6 +1552,9 @@ GLIBC_2.1 pread64 F GLIBC_2.1 printf_size F GLIBC_2.1 printf_size_info F GLIBC_2.1 pthread_attr_init F +GLIBC_2.1 pthread_rwlock_rdlock F +GLIBC_2.1 pthread_rwlock_unlock F +GLIBC_2.1 pthread_rwlock_wrlock F GLIBC_2.1 ptsname F GLIBC_2.1 ptsname_r F GLIBC_2.1 putgrent F @@ -1825,6 +1828,9 @@ GLIBC_2.2 __getmntent_r F GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -2232,6 +2238,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2239,6 +2248,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 5eb6187d98..d6e91c977a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -87,11 +87,8 @@ GLIBC_2.1 pthread_mutexattr_gettype F GLIBC_2.1 pthread_mutexattr_settype F GLIBC_2.1 pthread_rwlock_destroy F GLIBC_2.1 pthread_rwlock_init F -GLIBC_2.1 pthread_rwlock_rdlock F GLIBC_2.1 pthread_rwlock_tryrdlock F GLIBC_2.1 pthread_rwlock_trywrlock F -GLIBC_2.1 pthread_rwlock_unlock F -GLIBC_2.1 pthread_rwlock_wrlock F GLIBC_2.1 pthread_rwlockattr_destroy F GLIBC_2.1 pthread_rwlockattr_getkind_np F GLIBC_2.1 pthread_rwlockattr_getpshared F @@ -121,11 +118,8 @@ GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 lseek64 F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 114591d6f5..9e79331100 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -373,6 +373,9 @@ GLIBC_2.2 __progname_full D 0x8 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F @@ -1301,6 +1304,9 @@ 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_rwlock_rdlock F +GLIBC_2.2 pthread_rwlock_unlock F +GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F @@ -2133,6 +2139,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2140,6 +2149,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 8f60a6b633..14489b39d0 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -31,11 +31,8 @@ GLIBC_2.2 __pthread_mutexattr_init F GLIBC_2.2 __pthread_mutexattr_settype F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __read F GLIBC_2.2 __res_state F @@ -103,13 +100,10 @@ GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F -GLIBC_2.2 pthread_rwlock_rdlock F GLIBC_2.2 pthread_rwlock_timedrdlock F GLIBC_2.2 pthread_rwlock_timedwrlock F GLIBC_2.2 pthread_rwlock_tryrdlock F GLIBC_2.2 pthread_rwlock_trywrlock F -GLIBC_2.2 pthread_rwlock_unlock F -GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_rwlockattr_destroy F GLIBC_2.2 pthread_rwlockattr_getkind_np F GLIBC_2.2 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index ad487f0c9f..b7dd795864 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -362,6 +362,9 @@ GLIBC_2.2 __progname_full D 0x4 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F @@ -1287,6 +1290,9 @@ 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_rwlock_rdlock F +GLIBC_2.2 pthread_rwlock_unlock F +GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F @@ -2102,6 +2108,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2109,6 +2118,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 d0e8564302..70af59d791 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -30,11 +30,8 @@ GLIBC_2.2 __pthread_mutexattr_init F GLIBC_2.2 __pthread_mutexattr_settype F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __read F GLIBC_2.2 __res_state F @@ -102,13 +99,10 @@ GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F -GLIBC_2.2 pthread_rwlock_rdlock F GLIBC_2.2 pthread_rwlock_timedrdlock F GLIBC_2.2 pthread_rwlock_timedwrlock F GLIBC_2.2 pthread_rwlock_tryrdlock F GLIBC_2.2 pthread_rwlock_trywrlock F -GLIBC_2.2 pthread_rwlock_unlock F -GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_rwlockattr_destroy F GLIBC_2.2 pthread_rwlockattr_getkind_np F GLIBC_2.2 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 7f6886ff02..eea30cd098 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -362,6 +362,9 @@ GLIBC_2.2 __progname_full D 0x4 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F @@ -1287,6 +1290,9 @@ 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_rwlock_rdlock F +GLIBC_2.2 pthread_rwlock_unlock F +GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F @@ -2099,6 +2105,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2106,6 +2115,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 d0e8564302..70af59d791 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -30,11 +30,8 @@ GLIBC_2.2 __pthread_mutexattr_init F GLIBC_2.2 __pthread_mutexattr_settype F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __read F GLIBC_2.2 __res_state F @@ -102,13 +99,10 @@ GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F -GLIBC_2.2 pthread_rwlock_rdlock F GLIBC_2.2 pthread_rwlock_timedrdlock F GLIBC_2.2 pthread_rwlock_timedwrlock F GLIBC_2.2 pthread_rwlock_tryrdlock F GLIBC_2.2 pthread_rwlock_trywrlock F -GLIBC_2.2 pthread_rwlock_unlock F -GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_rwlockattr_destroy F GLIBC_2.2 pthread_rwlockattr_getkind_np F GLIBC_2.2 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 4ae6d45923..4944c4159b 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -1553,6 +1553,9 @@ GLIBC_2.1 pread64 F GLIBC_2.1 printf_size F GLIBC_2.1 printf_size_info F GLIBC_2.1 pthread_attr_init F +GLIBC_2.1 pthread_rwlock_rdlock F +GLIBC_2.1 pthread_rwlock_unlock F +GLIBC_2.1 pthread_rwlock_wrlock F GLIBC_2.1 ptsname F GLIBC_2.1 ptsname_r F GLIBC_2.1 putgrent F @@ -1823,6 +1826,9 @@ GLIBC_2.2 __getmntent_r F GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __res_init F GLIBC_2.2 __res_nclose F GLIBC_2.2 __res_ninit F @@ -2223,6 +2229,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2230,6 +2239,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 9d78d94466..a7b3fd73ab 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -87,11 +87,8 @@ GLIBC_2.1 pthread_mutexattr_gettype F GLIBC_2.1 pthread_mutexattr_settype F GLIBC_2.1 pthread_rwlock_destroy F GLIBC_2.1 pthread_rwlock_init F -GLIBC_2.1 pthread_rwlock_rdlock F GLIBC_2.1 pthread_rwlock_tryrdlock F GLIBC_2.1 pthread_rwlock_trywrlock F -GLIBC_2.1 pthread_rwlock_unlock F -GLIBC_2.1 pthread_rwlock_wrlock F GLIBC_2.1 pthread_rwlockattr_destroy F GLIBC_2.1 pthread_rwlockattr_getkind_np F GLIBC_2.1 pthread_rwlockattr_getpshared F @@ -120,11 +117,8 @@ GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __res_state F GLIBC_2.2 lseek64 F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 44d0f68cb2..e69420994f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -400,6 +400,9 @@ GLIBC_2.2 __progname_full D 0x8 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F GLIBC_2.2 __pthread_once F +GLIBC_2.2 __pthread_rwlock_rdlock F +GLIBC_2.2 __pthread_rwlock_unlock F +GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __rawmemchr F @@ -1330,6 +1333,9 @@ 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_rwlock_rdlock F +GLIBC_2.2 pthread_rwlock_unlock F +GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_self F GLIBC_2.2 pthread_setcancelstate F GLIBC_2.2 pthread_setcanceltype F @@ -2150,6 +2156,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2157,6 +2166,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 ff37f3905e..2e69109cdc 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -30,11 +30,8 @@ GLIBC_2.2 __pthread_mutexattr_init F GLIBC_2.2 __pthread_mutexattr_settype F GLIBC_2.2 __pthread_rwlock_destroy F GLIBC_2.2 __pthread_rwlock_init F -GLIBC_2.2 __pthread_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_tryrdlock F GLIBC_2.2 __pthread_rwlock_trywrlock F -GLIBC_2.2 __pthread_rwlock_unlock F -GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pwrite64 F GLIBC_2.2 __read F GLIBC_2.2 __res_state F @@ -102,13 +99,10 @@ GLIBC_2.2 pthread_mutexattr_setpshared F GLIBC_2.2 pthread_mutexattr_settype F GLIBC_2.2 pthread_rwlock_destroy F GLIBC_2.2 pthread_rwlock_init F -GLIBC_2.2 pthread_rwlock_rdlock F GLIBC_2.2 pthread_rwlock_timedrdlock F GLIBC_2.2 pthread_rwlock_timedwrlock F GLIBC_2.2 pthread_rwlock_tryrdlock F GLIBC_2.2 pthread_rwlock_trywrlock F -GLIBC_2.2 pthread_rwlock_unlock F -GLIBC_2.2 pthread_rwlock_wrlock F GLIBC_2.2 pthread_rwlockattr_destroy F GLIBC_2.2 pthread_rwlockattr_getkind_np F GLIBC_2.2 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index d96699a20d..dfe78d93cb 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -361,6 +361,9 @@ GLIBC_2.2.5 __progname_full D 0x8 GLIBC_2.2.5 __pthread_getspecific F GLIBC_2.2.5 __pthread_key_create F GLIBC_2.2.5 __pthread_once F +GLIBC_2.2.5 __pthread_rwlock_rdlock F +GLIBC_2.2.5 __pthread_rwlock_unlock F +GLIBC_2.2.5 __pthread_rwlock_wrlock F GLIBC_2.2.5 __pthread_setspecific F GLIBC_2.2.5 __pwrite64 F GLIBC_2.2.5 __rawmemchr F @@ -1298,6 +1301,9 @@ 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_rwlock_rdlock F +GLIBC_2.2.5 pthread_rwlock_unlock F +GLIBC_2.2.5 pthread_rwlock_wrlock F GLIBC_2.2.5 pthread_self F GLIBC_2.2.5 pthread_setcancelstate F GLIBC_2.2.5 pthread_setcanceltype F @@ -2109,6 +2115,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2116,6 +2125,9 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 pthread_setspecific 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 511240921e..4f8dfa000a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -30,11 +30,8 @@ GLIBC_2.2.5 __pthread_mutexattr_init F GLIBC_2.2.5 __pthread_mutexattr_settype 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 GLIBC_2.2.5 __pthread_rwlock_tryrdlock F GLIBC_2.2.5 __pthread_rwlock_trywrlock F -GLIBC_2.2.5 __pthread_rwlock_unlock F -GLIBC_2.2.5 __pthread_rwlock_wrlock F GLIBC_2.2.5 __pwrite64 F GLIBC_2.2.5 __read F GLIBC_2.2.5 __res_state F @@ -102,13 +99,10 @@ GLIBC_2.2.5 pthread_mutexattr_setpshared F GLIBC_2.2.5 pthread_mutexattr_settype 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 GLIBC_2.2.5 pthread_rwlock_timedrdlock F GLIBC_2.2.5 pthread_rwlock_timedwrlock F GLIBC_2.2.5 pthread_rwlock_tryrdlock F GLIBC_2.2.5 pthread_rwlock_trywrlock F -GLIBC_2.2.5 pthread_rwlock_unlock F -GLIBC_2.2.5 pthread_rwlock_wrlock F GLIBC_2.2.5 pthread_rwlockattr_destroy F GLIBC_2.2.5 pthread_rwlockattr_getkind_np F GLIBC_2.2.5 pthread_rwlockattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index 33bbaff90c..3accd92583 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -343,6 +343,9 @@ GLIBC_2.16 __pthread_cleanup_routine F GLIBC_2.16 __pthread_getspecific F GLIBC_2.16 __pthread_key_create F GLIBC_2.16 __pthread_once F +GLIBC_2.16 __pthread_rwlock_rdlock F +GLIBC_2.16 __pthread_rwlock_unlock F +GLIBC_2.16 __pthread_rwlock_wrlock F GLIBC_2.16 __pthread_setspecific F GLIBC_2.16 __pthread_unwind_next F GLIBC_2.16 __ptsname_r_chk F @@ -1470,6 +1473,9 @@ 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_rwlock_rdlock F +GLIBC_2.16 pthread_rwlock_unlock F +GLIBC_2.16 pthread_rwlock_wrlock F GLIBC_2.16 pthread_self F GLIBC_2.16 pthread_setcancelstate F GLIBC_2.16 pthread_setcanceltype F @@ -2207,6 +2213,9 @@ GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_once F +GLIBC_2.34 __pthread_rwlock_rdlock F +GLIBC_2.34 __pthread_rwlock_unlock F +GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 pthread_getspecific F @@ -2214,4 +2223,7 @@ GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F +GLIBC_2.34 pthread_rwlock_rdlock F +GLIBC_2.34 pthread_rwlock_unlock F +GLIBC_2.34 pthread_rwlock_wrlock F GLIBC_2.34 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 a481ef56ab..0b017c0218 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -25,11 +25,8 @@ GLIBC_2.16 __pthread_register_cancel F GLIBC_2.16 __pthread_register_cancel_defer F GLIBC_2.16 __pthread_rwlock_destroy F GLIBC_2.16 __pthread_rwlock_init F -GLIBC_2.16 __pthread_rwlock_rdlock F GLIBC_2.16 __pthread_rwlock_tryrdlock F GLIBC_2.16 __pthread_rwlock_trywrlock F -GLIBC_2.16 __pthread_rwlock_unlock F -GLIBC_2.16 __pthread_rwlock_wrlock F GLIBC_2.16 __pthread_unregister_cancel F GLIBC_2.16 __pthread_unregister_cancel_restore F GLIBC_2.16 __pwrite64 F @@ -113,13 +110,10 @@ GLIBC_2.16 pthread_mutexattr_setrobust_np F GLIBC_2.16 pthread_mutexattr_settype F GLIBC_2.16 pthread_rwlock_destroy F GLIBC_2.16 pthread_rwlock_init F -GLIBC_2.16 pthread_rwlock_rdlock F GLIBC_2.16 pthread_rwlock_timedrdlock F GLIBC_2.16 pthread_rwlock_timedwrlock F GLIBC_2.16 pthread_rwlock_tryrdlock F GLIBC_2.16 pthread_rwlock_trywrlock F -GLIBC_2.16 pthread_rwlock_unlock F -GLIBC_2.16 pthread_rwlock_wrlock F GLIBC_2.16 pthread_rwlockattr_destroy F GLIBC_2.16 pthread_rwlockattr_getkind_np F GLIBC_2.16 pthread_rwlockattr_getpshared F From patchwork Tue Mar 16 17:31:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42619 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 38FDA384BC33; Tue, 16 Mar 2021 17:31:10 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 38FDA384BC33 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915870; bh=35pRoY2N8INObsa0bQsJx3bh9UQkua5G1+ZkoX6x77Y=; 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=CmnKrskYxQI8FSH2xq77/+aWtdP9Nk25P1RosVkBVY8JtpoQq+DBwKUalHPZcwSmQ 81WZOEGLQ6YD4HFWwz4VaBDirMA+QM4vBI4ByhAqb47sjONNxYLKSI9oImbUOje+Zh u799n4wXBYVRWlX1seOaY70G95YAoZEzhZZoGK3w= 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 C80923861969 for ; Tue, 16 Mar 2021 17:31:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C80923861969 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-116-P3ME71frNIGcMOSzWK_KDQ-1; Tue, 16 Mar 2021 13:31:04 -0400 X-MC-Unique: P3ME71frNIGcMOSzWK_KDQ-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 A7D1A107ACCD for ; Tue, 16 Mar 2021 17:31:03 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0CBE65C1A3 for ; Tue, 16 Mar 2021 17:31:02 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 29/37] nptl: Move the internal thread priority protection symbols into libc In-Reply-To: References: Message-Id: <4d9fde839c6005514195b29455662217042580b4.1615914632.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:31:11 +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_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" This is a prerequisite for moving the mutex implementation. Reviewed-by: Adhemerval Zanella --- nptl/Makefile | 2 +- nptl/Versions | 5 +++++ nptl/pthreadP.h | 16 ++++++++++------ nptl/tpp.c | 6 +++++- 4 files changed, 21 insertions(+), 8 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 1eca75ef35..353cbf8911 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -93,6 +93,7 @@ routines = \ pthread_setschedparam \ pthread_setspecific \ pthread_sigmask \ + tpp \ unwind \ shared-only-routines = forward @@ -232,7 +233,6 @@ libpthread-routines = \ sem_unlink \ sem_wait \ sigaction \ - tpp \ vars \ version \ diff --git a/nptl/Versions b/nptl/Versions index b3feadd045..4dee682ed9 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -121,6 +121,7 @@ libc { GLIBC_PRIVATE { __futex_abstimed_wait64; __futex_abstimed_wait_cancelable64; + __init_sched_fifo_prio; __libc_alloca_cutoff; __libc_allocate_rtsig_private; __libc_cleanup_pop_restore; @@ -147,13 +148,17 @@ libc { __pthread_cleanup_upto; __pthread_cond_destroy; # Used by the C11 threads. __pthread_cond_init; # Used by the C11 threads. + __pthread_current_priority; __pthread_exit; __pthread_force_elision; __pthread_getattr_default_np; __pthread_key_delete; __pthread_keys; __pthread_setcancelstate; + __pthread_tpp_change_priority; __pthread_unwind; + __sched_fifo_max_prio; + __sched_fifo_min_prio; } } diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 527e4acd4f..7fd290e004 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -231,12 +231,16 @@ rtld_hidden_proto (__nptl_set_robust_list_avail) #endif /* Thread Priority Protection. */ -extern int __sched_fifo_min_prio attribute_hidden; -extern int __sched_fifo_max_prio attribute_hidden; -extern void __init_sched_fifo_prio (void) attribute_hidden; -extern int __pthread_tpp_change_priority (int prev_prio, int new_prio) - attribute_hidden; -extern int __pthread_current_priority (void) attribute_hidden; +extern int __sched_fifo_min_prio; +libc_hidden_proto (__sched_fifo_min_prio) +extern int __sched_fifo_max_prio; +libc_hidden_proto (__sched_fifo_max_prio) +extern void __init_sched_fifo_prio (void); +libc_hidden_proto (__init_sched_fifo_prio) +extern int __pthread_tpp_change_priority (int prev_prio, int new_prio); +libc_hidden_proto (__pthread_tpp_change_priority) +extern int __pthread_current_priority (void); +libc_hidden_proto (__pthread_current_priority) /* The library can run in debugging mode where it performs a lot more tests. */ diff --git a/nptl/tpp.c b/nptl/tpp.c index 8b7d9a2d23..7f58a75731 100644 --- a/nptl/tpp.c +++ b/nptl/tpp.c @@ -25,9 +25,10 @@ #include #include - int __sched_fifo_min_prio = -1; +libc_hidden_data_def (__sched_fifo_min_prio) int __sched_fifo_max_prio = -1; +libc_hidden_data_def (__sched_fifo_max_prio) /* We only want to initialize __sched_fifo_min_prio and __sched_fifo_max_prio once. The standard solution would be similar to pthread_once, but then @@ -47,6 +48,7 @@ __init_sched_fifo_prio (void) atomic_store_relaxed (&__sched_fifo_min_prio, __sched_get_priority_min (SCHED_FIFO)); } +libc_hidden_def (__init_sched_fifo_prio) int __pthread_tpp_change_priority (int previous_prio, int new_prio) @@ -155,6 +157,7 @@ __pthread_tpp_change_priority (int previous_prio, int new_prio) return result; } +libc_hidden_def (__pthread_tpp_change_priority) int __pthread_current_priority (void) @@ -193,3 +196,4 @@ __pthread_current_priority (void) return result; } +libc_hidden_def (__pthread_current_priority) From patchwork Tue Mar 16 17:31:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42621 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3CC3A384B406; Tue, 16 Mar 2021 17:31:15 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3CC3A384B406 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915875; bh=KMWLZOpfbRpIwVcn3qEC8ZMtgf5FhFO5fy7PpDPP42Q=; 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=woiwGidegbtbbLclbCyfX+wsmDtaG4r8+nQAyQudd1NDOf+AKvQkUoUsENYI5IKDy xXZu6adMkMsOY3ZDPXP9+JTf0BSzYcZB+2q4hyL1rbPaWD9lxLo4Pf+uM50dP/IOWc c9PdP+HALbMhnpeIs0DL0uG6bRD+8JRZU+RONvAI= 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 841363861969 for ; Tue, 16 Mar 2021 17:31:12 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 841363861969 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-373-J7Ru670DNRuvT4LZQWEmeg-1; Tue, 16 Mar 2021 13:31:09 -0400 X-MC-Unique: J7Ru670DNRuvT4LZQWEmeg-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 AAB3D8015BD for ; Tue, 16 Mar 2021 17:31:08 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 10612189B6 for ; Tue, 16 Mar 2021 17:31:07 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 30/37] pthread: Introduce __pthread_early_init In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:31:16 +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" This function is called from __libc_early_init to initialize the pthread subsystem. --- elf/libc_early_init.c | 3 +++ sysdeps/pthread/pthread_early_init.h | 29 ++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 sysdeps/pthread/pthread_early_init.h diff --git a/elf/libc_early_init.c b/elf/libc_early_init.c index 9b1901a706..525edf1e7d 100644 --- a/elf/libc_early_init.c +++ b/elf/libc_early_init.c @@ -21,6 +21,7 @@ #include #include #include +#include #include #ifdef SHARED @@ -40,6 +41,8 @@ __libc_early_init (_Bool initial) __libc_initial = initial; #endif + __pthread_early_init (); + #if ENABLE_ELISION_SUPPORT __lll_elision_init (); #endif diff --git a/sysdeps/pthread/pthread_early_init.h b/sysdeps/pthread/pthread_early_init.h new file mode 100644 index 0000000000..b8bb9b762d --- /dev/null +++ b/sysdeps/pthread/pthread_early_init.h @@ -0,0 +1,29 @@ +/* pthread initialization called from __libc_early_init. Generic 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 + . */ + +#ifndef _PTHREAD_EARLY_INIT_H +#define _PTHREAD_EARLY_INIT_H 1 + +static inline void +__pthread_early_init (void) +{ + /* The generic version does not require any additional + initialization. */ +} + +#endif /* _PTHREAD_EARLY_INIT_H */ From patchwork Tue Mar 16 17:31:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42622 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id C6CBE384B403; Tue, 16 Mar 2021 17:31:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C6CBE384B403 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915880; bh=qblGJSZu+rXquudOFaRJfNhuFisbDlaDOsv3l7al/7U=; 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=NoU+lRT+oMAM9KkB2N300/i2wTMYo7s96Wwgw/Ll3GpJhtm3OiKiBjaovz8Hcl4JG q30gkIfHLYKN5spxjSAjKCyg5CUWGsGCpbli5RPXOyD77lNEBMIOKEW3+0cyFY2Ixw kIRjrABY5kycyDqj9Tf5rxvlWaEEUm1ootWmTP5E= 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 1EC19384B438 for ; Tue, 16 Mar 2021 17:31:18 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1EC19384B438 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-196-7jrWDGwqNJalGHuAQyJJHQ-1; Tue, 16 Mar 2021 13:31:15 -0400 X-MC-Unique: 7jrWDGwqNJalGHuAQyJJHQ-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 09B3283DD20 for ; Tue, 16 Mar 2021 17:31:14 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2AF7960CCC for ; Tue, 16 Mar 2021 17:31:12 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 31/37] nptl: Move internal symbol __mutex_aconf into libc In-Reply-To: References: Message-Id: <39bc3765cbc5e1d3594be688d794eccb344a403d.1615914632.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:31:21 +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" This is in preparation of moving the mutex code into libc. __pthread_tunables_init is now called via __libc_early_init. For non-NPTL targets, a stub version is provided. Reviewed-by: Adhemerval Zanella --- nptl/Makefile | 2 +- nptl/Versions | 1 + nptl/nptl-init.c | 4 --- nptl/pthread_mutex_conf.c | 1 + sysdeps/nptl/pthread_early_init.h | 33 +++++++++++++++++++++ {nptl => sysdeps/nptl}/pthread_mutex_conf.h | 9 +++++- sysdeps/pthread/pthread_mutex_conf.h | 28 +++++++++++++++++ 7 files changed, 72 insertions(+), 6 deletions(-) create mode 100644 sysdeps/nptl/pthread_early_init.h rename {nptl => sysdeps/nptl}/pthread_mutex_conf.h (86%) create mode 100644 sysdeps/pthread/pthread_mutex_conf.h diff --git a/nptl/Makefile b/nptl/Makefile index 353cbf8911..3ae0e1e8c8 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -82,6 +82,7 @@ routines = \ pthread_key_create \ pthread_key_delete \ pthread_keys \ + pthread_mutex_conf \ pthread_mutex_consistent \ pthread_once \ pthread_rwlock_rdlock \ @@ -170,7 +171,6 @@ libpthread-routines = \ pthread_kill \ pthread_kill_other_threads \ pthread_mutex_cond_lock \ - pthread_mutex_conf \ pthread_mutex_destroy \ pthread_mutex_getprioceiling \ pthread_mutex_init \ diff --git a/nptl/Versions b/nptl/Versions index 4dee682ed9..2b9508bd6f 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -136,6 +136,7 @@ libc { __lll_lock_wait_private; __lll_trylock_elision; __lll_unlock_elision; + __mutex_aconf; __nptl_deallocate_tsd; __nptl_nthreads; __pthread_attr_copy; diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 0c07b46a77..5c85f75cc1 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -269,10 +269,6 @@ __pthread_initialize_minimal_internal (void) __libc_multiple_threads_ptr = #endif __libc_pthread_init (__reclaim_stacks, ptr_pthread_functions); - -#if HAVE_TUNABLES - __pthread_tunables_init (); -#endif } strong_alias (__pthread_initialize_minimal_internal, __pthread_initialize_minimal) diff --git a/nptl/pthread_mutex_conf.c b/nptl/pthread_mutex_conf.c index e6532ba1d7..e6235dea47 100644 --- a/nptl/pthread_mutex_conf.c +++ b/nptl/pthread_mutex_conf.c @@ -30,6 +30,7 @@ struct mutex_config __mutex_aconf = calling into kernel to block. */ .spin_count = DEFAULT_ADAPTIVE_COUNT, }; +libc_hidden_data_def (__mutex_aconf) static void TUNABLE_CALLBACK (set_mutex_spin_count) (tunable_val_t *valp) diff --git a/sysdeps/nptl/pthread_early_init.h b/sysdeps/nptl/pthread_early_init.h new file mode 100644 index 0000000000..69e700dae1 --- /dev/null +++ b/sysdeps/nptl/pthread_early_init.h @@ -0,0 +1,33 @@ +/* pthread initialization called from __libc_early_init. NPTL 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 + . */ + +#ifndef _PTHREAD_EARLY_INIT_H +#define _PTHREAD_EARLY_INIT_H 1 + +#include +#include + +static inline void +__pthread_early_init (void) +{ +#if HAVE_TUNABLES + __pthread_tunables_init (); +#endif +} + +#endif /* _PTHREAD_EARLY_INIT_H */ diff --git a/nptl/pthread_mutex_conf.h b/sysdeps/nptl/pthread_mutex_conf.h similarity index 86% rename from nptl/pthread_mutex_conf.h rename to sysdeps/nptl/pthread_mutex_conf.h index 14e135a539..9dba4bfa6d 100644 --- a/nptl/pthread_mutex_conf.h +++ b/sysdeps/nptl/pthread_mutex_conf.h @@ -26,9 +26,16 @@ struct mutex_config int spin_count; }; -extern struct mutex_config __mutex_aconf attribute_hidden; +extern struct mutex_config __mutex_aconf; +libc_hidden_proto (__mutex_aconf) extern void __pthread_tunables_init (void) attribute_hidden; +#else +static inline void +__pthread_tunables_init (void) +{ + /* No tunables to initialize. */ +} #endif #endif diff --git a/sysdeps/pthread/pthread_mutex_conf.h b/sysdeps/pthread/pthread_mutex_conf.h new file mode 100644 index 0000000000..c999c980f7 --- /dev/null +++ b/sysdeps/pthread/pthread_mutex_conf.h @@ -0,0 +1,28 @@ +/* Pthread mutex tunable parameters. Generic version. + Copyright (C) 2018-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 + . */ + +#ifndef _PTHREAD_MUTEX_CONF_H +#define _PTHREAD_MUTEX_CONF_H 1 + +static inline void +__pthread_tunables_init (void) +{ + /* The generic version does not have any tunables to init. */ +} + +#endif From patchwork Tue Mar 16 17:31: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: 42623 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 57824384B110; Tue, 16 Mar 2021 17:31:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 57824384B110 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915885; bh=qNWMPH1ICvKPde2+chbDpsLIV8zNqmswUKXYIMp87Io=; 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=VA2JZbB5RZWsd36eHRX5SQc5BGBA/E4Z69Ij6wvInbMjdx3mJ7fd5vgSKCg5zqR8c 1J20cKJAuGWTRTxIIhd132s3Yod8r7riphU4SKoZXu+ZvciA0Jp13Gg3Ptkp0RYtbF 3JSyfYSSvPK5n+mGllNcvbmlM6jy79LhNUOR3++4= 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 58920384B823 for ; Tue, 16 Mar 2021 17:31:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 58920384B823 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-237-207VzbjDN_uRuqfc34D22A-1; Tue, 16 Mar 2021 13:31:20 -0400 X-MC-Unique: 207VzbjDN_uRuqfc34D22A-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 10025107ACCD for ; Tue, 16 Mar 2021 17:31:19 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 60E515C1A3 for ; Tue, 16 Mar 2021 17:31:18 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 32/37] nptl: pthread_mutex_lock, pthread_mutex_unock single-threaded optimization In-Reply-To: References: Message-Id: <782ad0d9a371fa66bd54df07413f3d15fba0cf5a.1615914632.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:31:26 +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.6 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 is optimization is similar in spirit to the SINGLE_THREAD_P check in the malloc implementation. Doing this in generic code allows us to prioritize those cases which are likely to occur in single-threaded programs (normal and recursive mutexes). Reviewed-by: Adhemerval Zanella --- nptl/pthread_mutex_cond_lock.c | 1 + nptl/pthread_mutex_lock.c | 25 ++++++++++++++++++++++--- nptl/pthread_mutex_unlock.c | 17 ++++++++++++++++- 3 files changed, 39 insertions(+), 4 deletions(-) diff --git a/nptl/pthread_mutex_cond_lock.c b/nptl/pthread_mutex_cond_lock.c index 2f0771302f..3386bd689b 100644 --- a/nptl/pthread_mutex_cond_lock.c +++ b/nptl/pthread_mutex_cond_lock.c @@ -2,6 +2,7 @@ #define LLL_MUTEX_LOCK(mutex) \ lll_cond_lock ((mutex)->__data.__lock, PTHREAD_MUTEX_PSHARED (mutex)) +#define LLL_MUTEX_LOCK_OPTIMIZED(mutex) LLL_MUTEX_LOCK (mutex) /* Not actually elided so far. Needed? */ #define LLL_MUTEX_LOCK_ELISION(mutex) \ diff --git a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c index f0de7b7fd6..8649a92ffb 100644 --- a/nptl/pthread_mutex_lock.c +++ b/nptl/pthread_mutex_lock.c @@ -30,8 +30,27 @@ /* Some of the following definitions differ when pthread_mutex_cond_lock.c includes this file. */ #ifndef LLL_MUTEX_LOCK -# define LLL_MUTEX_LOCK(mutex) \ +/* lll_lock with single-thread optimization. */ +static inline void +lll_mutex_lock_optimized (pthread_mutex_t *mutex) +{ + /* The single-threaded optimization is only valid for private + mutexes. For process-shared mutexes, the mutex could be in a + shared mapping, so synchronization with another process is needed + even without any threads. If the lock is already marked as + acquired, POSIX requires that pthread_mutex_lock deadlocks for + normal mutexes, so skip the optimization in that case as + well. */ + int private = PTHREAD_MUTEX_PSHARED (mutex); + if (private == LLL_PRIVATE && SINGLE_THREAD_P && mutex->__data.__lock == 0) + mutex->__data.__lock = 1; + else + lll_lock (mutex->__data.__lock, private); +} + +# define LLL_MUTEX_LOCK(mutex) \ lll_lock ((mutex)->__data.__lock, PTHREAD_MUTEX_PSHARED (mutex)) +# define LLL_MUTEX_LOCK_OPTIMIZED(mutex) lll_mutex_lock_optimized (mutex) # define LLL_MUTEX_TRYLOCK(mutex) \ lll_trylock ((mutex)->__data.__lock) # define LLL_ROBUST_MUTEX_LOCK_MODIFIER 0 @@ -64,7 +83,7 @@ __pthread_mutex_lock (pthread_mutex_t *mutex) FORCE_ELISION (mutex, goto elision); simple: /* Normal mutex. */ - LLL_MUTEX_LOCK (mutex); + LLL_MUTEX_LOCK_OPTIMIZED (mutex); assert (mutex->__data.__owner == 0); } #if ENABLE_ELISION_SUPPORT @@ -99,7 +118,7 @@ __pthread_mutex_lock (pthread_mutex_t *mutex) } /* We have to get the mutex. */ - LLL_MUTEX_LOCK (mutex); + LLL_MUTEX_LOCK_OPTIMIZED (mutex); assert (mutex->__data.__owner == 0); mutex->__data.__count = 1; diff --git a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c index 3b5ccdacf9..655093ee9a 100644 --- a/nptl/pthread_mutex_unlock.c +++ b/nptl/pthread_mutex_unlock.c @@ -28,6 +28,21 @@ static int __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr) __attribute_noinline__; +/* lll_lock with single-thread optimization. */ +static inline void +lll_mutex_unlock_optimized (pthread_mutex_t *mutex) +{ + /* The single-threaded optimization is only valid for private + mutexes. For process-shared mutexes, the mutex could be in a + shared mapping, so synchronization with another process is needed + even without any threads. */ + int private = PTHREAD_MUTEX_PSHARED (mutex); + if (private == LLL_PRIVATE && SINGLE_THREAD_P) + mutex->__data.__lock = 0; + else + lll_unlock (mutex->__data.__lock, private); +} + int attribute_hidden __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr) @@ -51,7 +66,7 @@ __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr) --mutex->__data.__nusers; /* Unlock. */ - lll_unlock (mutex->__data.__lock, PTHREAD_MUTEX_PSHARED (mutex)); + lll_mutex_unlock_optimized (mutex); LIBC_PROBE (mutex_release, 1, mutex); From patchwork Tue Mar 16 17:31: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: 42624 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E7793384B823; Tue, 16 Mar 2021 17:31:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E7793384B823 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915890; bh=nuz0gYNaUAeKjyX1N26gIHRo5VMmaqvXWuSpnOgH6xE=; 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=MrMWZuhLy1CjxZeYWgwOMCcJGImg/ZvGcno2YfzwVuIBqWVSwbS/UGu/eHbNwvZi9 vKh4mqOjhD/nkYxOn4z25uzE9fdVwS8/RZgdLY8afuOF8j3GXwSM6qvfj8D0DEOiCl MkkULyEgVnq3AlF+e1sUQ+bqOwTsibJh5AmQh4FE= 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 88F2E384BC17 for ; Tue, 16 Mar 2021 17:31:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 88F2E384BC17 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-250-OX2EeaylPdqk4EmFF6ox8Q-1; Tue, 16 Mar 2021 13:31:25 -0400 X-MC-Unique: OX2EeaylPdqk4EmFF6ox8Q-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 8EF0A107F281 for ; Tue, 16 Mar 2021 17:31:24 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B1D7719D61 for ; Tue, 16 Mar 2021 17:31:23 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 33/37] x86: Remove low-level lock optimization In-Reply-To: References: Message-Id: <64789336c8a39f75473821f2e08ef1e7ec41d535.1615914632.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:31:32 +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.6 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 current approach is to do this optimizations at a higher level, in generic code, so that single-threaded cases can be specifically targeted. Furthermore, using IS_IN (libc) as a compile-time indicator that all locks are private is no longer correct once process-shared lock implementations are moved into libc. The generic is not compatible with assembler code (obviously), so it's necessary to remove two long-unused #includes. Reviewed-by: Adhemerval Zanella --- sysdeps/i386/nptl/pthread_spin_lock.S | 1 - sysdeps/unix/sysv/linux/x86/lowlevellock.h | 87 ---------------------- sysdeps/x86_64/nptl/pthread_spin_lock.S | 1 - 3 files changed, 89 deletions(-) delete mode 100644 sysdeps/unix/sysv/linux/x86/lowlevellock.h diff --git a/sysdeps/i386/nptl/pthread_spin_lock.S b/sysdeps/i386/nptl/pthread_spin_lock.S index eec157fde7..985b236aae 100644 --- a/sysdeps/i386/nptl/pthread_spin_lock.S +++ b/sysdeps/i386/nptl/pthread_spin_lock.S @@ -16,7 +16,6 @@ . */ #include -#include ENTRY (pthread_spin_lock) mov 4(%esp), %eax diff --git a/sysdeps/unix/sysv/linux/x86/lowlevellock.h b/sysdeps/unix/sysv/linux/x86/lowlevellock.h deleted file mode 100644 index 7205bcadfd..0000000000 --- a/sysdeps/unix/sysv/linux/x86/lowlevellock.h +++ /dev/null @@ -1,87 +0,0 @@ -/* Low-level lock implementation, x86 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 - . */ - -#ifndef _X86_64_LOWLEVELLOCK_H -#define _X86_64_LOWLEVELLOCK_H 1 - -#ifndef __ASSEMBLER__ -#include -#include - -/* The lll_trylock, lll_lock, and lll_unlock implements a single-thread - optimization using the cmpxchgl instruction. It checks if the process - is single thread and avoid a more expensive atomic instruction. */ - -/* The single-thread optimization only works for libc itself, we need - atomicity for libpthread in case of shared futexes. */ -#if !IS_IN(libc) -# define is_single_thread 0 -#else -# define is_single_thread SINGLE_THREAD_P -#endif - -/* In the __lllc_as we simply return the value in %eax after the cmpxchg - instruction. In case the operation succeeded this value is zero. In case - the operation failed, the cmpxchg instruction has loaded the current value - of the memory work which is guaranteed to be nonzero. */ -static inline int -__attribute__ ((always_inline)) -__lll_cas_lock (int *futex) -{ - int ret; - asm volatile ("cmpxchgl %2, %1" - : "=a" (ret), "=m" (*futex) - : "r" (1), "m" (*futex), "0" (0) - : "memory"); - return ret; -} - -#undef lll_trylock -#define lll_trylock(lock) \ - ({ \ - int __ret; \ - if (is_single_thread) \ - __ret = __lll_cas_lock (&(lock)); \ - else \ - __ret = __lll_trylock (&(lock)); \ - __ret; \ - }) - -#undef lll_lock -#define lll_lock(lock, private) \ - ((void) \ - ({ \ - if (is_single_thread) \ - __lll_cas_lock (&(lock)); \ - else \ - __lll_lock (&(lock), private); \ - })) - -#undef lll_unlock -#define lll_unlock(lock, private) \ - ((void) \ - ({ \ - if (is_single_thread) \ - (lock)--; \ - else \ - __lll_unlock (&(lock), private); \ - })) - -#endif /* !__ASSEMBLER__ */ - -#endif /* lowlevellock.h */ diff --git a/sysdeps/x86_64/nptl/pthread_spin_lock.S b/sysdeps/x86_64/nptl/pthread_spin_lock.S index 66cbbc5252..ff5e7525ca 100644 --- a/sysdeps/x86_64/nptl/pthread_spin_lock.S +++ b/sysdeps/x86_64/nptl/pthread_spin_lock.S @@ -15,7 +15,6 @@ License along with the GNU C Library; if not, see . */ -#include #include ENTRY(pthread_spin_lock) From patchwork Tue Mar 16 17:31:37 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42625 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8A7F2384BC17; Tue, 16 Mar 2021 17:31:44 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8A7F2384BC17 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915904; bh=vB668yjjq8VYPoAcJXDOpP3iay4PB14GEBHVkM7wcwM=; 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=ul3De+6WoU721ZIdYcYB+ppfWilFsAeDyvRKNPpQMreyHWwBv/zfBRpMDB+r5VjPd wR9iFnfZXLWtpNiokE5E016EX+HkNc0aevAgkegjRRlFsg/mWv81Gmv+WRwNZnF6Xv hfC5AV3jC9BzRk0tI4c8IVVPMTYHD7m/zmlCl7no= 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 916CC384BC17 for ; Tue, 16 Mar 2021 17:31:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 916CC384BC17 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-68-i08bNYQtOvS2ltD82T7XfA-1; Tue, 16 Mar 2021 13:31:31 -0400 X-MC-Unique: i08bNYQtOvS2ltD82T7XfA-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 0A59E69725 for ; Tue, 16 Mar 2021 17:31:31 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F341450FBF for ; Tue, 16 Mar 2021 17:31:28 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 34/37] nptl: Move core mutex functions into libc In-Reply-To: References: Message-Id: Date: Tue, 16 Mar 2021 18:31:37 +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=-2.6 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, UNWANTED_LANGUAGE_BODY 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 is complicated because of a second compilation of nptl/pthread_mutex_lock.c via nptl/pthread_mutex_cond_lock.c. PTHREAD_MUTEX_VERSIONS is introduced to suppress symbol versions in that case. The symbols __pthread_mutex_lock, __pthread_mutex_unlock, __pthread_mutex_init, __pthread_mutex_destroy, pthread_mutex_lock, pthread_mutex_unlock, pthread_mutex_init, pthread_mutex_destroy have beeb moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerval Zanella --- nptl/Makefile | 8 ++--- nptl/Versions | 17 +++++----- nptl/forward.c | 11 ------- nptl/nptl-init.c | 4 --- nptl/pthreadP.h | 11 ++++--- nptl/pthread_mutex_cond_lock.c | 3 +- nptl/pthread_mutex_destroy.c | 18 ++++++++--- nptl/pthread_mutex_init.c | 16 ++++++++-- nptl/pthread_mutex_lock.c | 22 ++++++++++--- nptl/pthread_mutex_unlock.c | 19 ++++++++--- sysdeps/nptl/libc-lockP.h | 32 ++++++------------- sysdeps/nptl/pthread-functions.h | 5 --- sysdeps/unix/sysv/linux/aarch64/libc.abilist | 8 +++++ .../sysv/linux/aarch64/libpthread.abilist | 8 ----- sysdeps/unix/sysv/linux/alpha/libc.abilist | 8 +++++ .../unix/sysv/linux/alpha/libpthread.abilist | 8 ----- sysdeps/unix/sysv/linux/arc/libc.abilist | 8 +++++ .../unix/sysv/linux/arc/libpthread.abilist | 8 ----- sysdeps/unix/sysv/linux/arm/be/libc.abilist | 8 +++++ .../unix/sysv/linux/arm/be/libpthread.abilist | 8 ----- sysdeps/unix/sysv/linux/arm/le/libc.abilist | 8 +++++ .../unix/sysv/linux/arm/le/libpthread.abilist | 8 ----- sysdeps/unix/sysv/linux/csky/libc.abilist | 8 +++++ .../unix/sysv/linux/csky/libpthread.abilist | 8 ----- sysdeps/unix/sysv/linux/hppa/libc.abilist | 8 +++++ .../unix/sysv/linux/hppa/libpthread.abilist | 8 ----- sysdeps/unix/sysv/linux/i386/libc.abilist | 8 +++++ .../unix/sysv/linux/i386/libpthread.abilist | 8 ----- sysdeps/unix/sysv/linux/ia64/libc.abilist | 8 +++++ .../unix/sysv/linux/ia64/libpthread.abilist | 8 ----- .../sysv/linux/m68k/coldfire/libc.abilist | 8 +++++ .../linux/m68k/coldfire/libpthread.abilist | 8 ----- .../unix/sysv/linux/m68k/m680x0/libc.abilist | 8 +++++ .../sysv/linux/m68k/m680x0/libpthread.abilist | 8 ----- .../sysv/linux/microblaze/be/libc.abilist | 8 +++++ .../linux/microblaze/be/libpthread.abilist | 8 ----- .../sysv/linux/microblaze/le/libc.abilist | 8 +++++ .../linux/microblaze/le/libpthread.abilist | 8 ----- .../sysv/linux/mips/mips32/fpu/libc.abilist | 8 +++++ .../sysv/linux/mips/mips32/libpthread.abilist | 8 ----- .../sysv/linux/mips/mips32/nofpu/libc.abilist | 8 +++++ .../sysv/linux/mips/mips64/libpthread.abilist | 8 ----- .../sysv/linux/mips/mips64/n32/libc.abilist | 8 +++++ .../sysv/linux/mips/mips64/n64/libc.abilist | 8 +++++ sysdeps/unix/sysv/linux/nios2/libc.abilist | 8 +++++ .../unix/sysv/linux/nios2/libpthread.abilist | 8 ----- .../linux/powerpc/powerpc32/fpu/libc.abilist | 8 +++++ .../powerpc/powerpc32/libpthread.abilist | 8 ----- .../powerpc/powerpc32/nofpu/libc.abilist | 8 +++++ .../linux/powerpc/powerpc64/be/libc.abilist | 8 +++++ .../powerpc/powerpc64/be/libpthread.abilist | 8 ----- .../linux/powerpc/powerpc64/le/libc.abilist | 8 +++++ .../powerpc/powerpc64/le/libpthread.abilist | 8 ----- .../unix/sysv/linux/riscv/rv32/libc.abilist | 8 +++++ .../sysv/linux/riscv/rv32/libpthread.abilist | 8 ----- .../unix/sysv/linux/riscv/rv64/libc.abilist | 8 +++++ .../sysv/linux/riscv/rv64/libpthread.abilist | 8 ----- .../unix/sysv/linux/s390/s390-32/libc.abilist | 8 +++++ .../linux/s390/s390-32/libpthread.abilist | 8 ----- .../unix/sysv/linux/s390/s390-64/libc.abilist | 8 +++++ .../linux/s390/s390-64/libpthread.abilist | 8 ----- sysdeps/unix/sysv/linux/sh/be/libc.abilist | 8 +++++ .../unix/sysv/linux/sh/be/libpthread.abilist | 8 ----- sysdeps/unix/sysv/linux/sh/le/libc.abilist | 8 +++++ .../unix/sysv/linux/sh/le/libpthread.abilist | 8 ----- .../sysv/linux/sparc/sparc32/libc.abilist | 8 +++++ .../linux/sparc/sparc32/libpthread.abilist | 8 ----- .../sysv/linux/sparc/sparc64/libc.abilist | 8 +++++ .../linux/sparc/sparc64/libpthread.abilist | 8 ----- .../unix/sysv/linux/x86_64/64/libc.abilist | 8 +++++ .../sysv/linux/x86_64/64/libpthread.abilist | 8 ----- .../unix/sysv/linux/x86_64/x32/libc.abilist | 8 +++++ .../sysv/linux/x86_64/x32/libpthread.abilist | 8 ----- 73 files changed, 346 insertions(+), 308 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 3ae0e1e8c8..e0ba8bea13 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -84,6 +84,10 @@ routines = \ pthread_keys \ pthread_mutex_conf \ pthread_mutex_consistent \ + pthread_mutex_destroy \ + pthread_mutex_init \ + pthread_mutex_lock \ + pthread_mutex_unlock \ pthread_once \ pthread_rwlock_rdlock \ pthread_rwlock_unlock \ @@ -171,14 +175,10 @@ libpthread-routines = \ pthread_kill \ pthread_kill_other_threads \ pthread_mutex_cond_lock \ - pthread_mutex_destroy \ pthread_mutex_getprioceiling \ - pthread_mutex_init \ - pthread_mutex_lock \ pthread_mutex_setprioceiling \ pthread_mutex_timedlock \ pthread_mutex_trylock \ - pthread_mutex_unlock \ pthread_mutexattr_destroy \ pthread_mutexattr_getprioceiling \ pthread_mutexattr_getprotocol \ diff --git a/nptl/Versions b/nptl/Versions index 2b9508bd6f..2352b74c7e 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -2,6 +2,10 @@ libc { GLIBC_2.0 { __pthread_getspecific; __pthread_key_create; + __pthread_mutex_destroy; + __pthread_mutex_init; + __pthread_mutex_lock; + __pthread_mutex_unlock; __pthread_once; __pthread_setspecific; _pthread_cleanup_pop; @@ -103,6 +107,10 @@ libc { __pthread_cleanup_routine; __pthread_getspecific; __pthread_key_create; + __pthread_mutex_destroy; + __pthread_mutex_init; + __pthread_mutex_lock; + __pthread_mutex_unlock; __pthread_once; __pthread_rwlock_rdlock; __pthread_rwlock_unlock; @@ -155,6 +163,7 @@ libc { __pthread_getattr_default_np; __pthread_key_delete; __pthread_keys; + __pthread_mutex_unlock_usercnt; __pthread_setcancelstate; __pthread_tpp_change_priority; __pthread_unwind; @@ -177,11 +186,7 @@ libpthread { __lseek; __open; __pthread_atfork; - __pthread_mutex_destroy; - __pthread_mutex_init; - __pthread_mutex_lock; __pthread_mutex_trylock; - __pthread_mutex_unlock; __pthread_mutexattr_destroy; __pthread_mutexattr_init; __pthread_mutexattr_settype; @@ -213,11 +218,7 @@ libpthread { pthread_join; pthread_kill; pthread_kill_other_threads_np; - pthread_mutex_destroy; - pthread_mutex_init; - pthread_mutex_lock; pthread_mutex_trylock; - pthread_mutex_unlock; pthread_mutexattr_destroy; pthread_mutexattr_getkind_np; pthread_mutexattr_init; diff --git a/nptl/forward.c b/nptl/forward.c index de4e9cd6ab..c914baec4f 100644 --- a/nptl/forward.c +++ b/nptl/forward.c @@ -90,14 +90,3 @@ FORWARD (__pthread_cond_timedwait, const struct timespec *abstime), (cond, mutex, abstime), 0) versioned_symbol (libc, __pthread_cond_timedwait, pthread_cond_timedwait, GLIBC_2_3_2); - - -FORWARD (pthread_mutex_destroy, (pthread_mutex_t *mutex), (mutex), 0) - -FORWARD (pthread_mutex_init, - (pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr), - (mutex, mutexattr), 0) - -FORWARD (pthread_mutex_lock, (pthread_mutex_t *mutex), (mutex), 0) - -FORWARD (pthread_mutex_unlock, (pthread_mutex_t *mutex), (mutex), 0) diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 5c85f75cc1..cbc9430ecb 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -63,10 +63,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_mutex_destroy = __pthread_mutex_destroy, - .ptr_pthread_mutex_init = __pthread_mutex_init, - .ptr_pthread_mutex_lock = __pthread_mutex_lock, - .ptr_pthread_mutex_unlock = __pthread_mutex_unlock, .ptr__nptl_setxid = __nptl_setxid, }; # define ptr_pthread_functions &pthread_functions diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 7fd290e004..4feebdf09e 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -389,9 +389,12 @@ extern int __pthread_setschedparam (pthread_t thread_id, int policy, const struct sched_param *param); extern int __pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__mutexattr); +libc_hidden_proto (__pthread_mutex_init) extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex); +libc_hidden_proto (__pthread_mutex_destroy) extern int __pthread_mutex_trylock (pthread_mutex_t *_mutex); extern int __pthread_mutex_lock (pthread_mutex_t *__mutex); +libc_hidden_proto (__pthread_mutex_lock) extern int __pthread_mutex_timedlock (pthread_mutex_t *__mutex, const struct timespec *__abstime); extern int __pthread_mutex_cond_lock (pthread_mutex_t *__mutex) @@ -399,8 +402,10 @@ extern int __pthread_mutex_cond_lock (pthread_mutex_t *__mutex) extern void __pthread_mutex_cond_lock_adjust (pthread_mutex_t *__mutex) attribute_hidden; extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex); +libc_hidden_proto (__pthread_mutex_unlock) extern int __pthread_mutex_unlock_usercnt (pthread_mutex_t *__mutex, - int __decr) attribute_hidden; + int __decr); +libc_hidden_proto (__pthread_mutex_unlock_usercnt) extern int __pthread_mutexattr_init (pthread_mutexattr_t *attr); extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *attr); extern int __pthread_mutexattr_settype (pthread_mutexattr_t *attr, int kind); @@ -554,11 +559,7 @@ libc_hidden_proto (__pthread_sigmask); #if IS_IN (libpthread) -hidden_proto (__pthread_mutex_init) -hidden_proto (__pthread_mutex_destroy) -hidden_proto (__pthread_mutex_lock) hidden_proto (__pthread_mutex_trylock) -hidden_proto (__pthread_mutex_unlock) hidden_proto (__pthread_rwlock_unlock) hidden_proto (__pthread_testcancel) hidden_proto (__pthread_mutexattr_init) diff --git a/nptl/pthread_mutex_cond_lock.c b/nptl/pthread_mutex_cond_lock.c index 3386bd689b..f3af514305 100644 --- a/nptl/pthread_mutex_cond_lock.c +++ b/nptl/pthread_mutex_cond_lock.c @@ -15,8 +15,9 @@ /* We need to assume that there are other threads blocked on the futex. See __pthread_mutex_lock_full for further details. */ #define LLL_ROBUST_MUTEX_LOCK_MODIFIER FUTEX_WAITERS -#define __pthread_mutex_lock __pthread_mutex_cond_lock +#define PTHREAD_MUTEX_LOCK __pthread_mutex_cond_lock #define __pthread_mutex_lock_full __pthread_mutex_cond_lock_full #define NO_INCR +#define PTHREAD_MUTEX_VERSIONS 0 #include diff --git a/nptl/pthread_mutex_destroy.c b/nptl/pthread_mutex_destroy.c index d2fb816e11..98da991a9d 100644 --- a/nptl/pthread_mutex_destroy.c +++ b/nptl/pthread_mutex_destroy.c @@ -18,12 +18,12 @@ #include #include "pthreadP.h" - +#include #include int -__pthread_mutex_destroy (pthread_mutex_t *mutex) +__pthread_mutex_destroy_1 (pthread_mutex_t *mutex) { LIBC_PROBE (mutex_destroy, 1, mutex); @@ -41,5 +41,15 @@ __pthread_mutex_destroy (pthread_mutex_t *mutex) return 0; } -weak_alias (__pthread_mutex_destroy, pthread_mutex_destroy) -hidden_def (__pthread_mutex_destroy) +versioned_symbol (libc, __pthread_mutex_destroy_1, __pthread_mutex_destroy, + GLIBC_2_34); +libc_hidden_ver (__pthread_mutex_destroy_1, __pthread_mutex_destroy) +strong_alias (__pthread_mutex_destroy_1, __pthread_mutex_destroy_2) +versioned_symbol (libc, __pthread_mutex_destroy_2, pthread_mutex_destroy, + GLIBC_2_0); + +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +strong_alias (__pthread_mutex_destroy_1, __pthread_mutex_destroy_3) +compat_symbol (libc, __pthread_mutex_destroy_3, __pthread_mutex_destroy, + GLIBC_2_0); +#endif diff --git a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c index f5c3a4b464..b3af7fcd48 100644 --- a/nptl/pthread_mutex_init.c +++ b/nptl/pthread_mutex_init.c @@ -25,6 +25,7 @@ #include #include #include +#include #include @@ -48,7 +49,7 @@ prio_inherit_missing (void) } int -__pthread_mutex_init (pthread_mutex_t *mutex, +__pthread_mutex_init_1 (pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr) { const struct pthread_mutexattr *imutexattr; @@ -150,5 +151,14 @@ __pthread_mutex_init (pthread_mutex_t *mutex, return 0; } -weak_alias (__pthread_mutex_init, pthread_mutex_init) -hidden_def (__pthread_mutex_init) +versioned_symbol (libc, __pthread_mutex_init_1, __pthread_mutex_init, + GLIBC_2_34); +libc_hidden_ver (__pthread_mutex_init_1, __pthread_mutex_init) +strong_alias (__pthread_mutex_init_1, __pthread_mutex_init_2) +versioned_symbol (libc, __pthread_mutex_init_2, pthread_mutex_init, + GLIBC_2_0); +# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +strong_alias (__pthread_mutex_init_1, __pthread_mutex_init_3) +compat_symbol (libc, __pthread_mutex_init_3, __pthread_mutex_init, + GLIBC_2_0); +#endif diff --git a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c index 8649a92ffb..261cd5a72d 100644 --- a/nptl/pthread_mutex_lock.c +++ b/nptl/pthread_mutex_lock.c @@ -26,6 +26,7 @@ #include #include #include +#include /* Some of the following definitions differ when pthread_mutex_cond_lock.c includes this file. */ @@ -60,13 +61,15 @@ lll_mutex_lock_optimized (pthread_mutex_t *mutex) # define LLL_MUTEX_TRYLOCK_ELISION(mutex) \ lll_trylock_elision((mutex)->__data.__lock, (mutex)->__data.__elision, \ PTHREAD_MUTEX_PSHARED (mutex)) +# define PTHREAD_MUTEX_LOCK __pthread_mutex_lock_1 +# define PTHREAD_MUTEX_VERSIONS 1 #endif static int __pthread_mutex_lock_full (pthread_mutex_t *mutex) __attribute_noinline__; int -__pthread_mutex_lock (pthread_mutex_t *mutex) +PTHREAD_MUTEX_LOCK (pthread_mutex_t *mutex) { /* See concurrency notes regarding mutex type which is loaded from __kind in struct __pthread_mutex_s in sysdeps/nptl/bits/thread-shared-types.h. */ @@ -604,10 +607,19 @@ __pthread_mutex_lock_full (pthread_mutex_t *mutex) return 0; } -#ifndef __pthread_mutex_lock -weak_alias (__pthread_mutex_lock, pthread_mutex_lock) -hidden_def (__pthread_mutex_lock) -#endif + +#if PTHREAD_MUTEX_VERSIONS +versioned_symbol (libc, __pthread_mutex_lock_1, __pthread_mutex_lock, + GLIBC_2_34); +libc_hidden_ver (__pthread_mutex_lock_1, __pthread_mutex_lock) +strong_alias (__pthread_mutex_lock_1, __pthread_mutex_lock_2) +versioned_symbol (libc, __pthread_mutex_lock_2, pthread_mutex_lock, GLIBC_2_0); + +# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +strong_alias (__pthread_mutex_lock_1, __pthread_mutex_lock_3) +compat_symbol (libc, __pthread_mutex_lock_3, __pthread_mutex_lock, GLIBC_2_0); +# endif +#endif /* PTHREAD_MUTEX_VERSIONS */ #ifdef NO_INCR diff --git a/nptl/pthread_mutex_unlock.c b/nptl/pthread_mutex_unlock.c index 655093ee9a..159720198c 100644 --- a/nptl/pthread_mutex_unlock.c +++ b/nptl/pthread_mutex_unlock.c @@ -23,6 +23,7 @@ #include #include #include +#include static int __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr) @@ -44,7 +45,6 @@ lll_mutex_unlock_optimized (pthread_mutex_t *mutex) } int -attribute_hidden __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr) { /* See concurrency notes regarding mutex type which is loaded from __kind @@ -103,6 +103,7 @@ __pthread_mutex_unlock_usercnt (pthread_mutex_t *mutex, int decr) goto normal; } } +libc_hidden_def (__pthread_mutex_unlock_usercnt) static int @@ -363,9 +364,19 @@ __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr) int -__pthread_mutex_unlock (pthread_mutex_t *mutex) +__pthread_mutex_unlock_1 (pthread_mutex_t *mutex) { return __pthread_mutex_unlock_usercnt (mutex, 1); } -weak_alias (__pthread_mutex_unlock, pthread_mutex_unlock) -hidden_def (__pthread_mutex_unlock) +versioned_symbol (libc, __pthread_mutex_unlock_1, __pthread_mutex_unlock, + GLIBC_2_34); +libc_hidden_ver (__pthread_mutex_unlock_1, __pthread_mutex_unlock) +strong_alias (__pthread_mutex_unlock_1, __pthread_mutex_unlock_2) +versioned_symbol (libc, __pthread_mutex_unlock_2, pthread_mutex_unlock, + GLIBC_2_0); + +#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +strong_alias (__pthread_mutex_unlock_1, __pthread_mutex_unlock_3) +compat_symbol (libc, __pthread_mutex_unlock_3, __pthread_mutex_unlock, + GLIBC_2_0); +#endif diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h index 89910560fa..0dd2ea1147 100644 --- a/sysdeps/nptl/libc-lockP.h +++ b/sysdeps/nptl/libc-lockP.h @@ -128,8 +128,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0"); # define __libc_lock_init(NAME) \ ((void) ((NAME) = LLL_LOCK_INITIALIZER)) #else -# define __libc_lock_init(NAME) \ - __libc_maybe_call (__pthread_mutex_init, (&(NAME), NULL), 0) +# define __libc_lock_init(NAME) __pthread_mutex_init (&(NAME)) #endif #if defined SHARED && IS_IN (libc) /* ((NAME) = (__libc_rwlock_t) PTHREAD_RWLOCK_INITIALIZER) is inefficient. */ @@ -146,8 +145,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0"); #if IS_IN (libc) || IS_IN (libpthread) # define __libc_lock_fini(NAME) ((void) 0) #else -# define __libc_lock_fini(NAME) \ - __libc_maybe_call (__pthread_mutex_destroy, (&(NAME)), 0) +# define __libc_lock_fini(NAME) __pthread_mutex_destroy (&(NAME)) #endif #if defined SHARED && IS_IN (libc) # define __libc_rwlock_fini(NAME) ((void) 0) @@ -164,8 +162,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0"); # endif #else # undef __libc_lock_lock -# define __libc_lock_lock(NAME) \ - __libc_maybe_call (__pthread_mutex_lock, (&(NAME)), 0) +# define __libc_lock_lock(NAME) __pthread_mutex_lock (&(NAME)) #endif #define __libc_rwlock_rdlock(NAME) __pthread_rwlock_rdlock (&(NAME)) #define __libc_rwlock_wrlock(NAME) __pthread_rwlock_wrlock (&(NAME)) @@ -194,8 +191,7 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0"); # define __libc_lock_unlock(NAME) \ lll_unlock (NAME, LLL_PRIVATE) #else -# define __libc_lock_unlock(NAME) \ - __libc_maybe_call (__pthread_mutex_unlock, (&(NAME)), 0) +# define __libc_lock_unlock(NAME) __pthread_mutex_unlock (&(NAME)) #endif #define __libc_rwlock_unlock(NAME) __pthread_rwlock_unlock (&(NAME)) @@ -213,10 +209,10 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0"); GL(dl_rtld_unlock_recursive) (&(NAME).mutex) #else # define __rtld_lock_lock_recursive(NAME) \ - __libc_maybe_call (__pthread_mutex_lock, (&(NAME).mutex), 0) + __pthread_mutex_lock (&(NAME).mutex) # define __rtld_lock_unlock_recursive(NAME) \ - __libc_maybe_call (__pthread_mutex_unlock, (&(NAME).mutex), 0) + __pthread_mutex_unlock (&(NAME).mutex) #endif /* Define once control variable. */ @@ -274,15 +270,15 @@ extern int __register_atfork (void (*__prepare) (void), extern int __pthread_mutex_init (pthread_mutex_t *__mutex, const pthread_mutexattr_t *__mutex_attr); - +libc_hidden_proto (__pthread_mutex_init) extern int __pthread_mutex_destroy (pthread_mutex_t *__mutex); - +libc_hidden_proto (__pthread_mutex_destroy) extern int __pthread_mutex_trylock (pthread_mutex_t *__mutex); extern int __pthread_mutex_lock (pthread_mutex_t *__mutex); - +libc_hidden_proto (__pthread_mutex_lock) extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex); - +libc_hidden_proto (__pthread_mutex_unlock) extern int __pthread_mutexattr_init (pthread_mutexattr_t *__attr); extern int __pthread_mutexattr_destroy (pthread_mutexattr_t *__attr); @@ -320,11 +316,7 @@ libc_hidden_proto (__pthread_setcancelstate) single-threaded processes. */ #ifndef __NO_WEAK_PTHREAD_ALIASES # ifdef weak_extern -weak_extern (__pthread_mutex_init) -weak_extern (__pthread_mutex_destroy) -weak_extern (__pthread_mutex_lock) weak_extern (__pthread_mutex_trylock) -weak_extern (__pthread_mutex_unlock) weak_extern (__pthread_mutexattr_init) weak_extern (__pthread_mutexattr_destroy) weak_extern (__pthread_mutexattr_settype) @@ -335,11 +327,7 @@ weak_extern (__pthread_rwlock_trywrlock) weak_extern (__pthread_initialize) weak_extern (__pthread_atfork) # else -# pragma weak __pthread_mutex_init -# pragma weak __pthread_mutex_destroy -# pragma weak __pthread_mutex_lock # pragma weak __pthread_mutex_trylock -# pragma weak __pthread_mutex_unlock # pragma weak __pthread_mutexattr_init # pragma weak __pthread_mutexattr_destroy # pragma weak __pthread_mutexattr_settype diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 8535e142d5..dab5a2831e 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -41,11 +41,6 @@ struct pthread_functions int (*ptr___pthread_cond_timedwait_2_0) (pthread_cond_2_0_t *, pthread_mutex_t *, const struct timespec *); - int (*ptr_pthread_mutex_destroy) (pthread_mutex_t *); - int (*ptr_pthread_mutex_init) (pthread_mutex_t *, - const pthread_mutexattr_t *); - int (*ptr_pthread_mutex_lock) (pthread_mutex_t *); - int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *); int (*ptr__nptl_setxid) (struct xid_command *); }; diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index 9191b2e760..381947232e 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -341,6 +341,10 @@ GLIBC_2.17 __progname_full D 0x8 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 +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_rwlock_rdlock F GLIBC_2.17 __pthread_rwlock_unlock F @@ -2198,6 +2202,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 9a24f796de..29a98fc2f4 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -13,11 +13,7 @@ GLIBC_2.17 __lseek F GLIBC_2.17 __open F GLIBC_2.17 __open64 F GLIBC_2.17 __pread64 F -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_trylock F -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 @@ -84,14 +80,10 @@ GLIBC_2.17 pthread_getname_np F GLIBC_2.17 pthread_join F GLIBC_2.17 pthread_kill F GLIBC_2.17 pthread_kill_other_threads_np F -GLIBC_2.17 pthread_mutex_destroy F GLIBC_2.17 pthread_mutex_getprioceiling F -GLIBC_2.17 pthread_mutex_init F -GLIBC_2.17 pthread_mutex_lock F GLIBC_2.17 pthread_mutex_setprioceiling F GLIBC_2.17 pthread_mutex_timedlock F GLIBC_2.17 pthread_mutex_trylock F -GLIBC_2.17 pthread_mutex_unlock F GLIBC_2.17 pthread_mutexattr_destroy F GLIBC_2.17 pthread_mutexattr_getkind_np F GLIBC_2.17 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 71dd49d25c..7e314dd68b 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -190,6 +190,10 @@ GLIBC_2.0 __progname D 0x8 GLIBC_2.0 __progname_full D 0x8 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F +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_setspecific F GLIBC_2.0 __rcmd_errstr D 0x8 @@ -2279,6 +2283,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index a7b3fd73ab..29cb6259a5 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -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_trylock F -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 @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F -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_trylock F -GLIBC_2.0 pthread_mutex_unlock F GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 38764a6746..014b30c7bd 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -330,6 +330,10 @@ GLIBC_2.32 __progname_full D 0x4 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 +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_rwlock_rdlock F GLIBC_2.32 __pthread_rwlock_unlock F @@ -1958,6 +1962,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index 0d8b928e6d..b926ef9dba 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -12,11 +12,7 @@ GLIBC_2.32 __lseek F GLIBC_2.32 __open F GLIBC_2.32 __open64 F GLIBC_2.32 __pread64 F -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_trylock F -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 @@ -99,14 +95,10 @@ GLIBC_2.32 pthread_join 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_destroy F GLIBC_2.32 pthread_mutex_getprioceiling F -GLIBC_2.32 pthread_mutex_init F -GLIBC_2.32 pthread_mutex_lock F GLIBC_2.32 pthread_mutex_setprioceiling F GLIBC_2.32 pthread_mutex_timedlock F GLIBC_2.32 pthread_mutex_trylock F -GLIBC_2.32 pthread_mutex_unlock F GLIBC_2.32 pthread_mutexattr_destroy F GLIBC_2.32 pthread_mutexattr_getkind_np F GLIBC_2.32 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 86d971e7d2..412eb541fc 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -160,6 +160,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F @@ -505,6 +509,10 @@ GLIBC_2.4 __progname_full D 0x4 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 +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_rwlock_rdlock F GLIBC_2.4 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index 833b53362d..8dd2c3f7a6 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -47,11 +47,7 @@ GLIBC_2.4 __lseek F GLIBC_2.4 __open F GLIBC_2.4 __open64 F GLIBC_2.4 __pread64 F -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_trylock F -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 @@ -117,14 +113,10 @@ GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_join F GLIBC_2.4 pthread_kill F GLIBC_2.4 pthread_kill_other_threads_np F -GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_getprioceiling F -GLIBC_2.4 pthread_mutex_init F -GLIBC_2.4 pthread_mutex_lock F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutex_timedlock F GLIBC_2.4 pthread_mutex_trylock F -GLIBC_2.4 pthread_mutex_unlock F GLIBC_2.4 pthread_mutexattr_destroy F GLIBC_2.4 pthread_mutexattr_getkind_np F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index caf3f6a141..588f1d6b42 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -157,6 +157,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F @@ -502,6 +506,10 @@ GLIBC_2.4 __progname_full D 0x4 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 +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_rwlock_rdlock F GLIBC_2.4 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index 833b53362d..8dd2c3f7a6 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -47,11 +47,7 @@ GLIBC_2.4 __lseek F GLIBC_2.4 __open F GLIBC_2.4 __open64 F GLIBC_2.4 __pread64 F -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_trylock F -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 @@ -117,14 +113,10 @@ GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_join F GLIBC_2.4 pthread_kill F GLIBC_2.4 pthread_kill_other_threads_np F -GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_getprioceiling F -GLIBC_2.4 pthread_mutex_init F -GLIBC_2.4 pthread_mutex_lock F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutex_timedlock F GLIBC_2.4 pthread_mutex_trylock F -GLIBC_2.4 pthread_mutex_unlock F GLIBC_2.4 pthread_mutexattr_destroy F GLIBC_2.4 pthread_mutexattr_getkind_np F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index aeb6424389..76fb31f895 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -334,6 +334,10 @@ GLIBC_2.29 __progname_full D 0x4 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 +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_rwlock_rdlock F GLIBC_2.29 __pthread_rwlock_unlock F @@ -2142,6 +2146,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index 440c0507d1..2c4d219569 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -12,11 +12,7 @@ GLIBC_2.29 __lseek F GLIBC_2.29 __open F GLIBC_2.29 __open64 F GLIBC_2.29 __pread64 F -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_trylock F -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 @@ -96,14 +92,10 @@ GLIBC_2.29 pthread_getname_np F GLIBC_2.29 pthread_join F GLIBC_2.29 pthread_kill F GLIBC_2.29 pthread_kill_other_threads_np F -GLIBC_2.29 pthread_mutex_destroy F GLIBC_2.29 pthread_mutex_getprioceiling F -GLIBC_2.29 pthread_mutex_init F -GLIBC_2.29 pthread_mutex_lock F GLIBC_2.29 pthread_mutex_setprioceiling F GLIBC_2.29 pthread_mutex_timedlock F GLIBC_2.29 pthread_mutex_trylock F -GLIBC_2.29 pthread_mutex_unlock F GLIBC_2.29 pthread_mutexattr_destroy F GLIBC_2.29 pthread_mutexattr_getkind_np F GLIBC_2.29 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index e1d02058c9..e99899dee5 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -358,6 +358,10 @@ GLIBC_2.2 __progname D 0x4 GLIBC_2.2 __progname_full D 0x4 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F +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_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_unlock F @@ -2100,6 +2104,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 70af59d791..9e15deaad8 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F -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_trylock F -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 @@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F -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_timedlock F GLIBC_2.2 pthread_mutex_trylock F -GLIBC_2.2 pthread_mutex_unlock F GLIBC_2.2 pthread_mutexattr_destroy F GLIBC_2.2 pthread_mutexattr_getkind_np F GLIBC_2.2 pthread_mutexattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 717344a690..29b8e0c1eb 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -187,6 +187,10 @@ GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F +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_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -2267,6 +2271,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index 35cc2f61c5..4065a88a3b 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -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_trylock F -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 @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F -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_trylock F -GLIBC_2.0 pthread_mutex_unlock F GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 284b7072a3..fb8a36ce20 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -362,6 +362,10 @@ GLIBC_2.2 __progname D 0x8 GLIBC_2.2 __progname_full D 0x8 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F +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_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_unlock F @@ -2132,6 +2136,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 2e69109cdc..684bf559e5 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F -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_trylock F -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 @@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F -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_timedlock F GLIBC_2.2 pthread_mutex_trylock F -GLIBC_2.2 pthread_mutex_unlock F GLIBC_2.2 pthread_mutexattr_destroy F GLIBC_2.2 pthread_mutexattr_getkind_np F GLIBC_2.2 pthread_mutexattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 404d16b92a..03e80e6a12 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -161,6 +161,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F @@ -491,6 +495,10 @@ GLIBC_2.4 __progname_full D 0x4 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 +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_rwlock_rdlock F GLIBC_2.4 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index 833b53362d..8dd2c3f7a6 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -47,11 +47,7 @@ GLIBC_2.4 __lseek F GLIBC_2.4 __open F GLIBC_2.4 __open64 F GLIBC_2.4 __pread64 F -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_trylock F -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 @@ -117,14 +113,10 @@ GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_join F GLIBC_2.4 pthread_kill F GLIBC_2.4 pthread_kill_other_threads_np F -GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_getprioceiling F -GLIBC_2.4 pthread_mutex_init F -GLIBC_2.4 pthread_mutex_lock F GLIBC_2.4 pthread_mutex_setprioceiling F GLIBC_2.4 pthread_mutex_timedlock F GLIBC_2.4 pthread_mutex_trylock F -GLIBC_2.4 pthread_mutex_unlock F GLIBC_2.4 pthread_mutexattr_destroy F GLIBC_2.4 pthread_mutexattr_getkind_np F GLIBC_2.4 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index b1ad96e072..2a5bee30d1 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -187,6 +187,10 @@ GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F +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_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -2212,6 +2216,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index 35cc2f61c5..4065a88a3b 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -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_trylock F -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 @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F -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_trylock F -GLIBC_2.0 pthread_mutex_unlock F GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 3e0cceae93..b46567880e 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -342,6 +342,10 @@ GLIBC_2.18 __progname_full D 0x4 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 +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_rwlock_rdlock F GLIBC_2.18 __pthread_rwlock_unlock F @@ -2193,6 +2197,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 0db83c2f88..d8a9642f66 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -13,11 +13,7 @@ GLIBC_2.18 __lseek F GLIBC_2.18 __open F GLIBC_2.18 __open64 F GLIBC_2.18 __pread64 F -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_trylock F -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 @@ -85,14 +81,10 @@ GLIBC_2.18 pthread_getname_np F GLIBC_2.18 pthread_join F GLIBC_2.18 pthread_kill F GLIBC_2.18 pthread_kill_other_threads_np F -GLIBC_2.18 pthread_mutex_destroy F GLIBC_2.18 pthread_mutex_getprioceiling F -GLIBC_2.18 pthread_mutex_init F -GLIBC_2.18 pthread_mutex_lock F GLIBC_2.18 pthread_mutex_setprioceiling F GLIBC_2.18 pthread_mutex_timedlock F GLIBC_2.18 pthread_mutex_trylock F -GLIBC_2.18 pthread_mutex_unlock F GLIBC_2.18 pthread_mutexattr_destroy F GLIBC_2.18 pthread_mutexattr_getkind_np F GLIBC_2.18 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 4ee88a1d01..7796c5313a 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -342,6 +342,10 @@ GLIBC_2.18 __progname_full D 0x4 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 +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_rwlock_rdlock F GLIBC_2.18 __pthread_rwlock_unlock F @@ -2190,6 +2194,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 0db83c2f88..d8a9642f66 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -13,11 +13,7 @@ GLIBC_2.18 __lseek F GLIBC_2.18 __open F GLIBC_2.18 __open64 F GLIBC_2.18 __pread64 F -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_trylock F -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 @@ -85,14 +81,10 @@ GLIBC_2.18 pthread_getname_np F GLIBC_2.18 pthread_join F GLIBC_2.18 pthread_kill F GLIBC_2.18 pthread_kill_other_threads_np F -GLIBC_2.18 pthread_mutex_destroy F GLIBC_2.18 pthread_mutex_getprioceiling F -GLIBC_2.18 pthread_mutex_init F -GLIBC_2.18 pthread_mutex_lock F GLIBC_2.18 pthread_mutex_setprioceiling F GLIBC_2.18 pthread_mutex_timedlock F GLIBC_2.18 pthread_mutex_trylock F -GLIBC_2.18 pthread_mutex_unlock F GLIBC_2.18 pthread_mutexattr_destroy F GLIBC_2.18 pthread_mutexattr_getkind_np F GLIBC_2.18 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index e67af35000..c3e658dbc1 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F +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_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -2183,6 +2187,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index a1a66138d4..4bd5de2dd7 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -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_trylock F -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 @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F -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_trylock F -GLIBC_2.0 pthread_mutex_unlock F GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 1ce0179391..bae73ebb39 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F +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_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -2181,6 +2185,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index a1a66138d4..4bd5de2dd7 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -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_trylock F -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 @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F -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_trylock F -GLIBC_2.0 pthread_mutex_unlock F GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 54c2300420..74fb3b997e 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F +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_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -2189,6 +2193,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index 90bbb7f253..3083e3d821 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -185,6 +185,10 @@ GLIBC_2.0 __progname D 0x8 GLIBC_2.0 __progname_full D 0x8 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F +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_setspecific F GLIBC_2.0 __rcmd_errstr D 0x8 @@ -2183,6 +2187,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 1f68c2a3fb..f79ca91eb7 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -379,6 +379,10 @@ GLIBC_2.21 __progname_full D 0x4 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 +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_rwlock_rdlock F GLIBC_2.21 __pthread_rwlock_unlock F @@ -2231,6 +2235,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index 806432b7b4..c469853b65 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -13,11 +13,7 @@ GLIBC_2.21 __lseek F GLIBC_2.21 __open F GLIBC_2.21 __open64 F GLIBC_2.21 __pread64 F -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_trylock F -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 @@ -85,14 +81,10 @@ GLIBC_2.21 pthread_getname_np F GLIBC_2.21 pthread_join F GLIBC_2.21 pthread_kill F GLIBC_2.21 pthread_kill_other_threads_np F -GLIBC_2.21 pthread_mutex_destroy F GLIBC_2.21 pthread_mutex_getprioceiling F -GLIBC_2.21 pthread_mutex_init F -GLIBC_2.21 pthread_mutex_lock F GLIBC_2.21 pthread_mutex_setprioceiling F GLIBC_2.21 pthread_mutex_timedlock F GLIBC_2.21 pthread_mutex_trylock F -GLIBC_2.21 pthread_mutex_unlock F GLIBC_2.21 pthread_mutexattr_destroy F GLIBC_2.21 pthread_mutexattr_getkind_np F GLIBC_2.21 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index a41536e4cd..f5408e6078 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -196,6 +196,10 @@ GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F +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_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -2239,6 +2243,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index d0646d0eaf..44fb3a6743 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -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_trylock F -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 @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F -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_trylock F -GLIBC_2.0 pthread_mutex_unlock F GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index cdd6e98496..a7587dcc45 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -196,6 +196,10 @@ GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F +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_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -2272,6 +2276,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 63a7449937..7ea6dc6574 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -411,6 +411,10 @@ GLIBC_2.3 __progname D 0x8 GLIBC_2.3 __progname_full D 0x8 GLIBC_2.3 __pthread_getspecific F GLIBC_2.3 __pthread_key_create F +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_rwlock_rdlock F GLIBC_2.3 __pthread_rwlock_unlock F @@ -2102,6 +2106,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 72d49ce4f3..2e77dc2fb3 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -41,11 +41,7 @@ GLIBC_2.3 __lseek F GLIBC_2.3 __open F GLIBC_2.3 __open64 F GLIBC_2.3 __pread64 F -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_trylock F -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 @@ -103,12 +99,8 @@ GLIBC_2.3 pthread_getcpuclockid F GLIBC_2.3 pthread_join F GLIBC_2.3 pthread_kill F GLIBC_2.3 pthread_kill_other_threads_np F -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_timedlock F GLIBC_2.3 pthread_mutex_trylock F -GLIBC_2.3 pthread_mutex_unlock F GLIBC_2.3 pthread_mutexattr_destroy F GLIBC_2.3 pthread_mutexattr_getkind_np F GLIBC_2.3 pthread_mutexattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index b6de88ea41..f994892fd9 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -427,6 +427,10 @@ GLIBC_2.17 __progname_full D 0x8 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 +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_rwlock_rdlock F GLIBC_2.17 __pthread_rwlock_unlock F @@ -2393,6 +2397,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index 9a24f796de..29a98fc2f4 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -13,11 +13,7 @@ GLIBC_2.17 __lseek F GLIBC_2.17 __open F GLIBC_2.17 __open64 F GLIBC_2.17 __pread64 F -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_trylock F -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 @@ -84,14 +80,10 @@ GLIBC_2.17 pthread_getname_np F GLIBC_2.17 pthread_join F GLIBC_2.17 pthread_kill F GLIBC_2.17 pthread_kill_other_threads_np F -GLIBC_2.17 pthread_mutex_destroy F GLIBC_2.17 pthread_mutex_getprioceiling F -GLIBC_2.17 pthread_mutex_init F -GLIBC_2.17 pthread_mutex_lock F GLIBC_2.17 pthread_mutex_setprioceiling F GLIBC_2.17 pthread_mutex_timedlock F GLIBC_2.17 pthread_mutex_trylock F -GLIBC_2.17 pthread_mutex_unlock F GLIBC_2.17 pthread_mutexattr_destroy F GLIBC_2.17 pthread_mutexattr_getkind_np F GLIBC_2.17 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index d81b46d597..70b873f9fb 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -327,6 +327,10 @@ GLIBC_2.33 __progname_full D 0x4 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 +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_rwlock_rdlock F GLIBC_2.33 __pthread_rwlock_unlock F @@ -1960,6 +1964,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index 10e50b67c0..911969f7eb 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -12,11 +12,7 @@ GLIBC_2.33 __lseek F GLIBC_2.33 __open F GLIBC_2.33 __open64 F GLIBC_2.33 __pread64 F -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_trylock F -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 @@ -99,14 +95,10 @@ GLIBC_2.33 pthread_join 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_destroy F GLIBC_2.33 pthread_mutex_getprioceiling F -GLIBC_2.33 pthread_mutex_init F -GLIBC_2.33 pthread_mutex_lock F GLIBC_2.33 pthread_mutex_setprioceiling F GLIBC_2.33 pthread_mutex_timedlock F GLIBC_2.33 pthread_mutex_trylock F -GLIBC_2.33 pthread_mutex_unlock F GLIBC_2.33 pthread_mutexattr_destroy F GLIBC_2.33 pthread_mutexattr_getkind_np F GLIBC_2.33 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index fbd1c5e5cf..ddfac62fd0 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -338,6 +338,10 @@ GLIBC_2.27 __progname_full D 0x8 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 +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_rwlock_rdlock F GLIBC_2.27 __pthread_rwlock_unlock F @@ -2160,6 +2164,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index ed24898e0d..21f462137a 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -13,11 +13,7 @@ GLIBC_2.27 __lseek F GLIBC_2.27 __open F GLIBC_2.27 __open64 F GLIBC_2.27 __pread64 F -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_trylock F -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 @@ -85,14 +81,10 @@ GLIBC_2.27 pthread_getname_np F GLIBC_2.27 pthread_join F GLIBC_2.27 pthread_kill F GLIBC_2.27 pthread_kill_other_threads_np F -GLIBC_2.27 pthread_mutex_destroy F GLIBC_2.27 pthread_mutex_getprioceiling F -GLIBC_2.27 pthread_mutex_init F -GLIBC_2.27 pthread_mutex_lock F GLIBC_2.27 pthread_mutex_setprioceiling F GLIBC_2.27 pthread_mutex_timedlock F GLIBC_2.27 pthread_mutex_trylock F -GLIBC_2.27 pthread_mutex_unlock F GLIBC_2.27 pthread_mutexattr_destroy F GLIBC_2.27 pthread_mutexattr_getkind_np F GLIBC_2.27 pthread_mutexattr_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 27a9b011a8..078237adb2 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -187,6 +187,10 @@ GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F +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_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -2237,6 +2241,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index d6e91c977a..7b2edb7f57 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -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_trylock F -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 @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F -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_trylock F -GLIBC_2.0 pthread_mutex_unlock F GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 9e79331100..a2700aba32 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -372,6 +372,10 @@ GLIBC_2.2 __progname D 0x8 GLIBC_2.2 __progname_full D 0x8 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F +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_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_unlock F @@ -2138,6 +2142,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index 14489b39d0..8b4729fb7a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -21,11 +21,7 @@ GLIBC_2.2 __lseek F GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F -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_trylock F -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 @@ -84,12 +80,8 @@ GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F -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_timedlock F GLIBC_2.2 pthread_mutex_trylock F -GLIBC_2.2 pthread_mutex_unlock F GLIBC_2.2 pthread_mutexattr_destroy F GLIBC_2.2 pthread_mutexattr_getkind_np F GLIBC_2.2 pthread_mutexattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index b7dd795864..4fce4b408e 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -361,6 +361,10 @@ GLIBC_2.2 __progname D 0x4 GLIBC_2.2 __progname_full D 0x4 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F +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_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_unlock F @@ -2107,6 +2111,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 70af59d791..9e15deaad8 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F -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_trylock F -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 @@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F -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_timedlock F GLIBC_2.2 pthread_mutex_trylock F -GLIBC_2.2 pthread_mutex_unlock F GLIBC_2.2 pthread_mutexattr_destroy F GLIBC_2.2 pthread_mutexattr_getkind_np F GLIBC_2.2 pthread_mutexattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index eea30cd098..5dba0f5d0c 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -361,6 +361,10 @@ GLIBC_2.2 __progname D 0x4 GLIBC_2.2 __progname_full D 0x4 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F +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_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_unlock F @@ -2104,6 +2108,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 70af59d791..9e15deaad8 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F -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_trylock F -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 @@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F -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_timedlock F GLIBC_2.2 pthread_mutex_trylock F -GLIBC_2.2 pthread_mutex_unlock F GLIBC_2.2 pthread_mutexattr_destroy F GLIBC_2.2 pthread_mutexattr_getkind_np F GLIBC_2.2 pthread_mutexattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 4944c4159b..e064e5a4dc 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -191,6 +191,10 @@ GLIBC_2.0 __progname D 0x4 GLIBC_2.0 __progname_full D 0x4 GLIBC_2.0 __pthread_getspecific F GLIBC_2.0 __pthread_key_create F +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_setspecific F GLIBC_2.0 __rcmd_errstr D 0x4 @@ -2228,6 +2232,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index a7b3fd73ab..29cb6259a5 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -8,11 +8,7 @@ GLIBC_2.0 __fcntl F GLIBC_2.0 __h_errno_location F GLIBC_2.0 __lseek F GLIBC_2.0 __open F -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_trylock F -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 @@ -43,11 +39,7 @@ GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join F GLIBC_2.0 pthread_kill F GLIBC_2.0 pthread_kill_other_threads_np F -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_trylock F -GLIBC_2.0 pthread_mutex_unlock F GLIBC_2.0 pthread_mutexattr_destroy F GLIBC_2.0 pthread_mutexattr_getkind_np F GLIBC_2.0 pthread_mutexattr_init F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index e69420994f..36fed3cf99 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -399,6 +399,10 @@ GLIBC_2.2 __progname D 0x8 GLIBC_2.2 __progname_full D 0x8 GLIBC_2.2 __pthread_getspecific F GLIBC_2.2 __pthread_key_create F +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_rwlock_rdlock F GLIBC_2.2 __pthread_rwlock_unlock F @@ -2155,6 +2159,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 2e69109cdc..684bf559e5 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -20,11 +20,7 @@ GLIBC_2.2 __lseek F GLIBC_2.2 __open F GLIBC_2.2 __open64 F GLIBC_2.2 __pread64 F -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_trylock F -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 @@ -83,12 +79,8 @@ GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join F GLIBC_2.2 pthread_kill F GLIBC_2.2 pthread_kill_other_threads_np F -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_timedlock F GLIBC_2.2 pthread_mutex_trylock F -GLIBC_2.2 pthread_mutex_unlock F GLIBC_2.2 pthread_mutexattr_destroy F GLIBC_2.2 pthread_mutexattr_getkind_np F GLIBC_2.2 pthread_mutexattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index dfe78d93cb..6858c1328f 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -360,6 +360,10 @@ GLIBC_2.2.5 __progname D 0x8 GLIBC_2.2.5 __progname_full D 0x8 GLIBC_2.2.5 __pthread_getspecific F GLIBC_2.2.5 __pthread_key_create F +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_rwlock_rdlock F GLIBC_2.2.5 __pthread_rwlock_unlock F @@ -2114,6 +2118,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index 4f8dfa000a..54ad81fdd6 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -20,11 +20,7 @@ GLIBC_2.2.5 __lseek F GLIBC_2.2.5 __open F GLIBC_2.2.5 __open64 F GLIBC_2.2.5 __pread64 F -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_trylock F -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 @@ -83,12 +79,8 @@ GLIBC_2.2.5 pthread_getcpuclockid F GLIBC_2.2.5 pthread_join F GLIBC_2.2.5 pthread_kill F GLIBC_2.2.5 pthread_kill_other_threads_np F -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_timedlock F GLIBC_2.2.5 pthread_mutex_trylock F -GLIBC_2.2.5 pthread_mutex_unlock F GLIBC_2.2.5 pthread_mutexattr_destroy F GLIBC_2.2.5 pthread_mutexattr_getkind_np F GLIBC_2.2.5 pthread_mutexattr_getpshared F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index 3accd92583..72da8cceaa 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -342,6 +342,10 @@ GLIBC_2.16 __progname_full D 0x4 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 +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_rwlock_rdlock F GLIBC_2.16 __pthread_rwlock_unlock F @@ -2212,6 +2216,10 @@ GLIBC_2.34 __libc_start_main F GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_getspecific F GLIBC_2.34 __pthread_key_create F +GLIBC_2.34 __pthread_mutex_destroy F +GLIBC_2.34 __pthread_mutex_init F +GLIBC_2.34 __pthread_mutex_lock F +GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once F GLIBC_2.34 __pthread_rwlock_rdlock F GLIBC_2.34 __pthread_rwlock_unlock F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index 0b017c0218..6b095bf36a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -13,11 +13,7 @@ GLIBC_2.16 __lseek F GLIBC_2.16 __open F GLIBC_2.16 __open64 F GLIBC_2.16 __pread64 F -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_trylock F -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 @@ -84,14 +80,10 @@ GLIBC_2.16 pthread_getname_np F GLIBC_2.16 pthread_join F GLIBC_2.16 pthread_kill F GLIBC_2.16 pthread_kill_other_threads_np F -GLIBC_2.16 pthread_mutex_destroy F GLIBC_2.16 pthread_mutex_getprioceiling F -GLIBC_2.16 pthread_mutex_init F -GLIBC_2.16 pthread_mutex_lock F GLIBC_2.16 pthread_mutex_setprioceiling F GLIBC_2.16 pthread_mutex_timedlock F GLIBC_2.16 pthread_mutex_trylock F -GLIBC_2.16 pthread_mutex_unlock F GLIBC_2.16 pthread_mutexattr_destroy F GLIBC_2.16 pthread_mutexattr_getkind_np F GLIBC_2.16 pthread_mutexattr_getprioceiling F From patchwork Tue Mar 16 17:31:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42627 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BD296384B13C; Tue, 16 Mar 2021 17:31:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BD296384B13C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915910; bh=zFqB/So2otn5y7ODCQY0sxklctM4Bx3tdAhnvM+smnE=; 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=SePeuNTzrb9kBbDoaxEO4rPfhTT7FMq0NUkn/wp4aNdCI6dNo9VFfC3VQd/msm5Gm /xow4cFM5Ob3oB71PW1mK5YUSrOFUb2+2XPTeZ3a0P1L8sELfgMIwKXYTqnlVSc2dK WkxuA5NVcYwbz06aV+ZnPxP0b6wGVgTmtypsA5Fg= 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 CBE65384B0C0 for ; Tue, 16 Mar 2021 17:31:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org CBE65384B0C0 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-601-ufpn_DGYOQe0K1NWtnZr5g-1; Tue, 16 Mar 2021 13:31:38 -0400 X-MC-Unique: ufpn_DGYOQe0K1NWtnZr5g-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 D8CEF107F281 for ; Tue, 16 Mar 2021 17:31:37 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C57785C1A1 for ; Tue, 16 Mar 2021 17:31:35 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 35/37] nptl: Move core condition variable functions into libc In-Reply-To: References: Message-Id: <9d340a680944b1ca85ce52c38d6e7e062e619192.1615914632.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:31:44 +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.6 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" Onl pthread_cond_clockwait did not have a forwarder, so it needs a new symbol version. Some complications arise due to the need to supply hidden aliases, GLIBC_PRIVATE exports (for the C11 condition variable implementation that still remains in libpthread) and 64-bit time_t stubs. pthread_cond_broadcast, pthread_cond_signal, pthread_cond_timedwait, pthread_cond_wait, pthread_cond_clockwait have been moved using scripts/move-symbol-to-libc.py. Reviewed-by: Adhemerval Zanella --- nptl/Makefile | 16 ++--- nptl/Versions | 19 +++--- nptl/forward.c | 61 ----------------- nptl/libpthread-compat.c | 5 ++ nptl/nptl-init.c | 10 --- nptl/old_pthread_cond_broadcast.c | 4 +- nptl/old_pthread_cond_signal.c | 4 +- nptl/old_pthread_cond_timedwait.c | 4 +- nptl/old_pthread_cond_wait.c | 4 +- nptl/pthreadP.h | 9 ++- nptl/pthread_cond_broadcast.c | 11 ++-- nptl/pthread_cond_signal.c | 9 ++- nptl/pthread_cond_wait.c | 66 +++++++++++++------ sysdeps/nptl/pthread-functions.h | 11 ---- sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 + .../sysv/linux/aarch64/libpthread.abilist | 5 -- sysdeps/unix/sysv/linux/alpha/libc.abilist | 2 + .../unix/sysv/linux/alpha/libpthread.abilist | 10 +-- sysdeps/unix/sysv/linux/arc/libc.abilist | 2 + .../unix/sysv/linux/arc/libpthread.abilist | 5 -- sysdeps/unix/sysv/linux/arm/be/libc.abilist | 2 + .../unix/sysv/linux/arm/be/libpthread.abilist | 5 -- sysdeps/unix/sysv/linux/arm/le/libc.abilist | 2 + .../unix/sysv/linux/arm/le/libpthread.abilist | 5 -- sysdeps/unix/sysv/linux/csky/libc.abilist | 2 + .../unix/sysv/linux/csky/libpthread.abilist | 5 -- sysdeps/unix/sysv/linux/hppa/libc.abilist | 2 + .../unix/sysv/linux/hppa/libpthread.abilist | 10 +-- sysdeps/unix/sysv/linux/i386/libc.abilist | 2 + .../unix/sysv/linux/i386/libpthread.abilist | 10 +-- sysdeps/unix/sysv/linux/ia64/libc.abilist | 2 + .../unix/sysv/linux/ia64/libpthread.abilist | 10 +-- .../sysv/linux/m68k/coldfire/libc.abilist | 2 + .../linux/m68k/coldfire/libpthread.abilist | 5 -- .../unix/sysv/linux/m68k/m680x0/libc.abilist | 2 + .../sysv/linux/m68k/m680x0/libpthread.abilist | 10 +-- .../sysv/linux/microblaze/be/libc.abilist | 2 + .../linux/microblaze/be/libpthread.abilist | 5 -- .../sysv/linux/microblaze/le/libc.abilist | 2 + .../linux/microblaze/le/libpthread.abilist | 5 -- .../sysv/linux/mips/mips32/fpu/libc.abilist | 2 + .../sysv/linux/mips/mips32/libpthread.abilist | 10 +-- .../sysv/linux/mips/mips32/nofpu/libc.abilist | 2 + .../sysv/linux/mips/mips64/libpthread.abilist | 10 +-- .../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 | 5 -- .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 + .../powerpc/powerpc32/libpthread.abilist | 10 +-- .../powerpc/powerpc32/nofpu/libc.abilist | 2 + .../linux/powerpc/powerpc64/be/libc.abilist | 2 + .../powerpc/powerpc64/be/libpthread.abilist | 10 +-- .../linux/powerpc/powerpc64/le/libc.abilist | 2 + .../powerpc/powerpc64/le/libpthread.abilist | 5 -- .../unix/sysv/linux/riscv/rv32/libc.abilist | 2 + .../sysv/linux/riscv/rv32/libpthread.abilist | 5 -- .../unix/sysv/linux/riscv/rv64/libc.abilist | 2 + .../sysv/linux/riscv/rv64/libpthread.abilist | 5 -- .../unix/sysv/linux/s390/s390-32/libc.abilist | 2 + .../linux/s390/s390-32/libpthread.abilist | 10 +-- .../unix/sysv/linux/s390/s390-64/libc.abilist | 2 + .../linux/s390/s390-64/libpthread.abilist | 10 +-- sysdeps/unix/sysv/linux/sh/be/libc.abilist | 2 + .../unix/sysv/linux/sh/be/libpthread.abilist | 10 +-- sysdeps/unix/sysv/linux/sh/le/libc.abilist | 2 + .../unix/sysv/linux/sh/le/libpthread.abilist | 10 +-- .../sysv/linux/sparc/sparc32/libc.abilist | 2 + .../linux/sparc/sparc32/libpthread.abilist | 10 +-- .../sysv/linux/sparc/sparc64/libc.abilist | 2 + .../linux/sparc/sparc64/libpthread.abilist | 10 +-- .../unix/sysv/linux/x86_64/64/libc.abilist | 2 + .../sysv/linux/x86_64/64/libpthread.abilist | 10 +-- .../unix/sysv/linux/x86_64/x32/libc.abilist | 2 + .../sysv/linux/x86_64/x32/libpthread.abilist | 5 -- 75 files changed, 176 insertions(+), 346 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index e0ba8bea13..1cf72fd5df 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -47,8 +47,12 @@ routines = \ lowlevellock \ nptl_deallocate_tsd \ nptl_nthreads \ + old_pthread_cond_broadcast \ old_pthread_cond_destroy \ old_pthread_cond_init \ + old_pthread_cond_signal \ + old_pthread_cond_timedwait \ + old_pthread_cond_wait \ pthread_atfork \ pthread_attr_copy \ pthread_attr_destroy \ @@ -69,8 +73,11 @@ routines = \ pthread_attr_setsigmask \ pthread_attr_setsigmask_internal \ pthread_cleanup_upto \ + pthread_cond_broadcast \ pthread_cond_destroy \ pthread_cond_init \ + pthread_cond_signal \ + pthread_cond_wait \ pthread_condattr_destroy \ pthread_condattr_init \ pthread_equal \ @@ -82,6 +89,7 @@ routines = \ pthread_key_create \ pthread_key_delete \ pthread_keys \ + pthread_mutex_cond_lock \ pthread_mutex_conf \ pthread_mutex_consistent \ pthread_mutex_destroy \ @@ -130,10 +138,6 @@ libpthread-routines = \ nptl-init \ nptlfreeres \ old_pthread_atfork \ - old_pthread_cond_broadcast \ - old_pthread_cond_signal \ - old_pthread_cond_timedwait \ - old_pthread_cond_wait \ pt-allocrtsig \ pt-fcntl \ pt-interp \ @@ -157,9 +161,6 @@ libpthread-routines = \ pthread_barrierattr_setpshared \ pthread_cancel \ pthread_clockjoin \ - pthread_cond_broadcast \ - pthread_cond_signal \ - pthread_cond_wait \ pthread_condattr_getclock \ pthread_condattr_getpshared \ pthread_condattr_setclock \ @@ -174,7 +175,6 @@ libpthread-routines = \ pthread_join_common \ pthread_kill \ pthread_kill_other_threads \ - pthread_mutex_cond_lock \ pthread_mutex_getprioceiling \ pthread_mutex_setprioceiling \ pthread_mutex_timedlock \ diff --git a/nptl/Versions b/nptl/Versions index 2352b74c7e..a6c8746449 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -95,6 +95,9 @@ libc { thrd_sleep; thrd_yield; } + GLIBC_2.30 { + pthread_cond_clockwait; + } GLIBC_2.32 { pthread_attr_getsigmask_np; pthread_attr_setaffinity_np; @@ -116,6 +119,7 @@ libc { __pthread_rwlock_unlock; __pthread_rwlock_wrlock; __pthread_setspecific; + pthread_cond_clockwait; pthread_getspecific; pthread_key_create; pthread_key_delete; @@ -155,8 +159,12 @@ libc { __pthread_cleanup_pop; __pthread_cleanup_push; __pthread_cleanup_upto; + __pthread_cond_broadcast; # Used by the C11 threads. __pthread_cond_destroy; # Used by the C11 threads. __pthread_cond_init; # Used by the C11 threads. + __pthread_cond_signal; # Used by the C11 threads. + __pthread_cond_timedwait; # Used by the C11 threads. + __pthread_cond_wait; # Used by the C11 threads. __pthread_current_priority; __pthread_exit; __pthread_force_elision; @@ -209,10 +217,6 @@ libpthread { pause; pthread_atfork; pthread_cancel; - pthread_cond_broadcast; - pthread_cond_signal; - pthread_cond_timedwait; - pthread_cond_wait; pthread_create; pthread_detach; pthread_join; @@ -338,11 +342,7 @@ libpthread { } GLIBC_2.3.2 { - pthread_cond_broadcast; - pthread_cond_init; - pthread_cond_signal; - pthread_cond_timedwait; - pthread_cond_wait; + __libpthread_version_placeholder; } GLIBC_2.3.3 { @@ -419,7 +419,6 @@ libpthread { } GLIBC_2.30 { - pthread_cond_clockwait; pthread_mutex_clocklock; pthread_rwlock_clockrdlock; pthread_rwlock_clockwrlock; diff --git a/nptl/forward.c b/nptl/forward.c index c914baec4f..c819ab6f2a 100644 --- a/nptl/forward.c +++ b/nptl/forward.c @@ -29,64 +29,3 @@ /* Pointers to the libc functions. */ struct pthread_functions __libc_pthread_functions attribute_hidden; int __libc_pthread_functions_init attribute_hidden; - - -#define FORWARD2(name, rettype, decl, params, defaction) \ -rettype \ -name decl \ -{ \ - if (!__libc_pthread_functions_init) \ - defaction; \ - \ - return PTHFCT_CALL (ptr_##name, params); \ -} - -#define FORWARD(name, decl, params, defretval) \ - FORWARD2 (name, int, decl, params, return defretval) - - -#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2) -FORWARD2 (__pthread_cond_broadcast_2_0, int attribute_compat_text_section, - (pthread_cond_2_0_t *cond), (cond), return 0) -compat_symbol (libc, __pthread_cond_broadcast_2_0, pthread_cond_broadcast, - GLIBC_2_0); -#endif -FORWARD (__pthread_cond_broadcast, (pthread_cond_t *cond), (cond), 0) -versioned_symbol (libc, __pthread_cond_broadcast, pthread_cond_broadcast, - GLIBC_2_3_2); - -#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2) -FORWARD2 (__pthread_cond_signal_2_0, int attribute_compat_text_section, - (pthread_cond_2_0_t *cond), (cond), return 0) -compat_symbol (libc, __pthread_cond_signal_2_0, pthread_cond_signal, - GLIBC_2_0); -#endif -FORWARD (__pthread_cond_signal, (pthread_cond_t *cond), (cond), 0) -versioned_symbol (libc, __pthread_cond_signal, pthread_cond_signal, - GLIBC_2_3_2); - -#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2) -FORWARD2 (__pthread_cond_wait_2_0, int attribute_compat_text_section, - (pthread_cond_2_0_t *cond, pthread_mutex_t *mutex), (cond, mutex), - return 0) -compat_symbol (libc, __pthread_cond_wait_2_0, pthread_cond_wait, - GLIBC_2_0); -#endif -FORWARD (__pthread_cond_wait, (pthread_cond_t *cond, pthread_mutex_t *mutex), - (cond, mutex), 0) -versioned_symbol (libc, __pthread_cond_wait, pthread_cond_wait, - GLIBC_2_3_2); - -#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2) -FORWARD2 (__pthread_cond_timedwait_2_0, int attribute_compat_text_section, - (pthread_cond_2_0_t *cond, pthread_mutex_t *mutex, - const struct timespec *abstime), (cond, mutex, abstime), - return 0) -compat_symbol (libc, __pthread_cond_timedwait_2_0, pthread_cond_timedwait, - GLIBC_2_0); -#endif -FORWARD (__pthread_cond_timedwait, - (pthread_cond_t *cond, pthread_mutex_t *mutex, - const struct timespec *abstime), (cond, mutex, abstime), 0) -versioned_symbol (libc, __pthread_cond_timedwait, pthread_cond_timedwait, - GLIBC_2_3_2); diff --git a/nptl/libpthread-compat.c b/nptl/libpthread-compat.c index 820dcd6a8f..ee6ba66644 100644 --- a/nptl/libpthread-compat.c +++ b/nptl/libpthread-compat.c @@ -50,3 +50,8 @@ compat_symbol_unique (libpthread, compat_symbol_unique (libpthread, __libpthread_version_placeholder, GLIBC_2_2_6); #endif + +#if (SHLIB_COMPAT (libpthread, GLIBC_2_3_2, GLIBC_2_3_4)) +compat_symbol_unique (libpthread, + __libpthread_version_placeholder, GLIBC_2_3_2); +#endif diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index cbc9430ecb..50bc19c4e3 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -53,16 +53,6 @@ static const char nptl_version[] __attribute_used__ = VERSION; #ifdef SHARED static const struct pthread_functions pthread_functions = { - .ptr___pthread_cond_broadcast = __pthread_cond_broadcast, - .ptr___pthread_cond_signal = __pthread_cond_signal, - .ptr___pthread_cond_wait = __pthread_cond_wait, - .ptr___pthread_cond_timedwait = __pthread_cond_timedwait, -# if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_3_2) - .ptr___pthread_cond_broadcast_2_0 = __pthread_cond_broadcast_2_0, - .ptr___pthread_cond_signal_2_0 = __pthread_cond_signal_2_0, - .ptr___pthread_cond_wait_2_0 = __pthread_cond_wait_2_0, - .ptr___pthread_cond_timedwait_2_0 = __pthread_cond_timedwait_2_0, -# endif .ptr__nptl_setxid = __nptl_setxid, }; # define ptr_pthread_functions &pthread_functions diff --git a/nptl/old_pthread_cond_broadcast.c b/nptl/old_pthread_cond_broadcast.c index 4224ad9cf3..52dbc58ae4 100644 --- a/nptl/old_pthread_cond_broadcast.c +++ b/nptl/old_pthread_cond_broadcast.c @@ -23,7 +23,7 @@ #include -#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_3_2) +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2) int __pthread_cond_broadcast_2_0 (pthread_cond_2_0_t *cond) { @@ -42,6 +42,6 @@ __pthread_cond_broadcast_2_0 (pthread_cond_2_0_t *cond) return __pthread_cond_broadcast (cond->cond); } -compat_symbol (libpthread, __pthread_cond_broadcast_2_0, +compat_symbol (libc, __pthread_cond_broadcast_2_0, pthread_cond_broadcast, GLIBC_2_0); #endif diff --git a/nptl/old_pthread_cond_signal.c b/nptl/old_pthread_cond_signal.c index bab12fd57f..38dd48ccaa 100644 --- a/nptl/old_pthread_cond_signal.c +++ b/nptl/old_pthread_cond_signal.c @@ -23,7 +23,7 @@ #include -#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_3_2) +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2) int __pthread_cond_signal_2_0 (pthread_cond_2_0_t *cond) { @@ -42,6 +42,6 @@ __pthread_cond_signal_2_0 (pthread_cond_2_0_t *cond) return __pthread_cond_signal (cond->cond); } -compat_symbol (libpthread, __pthread_cond_signal_2_0, pthread_cond_signal, +compat_symbol (libc, __pthread_cond_signal_2_0, pthread_cond_signal, GLIBC_2_0); #endif diff --git a/nptl/old_pthread_cond_timedwait.c b/nptl/old_pthread_cond_timedwait.c index fdddf3072f..14ef5e7efa 100644 --- a/nptl/old_pthread_cond_timedwait.c +++ b/nptl/old_pthread_cond_timedwait.c @@ -23,7 +23,7 @@ #include -#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_3_2) +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2) int __pthread_cond_timedwait_2_0 (pthread_cond_2_0_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime) @@ -43,6 +43,6 @@ __pthread_cond_timedwait_2_0 (pthread_cond_2_0_t *cond, pthread_mutex_t *mutex, return __pthread_cond_timedwait (cond->cond, mutex, abstime); } -compat_symbol (libpthread, __pthread_cond_timedwait_2_0, +compat_symbol (libc, __pthread_cond_timedwait_2_0, pthread_cond_timedwait, GLIBC_2_0); #endif diff --git a/nptl/old_pthread_cond_wait.c b/nptl/old_pthread_cond_wait.c index 156493d6be..a45bbd89e7 100644 --- a/nptl/old_pthread_cond_wait.c +++ b/nptl/old_pthread_cond_wait.c @@ -23,7 +23,7 @@ #include -#if SHLIB_COMPAT(libpthread, GLIBC_2_0, GLIBC_2_3_2) +#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2) int __pthread_cond_wait_2_0 (pthread_cond_2_0_t *cond, pthread_mutex_t *mutex) { @@ -42,6 +42,6 @@ __pthread_cond_wait_2_0 (pthread_cond_2_0_t *cond, pthread_mutex_t *mutex) return __pthread_cond_wait (cond->cond, mutex); } -compat_symbol (libpthread, __pthread_cond_wait_2_0, pthread_cond_wait, +compat_symbol (libc, __pthread_cond_wait_2_0, pthread_cond_wait, GLIBC_2_0); #endif diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 4feebdf09e..786c566e81 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -457,13 +457,16 @@ libc_hidden_proto (__pthread_rwlock_wrlock) extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock); extern int __pthread_cond_broadcast (pthread_cond_t *cond); +libc_hidden_proto (__pthread_cond_broadcast) extern int __pthread_cond_destroy (pthread_cond_t *cond); libc_hidden_proto (__pthread_cond_destroy) extern int __pthread_cond_init (pthread_cond_t *cond, const pthread_condattr_t *cond_attr); libc_hidden_proto (__pthread_cond_init) extern int __pthread_cond_signal (pthread_cond_t *cond); +libc_hidden_proto (__pthread_cond_signal) extern int __pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex); +libc_hidden_proto (__pthread_cond_wait) #if __TIMESIZE == 64 # define __pthread_clockjoin_np64 __pthread_clockjoin_np @@ -487,12 +490,12 @@ libpthread_hidden_proto (__pthread_timedjoin_np64) extern int __pthread_cond_timedwait64 (pthread_cond_t *cond, pthread_mutex_t *mutex, const struct __timespec64 *abstime); -libpthread_hidden_proto (__pthread_cond_timedwait64) +libc_hidden_proto (__pthread_cond_timedwait64) extern int __pthread_cond_clockwait64 (pthread_cond_t *cond, pthread_mutex_t *mutex, clockid_t clockid, const struct __timespec64 *abstime); -libpthread_hidden_proto (__pthread_cond_clockwait64) +libc_hidden_proto (__pthread_cond_clockwait64) extern int __pthread_rwlock_clockrdlock64 (pthread_rwlock_t *rwlock, clockid_t clockid, const struct __timespec64 *abstime); @@ -519,11 +522,13 @@ libpthread_hidden_proto (__pthread_mutex_timedlock64) extern int __pthread_cond_timedwait (pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime); +libc_hidden_proto (__pthread_cond_timedwait) extern int __pthread_cond_clockwait (pthread_cond_t *cond, pthread_mutex_t *mutex, clockid_t clockid, const struct timespec *abstime) __nonnull ((1, 2, 4)); +libc_hidden_proto (__pthread_cond_clockwait) extern int __pthread_condattr_destroy (pthread_condattr_t *attr); extern int __pthread_condattr_init (pthread_condattr_t *attr); extern int __pthread_key_create (pthread_key_t *key, void (*destr) (void *)); diff --git a/nptl/pthread_cond_broadcast.c b/nptl/pthread_cond_broadcast.c index e64e124b5b..00326ad435 100644 --- a/nptl/pthread_cond_broadcast.c +++ b/nptl/pthread_cond_broadcast.c @@ -36,7 +36,7 @@ G1. We don't need to do all these steps if there are no waiters in G1 and/or G2. See __pthread_cond_signal for further details. */ int -__pthread_cond_broadcast (pthread_cond_t *cond) +__pthread_cond_broadcast_1 (pthread_cond_t *cond) { LIBC_PROBE (cond_broadcast, 1, cond); @@ -87,6 +87,9 @@ __pthread_cond_broadcast (pthread_cond_t *cond) return 0; } - -versioned_symbol (libpthread, __pthread_cond_broadcast, pthread_cond_broadcast, - GLIBC_2_3_2); +versioned_symbol (libpthread, __pthread_cond_broadcast_1, + pthread_cond_broadcast, GLIBC_2_3_2); +libc_hidden_ver (__pthread_cond_broadcast_1, __pthread_cond_broadcast) +strong_alias (__pthread_cond_broadcast_1, __pthread_cond_broadcast_2) +versioned_symbol (libpthread, __pthread_cond_broadcast_2, + __pthread_cond_broadcast, GLIBC_PRIVATE); diff --git a/nptl/pthread_cond_signal.c b/nptl/pthread_cond_signal.c index 77073342b2..88ce3811d2 100644 --- a/nptl/pthread_cond_signal.c +++ b/nptl/pthread_cond_signal.c @@ -32,7 +32,7 @@ /* See __pthread_cond_wait for a high-level description of the algorithm. */ int -__pthread_cond_signal (pthread_cond_t *cond) +__pthread_cond_signal_1 (pthread_cond_t *cond) { LIBC_PROBE (cond_signal, 1, cond); @@ -95,6 +95,9 @@ __pthread_cond_signal (pthread_cond_t *cond) return 0; } - -versioned_symbol (libpthread, __pthread_cond_signal, pthread_cond_signal, +versioned_symbol (libpthread, __pthread_cond_signal_1, pthread_cond_signal, GLIBC_2_3_2); +libc_hidden_ver (__pthread_cond_signal_1, __pthread_cond_signal) +strong_alias (__pthread_cond_signal_1, __pthread_cond_signal_2) +versioned_symbol (libpthread, __pthread_cond_signal_2, + __pthread_cond_signal, GLIBC_PRIVATE); diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c index a481bb55fc..2eb6c85f4e 100644 --- a/nptl/pthread_cond_wait.c +++ b/nptl/pthread_cond_wait.c @@ -613,16 +613,23 @@ __pthread_cond_wait_common (pthread_cond_t *cond, pthread_mutex_t *mutex, /* See __pthread_cond_wait_common. */ int -__pthread_cond_wait (pthread_cond_t *cond, pthread_mutex_t *mutex) +__pthread_cond_wait_1 (pthread_cond_t *cond, pthread_mutex_t *mutex) { /* clockid is unused when abstime is NULL. */ return __pthread_cond_wait_common (cond, mutex, 0, NULL); } +versioned_symbol (libpthread, __pthread_cond_wait_1, pthread_cond_wait, + GLIBC_2_3_2); +libc_hidden_ver (__pthread_cond_wait_1, __pthread_cond_wait) +strong_alias (__pthread_cond_wait_1, __pthread_cond_wait_2) +versioned_symbol (libpthread, __pthread_cond_wait_2, __pthread_cond_wait, + GLIBC_PRIVATE); + /* See __pthread_cond_wait_common. */ int -__pthread_cond_timedwait64 (pthread_cond_t *cond, pthread_mutex_t *mutex, - const struct __timespec64 *abstime) +__pthread_cond_timedwait64_1 (pthread_cond_t *cond, pthread_mutex_t *mutex, + const struct __timespec64 *abstime) { /* Check parameter validity. This should also tell the compiler that it can assume that abstime is not NULL. */ @@ -637,29 +644,34 @@ __pthread_cond_timedwait64 (pthread_cond_t *cond, pthread_mutex_t *mutex, return __pthread_cond_wait_common (cond, mutex, clockid, abstime); } -#if __TIMESIZE != 64 -libpthread_hidden_def (__pthread_cond_timedwait64) +#if __TIMESIZE == 64 +strong_alias (__pthread_cond_timedwait64_1, __pthread_cond_timedwait_1) +#else +versioned_symbol (libc, __pthread_cond_timedwait64_1, + __pthread_cond_timedwait64, GLIBC_PRIVATE); +libc_hidden_ver (__pthread_cond_timedwait64_1, __pthread_cond_timedwait64) int -__pthread_cond_timedwait (pthread_cond_t *cond, pthread_mutex_t *mutex, - const struct timespec *abstime) +__pthread_cond_timedwait_1 (pthread_cond_t *cond, pthread_mutex_t *mutex, + const struct timespec *abstime) { struct __timespec64 ts64 = valid_timespec_to_timespec64 (*abstime); return __pthread_cond_timedwait64 (cond, mutex, &ts64); } -#endif - -versioned_symbol (libpthread, __pthread_cond_wait, pthread_cond_wait, - GLIBC_2_3_2); -versioned_symbol (libpthread, __pthread_cond_timedwait, pthread_cond_timedwait, - GLIBC_2_3_2); +#endif /* __TIMESIZE == 64 */ +versioned_symbol (libpthread, __pthread_cond_timedwait_1, + pthread_cond_timedwait, GLIBC_2_3_2); +libc_hidden_ver (__pthread_cond_timedwait_1, __pthread_cond_timedwait) +strong_alias (__pthread_cond_timedwait_1, __pthread_cond_timedwait_2) +versioned_symbol (libpthread, __pthread_cond_timedwait_2, + __pthread_cond_timedwait, GLIBC_PRIVATE); /* See __pthread_cond_wait_common. */ int -__pthread_cond_clockwait64 (pthread_cond_t *cond, pthread_mutex_t *mutex, - clockid_t clockid, - const struct __timespec64 *abstime) +__pthread_cond_clockwait64_1 (pthread_cond_t *cond, pthread_mutex_t *mutex, + clockid_t clockid, + const struct __timespec64 *abstime) { /* Check parameter validity. This should also tell the compiler that it can assume that abstime is not NULL. */ @@ -672,11 +684,15 @@ __pthread_cond_clockwait64 (pthread_cond_t *cond, pthread_mutex_t *mutex, return __pthread_cond_wait_common (cond, mutex, clockid, abstime); } -#if __TIMESIZE != 64 -libpthread_hidden_def (__pthread_cond_clockwait64) +#if __TIMESIZE == 64 +strong_alias (__pthread_cond_clockwait64_1, __pthread_cond_clockwait_1) +#else +versioned_symbol (libc, __pthread_cond_clockwait64_1, + __pthread_cond_clockwait64, GLIBC_PRIVATE); +libc_hidden_ver (__pthread_cond_clockwait64_1, __pthread_cond_clockwait64) int -__pthread_cond_clockwait (pthread_cond_t *cond, pthread_mutex_t *mutex, +__pthread_cond_clockwait_1 (pthread_cond_t *cond, pthread_mutex_t *mutex, clockid_t clockid, const struct timespec *abstime) { @@ -684,5 +700,15 @@ __pthread_cond_clockwait (pthread_cond_t *cond, pthread_mutex_t *mutex, return __pthread_cond_clockwait64 (cond, mutex, clockid, &ts64); } +#endif /* __TIMESIZE == 64 */ +versioned_symbol (libc, __pthread_cond_clockwait_1, + __pthread_cond_clockwait, GLIBC_PRIVATE); +libc_hidden_ver (__pthread_cond_clockwait_1, __pthread_cond_clockwait) +strong_alias (__pthread_cond_clockwait_1, __pthread_cond_clockwait_2) +versioned_symbol (libc, __pthread_cond_clockwait_2, + pthread_cond_clockwait, GLIBC_2_34); +#if SHLIB_COMPAT (libc, GLIBC_2_30, GLIBC_2_34) +strong_alias (__pthread_cond_clockwait_1, __pthread_cond_clockwait_3) +compat_symbol (libc, __pthread_cond_clockwait_3, + pthread_cond_clockwait, GLIBC_2_30); #endif -weak_alias (__pthread_cond_clockwait, pthread_cond_clockwait); diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index dab5a2831e..56c746a01c 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -30,17 +30,6 @@ struct xid_command; the thread functions. */ struct pthread_functions { - int (*ptr___pthread_cond_broadcast) (pthread_cond_t *); - int (*ptr___pthread_cond_signal) (pthread_cond_t *); - int (*ptr___pthread_cond_wait) (pthread_cond_t *, pthread_mutex_t *); - int (*ptr___pthread_cond_timedwait) (pthread_cond_t *, pthread_mutex_t *, - const struct timespec *); - int (*ptr___pthread_cond_broadcast_2_0) (pthread_cond_2_0_t *); - int (*ptr___pthread_cond_signal_2_0) (pthread_cond_2_0_t *); - int (*ptr___pthread_cond_wait_2_0) (pthread_cond_2_0_t *, pthread_mutex_t *); - int (*ptr___pthread_cond_timedwait_2_0) (pthread_cond_2_0_t *, - pthread_mutex_t *, - const struct timespec *); int (*ptr__nptl_setxid) (struct xid_command *); }; diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index 381947232e..918e8ad5ce 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -2174,6 +2174,7 @@ GLIBC_2.29 posix_spawn_file_actions_addchdir_np F GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2212,6 +2213,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 29a98fc2f4..421b093c4c 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -64,10 +64,6 @@ GLIBC_2.17 pthread_barrierattr_getpshared F GLIBC_2.17 pthread_barrierattr_init F GLIBC_2.17 pthread_barrierattr_setpshared F GLIBC_2.17 pthread_cancel F -GLIBC_2.17 pthread_cond_broadcast F -GLIBC_2.17 pthread_cond_signal F -GLIBC_2.17 pthread_cond_timedwait F -GLIBC_2.17 pthread_cond_wait F GLIBC_2.17 pthread_condattr_getclock F GLIBC_2.17 pthread_condattr_getpshared F GLIBC_2.17 pthread_condattr_setclock F @@ -174,7 +170,6 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 7e314dd68b..b197b40425 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2255,6 +2255,7 @@ GLIBC_2.30 __nldbl_warn F GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2293,6 +2294,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 29cb6259a5..69809f7794 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -30,10 +30,6 @@ GLIBC_2.0 open F GLIBC_2.0 pause F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F -GLIBC_2.0 pthread_cond_broadcast F -GLIBC_2.0 pthread_cond_signal F -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_join F @@ -165,10 +161,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -185,7 +178,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 014b30c7bd..fccb579d59 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -1374,6 +1374,7 @@ GLIBC_2.32 pthread_attr_setschedpolicy F GLIBC_2.32 pthread_attr_setscope F GLIBC_2.32 pthread_attr_setsigmask_np F GLIBC_2.32 pthread_cond_broadcast F +GLIBC_2.32 pthread_cond_clockwait F GLIBC_2.32 pthread_cond_destroy F GLIBC_2.32 pthread_cond_init F GLIBC_2.32 pthread_cond_signal F @@ -1972,6 +1973,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index b926ef9dba..9e16734b8c 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -76,11 +76,6 @@ GLIBC_2.32 pthread_barrierattr_init F GLIBC_2.32 pthread_barrierattr_setpshared F GLIBC_2.32 pthread_cancel F GLIBC_2.32 pthread_clockjoin_np F -GLIBC_2.32 pthread_cond_broadcast F -GLIBC_2.32 pthread_cond_clockwait F -GLIBC_2.32 pthread_cond_signal F -GLIBC_2.32 pthread_cond_timedwait F -GLIBC_2.32 pthread_cond_wait F GLIBC_2.32 pthread_condattr_getclock F GLIBC_2.32 pthread_condattr_getpshared F GLIBC_2.32 pthread_condattr_setclock F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 412eb541fc..0e3cb8f22b 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -129,6 +129,7 @@ GLIBC_2.29 posix_spawn_file_actions_addchdir_np F GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.31 msgctl F @@ -170,6 +171,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index 8dd2c3f7a6..bd870717f2 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -26,7 +26,6 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F @@ -98,10 +97,6 @@ GLIBC_2.4 pthread_barrierattr_getpshared F GLIBC_2.4 pthread_barrierattr_init F GLIBC_2.4 pthread_barrierattr_setpshared F GLIBC_2.4 pthread_cancel F -GLIBC_2.4 pthread_cond_broadcast F -GLIBC_2.4 pthread_cond_signal F -GLIBC_2.4 pthread_cond_timedwait F -GLIBC_2.4 pthread_cond_wait F GLIBC_2.4 pthread_condattr_getclock F GLIBC_2.4 pthread_condattr_getpshared F GLIBC_2.4 pthread_condattr_setclock F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index 588f1d6b42..10b35e83ab 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -129,6 +129,7 @@ GLIBC_2.29 posix_spawn_file_actions_addchdir_np F GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -167,6 +168,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index 8dd2c3f7a6..bd870717f2 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -26,7 +26,6 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F @@ -98,10 +97,6 @@ GLIBC_2.4 pthread_barrierattr_getpshared F GLIBC_2.4 pthread_barrierattr_init F GLIBC_2.4 pthread_barrierattr_setpshared F GLIBC_2.4 pthread_cancel F -GLIBC_2.4 pthread_cond_broadcast F -GLIBC_2.4 pthread_cond_signal F -GLIBC_2.4 pthread_cond_timedwait F -GLIBC_2.4 pthread_cond_wait F GLIBC_2.4 pthread_condattr_getclock F GLIBC_2.4 pthread_condattr_getpshared F GLIBC_2.4 pthread_condattr_setclock F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index 76fb31f895..dbbf62eba3 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -2118,6 +2118,7 @@ GLIBC_2.29 xprt_register F GLIBC_2.29 xprt_unregister F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2156,6 +2157,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index 2c4d219569..e4d8c8fcb0 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -75,10 +75,6 @@ GLIBC_2.29 pthread_barrierattr_getpshared F GLIBC_2.29 pthread_barrierattr_init F GLIBC_2.29 pthread_barrierattr_setpshared F GLIBC_2.29 pthread_cancel F -GLIBC_2.29 pthread_cond_broadcast F -GLIBC_2.29 pthread_cond_signal F -GLIBC_2.29 pthread_cond_timedwait F -GLIBC_2.29 pthread_cond_wait F GLIBC_2.29 pthread_condattr_getclock F GLIBC_2.29 pthread_condattr_getpshared F GLIBC_2.29 pthread_condattr_setclock F @@ -171,7 +167,6 @@ GLIBC_2.29 tss_delete F GLIBC_2.29 tss_get F GLIBC_2.29 tss_set F GLIBC_2.29 write F -GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index e99899dee5..8b3960aff8 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2076,6 +2076,7 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2114,6 +2115,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 9e15deaad8..3eb40a91f7 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -66,10 +66,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F GLIBC_2.2 pthread_barrierattr_init F GLIBC_2.2 pthread_barrierattr_setpshared F GLIBC_2.2 pthread_cancel F -GLIBC_2.2 pthread_cond_broadcast F -GLIBC_2.2 pthread_cond_signal F -GLIBC_2.2 pthread_cond_timedwait F -GLIBC_2.2 pthread_cond_wait F GLIBC_2.2 pthread_condattr_getpshared F GLIBC_2.2 pthread_condattr_setpshared F GLIBC_2.2 pthread_create F @@ -157,10 +153,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -175,7 +168,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 29b8e0c1eb..bbc1d42e71 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2242,6 +2242,7 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2281,6 +2282,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index 4065a88a3b..3d9efa60e0 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -30,10 +30,6 @@ GLIBC_2.0 open F GLIBC_2.0 pause F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F -GLIBC_2.0 pthread_cond_broadcast F -GLIBC_2.0 pthread_cond_signal F -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_join F @@ -165,10 +161,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -183,7 +176,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index fb8a36ce20..4cf13e29a8 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -2108,6 +2108,7 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2146,6 +2147,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 684bf559e5..974fa09b43 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -66,10 +66,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F GLIBC_2.2 pthread_barrierattr_init F GLIBC_2.2 pthread_barrierattr_setpshared F GLIBC_2.2 pthread_cancel F -GLIBC_2.2 pthread_cond_broadcast F -GLIBC_2.2 pthread_cond_signal F -GLIBC_2.2 pthread_cond_timedwait F -GLIBC_2.2 pthread_cond_wait F GLIBC_2.2 pthread_condattr_getpshared F GLIBC_2.2 pthread_condattr_setpshared F GLIBC_2.2 pthread_create F @@ -157,10 +153,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -177,7 +170,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 03e80e6a12..75e546da5d 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -130,6 +130,7 @@ GLIBC_2.29 posix_spawn_file_actions_addchdir_np F GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.31 msgctl F @@ -171,6 +172,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index 8dd2c3f7a6..bd870717f2 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -26,7 +26,6 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F @@ -98,10 +97,6 @@ GLIBC_2.4 pthread_barrierattr_getpshared F GLIBC_2.4 pthread_barrierattr_init F GLIBC_2.4 pthread_barrierattr_setpshared F GLIBC_2.4 pthread_cancel F -GLIBC_2.4 pthread_cond_broadcast F -GLIBC_2.4 pthread_cond_signal F -GLIBC_2.4 pthread_cond_timedwait F -GLIBC_2.4 pthread_cond_wait F GLIBC_2.4 pthread_condattr_getclock F GLIBC_2.4 pthread_condattr_getpshared F GLIBC_2.4 pthread_condattr_setclock F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 2a5bee30d1..7a24d3ce17 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2185,6 +2185,7 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.31 msgctl F @@ -2226,6 +2227,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index 4065a88a3b..3d9efa60e0 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -30,10 +30,6 @@ GLIBC_2.0 open F GLIBC_2.0 pause F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F -GLIBC_2.0 pthread_cond_broadcast F -GLIBC_2.0 pthread_cond_signal F -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_join F @@ -165,10 +161,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -183,7 +176,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index b46567880e..4d0fef0d93 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -2166,6 +2166,7 @@ GLIBC_2.29 posix_spawn_file_actions_addchdir_np F GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.31 msgctl F @@ -2207,6 +2208,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index d8a9642f66..3ad8bce93a 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -64,10 +64,6 @@ GLIBC_2.18 pthread_barrierattr_getpshared F GLIBC_2.18 pthread_barrierattr_init F GLIBC_2.18 pthread_barrierattr_setpshared F GLIBC_2.18 pthread_cancel F -GLIBC_2.18 pthread_cond_broadcast F -GLIBC_2.18 pthread_cond_signal F -GLIBC_2.18 pthread_cond_timedwait F -GLIBC_2.18 pthread_cond_wait F GLIBC_2.18 pthread_condattr_getclock F GLIBC_2.18 pthread_condattr_getpshared F GLIBC_2.18 pthread_condattr_setclock F @@ -174,7 +170,6 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 7796c5313a..2a06c0ed64 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -2166,6 +2166,7 @@ GLIBC_2.29 posix_spawn_file_actions_addchdir_np F GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2204,6 +2205,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index d8a9642f66..3ad8bce93a 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -64,10 +64,6 @@ GLIBC_2.18 pthread_barrierattr_getpshared F GLIBC_2.18 pthread_barrierattr_init F GLIBC_2.18 pthread_barrierattr_setpshared F GLIBC_2.18 pthread_cancel F -GLIBC_2.18 pthread_cond_broadcast F -GLIBC_2.18 pthread_cond_signal F -GLIBC_2.18 pthread_cond_timedwait F -GLIBC_2.18 pthread_cond_wait F GLIBC_2.18 pthread_condattr_getclock F GLIBC_2.18 pthread_condattr_getpshared F GLIBC_2.18 pthread_condattr_setclock F @@ -174,7 +170,6 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index c3e658dbc1..99bb618f1f 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2159,6 +2159,7 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2197,6 +2198,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 4bd5de2dd7..2ab8395a4a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -30,10 +30,6 @@ GLIBC_2.0 open F GLIBC_2.0 pause F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F -GLIBC_2.0 pthread_cond_broadcast F -GLIBC_2.0 pthread_cond_signal F -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_join F @@ -164,10 +160,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -184,7 +177,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index bae73ebb39..7d66f78876 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -2157,6 +2157,7 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2195,6 +2196,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 4bd5de2dd7..2ab8395a4a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -30,10 +30,6 @@ GLIBC_2.0 open F GLIBC_2.0 pause F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F -GLIBC_2.0 pthread_cond_broadcast F -GLIBC_2.0 pthread_cond_signal F -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_join F @@ -164,10 +160,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -184,7 +177,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 74fb3b997e..55cc5e99bf 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2165,6 +2165,7 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2203,6 +2204,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index 3083e3d821..208a801c9d 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -2159,6 +2159,7 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2197,6 +2198,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index f79ca91eb7..7525da4a92 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -2207,6 +2207,7 @@ GLIBC_2.29 posix_spawn_file_actions_addchdir_np F GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2245,6 +2246,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index c469853b65..263808a2b8 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -64,10 +64,6 @@ GLIBC_2.21 pthread_barrierattr_getpshared F GLIBC_2.21 pthread_barrierattr_init F GLIBC_2.21 pthread_barrierattr_setpshared F GLIBC_2.21 pthread_cancel F -GLIBC_2.21 pthread_cond_broadcast F -GLIBC_2.21 pthread_cond_signal F -GLIBC_2.21 pthread_cond_timedwait F -GLIBC_2.21 pthread_cond_wait F GLIBC_2.21 pthread_condattr_getclock F GLIBC_2.21 pthread_condattr_getpshared F GLIBC_2.21 pthread_condattr_setclock F @@ -174,7 +170,6 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index f5408e6078..7c85534f61 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -2215,6 +2215,7 @@ GLIBC_2.30 __nldbl_warn F GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2253,6 +2254,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index 44fb3a6743..7d696c9be7 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -30,10 +30,6 @@ GLIBC_2.0 open F GLIBC_2.0 pause F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F -GLIBC_2.0 pthread_cond_broadcast F -GLIBC_2.0 pthread_cond_signal F -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_join F @@ -165,10 +161,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -183,7 +176,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index a7587dcc45..1e4059c7f6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -2248,6 +2248,7 @@ GLIBC_2.30 __nldbl_warn F GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2286,6 +2287,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 7ea6dc6574..e72f329cf9 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -2078,6 +2078,7 @@ GLIBC_2.30 __nldbl_warn F GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2116,6 +2117,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 2e77dc2fb3..342642ee59 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -86,10 +86,6 @@ GLIBC_2.3 pthread_barrierattr_destroy F GLIBC_2.3 pthread_barrierattr_init F GLIBC_2.3 pthread_barrierattr_setpshared F GLIBC_2.3 pthread_cancel F -GLIBC_2.3 pthread_cond_broadcast F -GLIBC_2.3 pthread_cond_signal F -GLIBC_2.3 pthread_cond_timedwait F -GLIBC_2.3 pthread_cond_wait F GLIBC_2.3 pthread_condattr_getpshared F GLIBC_2.3 pthread_condattr_setpshared F GLIBC_2.3 pthread_create F @@ -154,10 +150,7 @@ GLIBC_2.3 sigwait F GLIBC_2.3 system F GLIBC_2.3 tcdrain F GLIBC_2.3 write F -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.2 __libpthread_version_placeholder 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 @@ -172,7 +165,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index f994892fd9..36dd35b01a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -2276,6 +2276,7 @@ GLIBC_2.30 __nldbl_warn F GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __argp_errorieee128 F @@ -2407,6 +2408,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index 29a98fc2f4..421b093c4c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -64,10 +64,6 @@ GLIBC_2.17 pthread_barrierattr_getpshared F GLIBC_2.17 pthread_barrierattr_init F GLIBC_2.17 pthread_barrierattr_setpshared F GLIBC_2.17 pthread_cancel F -GLIBC_2.17 pthread_cond_broadcast F -GLIBC_2.17 pthread_cond_signal F -GLIBC_2.17 pthread_cond_timedwait F -GLIBC_2.17 pthread_cond_wait F GLIBC_2.17 pthread_condattr_getclock F GLIBC_2.17 pthread_condattr_getpshared F GLIBC_2.17 pthread_condattr_setclock F @@ -174,7 +170,6 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 70b873f9fb..955b5df1f3 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -1376,6 +1376,7 @@ GLIBC_2.33 pthread_attr_setschedpolicy F GLIBC_2.33 pthread_attr_setscope F GLIBC_2.33 pthread_attr_setsigmask_np F GLIBC_2.33 pthread_cond_broadcast F +GLIBC_2.33 pthread_cond_clockwait F GLIBC_2.33 pthread_cond_destroy F GLIBC_2.33 pthread_cond_init F GLIBC_2.33 pthread_cond_signal F @@ -1974,6 +1975,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index 911969f7eb..23b5630a69 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -76,11 +76,6 @@ GLIBC_2.33 pthread_barrierattr_init F GLIBC_2.33 pthread_barrierattr_setpshared F GLIBC_2.33 pthread_cancel F GLIBC_2.33 pthread_clockjoin_np F -GLIBC_2.33 pthread_cond_broadcast F -GLIBC_2.33 pthread_cond_clockwait F -GLIBC_2.33 pthread_cond_signal F -GLIBC_2.33 pthread_cond_timedwait F -GLIBC_2.33 pthread_cond_wait F GLIBC_2.33 pthread_condattr_getclock F GLIBC_2.33 pthread_condattr_getpshared F GLIBC_2.33 pthread_condattr_setclock F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index ddfac62fd0..74bf464fa9 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -2136,6 +2136,7 @@ GLIBC_2.29 posix_spawn_file_actions_addchdir_np F GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2174,6 +2175,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index 21f462137a..58402c8360 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -64,10 +64,6 @@ GLIBC_2.27 pthread_barrierattr_getpshared F GLIBC_2.27 pthread_barrierattr_init F GLIBC_2.27 pthread_barrierattr_setpshared F GLIBC_2.27 pthread_cancel F -GLIBC_2.27 pthread_cond_broadcast F -GLIBC_2.27 pthread_cond_signal F -GLIBC_2.27 pthread_cond_timedwait F -GLIBC_2.27 pthread_cond_wait F GLIBC_2.27 pthread_condattr_getclock F GLIBC_2.27 pthread_condattr_getpshared F GLIBC_2.27 pthread_condattr_setclock F @@ -173,7 +169,6 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 078237adb2..ad26a36c0b 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2210,6 +2210,7 @@ GLIBC_2.30 __nldbl_warn F GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.31 msgctl F @@ -2251,6 +2252,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index 7b2edb7f57..0f527c3335 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -30,10 +30,6 @@ GLIBC_2.0 open F GLIBC_2.0 pause F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F -GLIBC_2.0 pthread_cond_broadcast F -GLIBC_2.0 pthread_cond_signal F -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_join F @@ -166,10 +162,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -184,7 +177,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index a2700aba32..b75431f830 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -2114,6 +2114,7 @@ GLIBC_2.30 __nldbl_warn F GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2152,6 +2153,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index 8b4729fb7a..5af8b32f0b 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -67,10 +67,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F GLIBC_2.2 pthread_barrierattr_init F GLIBC_2.2 pthread_barrierattr_setpshared F GLIBC_2.2 pthread_cancel F -GLIBC_2.2 pthread_cond_broadcast F -GLIBC_2.2 pthread_cond_signal F -GLIBC_2.2 pthread_cond_timedwait F -GLIBC_2.2 pthread_cond_wait F GLIBC_2.2 pthread_condattr_getpshared F GLIBC_2.2 pthread_condattr_setpshared F GLIBC_2.2 pthread_create F @@ -158,10 +154,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -176,7 +169,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index 4fce4b408e..fc6dfece0a 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2080,6 +2080,7 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.31 msgctl F @@ -2121,6 +2122,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 9e15deaad8..3eb40a91f7 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -66,10 +66,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F GLIBC_2.2 pthread_barrierattr_init F GLIBC_2.2 pthread_barrierattr_setpshared F GLIBC_2.2 pthread_cancel F -GLIBC_2.2 pthread_cond_broadcast F -GLIBC_2.2 pthread_cond_signal F -GLIBC_2.2 pthread_cond_timedwait F -GLIBC_2.2 pthread_cond_wait F GLIBC_2.2 pthread_condattr_getpshared F GLIBC_2.2 pthread_condattr_setpshared F GLIBC_2.2 pthread_create F @@ -157,10 +153,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -175,7 +168,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 5dba0f5d0c..15e858df71 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2080,6 +2080,7 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2118,6 +2119,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 9e15deaad8..3eb40a91f7 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -66,10 +66,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F GLIBC_2.2 pthread_barrierattr_init F GLIBC_2.2 pthread_barrierattr_setpshared F GLIBC_2.2 pthread_cancel F -GLIBC_2.2 pthread_cond_broadcast F -GLIBC_2.2 pthread_cond_signal F -GLIBC_2.2 pthread_cond_timedwait F -GLIBC_2.2 pthread_cond_wait F GLIBC_2.2 pthread_condattr_getpshared F GLIBC_2.2 pthread_condattr_setpshared F GLIBC_2.2 pthread_create F @@ -157,10 +153,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -175,7 +168,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index e064e5a4dc..157da004d6 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2204,6 +2204,7 @@ GLIBC_2.30 __nldbl_warn F GLIBC_2.30 __nldbl_warnx F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2242,6 +2243,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 29cb6259a5..69809f7794 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -30,10 +30,6 @@ GLIBC_2.0 open F GLIBC_2.0 pause F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F -GLIBC_2.0 pthread_cond_broadcast F -GLIBC_2.0 pthread_cond_signal F -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_join F @@ -165,10 +161,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -185,7 +178,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 36fed3cf99..b13a3b4036 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2131,6 +2131,7 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2169,6 +2170,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 684bf559e5..974fa09b43 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -66,10 +66,6 @@ GLIBC_2.2 pthread_barrierattr_destroy F GLIBC_2.2 pthread_barrierattr_init F GLIBC_2.2 pthread_barrierattr_setpshared F GLIBC_2.2 pthread_cancel F -GLIBC_2.2 pthread_cond_broadcast F -GLIBC_2.2 pthread_cond_signal F -GLIBC_2.2 pthread_cond_timedwait F -GLIBC_2.2 pthread_cond_wait F GLIBC_2.2 pthread_condattr_getpshared F GLIBC_2.2 pthread_condattr_setpshared F GLIBC_2.2 pthread_create F @@ -157,10 +153,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -177,7 +170,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index 6858c1328f..ae1b8c21f4 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -2089,6 +2089,7 @@ GLIBC_2.3.4 xdr_quad_t F GLIBC_2.3.4 xdr_u_quad_t F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2128,6 +2129,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index 54ad81fdd6..ddd052cc92 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -66,10 +66,6 @@ GLIBC_2.2.5 pthread_barrierattr_destroy F GLIBC_2.2.5 pthread_barrierattr_init F GLIBC_2.2.5 pthread_barrierattr_setpshared F GLIBC_2.2.5 pthread_cancel F -GLIBC_2.2.5 pthread_cond_broadcast F -GLIBC_2.2.5 pthread_cond_signal F -GLIBC_2.2.5 pthread_cond_timedwait F -GLIBC_2.2.5 pthread_cond_wait F GLIBC_2.2.5 pthread_condattr_getpshared F GLIBC_2.2.5 pthread_condattr_setpshared F GLIBC_2.2.5 pthread_create F @@ -156,10 +152,7 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -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.2 __libpthread_version_placeholder 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 @@ -174,7 +167,6 @@ GLIBC_2.3.3 pthread_tryjoin_np 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.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index 72da8cceaa..2d1abe3605 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -2187,6 +2187,7 @@ GLIBC_2.29 posix_spawn_file_actions_addchdir_np F GLIBC_2.29 posix_spawn_file_actions_addfchdir_np F GLIBC_2.30 getdents64 F GLIBC_2.30 gettid F +GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 tgkill F GLIBC_2.30 twalk_r F GLIBC_2.32 __libc_single_threaded D 0x1 @@ -2226,6 +2227,7 @@ GLIBC_2.34 __pthread_rwlock_unlock F GLIBC_2.34 __pthread_rwlock_wrlock F GLIBC_2.34 __pthread_setspecific F GLIBC_2.34 __pthread_unwind_next F +GLIBC_2.34 pthread_cond_clockwait F GLIBC_2.34 pthread_getspecific F GLIBC_2.34 pthread_key_create F GLIBC_2.34 pthread_key_delete F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index 6b095bf36a..b0c512fec3 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -64,10 +64,6 @@ GLIBC_2.16 pthread_barrierattr_getpshared F GLIBC_2.16 pthread_barrierattr_init F GLIBC_2.16 pthread_barrierattr_setpshared F GLIBC_2.16 pthread_cancel F -GLIBC_2.16 pthread_cond_broadcast F -GLIBC_2.16 pthread_cond_signal F -GLIBC_2.16 pthread_cond_timedwait F -GLIBC_2.16 pthread_cond_wait F GLIBC_2.16 pthread_condattr_getclock F GLIBC_2.16 pthread_condattr_getpshared F GLIBC_2.16 pthread_condattr_setclock F @@ -174,7 +170,6 @@ GLIBC_2.28 tss_create F GLIBC_2.28 tss_delete F GLIBC_2.28 tss_get F GLIBC_2.28 tss_set F -GLIBC_2.30 pthread_cond_clockwait F GLIBC_2.30 pthread_mutex_clocklock F GLIBC_2.30 pthread_rwlock_clockrdlock F GLIBC_2.30 pthread_rwlock_clockwrlock F From patchwork Tue Mar 16 17:31:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42626 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 63D10384B072; Tue, 16 Mar 2021 17:31:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 63D10384B072 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915911; bh=ZOr9EIKLY2z2K9nKWwqOgM8WqmZkonorF1XPm434mSE=; 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=jwoVMP86y4G7aLXLhQD8C2JmIUuYRUIQ81dCarwZpCS06KJQUJhfiP8F8fajsjxEm 7pf8I20urHMljUOiF1s+tKYcXmMBB4UzhmMaPyJ+Vt0jVaS8ys4WSw3WLnfhZsd0H9 L7Hvjj/jn8r/kYZEukded8wQDMCsP2RnRiyEOTUM= 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 76447384C007 for ; Tue, 16 Mar 2021 17:31:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 76447384C007 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-24-RJ6kHoepNWWlux2Lb8_CEw-1; Tue, 16 Mar 2021 13:31:44 -0400 X-MC-Unique: RJ6kHoepNWWlux2Lb8_CEw-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 4D32D107F280 for ; Tue, 16 Mar 2021 17:31:43 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0C81919D9F for ; Tue, 16 Mar 2021 17:31:41 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 36/37] nptl: Move setxid broadcast implementation into libc In-Reply-To: References: Message-Id: <67a2fc1add8e478af071fc21b37c175e671e8f03.1615914632.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:31:50 +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=-11.8 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, 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" The signal handler is exported as __nptl_setxid_sighandler, so that the libpthread initialization code can install it. This is sufficient for now because it is guarantueed to happen before the first pthread_create call. Reviewed-by: Adhemerval Zanella --- nptl/Makefile | 1 + nptl/Versions | 1 + nptl/allocatestack.c | 209 --------------- nptl/nptl-init.c | 49 +--- nptl/nptl_setxid.c | 279 +++++++++++++++++++++ nptl/pthreadP.h | 2 + sysdeps/nptl/pthread-functions.h | 1 - sysdeps/nptl/setxid.h | 26 +- sysdeps/unix/sysv/linux/internal-signals.h | 4 - 9 files changed, 287 insertions(+), 285 deletions(-) create mode 100644 nptl/nptl_setxid.c diff --git a/nptl/Makefile b/nptl/Makefile index 1cf72fd5df..1b5038485d 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -47,6 +47,7 @@ routines = \ lowlevellock \ nptl_deallocate_tsd \ nptl_nthreads \ + nptl_setxid \ old_pthread_cond_broadcast \ old_pthread_cond_destroy \ old_pthread_cond_init \ diff --git a/nptl/Versions b/nptl/Versions index a6c8746449..0039594cdd 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -151,6 +151,7 @@ libc { __mutex_aconf; __nptl_deallocate_tsd; __nptl_nthreads; + __nptl_setxid_sighandler; __pthread_attr_copy; __pthread_attr_destroy; __pthread_attr_init; diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c index 149b999603..6e0808f1a0 100644 --- a/nptl/allocatestack.c +++ b/nptl/allocatestack.c @@ -963,215 +963,6 @@ __reclaim_stacks (void) } -static void -setxid_mark_thread (struct xid_command *cmdp, struct pthread *t) -{ - int ch; - - /* Wait until this thread is cloned. */ - if (t->setxid_futex == -1 - && ! atomic_compare_and_exchange_bool_acq (&t->setxid_futex, -2, -1)) - do - futex_wait_simple (&t->setxid_futex, -2, FUTEX_PRIVATE); - while (t->setxid_futex == -2); - - /* Don't let the thread exit before the setxid handler runs. */ - t->setxid_futex = 0; - - do - { - ch = t->cancelhandling; - - /* If the thread is exiting right now, ignore it. */ - if ((ch & EXITING_BITMASK) != 0) - { - /* Release the futex if there is no other setxid in - progress. */ - if ((ch & SETXID_BITMASK) == 0) - { - t->setxid_futex = 1; - futex_wake (&t->setxid_futex, 1, FUTEX_PRIVATE); - } - return; - } - } - while (atomic_compare_and_exchange_bool_acq (&t->cancelhandling, - ch | SETXID_BITMASK, ch)); -} - - -static void -setxid_unmark_thread (struct xid_command *cmdp, struct pthread *t) -{ - int ch; - - do - { - ch = t->cancelhandling; - if ((ch & SETXID_BITMASK) == 0) - return; - } - while (atomic_compare_and_exchange_bool_acq (&t->cancelhandling, - ch & ~SETXID_BITMASK, ch)); - - /* Release the futex just in case. */ - t->setxid_futex = 1; - futex_wake (&t->setxid_futex, 1, FUTEX_PRIVATE); -} - - -static int -setxid_signal_thread (struct xid_command *cmdp, struct pthread *t) -{ - if ((t->cancelhandling & SETXID_BITMASK) == 0) - return 0; - - int val; - pid_t pid = __getpid (); - val = INTERNAL_SYSCALL_CALL (tgkill, pid, t->tid, SIGSETXID); - - /* If this failed, it must have had not started yet or else exited. */ - if (!INTERNAL_SYSCALL_ERROR_P (val)) - { - atomic_increment (&cmdp->cntr); - return 1; - } - else - return 0; -} - -/* Check for consistency across set*id system call results. The abort - should not happen as long as all privileges changes happen through - the glibc wrappers. ERROR must be 0 (no error) or an errno - code. */ -void -attribute_hidden -__nptl_setxid_error (struct xid_command *cmdp, int error) -{ - do - { - int olderror = cmdp->error; - if (olderror == error) - break; - if (olderror != -1) - { - /* Mismatch between current and previous results. Save the - error value to memory so that is not clobbered by the - abort function and preserved in coredumps. */ - volatile int xid_err __attribute__((unused)) = error; - abort (); - } - } - while (atomic_compare_and_exchange_bool_acq (&cmdp->error, error, -1)); -} - -int -attribute_hidden -__nptl_setxid (struct xid_command *cmdp) -{ - int signalled; - int result; - lll_lock (GL (dl_stack_cache_lock), LLL_PRIVATE); - - __xidcmd = cmdp; - cmdp->cntr = 0; - cmdp->error = -1; - - struct pthread *self = THREAD_SELF; - - /* Iterate over the list with system-allocated threads first. */ - list_t *runp; - list_for_each (runp, &GL (dl_stack_used)) - { - struct pthread *t = list_entry (runp, struct pthread, list); - if (t == self) - continue; - - setxid_mark_thread (cmdp, t); - } - - /* Now the list with threads using user-allocated stacks. */ - list_for_each (runp, &GL (dl_stack_user)) - { - struct pthread *t = list_entry (runp, struct pthread, list); - if (t == self) - continue; - - setxid_mark_thread (cmdp, t); - } - - /* Iterate until we don't succeed in signalling anyone. That means - we have gotten all running threads, and their children will be - automatically correct once started. */ - do - { - signalled = 0; - - list_for_each (runp, &GL (dl_stack_used)) - { - struct pthread *t = list_entry (runp, struct pthread, list); - if (t == self) - continue; - - signalled += setxid_signal_thread (cmdp, t); - } - - list_for_each (runp, &GL (dl_stack_user)) - { - struct pthread *t = list_entry (runp, struct pthread, list); - if (t == self) - continue; - - signalled += setxid_signal_thread (cmdp, t); - } - - int cur = cmdp->cntr; - while (cur != 0) - { - futex_wait_simple ((unsigned int *) &cmdp->cntr, cur, - FUTEX_PRIVATE); - cur = cmdp->cntr; - } - } - while (signalled != 0); - - /* Clean up flags, so that no thread blocks during exit waiting - for a signal which will never come. */ - list_for_each (runp, &GL (dl_stack_used)) - { - struct pthread *t = list_entry (runp, struct pthread, list); - if (t == self) - continue; - - setxid_unmark_thread (cmdp, t); - } - - list_for_each (runp, &GL (dl_stack_user)) - { - struct pthread *t = list_entry (runp, struct pthread, list); - if (t == self) - continue; - - setxid_unmark_thread (cmdp, t); - } - - /* This must be last, otherwise the current thread might not have - permissions to send SIGSETXID syscall to the other threads. */ - result = INTERNAL_SYSCALL_NCS (cmdp->syscall_no, 3, - cmdp->id[0], cmdp->id[1], cmdp->id[2]); - int error = 0; - if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result))) - { - error = INTERNAL_SYSCALL_ERRNO (result); - __set_errno (error); - result = -1; - } - __nptl_setxid_error (cmdp, error); - - lll_unlock (GL (dl_stack_cache_lock), LLL_PRIVATE); - return result; -} - static inline void __attribute__((always_inline)) init_one_static_tls (struct pthread *curp, struct link_map *map) { diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 50bc19c4e3..f4a603b32d 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -53,7 +53,6 @@ static const char nptl_version[] __attribute_used__ = VERSION; #ifdef SHARED static const struct pthread_functions pthread_functions = { - .ptr__nptl_setxid = __nptl_setxid, }; # define ptr_pthread_functions &pthread_functions #else @@ -107,52 +106,6 @@ sigcancel_handler (int sig, siginfo_t *si, void *ctx) } -struct xid_command *__xidcmd attribute_hidden; - -/* We use the SIGSETXID signal in the setuid, setgid, etc. implementations to - tell each thread to call the respective setxid syscall on itself. This is - the handler. */ -static void -sighandler_setxid (int sig, siginfo_t *si, void *ctx) -{ - int result; - - /* Safety check. It would be possible to call this function for - other signals and send a signal from another process. This is not - correct and might even be a security problem. Try to catch as - many incorrect invocations as possible. */ - if (sig != SIGSETXID - || si->si_pid != __getpid () - || si->si_code != SI_TKILL) - return; - - result = INTERNAL_SYSCALL_NCS (__xidcmd->syscall_no, 3, __xidcmd->id[0], - __xidcmd->id[1], __xidcmd->id[2]); - int error = 0; - if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result))) - error = INTERNAL_SYSCALL_ERRNO (result); - __nptl_setxid_error (__xidcmd, error); - - /* Reset the SETXID flag. */ - struct pthread *self = THREAD_SELF; - int flags, newval; - do - { - flags = THREAD_GETMEM (self, cancelhandling); - newval = THREAD_ATOMIC_CMPXCHG_VAL (self, cancelhandling, - flags & ~SETXID_BITMASK, flags); - } - while (flags != newval); - - /* And release the futex. */ - self->setxid_futex = 1; - futex_wake (&self->setxid_futex, 1, FUTEX_PRIVATE); - - if (atomic_decrement_val (&__xidcmd->cntr) == 0) - futex_wake ((unsigned int *) &__xidcmd->cntr, 1, FUTEX_PRIVATE); -} - - /* When using __thread for this, we do it in libc so as not to give libpthread its own TLS segment just for this. */ extern void **__libc_dl_error_tsd (void) __attribute__ ((const)); @@ -184,7 +137,7 @@ __pthread_initialize_minimal_internal (void) (void) __libc_sigaction (SIGCANCEL, &sa, NULL); /* Install the handle to change the threads' uid/gid. */ - sa.sa_sigaction = sighandler_setxid; + sa.sa_sigaction = __nptl_setxid_sighandler; sa.sa_flags = SA_SIGINFO | SA_RESTART; (void) __libc_sigaction (SIGSETXID, &sa, NULL); diff --git a/nptl/nptl_setxid.c b/nptl/nptl_setxid.c new file mode 100644 index 0000000000..607c8f426e --- /dev/null +++ b/nptl/nptl_setxid.c @@ -0,0 +1,279 @@ +/* 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 +#include +#include + +static struct xid_command *__xidcmd; + +/* We use the SIGSETXID signal in the setuid, setgid, etc. implementations to + tell each thread to call the respective setxid syscall on itself. This is + the handler. */ +void +__nptl_setxid_sighandler (int sig, siginfo_t *si, void *ctx) +{ + int result; + + /* Safety check. It would be possible to call this function for + other signals and send a signal from another process. This is not + correct and might even be a security problem. Try to catch as + many incorrect invocations as possible. */ + if (sig != SIGSETXID + || si->si_pid != __getpid () + || si->si_code != SI_TKILL) + return; + + result = INTERNAL_SYSCALL_NCS (__xidcmd->syscall_no, 3, __xidcmd->id[0], + __xidcmd->id[1], __xidcmd->id[2]); + int error = 0; + if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result))) + error = INTERNAL_SYSCALL_ERRNO (result); + __nptl_setxid_error (__xidcmd, error); + + /* Reset the SETXID flag. */ + struct pthread *self = THREAD_SELF; + int flags, newval; + do + { + flags = THREAD_GETMEM (self, cancelhandling); + newval = THREAD_ATOMIC_CMPXCHG_VAL (self, cancelhandling, + flags & ~SETXID_BITMASK, flags); + } + while (flags != newval); + + /* And release the futex. */ + self->setxid_futex = 1; + futex_wake (&self->setxid_futex, 1, FUTEX_PRIVATE); + + if (atomic_decrement_val (&__xidcmd->cntr) == 0) + futex_wake ((unsigned int *) &__xidcmd->cntr, 1, FUTEX_PRIVATE); +} +libc_hidden_def (__nptl_setxid_sighandler) + +static void +setxid_mark_thread (struct xid_command *cmdp, struct pthread *t) +{ + int ch; + + /* Wait until this thread is cloned. */ + if (t->setxid_futex == -1 + && ! atomic_compare_and_exchange_bool_acq (&t->setxid_futex, -2, -1)) + do + futex_wait_simple (&t->setxid_futex, -2, FUTEX_PRIVATE); + while (t->setxid_futex == -2); + + /* Don't let the thread exit before the setxid handler runs. */ + t->setxid_futex = 0; + + do + { + ch = t->cancelhandling; + + /* If the thread is exiting right now, ignore it. */ + if ((ch & EXITING_BITMASK) != 0) + { + /* Release the futex if there is no other setxid in + progress. */ + if ((ch & SETXID_BITMASK) == 0) + { + t->setxid_futex = 1; + futex_wake (&t->setxid_futex, 1, FUTEX_PRIVATE); + } + return; + } + } + while (atomic_compare_and_exchange_bool_acq (&t->cancelhandling, + ch | SETXID_BITMASK, ch)); +} + + +static void +setxid_unmark_thread (struct xid_command *cmdp, struct pthread *t) +{ + int ch; + + do + { + ch = t->cancelhandling; + if ((ch & SETXID_BITMASK) == 0) + return; + } + while (atomic_compare_and_exchange_bool_acq (&t->cancelhandling, + ch & ~SETXID_BITMASK, ch)); + + /* Release the futex just in case. */ + t->setxid_futex = 1; + futex_wake (&t->setxid_futex, 1, FUTEX_PRIVATE); +} + + +static int +setxid_signal_thread (struct xid_command *cmdp, struct pthread *t) +{ + if ((t->cancelhandling & SETXID_BITMASK) == 0) + return 0; + + int val; + pid_t pid = __getpid (); + val = INTERNAL_SYSCALL_CALL (tgkill, pid, t->tid, SIGSETXID); + + /* If this failed, it must have had not started yet or else exited. */ + if (!INTERNAL_SYSCALL_ERROR_P (val)) + { + atomic_increment (&cmdp->cntr); + return 1; + } + else + return 0; +} + +/* Check for consistency across set*id system call results. The abort + should not happen as long as all privileges changes happen through + the glibc wrappers. ERROR must be 0 (no error) or an errno + code. */ +void +attribute_hidden +__nptl_setxid_error (struct xid_command *cmdp, int error) +{ + do + { + int olderror = cmdp->error; + if (olderror == error) + break; + if (olderror != -1) + { + /* Mismatch between current and previous results. Save the + error value to memory so that is not clobbered by the + abort function and preserved in coredumps. */ + volatile int xid_err __attribute__((unused)) = error; + abort (); + } + } + while (atomic_compare_and_exchange_bool_acq (&cmdp->error, error, -1)); +} + +int +attribute_hidden +__nptl_setxid (struct xid_command *cmdp) +{ + int signalled; + int result; + lll_lock (GL (dl_stack_cache_lock), LLL_PRIVATE); + + __xidcmd = cmdp; + cmdp->cntr = 0; + cmdp->error = -1; + + struct pthread *self = THREAD_SELF; + + /* Iterate over the list with system-allocated threads first. */ + list_t *runp; + list_for_each (runp, &GL (dl_stack_used)) + { + struct pthread *t = list_entry (runp, struct pthread, list); + if (t == self) + continue; + + setxid_mark_thread (cmdp, t); + } + + /* Now the list with threads using user-allocated stacks. */ + list_for_each (runp, &GL (dl_stack_user)) + { + struct pthread *t = list_entry (runp, struct pthread, list); + if (t == self) + continue; + + setxid_mark_thread (cmdp, t); + } + + /* Iterate until we don't succeed in signalling anyone. That means + we have gotten all running threads, and their children will be + automatically correct once started. */ + do + { + signalled = 0; + + list_for_each (runp, &GL (dl_stack_used)) + { + struct pthread *t = list_entry (runp, struct pthread, list); + if (t == self) + continue; + + signalled += setxid_signal_thread (cmdp, t); + } + + list_for_each (runp, &GL (dl_stack_user)) + { + struct pthread *t = list_entry (runp, struct pthread, list); + if (t == self) + continue; + + signalled += setxid_signal_thread (cmdp, t); + } + + int cur = cmdp->cntr; + while (cur != 0) + { + futex_wait_simple ((unsigned int *) &cmdp->cntr, cur, + FUTEX_PRIVATE); + cur = cmdp->cntr; + } + } + while (signalled != 0); + + /* Clean up flags, so that no thread blocks during exit waiting + for a signal which will never come. */ + list_for_each (runp, &GL (dl_stack_used)) + { + struct pthread *t = list_entry (runp, struct pthread, list); + if (t == self) + continue; + + setxid_unmark_thread (cmdp, t); + } + + list_for_each (runp, &GL (dl_stack_user)) + { + struct pthread *t = list_entry (runp, struct pthread, list); + if (t == self) + continue; + + setxid_unmark_thread (cmdp, t); + } + + /* This must be last, otherwise the current thread might not have + permissions to send SIGSETXID syscall to the other threads. */ + result = INTERNAL_SYSCALL_NCS (cmdp->syscall_no, 3, + cmdp->id[0], cmdp->id[1], cmdp->id[2]); + int error = 0; + if (__glibc_unlikely (INTERNAL_SYSCALL_ERROR_P (result))) + { + error = INTERNAL_SYSCALL_ERRNO (result); + __set_errno (error); + result = -1; + } + __nptl_setxid_error (cmdp, error); + + lll_unlock (GL (dl_stack_cache_lock), LLL_PRIVATE); + return result; +} diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 786c566e81..9852906b3a 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -695,6 +695,8 @@ extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer extern void __nptl_deallocate_tsd (void); libc_hidden_proto (__nptl_deallocate_tsd) +void __nptl_setxid_sighandler (int sig, siginfo_t *si, void *ctx); +libc_hidden_proto (__nptl_setxid_sighandler) extern void __nptl_setxid_error (struct xid_command *cmdp, int error) attribute_hidden; extern int __nptl_setxid (struct xid_command *cmdp) attribute_hidden; diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 56c746a01c..d76b2cdecf 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -30,7 +30,6 @@ struct xid_command; the thread functions. */ struct pthread_functions { - int (*ptr__nptl_setxid) (struct xid_command *); }; /* Variable in libc.so. */ diff --git a/sysdeps/nptl/setxid.h b/sysdeps/nptl/setxid.h index 57b665cb5b..8b49d11550 100644 --- a/sysdeps/nptl/setxid.h +++ b/sysdeps/nptl/setxid.h @@ -16,6 +16,7 @@ . */ #include +#include #include #define __SETXID_1(cmd, arg1) \ @@ -25,30 +26,10 @@ #define __SETXID_3(cmd, arg1, arg2, arg3) \ __SETXID_2 (cmd, arg1, arg2); cmd.id[2] = (long int) arg3 -#ifdef SINGLE_THREAD -# define INLINE_SETXID_SYSCALL(name, nr, args...) \ - INLINE_SYSCALL (name, nr, args) -#elif defined SHARED -# define INLINE_SETXID_SYSCALL(name, nr, args...) \ +#define INLINE_SETXID_SYSCALL(name, nr, args...) \ ({ \ int __result; \ - if (__builtin_expect (__libc_pthread_functions_init, 0)) \ - { \ - struct xid_command __cmd; \ - __cmd.syscall_no = __NR_##name; \ - __SETXID_##nr (__cmd, args); \ - __result = PTHFCT_CALL (ptr__nptl_setxid, (&__cmd)); \ - } \ - else \ - __result = INLINE_SYSCALL (name, nr, args); \ - __result; \ - }) -#else -# define INLINE_SETXID_SYSCALL(name, nr, args...) \ - ({ \ - extern __typeof (__nptl_setxid) __nptl_setxid __attribute__((weak));\ - int __result; \ - if (__glibc_unlikely (__nptl_setxid != NULL)) \ + if (!__libc_single_threaded) \ { \ struct xid_command __cmd; \ __cmd.syscall_no = __NR_##name; \ @@ -59,4 +40,3 @@ __result = INLINE_SYSCALL (name, nr, args); \ __result; \ }) -#endif diff --git a/sysdeps/unix/sysv/linux/internal-signals.h b/sysdeps/unix/sysv/linux/internal-signals.h index 1535f5e530..1357b8f5f8 100644 --- a/sysdeps/unix/sysv/linux/internal-signals.h +++ b/sysdeps/unix/sysv/linux/internal-signals.h @@ -105,8 +105,4 @@ __libc_signal_restore_set (const sigset_t *set) INTERNAL_SYSCALL_CALL (rt_sigprocmask, SIG_SETMASK, set, NULL, __NSIG_BYTES); } - -/* Used to communicate with signal handler. */ -extern struct xid_command *__xidcmd attribute_hidden; - #endif From patchwork Tue Mar 16 17:31:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42628 X-Patchwork-Delegate: azanella@linux.vnet.ibm.com Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A079A384A882; Tue, 16 Mar 2021 17:31:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A079A384A882 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1615915915; bh=ubOFxTluNqbjIkBDs3JYIPOO/cjctfWdpAXdTgCmdQQ=; 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=guqGBsWyMEB9QyA97bnpu8rX4cZ+MViIIzUm/4NzAMjnZuQ9//38toNX5+JihZ0Xd 4nEppIPDlY3EtU21Mfz26SraIiyFKT5ZWVKNVttGfh1HAORkzDLRRLeaR0gzo7m2vF cMd0bIMjtpTSiW99OPQJbNvJFBlqVXjK2ojTUh94= 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 E23D9384BC11 for ; Tue, 16 Mar 2021 17:31:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E23D9384BC11 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-469-Fa__nl-6OH2yzaxpkU8aog-1; Tue, 16 Mar 2021 13:31:50 -0400 X-MC-Unique: Fa__nl-6OH2yzaxpkU8aog-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 722AC809AC7 for ; Tue, 16 Mar 2021 17:31:49 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-112-254.ams2.redhat.com [10.36.112.254]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 929F76268D for ; Tue, 16 Mar 2021 17:31:48 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v3 37/37] nptl: Remove remnants of the libc/libpthread forwarder interface In-Reply-To: References: Message-Id: <452f10ce207ae27d4d3ce76054b03f9778080550.1615914632.git.fweimer@redhat.com> Date: Tue, 16 Mar 2021 18:31:57 +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.15 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, KAM_SHORT, 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" All previously forwarded functions are now implemented in libc. Reviewed-by: Adhemerval Zanella --- nptl/Makefile | 1 - nptl/forward.c | 31 -------------------- nptl/libc_pthread_init.c | 29 +----------------- nptl/nptl-init.c | 11 +------ nptl/pthreadP.h | 7 ++--- sysdeps/nptl/libc-lockP.h | 28 ++++-------------- sysdeps/nptl/pthread-functions.h | 50 -------------------------------- 7 files changed, 10 insertions(+), 147 deletions(-) delete mode 100644 nptl/forward.c delete mode 100644 sysdeps/nptl/pthread-functions.h diff --git a/nptl/Makefile b/nptl/Makefile index 1b5038485d..7423967cd2 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -38,7 +38,6 @@ routines = \ elision-timed \ elision-trylock \ elision-unlock \ - forward \ futex-internal \ libc-cancellation \ libc-cleanup \ diff --git a/nptl/forward.c b/nptl/forward.c deleted file mode 100644 index c819ab6f2a..0000000000 --- a/nptl/forward.c +++ /dev/null @@ -1,31 +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 - -#include -#include -#include - - -/* Pointers to the libc functions. */ -struct pthread_functions __libc_pthread_functions attribute_hidden; -int __libc_pthread_functions_init attribute_hidden; diff --git a/nptl/libc_pthread_init.c b/nptl/libc_pthread_init.c index 85fceff930..c951332666 100644 --- a/nptl/libc_pthread_init.c +++ b/nptl/libc_pthread_init.c @@ -34,38 +34,11 @@ extern int __libc_multiple_threads attribute_hidden; int * #endif -__libc_pthread_init (void (*reclaim) (void), - const struct pthread_functions *functions) +__libc_pthread_init (void (*reclaim) (void)) { /* Called by a child after fork. */ __register_atfork (NULL, NULL, reclaim, NULL); -#ifdef SHARED - /* Copy the function pointers into an array in libc. This enables - access with just one memory reference but moreso, it prevents - hijacking the function pointers with just one pointer change. We - "encrypt" the function pointers since we cannot write-protect the - array easily enough. */ - union ptrhack - { - struct pthread_functions pf; -# define NPTRS (sizeof (struct pthread_functions) / sizeof (void *)) - void *parr[NPTRS]; - } __attribute__ ((may_alias)) const *src; - union ptrhack *dest; - - src = (const void *) functions; - dest = (void *) &__libc_pthread_functions; - - for (size_t cnt = 0; cnt < NPTRS; ++cnt) - { - void *p = src->parr[cnt]; - PTR_MANGLE (p); - dest->parr[cnt] = p; - } - __libc_pthread_functions_init = 1; -#endif - #ifndef TLS_MULTIPLE_THREADS_IN_TCB return &__libc_multiple_threads; #endif diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index f4a603b32d..061e3ff8d7 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -50,15 +50,6 @@ size_t __static_tls_align_m1; /* Version of the library, used in libthread_db to detect mismatches. */ static const char nptl_version[] __attribute_used__ = VERSION; -#ifdef SHARED -static const struct pthread_functions pthread_functions = - { - }; -# define ptr_pthread_functions &pthread_functions -#else -# define ptr_pthread_functions NULL -#endif - /* For asynchronous cancellation we use a signal. This is the handler. */ static void sigcancel_handler (int sig, siginfo_t *si, void *ctx) @@ -207,7 +198,7 @@ __pthread_initialize_minimal_internal (void) #ifndef TLS_MULTIPLE_THREADS_IN_TCB __libc_multiple_threads_ptr = #endif - __libc_pthread_init (__reclaim_stacks, ptr_pthread_functions); + __libc_pthread_init (__reclaim_stacks); } strong_alias (__pthread_initialize_minimal_internal, __pthread_initialize_minimal) diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 9852906b3a..a1d34d5ff1 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -30,7 +30,6 @@ #include #include #include -#include #include #include #include @@ -364,11 +363,9 @@ 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 (void (*reclaim) (void), - const struct pthread_functions *functions); +extern void __libc_pthread_init (void (*reclaim) (void)); #else -extern int *__libc_pthread_init (void (*reclaim) (void), - const struct pthread_functions *functions); +extern int *__libc_pthread_init (void (*reclaim) (void)); /* Variable set to a nonzero value either if more than one thread runs or ran, or if a single-threaded process is trying to cancel itself. See diff --git a/sysdeps/nptl/libc-lockP.h b/sysdeps/nptl/libc-lockP.h index 0dd2ea1147..e573689799 100644 --- a/sysdeps/nptl/libc-lockP.h +++ b/sysdeps/nptl/libc-lockP.h @@ -32,7 +32,6 @@ ld.so might be used on old kernels with a different libc.so. */ #include #include -#include #if IS_IN (libpthread) /* This gets us the declarations of the __pthread_* internal names, @@ -100,27 +99,12 @@ _Static_assert (LLL_LOCK_INITIALIZER == 0, "LLL_LOCK_INITIALIZER != 0"); (FUNC != NULL ? FUNC ARGS : ELSE) #endif -/* Call thread functions through the function pointer table. */ -#if defined SHARED && IS_IN (libc) -# define PTFAVAIL(NAME) __libc_pthread_functions_init -# define __libc_ptf_call(FUNC, ARGS, ELSE) \ - (__libc_pthread_functions_init ? PTHFCT_CALL (ptr_##FUNC, ARGS) : ELSE) -# define __libc_ptf_call_always(FUNC, ARGS) \ - PTHFCT_CALL (ptr_##FUNC, ARGS) -#elif IS_IN (libpthread) -# define PTFAVAIL(NAME) 1 -# define __libc_ptf_call(FUNC, ARGS, ELSE) \ - FUNC ARGS -# define __libc_ptf_call_always(FUNC, ARGS) \ - FUNC ARGS -#else -# define PTFAVAIL(NAME) (NAME != NULL) -# define __libc_ptf_call(FUNC, ARGS, ELSE) \ - __libc_maybe_call (FUNC, ARGS, ELSE) -# define __libc_ptf_call_always(FUNC, ARGS) \ - FUNC ARGS -#endif - +/* All previously forwarded functions are now called directly (either + via local call in libc, or through a __export), but __libc_ptf_call + is still used in generic code shared with Hurd. */ +#define PTFAVAIL(NAME) 1 +#define __libc_ptf_call(FUNC, ARGS, ELSE) FUNC ARGS +#define __libc_ptf_call_always(FUNC, ARGS) FUNC ARGS /* Initialize the named lock variable, leaving it in a consistent, unlocked state. */ diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h deleted file mode 100644 index d76b2cdecf..0000000000 --- a/sysdeps/nptl/pthread-functions.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 2003-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 2003. - - 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 - . */ - -#ifndef _PTHREAD_FUNCTIONS_H -#define _PTHREAD_FUNCTIONS_H 1 - -#include -#include -#include -#include - -struct xid_command; - -/* Data type shared with libc. The libc uses it to pass on calls to - the thread functions. */ -struct pthread_functions -{ -}; - -/* Variable in libc.so. */ -extern struct pthread_functions __libc_pthread_functions attribute_hidden; -extern int __libc_pthread_functions_init attribute_hidden; - -#ifdef PTR_DEMANGLE -# define PTHFCT_CALL(fct, params) \ - ({ __typeof (__libc_pthread_functions.fct) __p; \ - __p = __libc_pthread_functions.fct; \ - PTR_DEMANGLE (__p); \ - __p params; }) -#else -# define PTHFCT_CALL(fct, params) \ - __libc_pthread_functions.fct params -#endif - -#endif /* pthread-functions.h */