From patchwork Fri Apr 16 09:20:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42984 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 C36FA3892012; Fri, 16 Apr 2021 09:20:14 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C36FA3892012 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564814; bh=rbY+gdHCT9rmUOxYyx7jrhG4RTMrUrQXwOj003tmx7Q=; 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=lsmAZdPMri0KgMhut/aL3Pdckj0LMSVDJofOt57NlEZWyetkPbShbE3lEKMk/tjYm WKm+BIMHjTcZZdnASDYf+fPG4n9YLsYgNXy4YS5iV7ksSSjs7XgDkxAUmiCL/Eg4QA dPHRmyBgE4doO9I47r/M5OzFxMV0V049GbWKiKw0= 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 570A33892012 for ; Fri, 16 Apr 2021 09:20:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 570A33892012 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-390-LmB3YBPSOq-5X_ZGXUeWrg-1; Fri, 16 Apr 2021 05:20:00 -0400 X-MC-Unique: LmB3YBPSOq-5X_ZGXUeWrg-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 AC6DB8030BB for ; Fri, 16 Apr 2021 09:19:59 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0898E5D9C0 for ; Fri, 16 Apr 2021 09:19:57 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 01/37] nptl: Move pthread_mutex_consistent into libc In-Reply-To: References: Message-Id: Date: Fri, 16 Apr 2021 11:20:15 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 | 9 +++++++-- nptl/pthread_mutex_consistent.c | 18 +++++++++++++++--- 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 +++ .../unix/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 +++ sysdeps/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 -- .../unix/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 -- .../unix/sysv/linux/microblaze/be/libc.abilist | 3 +++ .../linux/microblaze/be/libpthread.abilist | 2 -- .../unix/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 +++ .../linux/powerpc/powerpc32/libpthread.abilist | 2 -- .../linux/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 +++ .../sysv/linux/s390/s390-32/libpthread.abilist | 2 -- .../unix/sysv/linux/s390/s390-64/libc.abilist | 3 +++ .../sysv/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 -- .../unix/sysv/linux/sparc/sparc32/libc.abilist | 3 +++ .../linux/sparc/sparc32/libpthread.abilist | 2 -- .../unix/sysv/linux/sparc/sparc64/libc.abilist | 3 +++ .../linux/sparc/sparc64/libpthread.abilist | 2 -- sysdeps/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, 135 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 8fe92d43fa..ab0ab74bb2 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -72,6 +72,7 @@ routines = \ pthread_getattr_np \ pthread_getschedparam \ pthread_kill \ + pthread_mutex_consistent \ pthread_self \ pthread_setschedparam \ pthread_sigmask \ @@ -142,7 +143,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 494fb3efd9..ce9b0e6232 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -56,6 +56,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; @@ -73,6 +79,7 @@ libc { } GLIBC_2.34 { pthread_kill; + pthread_mutex_consistent; } GLIBC_PRIVATE { __futex_abstimed_wait64; @@ -283,7 +290,6 @@ libpthread { } GLIBC_2.4 { - pthread_mutex_consistent_np; pthread_mutex_getprioceiling; pthread_mutex_setprioceiling; pthread_mutexattr_getprioceiling; @@ -300,7 +306,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..df4ba0019d 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,16 @@ 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 OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_4, GLIBC_2_34) +# undef pthread_mutex_consistent_np +compat_symbol (libpthread, __pthread_mutex_consistent, + pthread_mutex_consistent_np, GLIBC_2_4); +#endif + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_34) +compat_symbol (libpthread, __pthread_mutex_consistent, + 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 851f15a566..8016dd3ca2 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -1444,6 +1444,8 @@ GLIBC_2.17 pthread_getaffinity_np F GLIBC_2.17 pthread_getattr_np F GLIBC_2.17 pthread_getschedparam F GLIBC_2.17 pthread_kill 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 @@ -2175,3 +2177,4 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 99e29cba0b..b7effcabba 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -73,8 +73,6 @@ 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_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 33b426ef20..389f3d5d3e 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -1750,6 +1750,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 @@ -2264,6 +2265,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2447,6 +2449,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 ac83ad6be0..ec8f6c7d94 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -94,7 +94,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 @@ -182,7 +181,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 c09947ad58..bcbbb7c813 100644 --- a/sysdeps/unix/sysv/linux/arc/libc.abilist +++ b/sysdeps/unix/sysv/linux/arc/libc.abilist @@ -1370,6 +1370,8 @@ GLIBC_2.32 pthread_getaffinity_np F GLIBC_2.32 pthread_getattr_np F GLIBC_2.32 pthread_getschedparam F GLIBC_2.32 pthread_kill 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 @@ -1934,3 +1936,4 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 c23d6a8237..1f7808940c 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -89,8 +89,6 @@ GLIBC_2.32 pthread_key_create F GLIBC_2.32 pthread_key_delete 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 57be971f81..abf2a07e80 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 @@ -157,6 +158,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -1537,6 +1539,7 @@ GLIBC_2.4 pthread_getaffinity_np F GLIBC_2.4 pthread_getattr_np F GLIBC_2.4 pthread_getschedparam F GLIBC_2.4 pthread_kill 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 07e0cb6942..46c9fc85df 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 @@ -107,7 +106,6 @@ 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_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 2db02fae07..cd5ff1bef6 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 @@ -154,6 +155,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -1534,6 +1536,7 @@ GLIBC_2.4 pthread_getaffinity_np F GLIBC_2.4 pthread_getattr_np F GLIBC_2.4 pthread_getschedparam F GLIBC_2.4 pthread_kill 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 07e0cb6942..46c9fc85df 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 @@ -107,7 +106,6 @@ 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_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 0dd3527892..3c418de656 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -1431,6 +1431,8 @@ GLIBC_2.29 pthread_getaffinity_np F GLIBC_2.29 pthread_getattr_np F GLIBC_2.29 pthread_getschedparam F GLIBC_2.29 pthread_kill 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 @@ -2118,3 +2120,4 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 6a508b6876..392f1543b8 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -86,8 +86,6 @@ 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_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 04c32f9b65..15d12c9ea0 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 @@ -2077,6 +2078,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2146,6 +2148,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 23ddf5265b..6764f829d5 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 @@ -172,7 +171,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 cfd4e55e57..e0a5c7ec44 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -1755,6 +1755,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 @@ -2254,6 +2255,7 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2323,6 +2325,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 966b1f58a0..2ac4dadf48 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -94,7 +94,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 @@ -180,7 +179,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 426e15f4f6..2146ddcbf4 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 @@ -2111,6 +2112,7 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2180,6 +2182,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 93bc938771..6bf47ae165 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 @@ -174,7 +173,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 bdecf60fae..b98f28f049 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 @@ -158,6 +159,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -1517,6 +1519,7 @@ GLIBC_2.4 pthread_getaffinity_np F GLIBC_2.4 pthread_getattr_np F GLIBC_2.4 pthread_getschedparam F GLIBC_2.4 pthread_kill 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 07e0cb6942..46c9fc85df 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 @@ -107,7 +106,6 @@ 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_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 eaa5a97a61..3e9cef670b 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -1712,6 +1712,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 @@ -2197,6 +2198,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2266,6 +2268,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 966b1f58a0..2ac4dadf48 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -94,7 +94,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 @@ -180,7 +179,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 571315511b..488aeaaa79 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -1446,6 +1446,8 @@ GLIBC_2.18 pthread_getaffinity_np F GLIBC_2.18 pthread_getattr_np F GLIBC_2.18 pthread_getschedparam F GLIBC_2.18 pthread_kill 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 @@ -2169,3 +2171,4 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 1011011cd8..e1dfffd6c7 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -74,8 +74,6 @@ 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_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 9d4c1f53f7..c6628dd851 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -1446,6 +1446,8 @@ GLIBC_2.18 pthread_getaffinity_np F GLIBC_2.18 pthread_getattr_np F GLIBC_2.18 pthread_getschedparam F GLIBC_2.18 pthread_kill 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 @@ -2166,3 +2168,4 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 1011011cd8..e1dfffd6c7 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -74,8 +74,6 @@ 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_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 6de58a4680..4fce39576a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -1345,6 +1345,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 @@ -2160,6 +2161,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2227,6 +2229,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 165603e894..b943f3a696 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -60,7 +60,6 @@ GLIBC_2.0 sem_wait F GLIBC_2.0 siglongjmp 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 @@ -181,7 +180,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 e1c971c361..175e3f9146 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -1345,6 +1345,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 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 165603e894..b943f3a696 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -60,7 +60,6 @@ GLIBC_2.0 sem_wait F GLIBC_2.0 siglongjmp 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 @@ -181,7 +180,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 28d6d3284d..4c5c223183 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -1345,6 +1345,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 @@ -2166,6 +2167,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2233,6 +2235,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 3060a503ab..ba4fc9e99c 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -1343,6 +1343,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 @@ -2160,6 +2161,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2227,6 +2229,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 24e0a6f16a..56cd665558 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -1489,6 +1489,8 @@ GLIBC_2.21 pthread_getaffinity_np F GLIBC_2.21 pthread_getattr_np F GLIBC_2.21 pthread_getschedparam F GLIBC_2.21 pthread_kill 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 @@ -2208,3 +2210,4 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 53590cff89..43ed7d2118 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -74,8 +74,6 @@ 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_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 b9cccc3fe5..6e1abb931c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -1716,6 +1716,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 @@ -2224,6 +2225,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2407,6 +2409,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 d2283c7014..dcdfbc9957 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -94,7 +94,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 @@ -182,7 +181,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 5c81a23740..7d04c2d375 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -1716,6 +1716,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 @@ -2257,6 +2258,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2452,6 +2454,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 a61d2502d5..57dd670ee3 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 @@ -2079,6 +2080,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2262,6 +2264,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 a6c12a8578..0e8cb8b3f3 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 @@ -171,7 +170,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 ec9ae25539..20c51bb80d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -1532,6 +1532,8 @@ GLIBC_2.17 pthread_getaffinity_np F GLIBC_2.17 pthread_getattr_np F GLIBC_2.17 pthread_getschedparam F GLIBC_2.17 pthread_kill 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 @@ -2371,3 +2373,4 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 99e29cba0b..b7effcabba 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -73,8 +73,6 @@ 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_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 b08ece30b8..cb6a412f7d 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist @@ -1372,6 +1372,8 @@ GLIBC_2.33 pthread_getaffinity_np F GLIBC_2.33 pthread_getattr_np F GLIBC_2.33 pthread_getschedparam F GLIBC_2.33 pthread_kill 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 @@ -1936,3 +1938,4 @@ GLIBC_2.33 writev F GLIBC_2.33 wscanf F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 17e2435e03..217e1dac82 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -89,8 +89,6 @@ GLIBC_2.33 pthread_key_create F GLIBC_2.33 pthread_key_delete 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 12ced01cf7..60fa1fe028 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -1434,6 +1434,8 @@ GLIBC_2.27 pthread_getaffinity_np F GLIBC_2.27 pthread_getattr_np F GLIBC_2.27 pthread_getschedparam F GLIBC_2.27 pthread_kill 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 @@ -2136,3 +2138,4 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 1bc3c38ed6..0bd817ac2d 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -73,8 +73,6 @@ 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_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 7ed5e4c515..2f107d093e 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/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 @@ -2222,6 +2223,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2405,6 +2407,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 06ccaab2d8..6da79c8b00 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -94,7 +94,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 @@ -182,7 +181,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 73a46b01b2..7a51fa026e 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 @@ -2115,6 +2116,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2298,6 +2300,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 9bfa16b8c6..5ac1ab3a3c 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 @@ -174,7 +173,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 2aa68f1def..51f69e233a 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 @@ -2084,6 +2085,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2153,6 +2155,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 23ddf5265b..6764f829d5 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 @@ -172,7 +171,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 07f3c23873..01ee76132e 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 @@ -2081,6 +2082,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2150,6 +2152,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 23ddf5265b..6764f829d5 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 @@ -172,7 +171,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 cc1d278c72..478a4e19aa 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -1709,6 +1709,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 @@ -2213,6 +2214,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2422,6 +2424,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 ac83ad6be0..ec8f6c7d94 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -94,7 +94,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 @@ -182,7 +181,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 79ca3d5d9c..2dd6ab3807 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 @@ -2132,6 +2133,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2201,6 +2203,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 93bc938771..6bf47ae165 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 @@ -174,7 +173,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 da0974f11a..ebe1272fb1 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 @@ -2093,6 +2094,7 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 @@ -2162,6 +2164,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 adef48581d..f6d9caa46f 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 @@ -171,7 +170,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 d3d155e7c0..8569d24c52 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -1451,6 +1451,8 @@ GLIBC_2.16 pthread_getaffinity_np F GLIBC_2.16 pthread_getattr_np F GLIBC_2.16 pthread_getschedparam F GLIBC_2.16 pthread_kill 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 @@ -2190,3 +2192,4 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F GLIBC_2.34 pthread_kill 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 b37bf5dcb1..baf9e5c090 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -73,8 +73,6 @@ 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_other_threads_np F -GLIBC_2.16 pthread_mutex_consistent F -GLIBC_2.16 pthread_mutex_consistent_np F GLIBC_2.16 pthread_mutex_destroy F GLIBC_2.16 pthread_mutex_getprioceiling F GLIBC_2.16 pthread_mutex_init F From patchwork Fri Apr 16 09:20: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: 42985 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 DA2D83892011; Fri, 16 Apr 2021 09:20:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DA2D83892011 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564819; bh=1Fp/I1w3IezdpsDQZZ4ipYfZoQ3RmpslOHcCzmjuI6E=; 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=U6gkeJL9LNHBuSJ613g2yTkcBlobZshY9gHkRKlDKdMyQ+r9lxrxB0oKjMSj7QjPf c/OfogvN5YHqNaFYjK9VqCP7fyNJOQUoJ43lTb1oEwRHzceuerQYTMbTB37RZ4R9In pfxszOZ5ZkM8r7lPeMcnrSLGEw3JFuCZcvfAE+Ew= 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 A77633890437 for ; Fri, 16 Apr 2021 09:20:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org A77633890437 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-2-iDHDytDLNrmw81A0KInlgA-1; Fri, 16 Apr 2021 05:20:06 -0400 X-MC-Unique: iDHDytDLNrmw81A0KInlgA-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 6EE7D6D246 for ; Fri, 16 Apr 2021 09:20:05 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1329D19727 for ; Fri, 16 Apr 2021 09:20:03 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 02/37] nptl: Move __pthread_cleanup_routine into libc In-Reply-To: References: Message-Id: <058c8e7724eae8966dab23d7b2261275507b7d95.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:20:21 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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" Reviewed-by: Adhemerval Zanella --- nptl/Makefile | 2 +- nptl/Versions | 3 ++- nptl/cleanup_routine.c | 11 +++++++++-- 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 ++ .../unix/sysv/linux/powerpc/powerpc64/be/libc.abilist | 2 ++ .../linux/powerpc/powerpc64/be/libpthread.abilist | 1 - .../unix/sysv/linux/powerpc/powerpc64/le/libc.abilist | 2 ++ .../linux/powerpc/powerpc64/le/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist | 2 ++ sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist | 1 - sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist | 2 ++ sysdeps/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 ++ sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist | 1 - 64 files changed, 76 insertions(+), 33 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index ab0ab74bb2..358cd76569 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 \ @@ -86,7 +87,6 @@ libpthread-routines = \ cleanup_compat \ cleanup_defer \ cleanup_defer_compat \ - cleanup_routine \ events \ flockfile \ ftrylockfile \ diff --git a/nptl/Versions b/nptl/Versions index ce9b0e6232..60202b4969 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -50,6 +50,7 @@ libc { pthread_cond_wait; } GLIBC_2.3.3 { + __pthread_cleanup_routine; pthread_attr_setaffinity_np; pthread_getaffinity_np; } @@ -78,6 +79,7 @@ libc { pthread_sigmask; } GLIBC_2.34 { + __pthread_cleanup_routine; pthread_kill; pthread_mutex_consistent; } @@ -267,7 +269,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..929818051c 100644 --- a/nptl/cleanup_routine.c +++ b/nptl/cleanup_routine.c @@ -17,11 +17,18 @@ . */ #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 OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_cleanup_routine, + __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 8016dd3ca2..4c9b8c12ac 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 @@ -2176,5 +2177,6 @@ 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_kill 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 b7effcabba..3d626919d8 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.17 _IO_ftrylockfile F GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F GLIBC_2.17 __h_errno_location 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 389f3d5d3e..db4bd885f4 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2156,6 +2156,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 @@ -2264,6 +2265,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_kill F GLIBC_2.34 pthread_mutex_consistent 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 ec8f6c7d94..8273920efe 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -157,7 +157,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 bcbbb7c813..9d636dc3c5 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 @@ -1935,5 +1936,6 @@ 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_kill 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 1f7808940c..0993ee2246 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.32 _IO_ftrylockfile F GLIBC_2.32 _IO_funlockfile F GLIBC_2.32 __errno_location F GLIBC_2.32 __h_errno_location 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 abf2a07e80..9d5474109d 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_kill F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _Exit F @@ -486,6 +487,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 46c9fc85df..224e6921dd 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __h_errno_location 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 cd5ff1bef6..d6cb334ca2 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_kill F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _Exit F @@ -483,6 +484,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 46c9fc85df..224e6921dd 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __h_errno_location 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 3c418de656..1599ea3eaf 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 @@ -2119,5 +2120,6 @@ 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_kill 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 392f1543b8..9b689d40af 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.29 _IO_ftrylockfile F GLIBC_2.29 _IO_funlockfile F GLIBC_2.29 __errno_location F GLIBC_2.29 __h_errno_location 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 15d12c9ea0..45635fa8c4 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -1997,6 +1997,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 @@ -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_cleanup_routine F GLIBC_2.34 pthread_kill F GLIBC_2.34 pthread_mutex_consistent 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 6764f829d5..426857eac7 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -149,7 +149,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 e0a5c7ec44..599272bce1 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2171,6 +2171,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 @@ -2254,6 +2255,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_kill F GLIBC_2.34 pthread_mutex_consistent 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 2ac4dadf48..77d189c902 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -157,7 +157,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 2146ddcbf4..84944dfd84 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -2030,6 +2030,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 @@ -2111,6 +2112,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_kill F GLIBC_2.34 pthread_mutex_consistent 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 6bf47ae165..c92226a2b9 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -149,7 +149,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 b98f28f049..eddd1219ee 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_kill F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.4 _Exit F @@ -472,6 +473,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 46c9fc85df..224e6921dd 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __h_errno_location 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 3e9cef670b..77c14dfb6d 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2114,6 +2114,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 @@ -2197,6 +2198,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_kill F GLIBC_2.34 pthread_mutex_consistent 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 2ac4dadf48..77d189c902 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -157,7 +157,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 488aeaaa79..8eaee1a364 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 @@ -2170,5 +2171,6 @@ 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_kill 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 e1dfffd6c7..843a4b6fe8 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.18 _IO_ftrylockfile F GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F GLIBC_2.18 __h_errno_location 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 c6628dd851..3067f2bbb6 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 @@ -2167,5 +2168,6 @@ 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_kill 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 e1dfffd6c7..843a4b6fe8 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.18 _IO_ftrylockfile F GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F GLIBC_2.18 __h_errno_location 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 4fce39576a..9303824df0 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2080,6 +2080,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 @@ -2160,6 +2161,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_kill F GLIBC_2.34 pthread_mutex_consistent 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 b943f3a696..bd9413c92a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -156,7 +156,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 175e3f9146..67b7aa427c 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/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 0x200 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev 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_cleanup_routine F GLIBC_2.34 pthread_kill F GLIBC_2.34 pthread_mutex_consistent 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 b943f3a696..bd9413c92a 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -156,7 +156,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 4c5c223183..b664a2feda 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2086,6 +2086,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 @@ -2166,6 +2167,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_kill F GLIBC_2.34 pthread_mutex_consistent 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 ba4fc9e99c..249ccff5a0 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/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 0x400 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2160,6 +2161,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_kill F GLIBC_2.34 pthread_mutex_consistent 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 56cd665558..a83eea8f71 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 @@ -2209,5 +2210,6 @@ 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_kill 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 43ed7d2118..603f640c5e 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.21 _IO_ftrylockfile F GLIBC_2.21 _IO_funlockfile F GLIBC_2.21 __errno_location F GLIBC_2.21 __h_errno_location 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 6e1abb931c..d5e68322f7 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/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 getcontext F GLIBC_2.3.3 gnu_dev_major F @@ -2224,6 +2225,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_kill F GLIBC_2.34 pthread_mutex_consistent 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 dcdfbc9957..fe56e24d21 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -157,7 +157,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 7d04c2d375..acae2b8279 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -2151,6 +2151,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 @@ -2257,6 +2258,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_kill F GLIBC_2.34 pthread_mutex_consistent 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 57dd670ee3..8aa345406b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -1978,6 +1978,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 @@ -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_cleanup_routine F GLIBC_2.34 pthread_kill F GLIBC_2.34 pthread_mutex_consistent 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 0e8cb8b3f3..fb00114f0f 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -146,7 +146,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 20c51bb80d..f5d59b01b7 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 @@ -2372,5 +2373,6 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_kill 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 b7effcabba..3d626919d8 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.17 _IO_ftrylockfile F GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F GLIBC_2.17 __h_errno_location 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 cb6a412f7d..89a8114b2c 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 @@ -1937,5 +1938,6 @@ 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_kill 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 217e1dac82..44cdc30dcc 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.33 _IO_ftrylockfile F GLIBC_2.33 _IO_funlockfile F GLIBC_2.33 __errno_location F GLIBC_2.33 __h_errno_location 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 60fa1fe028..7aa5afd353 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 @@ -2137,5 +2138,6 @@ 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_kill 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 0bd817ac2d..3b960a465f 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.27 _IO_ftrylockfile F GLIBC_2.27 _IO_funlockfile F GLIBC_2.27 __errno_location F GLIBC_2.27 __h_errno_location 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 2f107d093e..3875ae6435 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2127,6 +2127,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 @@ -2222,6 +2223,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_kill F GLIBC_2.34 pthread_mutex_consistent 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 6da79c8b00..c9dc85954f 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -159,7 +159,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 7a51fa026e..bbb374dc63 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -2023,6 +2023,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 @@ -2115,6 +2116,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_kill F GLIBC_2.34 pthread_mutex_consistent 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 5ac1ab3a3c..a4091b718b 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -151,7 +151,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 51f69e233a..83e504f5b3 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2001,6 +2001,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 @@ -2084,6 +2085,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_kill F GLIBC_2.34 pthread_mutex_consistent 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 6764f829d5..426857eac7 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -149,7 +149,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 01ee76132e..75fde116ea 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2001,6 +2001,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 @@ -2081,6 +2082,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_kill F GLIBC_2.34 pthread_mutex_consistent 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 6764f829d5..426857eac7 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -149,7 +149,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 478a4e19aa..d5a26bc288 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2121,6 +2121,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_kill F GLIBC_2.34 pthread_mutex_consistent 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 ec8f6c7d94..8273920efe 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -157,7 +157,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 2dd6ab3807..160ddc334f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2052,6 +2052,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 @@ -2132,6 +2133,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_kill F GLIBC_2.34 pthread_mutex_consistent 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 6bf47ae165..c92226a2b9 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -149,7 +149,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 ebe1272fb1..4175cfeff7 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -2011,6 +2011,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 @@ -2093,6 +2094,7 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_kill F GLIBC_2.34 pthread_mutex_consistent 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 f6d9caa46f..8415fb579c 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -148,7 +148,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 8569d24c52..599e3c7743 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 @@ -2191,5 +2192,6 @@ GLIBC_2.33 stat F GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 F GLIBC_2.34 __libc_start_main F +GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 pthread_kill 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 baf9e5c090..595d66f48a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.16 _IO_ftrylockfile F GLIBC_2.16 _IO_funlockfile F GLIBC_2.16 __errno_location F GLIBC_2.16 __h_errno_location F -GLIBC_2.16 __pthread_cleanup_routine F GLIBC_2.16 __pthread_getspecific F GLIBC_2.16 __pthread_key_create F GLIBC_2.16 __pthread_mutex_destroy F From patchwork Fri Apr 16 09:20: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: 42986 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 E39AC3892021; Fri, 16 Apr 2021 09:20:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E39AC3892021 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564822; bh=7OqfzF6aUypQu7uEmRzlHewQH7/5zR5t7PyHJLmegmE=; 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=sijNB3mlnsgQdBiYPdaYNPeA3rAtGy6dgTsV5FXwcAZY/AFGE1D6I8taEHOP3DK73 MPc5Mmqj7XDhPoyMeeTfwWnZnHmvBhTFL18YS37asYCDcOhh9WghtCd9fdbxNFQTqY RGMaILuGzPIBVlEWJWb3frAfGQkKtiFX5Knm4xJw= 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 2156E389200E for ; Fri, 16 Apr 2021 09:20:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2156E389200E Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-295-tVPsEsypPviSzGmkEMcNTw-1; Fri, 16 Apr 2021 05:20:11 -0400 X-MC-Unique: tVPsEsypPviSzGmkEMcNTw-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 A00DE83DD21 for ; Fri, 16 Apr 2021 09:20:10 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9435E50FA2 for ; Fri, 16 Apr 2021 09:20:09 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 03/37] nptl: Move legacy unwinding implementation into libc In-Reply-To: References: Message-Id: <96089e4a5014fe1c0ddcbf929118772f03618675.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:20:27 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" It is still used internally. Since unwinding is now available unconditionally, avoid indirect calls through function pointers loaded from the stack by inlining the non-cancellation cleanup code. This avoids a regression in security hardening. The out-of-line __libc_cleanup_routine implementation is no longer needed because the inline definition is now static __always_inline. Reviewed-by: Adhemerval Zanella --- nptl/Versions | 2 + nptl/cleanup_defer_compat.c | 56 ++-------------------------- nptl/libc-cleanup.c | 64 ++++++++++++++++++++++++++++++-- nptl/nptl-init.c | 2 - sysdeps/nptl/libc-lock.h | 59 ++++++++++++++--------------- sysdeps/nptl/libc-lockP.h | 26 +------------ sysdeps/nptl/pthread-functions.h | 4 -- 7 files changed, 97 insertions(+), 116 deletions(-) diff --git a/nptl/Versions b/nptl/Versions index 60202b4969..2e5a964b11 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -87,6 +87,8 @@ libc { __futex_abstimed_wait64; __futex_abstimed_wait_cancelable64; __libc_alloca_cutoff; + __libc_cleanup_pop_restore; + __libc_cleanup_push_defer; __libc_dl_error_tsd; __libc_pthread_init; __lll_clocklock_elision; 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 2c7e2222d4..43e2564e59 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -95,8 +95,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 63b605dee2..2c928b7a76 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) @@ -388,8 +368,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 @@ -412,8 +390,6 @@ weak_extern (_pthread_cleanup_pop_restore) # pragma weak __pthread_initialize # pragma weak __pthread_atfork # pragma weak __pthread_setcancelstate -# pragma weak _pthread_cleanup_push_defer -# pragma weak _pthread_cleanup_pop_restore # endif #endif diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 97a5c48939..4268084b66 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -57,10 +57,6 @@ struct pthread_functions int (*ptr___pthread_key_create) (pthread_key_t *, void (*) (void *)); void *(*ptr___pthread_getspecific) (pthread_key_t); int (*ptr___pthread_setspecific) (pthread_key_t, const void *); - void (*ptr__pthread_cleanup_push_defer) (struct _pthread_cleanup_buffer *, - void (*) (void *), void *); - void (*ptr__pthread_cleanup_pop_restore) (struct _pthread_cleanup_buffer *, - int); #define HAVE_PTR_NTHREADS unsigned int *ptr_nthreads; void (*ptr___pthread_unwind) (__pthread_unwind_buf_t *) From patchwork Fri Apr 16 09:20: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: 42987 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 80AE1389201C; Fri, 16 Apr 2021 09:20:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 80AE1389201C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564832; bh=OIY3euKnWHNJfte8q2a12NEjmRa2VeudgRUVgXaMUB8=; 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=O35LvnLfbCQG3RU5b+gU1jBM1TLdg03bsgHXKFOIcKFpsNF2DEkHFpFatRDltJFwq hc+BP5mrgPkAoM2A3BhMP9QczNZSOmb9YUjrS4+9O9lsSzpZ6PuSCLfzWDjQHsok/z H4KDgFuuT65E5JfC++Rb3zWLX3C9sJP1kvPETvUg= 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 1729D389200E for ; Fri, 16 Apr 2021 09:20:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1729D389200E 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-310-tvMf9VahMQeRWnDj2C9FRQ-1; Fri, 16 Apr 2021 05:20:17 -0400 X-MC-Unique: tvMf9VahMQeRWnDj2C9FRQ-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 7961E6D241 for ; Fri, 16 Apr 2021 09:20:16 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CAB5A10074FC for ; Fri, 16 Apr 2021 09:20:14 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 04/37] nptl: Move legacy cancelation handling into libc as compat symbols In-Reply-To: References: Message-Id: <30951c9784cf6a0539a26f537f816fbf6cdbc0f7.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:20:32 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.4 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 | 18 +++++++++++------ 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, 188 insertions(+), 146 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 358cd76569..815280e954 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 \ @@ -84,9 +86,7 @@ static-only-routines = pthread_atfork libpthread-routines = \ cancellation \ cleanup \ - cleanup_compat \ cleanup_defer \ - cleanup_defer_compat \ events \ flockfile \ ftrylockfile \ @@ -293,7 +293,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 \ @@ -367,7 +366,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 @@ -387,6 +386,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 2e5a964b11..deba8ce214 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; @@ -102,6 +106,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; @@ -131,10 +137,6 @@ libpthread { __pthread_once; __pthread_setspecific; _exit; - _pthread_cleanup_pop; - _pthread_cleanup_pop_restore; - _pthread_cleanup_push; - _pthread_cleanup_push_defer; flockfile; ftrylockfile; funlockfile; diff --git a/nptl/cleanup_compat.c b/nptl/cleanup_compat.c index fec88c2f86..1a757cf06a 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,11 @@ _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 OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libpthread, __pthread_cleanup_push, _pthread_cleanup_push, + GLIBC_2_0); +compat_symbol (libpthread, __pthread_cleanup_pop, _pthread_cleanup_pop, + GLIBC_2_0); +#endif diff --git a/nptl/cleanup_defer_compat.c b/nptl/cleanup_defer_compat.c index 1957318208..238eb46ee4 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 OTHER_SHLIB_COMPAT (libpthread, 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 (libpthread, _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 (libpthread, _pthread_cleanup_pop_restore, + _pthread_cleanup_pop_restore, GLIBC_2_0); + +#endif /* OTHER_SHLIB_COMPAT */ diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 2653e0f1b3..9cc968222f 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -591,11 +591,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 @@ -606,12 +605,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 { @@ -652,7 +652,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 \ @@ -663,15 +663,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..4a275ed950 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 (libpthread, _pthread_cleanup_push, + _pthread_cleanup_push, GLIBC_2_0); extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer, int __execute); +compat_symbol_reference (libpthread, _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..6c7356e763 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 (libpthread, _pthread_cleanup_push, + _pthread_cleanup_push, GLIBC_2_0); extern void _pthread_cleanup_pop (struct _pthread_cleanup_buffer *__buffer, int __execute); +compat_symbol_reference (libpthread, _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 4c9b8c12ac..12895b08b5 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -539,6 +539,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 3d626919d8..8c0998b604 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -28,10 +28,6 @@ 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 __res_state 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 flockfile F GLIBC_2.17 ftrylockfile F GLIBC_2.17 funlockfile F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index db4bd885f4..732ea877dc 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 8273920efe..9012403bb4 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -15,10 +15,6 @@ 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 _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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 9d636dc3c5..7951038086 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 0993ee2246..07304e7949 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -28,10 +28,6 @@ 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 __res_state 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 call_once F GLIBC_2.32 cnd_broadcast F GLIBC_2.32 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index 9d5474109d..58114f1a4e 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -684,6 +684,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 224e6921dd..3816362b67 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -62,10 +62,6 @@ 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 __res_state 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 flockfile F GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index d6cb334ca2..91a406f92d 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -681,6 +681,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 224e6921dd..3816362b67 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -62,10 +62,6 @@ 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 __res_state 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 flockfile F GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index 1599ea3eaf..e24e8cb91e 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 9b689d40af..6f519a21a9 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -28,10 +28,6 @@ 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 __res_state 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 call_once F GLIBC_2.29 cnd_broadcast F GLIBC_2.29 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 45635fa8c4..fa83c016a0 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 426857eac7..c318914fd0 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -30,10 +30,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __res_state 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 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 599272bce1..969cb27bbd 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 77d189c902..7d9a297944 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -15,10 +15,6 @@ 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 _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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 84944dfd84..aa30e0f51a 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 c92226a2b9..f90d9485f9 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -30,10 +30,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __res_state 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 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index eddd1219ee..8a11b9f9af 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -672,6 +672,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 224e6921dd..3816362b67 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -62,10 +62,6 @@ 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 __res_state 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 flockfile F GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 77c14dfb6d..404fbc5e6d 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 77d189c902..7d9a297944 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -15,10 +15,6 @@ 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 _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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 8eaee1a364..afbc5fe040 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 843a4b6fe8..36cf3da483 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -28,10 +28,6 @@ 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 __res_state 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 flockfile F GLIBC_2.18 ftrylockfile F GLIBC_2.18 funlockfile F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 3067f2bbb6..d4d37eae2a 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 843a4b6fe8..36cf3da483 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -28,10 +28,6 @@ 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 __res_state 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 flockfile F GLIBC_2.18 ftrylockfile F GLIBC_2.18 funlockfile F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index 9303824df0..a21d435f14 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 bd9413c92a..f4dff3d066 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -15,10 +15,6 @@ 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 _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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 67b7aa427c..020d46f4bd 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 bd9413c92a..f4dff3d066 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -15,10 +15,6 @@ 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 _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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index b664a2feda..0f20b3f067 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 249ccff5a0..b9d5d40018 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 a83eea8f71..665472df33 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -583,6 +583,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 603f640c5e..609770af99 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -28,10 +28,6 @@ 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 __res_state 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 flockfile F GLIBC_2.21 ftrylockfile F GLIBC_2.21 funlockfile F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index d5e68322f7..4c62c06418 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 fe56e24d21..9b3042e56a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -15,10 +15,6 @@ 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 _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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index acae2b8279..84125b68dd 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 8aa345406b..b4b38770a5 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 fb00114f0f..b08624dc72 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -51,10 +51,6 @@ GLIBC_2.3 __pthread_rwlock_unlock F GLIBC_2.3 __pthread_rwlock_wrlock F GLIBC_2.3 __pthread_setspecific F GLIBC_2.3 __res_state 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 flockfile F GLIBC_2.3 ftrylockfile F GLIBC_2.3 funlockfile F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index f5d59b01b7..05ff5cfa96 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 3d626919d8..8c0998b604 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -28,10 +28,6 @@ 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 __res_state 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 flockfile F GLIBC_2.17 ftrylockfile F GLIBC_2.17 funlockfile F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index 89a8114b2c..ba056b0292 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 44cdc30dcc..a1c20a854c 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -28,10 +28,6 @@ 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 __res_state 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 call_once F GLIBC_2.33 cnd_broadcast F GLIBC_2.33 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 7aa5afd353..50f38c226f 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 3b960a465f..046420055b 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -28,10 +28,6 @@ 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 __res_state 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 flockfile F GLIBC_2.27 ftrylockfile F GLIBC_2.27 funlockfile F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 3875ae6435..5f3ae094fe 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 c9dc85954f..f3ec8e3bdb 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -15,10 +15,6 @@ 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 _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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index bbb374dc63..74164c6333 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 a4091b718b..aa6c90757f 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -32,10 +32,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __res_state 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 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index 83e504f5b3..74844f795c 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 426857eac7..c318914fd0 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -30,10 +30,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __res_state 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 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 75fde116ea..341abf5bc8 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 426857eac7..c318914fd0 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -30,10 +30,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __res_state 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 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index d5a26bc288..318995dbc5 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 8273920efe..9012403bb4 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -15,10 +15,6 @@ 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 _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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 160ddc334f..c39ae6fe21 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 c92226a2b9..f90d9485f9 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -30,10 +30,6 @@ GLIBC_2.2 __pthread_rwlock_unlock F GLIBC_2.2 __pthread_rwlock_wrlock F GLIBC_2.2 __pthread_setspecific F GLIBC_2.2 __res_state 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 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index 4175cfeff7..260320a7ab 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 8415fb579c..8cd2b1bf5f 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -30,10 +30,6 @@ 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 __res_state 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 flockfile F GLIBC_2.2.5 ftrylockfile F GLIBC_2.2.5 funlockfile F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index 599e3c7743..d854fb5ece 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 595d66f48a..84ae314f0f 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -28,10 +28,6 @@ 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 __res_state 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 flockfile F GLIBC_2.16 ftrylockfile F GLIBC_2.16 funlockfile F From patchwork Fri Apr 16 09:20: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: 42988 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 91169389041A; Fri, 16 Apr 2021 09:20:35 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 91169389041A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564835; bh=9B/K9hu0kk5Osu0kGzpXiuuJaRpOWx7vgazYUBoEaQE=; 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=XoUsiKOspvOGgtfZpqYmNTme7nqGTm/iVKuY+Y8w/SsZ2aa/aGHC1fkwc6uGagRJn 08KMFfhZkThp7LCi7rh+3WZmLEAyJThNuUPUYN4YwMicGIWMIrrRH5UACO6NVq6C1W 0PizQG4Lqi3p7Ix11quC02N+mgsTUidlYOBiHtbU= 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 02CF1389041A for ; Fri, 16 Apr 2021 09:20:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 02CF1389041A 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-389-MQYJB68iNHG-p_9k2_al5g-1; Fri, 16 Apr 2021 05:20:22 -0400 X-MC-Unique: MQYJB68iNHG-p_9k2_al5g-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 C9CDC10054F6 for ; Fri, 16 Apr 2021 09:20:21 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 89D3E5C626 for ; Fri, 16 Apr 2021 09:20:20 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 05/37] nptl: Remove longjmp, siglongjmp from libpthread In-Reply-To: References: Message-Id: <50f98b68745e97127c6df91d4fb1f5a191e8a4c8.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:20:38 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The definitions in libc are sufficient, the forwarders are no longer needed. The symbols have been moved using scripts/move-symbol-to-libc.py. s390-linux-gnu and s390x-linux-gnu need a new version placeholder to keep the GLIBC_2.19 symbol version in libpthread. Tested on i386-linux-gnu, powerpc64le-linux-gnu, s390x-linux-gnu, x86_64-linux-gnu. Built with build-many-glibcs.py. 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 815280e954..e1313124a9 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -102,7 +102,6 @@ libpthread-routines = \ old_pthread_cond_wait \ pt-cleanup \ pt-interp \ - pt-longjmp \ pthread_attr_getaffinity \ pthread_attr_getguardsize \ pthread_attr_getstack \ diff --git a/nptl/Versions b/nptl/Versions index deba8ce214..67a49bd3c4 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -140,7 +140,6 @@ libpthread { flockfile; ftrylockfile; funlockfile; - longjmp; pthread_atfork; pthread_cancel; pthread_cond_broadcast; @@ -176,7 +175,6 @@ libpthread { sem_post; sem_trywait; sem_wait; - siglongjmp; } GLIBC_2.1 { 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 8c0998b604..1af15835d7 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -31,7 +31,6 @@ GLIBC_2.17 __res_state F GLIBC_2.17 flockfile F GLIBC_2.17 ftrylockfile F GLIBC_2.17 funlockfile F -GLIBC_2.17 longjmp F GLIBC_2.17 pthread_attr_getaffinity_np F GLIBC_2.17 pthread_attr_getguardsize F GLIBC_2.17 pthread_attr_getstack F @@ -135,7 +134,6 @@ GLIBC_2.17 sem_timedwait F GLIBC_2.17 sem_trywait F GLIBC_2.17 sem_unlink F GLIBC_2.17 sem_wait F -GLIBC_2.17 siglongjmp F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F GLIBC_2.28 call_once F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 9012403bb4..cb89cb21d1 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_setspecific F GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_cond_broadcast F @@ -53,7 +52,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 siglongjmp F GLIBC_2.1 pthread_attr_getguardsize F GLIBC_2.1 pthread_attr_getstackaddr F GLIBC_2.1 pthread_attr_getstacksize F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index 3816362b67..7eeb4433a9 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -65,7 +65,6 @@ GLIBC_2.4 __res_state F GLIBC_2.4 flockfile F GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F -GLIBC_2.4 longjmp F GLIBC_2.4 pthread_attr_getaffinity_np F GLIBC_2.4 pthread_attr_getguardsize F GLIBC_2.4 pthread_attr_getstack F @@ -164,4 +163,3 @@ GLIBC_2.4 sem_timedwait F GLIBC_2.4 sem_trywait F GLIBC_2.4 sem_unlink F GLIBC_2.4 sem_wait F -GLIBC_2.4 siglongjmp F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index 3816362b67..7eeb4433a9 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -65,7 +65,6 @@ GLIBC_2.4 __res_state F GLIBC_2.4 flockfile F GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F -GLIBC_2.4 longjmp F GLIBC_2.4 pthread_attr_getaffinity_np F GLIBC_2.4 pthread_attr_getguardsize F GLIBC_2.4 pthread_attr_getstack F @@ -164,4 +163,3 @@ GLIBC_2.4 sem_timedwait F GLIBC_2.4 sem_trywait F GLIBC_2.4 sem_unlink F GLIBC_2.4 sem_wait F -GLIBC_2.4 siglongjmp F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index c318914fd0..709a3065c7 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -33,7 +33,6 @@ GLIBC_2.2 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F -GLIBC_2.2 longjmp F GLIBC_2.2 pthread_atfork F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F @@ -117,7 +116,6 @@ GLIBC_2.2 sem_timedwait F GLIBC_2.2 sem_trywait F GLIBC_2.2 sem_unlink F GLIBC_2.2 sem_wait F -GLIBC_2.2 siglongjmp F GLIBC_2.2.3 __libpthread_version_placeholder F GLIBC_2.2.6 __libpthread_version_placeholder F GLIBC_2.28 call_once F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index 7d9a297944..f18fce9353 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_setspecific F GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_cond_broadcast F @@ -53,7 +52,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 siglongjmp F GLIBC_2.1 pthread_attr_getguardsize F GLIBC_2.1 pthread_attr_getstackaddr F GLIBC_2.1 pthread_attr_getstacksize F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index f90d9485f9..dcbcfddae2 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -33,7 +33,6 @@ GLIBC_2.2 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F -GLIBC_2.2 longjmp F GLIBC_2.2 pthread_atfork F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F @@ -117,7 +116,6 @@ GLIBC_2.2 sem_timedwait F GLIBC_2.2 sem_trywait F GLIBC_2.2 sem_unlink F GLIBC_2.2 sem_wait F -GLIBC_2.2 siglongjmp F GLIBC_2.2.3 __libpthread_version_placeholder F GLIBC_2.2.6 __libpthread_version_placeholder F GLIBC_2.28 call_once F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index 3816362b67..7eeb4433a9 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -65,7 +65,6 @@ GLIBC_2.4 __res_state F GLIBC_2.4 flockfile F GLIBC_2.4 ftrylockfile F GLIBC_2.4 funlockfile F -GLIBC_2.4 longjmp F GLIBC_2.4 pthread_attr_getaffinity_np F GLIBC_2.4 pthread_attr_getguardsize F GLIBC_2.4 pthread_attr_getstack F @@ -164,4 +163,3 @@ GLIBC_2.4 sem_timedwait F GLIBC_2.4 sem_trywait F GLIBC_2.4 sem_unlink F GLIBC_2.4 sem_wait F -GLIBC_2.4 siglongjmp F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index 7d9a297944..f18fce9353 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_setspecific F GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_cond_broadcast F @@ -53,7 +52,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 siglongjmp F GLIBC_2.1 pthread_attr_getguardsize F GLIBC_2.1 pthread_attr_getstackaddr F GLIBC_2.1 pthread_attr_getstacksize F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 36cf3da483..5dc126db6f 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -31,7 +31,6 @@ GLIBC_2.18 __res_state F GLIBC_2.18 flockfile F GLIBC_2.18 ftrylockfile F GLIBC_2.18 funlockfile F -GLIBC_2.18 longjmp F GLIBC_2.18 pthread_attr_getaffinity_np F GLIBC_2.18 pthread_attr_getguardsize F GLIBC_2.18 pthread_attr_getstack F @@ -137,7 +136,6 @@ GLIBC_2.18 sem_timedwait F GLIBC_2.18 sem_trywait F GLIBC_2.18 sem_unlink F GLIBC_2.18 sem_wait F -GLIBC_2.18 siglongjmp F GLIBC_2.28 call_once F GLIBC_2.28 cnd_broadcast F GLIBC_2.28 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 36cf3da483..5dc126db6f 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -31,7 +31,6 @@ GLIBC_2.18 __res_state F GLIBC_2.18 flockfile F GLIBC_2.18 ftrylockfile F GLIBC_2.18 funlockfile F -GLIBC_2.18 longjmp F GLIBC_2.18 pthread_attr_getaffinity_np F GLIBC_2.18 pthread_attr_getguardsize F GLIBC_2.18 pthread_attr_getstack F @@ -137,7 +136,6 @@ GLIBC_2.18 sem_timedwait F GLIBC_2.18 sem_trywait F GLIBC_2.18 sem_unlink F GLIBC_2.18 sem_wait F -GLIBC_2.18 siglongjmp F GLIBC_2.28 call_once F GLIBC_2.28 cnd_broadcast F GLIBC_2.28 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index f4dff3d066..ac5fd281e9 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_setspecific F GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_cond_broadcast F @@ -53,7 +52,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 siglongjmp F GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_mutexattr_getrobust F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index f4dff3d066..ac5fd281e9 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_setspecific F GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_cond_broadcast F @@ -53,7 +52,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 siglongjmp F GLIBC_2.11 pthread_sigqueue F GLIBC_2.12 pthread_getname_np F GLIBC_2.12 pthread_mutexattr_getrobust F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index 609770af99..c29e86eb94 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -31,7 +31,6 @@ GLIBC_2.21 __res_state F GLIBC_2.21 flockfile F GLIBC_2.21 ftrylockfile F GLIBC_2.21 funlockfile F -GLIBC_2.21 longjmp F GLIBC_2.21 pthread_attr_getaffinity_np F GLIBC_2.21 pthread_attr_getguardsize F GLIBC_2.21 pthread_attr_getstack F @@ -137,7 +136,6 @@ GLIBC_2.21 sem_timedwait F GLIBC_2.21 sem_trywait F GLIBC_2.21 sem_unlink F GLIBC_2.21 sem_wait F -GLIBC_2.21 siglongjmp F GLIBC_2.28 call_once F GLIBC_2.28 cnd_broadcast F GLIBC_2.28 cnd_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index 9b3042e56a..5834972a63 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_setspecific F GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_cond_broadcast F @@ -53,7 +52,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 siglongjmp F GLIBC_2.1 pthread_attr_getguardsize F GLIBC_2.1 pthread_attr_getstackaddr F GLIBC_2.1 pthread_attr_getstacksize F @@ -165,11 +163,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 b08624dc72..4cccc15046 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -54,7 +54,6 @@ GLIBC_2.3 __res_state F GLIBC_2.3 flockfile F GLIBC_2.3 ftrylockfile F GLIBC_2.3 funlockfile F -GLIBC_2.3 longjmp F GLIBC_2.3 pthread_attr_getguardsize F GLIBC_2.3 pthread_attr_getstack F GLIBC_2.3 pthread_attr_getstackaddr F @@ -137,7 +136,6 @@ GLIBC_2.3 sem_timedwait F GLIBC_2.3 sem_trywait F GLIBC_2.3 sem_unlink F GLIBC_2.3 sem_wait F -GLIBC_2.3 siglongjmp 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 @@ -154,11 +152,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 8c0998b604..1af15835d7 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -31,7 +31,6 @@ GLIBC_2.17 __res_state F GLIBC_2.17 flockfile F GLIBC_2.17 ftrylockfile F GLIBC_2.17 funlockfile F -GLIBC_2.17 longjmp F GLIBC_2.17 pthread_attr_getaffinity_np F GLIBC_2.17 pthread_attr_getguardsize F GLIBC_2.17 pthread_attr_getstack F @@ -135,7 +134,6 @@ GLIBC_2.17 sem_timedwait F GLIBC_2.17 sem_trywait F GLIBC_2.17 sem_unlink F GLIBC_2.17 sem_wait F -GLIBC_2.17 siglongjmp F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F GLIBC_2.28 call_once 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..b4b989c8c5 --- /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 (libpthread, __libpthread_version_placeholder_1, + __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 f3ec8e3bdb..16e2d902c5 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_setspecific F GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_cond_broadcast F @@ -53,7 +52,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 siglongjmp F GLIBC_2.1 pthread_attr_getguardsize F GLIBC_2.1 pthread_attr_getstackaddr F GLIBC_2.1 pthread_attr_getstacksize F @@ -95,8 +93,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 __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/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index aa6c90757f..da88becd5e 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 @@ -35,7 +34,6 @@ GLIBC_2.2 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F -GLIBC_2.2 longjmp F GLIBC_2.2 pthread_atfork F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F @@ -119,7 +117,6 @@ GLIBC_2.2 sem_timedwait F GLIBC_2.2 sem_trywait F GLIBC_2.2 sem_unlink F GLIBC_2.2 sem_wait F -GLIBC_2.2 siglongjmp F GLIBC_2.2.3 __libpthread_version_placeholder F GLIBC_2.2.6 __libpthread_version_placeholder F GLIBC_2.28 call_once F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index c318914fd0..709a3065c7 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -33,7 +33,6 @@ GLIBC_2.2 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F -GLIBC_2.2 longjmp F GLIBC_2.2 pthread_atfork F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F @@ -117,7 +116,6 @@ GLIBC_2.2 sem_timedwait F GLIBC_2.2 sem_trywait F GLIBC_2.2 sem_unlink F GLIBC_2.2 sem_wait F -GLIBC_2.2 siglongjmp F GLIBC_2.2.3 __libpthread_version_placeholder F GLIBC_2.2.6 __libpthread_version_placeholder F GLIBC_2.28 call_once F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index c318914fd0..709a3065c7 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -33,7 +33,6 @@ GLIBC_2.2 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F -GLIBC_2.2 longjmp F GLIBC_2.2 pthread_atfork F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F @@ -117,7 +116,6 @@ GLIBC_2.2 sem_timedwait F GLIBC_2.2 sem_trywait F GLIBC_2.2 sem_unlink F GLIBC_2.2 sem_wait F -GLIBC_2.2 siglongjmp F GLIBC_2.2.3 __libpthread_version_placeholder F GLIBC_2.2.6 __libpthread_version_placeholder F GLIBC_2.28 call_once F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 9012403bb4..cb89cb21d1 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_setspecific F GLIBC_2.0 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F -GLIBC_2.0 longjmp F GLIBC_2.0 pthread_atfork F GLIBC_2.0 pthread_cancel F GLIBC_2.0 pthread_cond_broadcast F @@ -53,7 +52,6 @@ GLIBC_2.0 sem_init F GLIBC_2.0 sem_post F GLIBC_2.0 sem_trywait F GLIBC_2.0 sem_wait F -GLIBC_2.0 siglongjmp F GLIBC_2.1 pthread_attr_getguardsize F GLIBC_2.1 pthread_attr_getstackaddr F GLIBC_2.1 pthread_attr_getstacksize F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index f90d9485f9..dcbcfddae2 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -33,7 +33,6 @@ GLIBC_2.2 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F GLIBC_2.2 funlockfile F -GLIBC_2.2 longjmp F GLIBC_2.2 pthread_atfork F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F @@ -117,7 +116,6 @@ GLIBC_2.2 sem_timedwait F GLIBC_2.2 sem_trywait F GLIBC_2.2 sem_unlink F GLIBC_2.2 sem_wait F -GLIBC_2.2 siglongjmp F GLIBC_2.2.3 __libpthread_version_placeholder F GLIBC_2.2.6 __libpthread_version_placeholder F GLIBC_2.28 call_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 8cd2b1bf5f..f1904bd31f 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -33,7 +33,6 @@ GLIBC_2.2.5 __res_state F GLIBC_2.2.5 flockfile F GLIBC_2.2.5 ftrylockfile F GLIBC_2.2.5 funlockfile F -GLIBC_2.2.5 longjmp F GLIBC_2.2.5 pthread_atfork F GLIBC_2.2.5 pthread_attr_getguardsize F GLIBC_2.2.5 pthread_attr_getstack F @@ -117,7 +116,6 @@ GLIBC_2.2.5 sem_timedwait F GLIBC_2.2.5 sem_trywait F GLIBC_2.2.5 sem_unlink F GLIBC_2.2.5 sem_wait F -GLIBC_2.2.5 siglongjmp F GLIBC_2.2.6 __libpthread_version_placeholder F GLIBC_2.28 call_once F GLIBC_2.28 cnd_broadcast F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index 84ae314f0f..302d7dc913 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -31,7 +31,6 @@ GLIBC_2.16 __res_state F GLIBC_2.16 flockfile F GLIBC_2.16 ftrylockfile F GLIBC_2.16 funlockfile F -GLIBC_2.16 longjmp F GLIBC_2.16 pthread_attr_getaffinity_np F GLIBC_2.16 pthread_attr_getguardsize F GLIBC_2.16 pthread_attr_getstack F @@ -135,7 +134,6 @@ GLIBC_2.16 sem_timedwait F GLIBC_2.16 sem_trywait F GLIBC_2.16 sem_unlink F GLIBC_2.16 sem_wait F -GLIBC_2.16 siglongjmp F GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np F GLIBC_2.28 call_once F diff --git a/sysdeps/x86/nptl/pt-longjmp.c b/sysdeps/x86/nptl/pt-longjmp.c deleted file mode 100644 index 77b32667ee..0000000000 --- a/sysdeps/x86/nptl/pt-longjmp.c +++ /dev/null @@ -1,71 +0,0 @@ -/* ABI compatibility for 'longjmp' and 'siglongjmp' symbols in libpthread ABI. - X86 version. - Copyright (C) 1918-2021 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, see - . */ - -#include -#include - -#ifdef __x86_64__ -# define SHADOW_STACK_POINTER_SIZE 8 -#else -# define SHADOW_STACK_POINTER_SIZE 4 -#endif - -/* Assert that the priv field in struct pthread_unwind_buf has space - to store shadow stack pointer. */ -_Static_assert ((offsetof (struct pthread_unwind_buf, priv) - <= SHADOW_STACK_POINTER_OFFSET) - && ((offsetof (struct pthread_unwind_buf, priv) - + sizeof (((struct pthread_unwind_buf *) 0)->priv)) - >= (SHADOW_STACK_POINTER_OFFSET - + SHADOW_STACK_POINTER_SIZE)), - "Shadow stack pointer is not within private storage " - "of pthread_unwind_buf."); - -#include - -/* libpthread once had its own longjmp (and siglongjmp alias), though there - was no apparent reason for it. There is no use in having a separate - symbol in libpthread, but the historical ABI requires it. For static - linking, there is no need to provide anything here--the libc version - will be linked in. For shared library ABI compatibility, there must be - longjmp and siglongjmp symbols in libpthread.so. - - With an IFUNC resolver, it would be possible to avoid the indirection, - but the IFUNC resolver might run before the __libc_longjmp symbol has - been relocated, in which case the IFUNC resolver would not be able to - provide the correct address. */ - -#if SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_22) - -static void __attribute__ ((noreturn, used)) -longjmp_compat (jmp_buf env, int val) -{ - /* NB: We call __libc_siglongjmp, instead of __libc_longjmp, since - __libc_longjmp is a private interface for cancellation which - doesn't restore shadow stack register. */ - __libc_siglongjmp (env, val); -} - -strong_alias (longjmp_compat, longjmp_alias) -compat_symbol (libpthread, longjmp_alias, longjmp, GLIBC_2_0); - -strong_alias (longjmp_alias, siglongjmp_alias) -compat_symbol (libpthread, siglongjmp_alias, siglongjmp, GLIBC_2_0); - -#endif From patchwork Fri Apr 16 09:20:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42989 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 804B6389202F; Fri, 16 Apr 2021 09:20:36 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 804B6389202F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564836; bh=v0y0YyG9QbNPdt38R1/V8fuO2Aa+yXTQ/1zAxMdgwd4=; 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=KhTj12/pf9MyizulGZFDCHBsUci+XJYv1gQF26BKYeGscTelAcH7xN6PdlNujaqFB al9BYzAjZondCYsF7OmkkNOYmvNeB87k9oX7qvPR1upyGz9C13rOSkvcqCupoekH2J Lw6nfRW0owFL3ihOy5LkR3YlWugldS0q01MqzXag= 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 A0B8A3892018 for ; Fri, 16 Apr 2021 09:20:29 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org A0B8A3892018 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-400-lnkAQmZ1PaSgFbAqdnVHWQ-1; Fri, 16 Apr 2021 05:20:27 -0400 X-MC-Unique: lnkAQmZ1PaSgFbAqdnVHWQ-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 992B9107ACCD for ; Fri, 16 Apr 2021 09:20:26 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F26AD5C3F8 for ; Fri, 16 Apr 2021 09:20:25 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 06/37] x86: Restore compile-time check for shadow stack pointer in longjmp In-Reply-To: References: Message-Id: <5bea1ee880296716d66c854e5509fe8cae2dddfa.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:20:43 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 Fri Apr 16 09:20:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42990 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 1155F3892029; Fri, 16 Apr 2021 09:20:43 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1155F3892029 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564843; bh=bR5EHXR28Ih+f9IfSrdHPX+I6lWQQcvmmuHpw+qOyH8=; 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=SiCgeaZYQWxGFtX/Xa6hCN4o3HNsH9VoPmrVOLVtwpiEjqy6VXPaxpeLgi+T9GqGy kMlB7g9YejQ8VNgX2T+r5KfWa+6iT9NPSnVRc5ijStzeF0UoG5xJgVRTPvXy+OC0O2 oABUwYtWj6yGM7GRk53SHypv73qnqX1LkPk1cv80= 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 57C53389202D for ; Fri, 16 Apr 2021 09:20:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 57C53389202D 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-195-Ml1dPV_GN9O6bpPjioA_mw-1; Fri, 16 Apr 2021 05:20:34 -0400 X-MC-Unique: Ml1dPV_GN9O6bpPjioA_mw-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 2C63B6D241 for ; Fri, 16 Apr 2021 09:20:33 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 533B25C3F8 for ; Fri, 16 Apr 2021 09:20:32 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 07/37] nptl: Move __pthread_cleanup_upto into libc In-Reply-To: References: Message-Id: Date: Fri, 16 Apr 2021 11:20:49 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 e1313124a9..ef0fc76511 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 \ @@ -100,7 +101,6 @@ libpthread-routines = \ old_pthread_cond_signal \ old_pthread_cond_timedwait \ old_pthread_cond_wait \ - pt-cleanup \ pt-interp \ pthread_attr_getaffinity \ pthread_attr_getguardsize \ diff --git a/nptl/Versions b/nptl/Versions index 67a49bd3c4..e59a11753e 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -108,6 +108,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 43e2564e59..9decc143cb 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -87,7 +87,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 9cc968222f..ab0e92f2ca 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -332,9 +332,7 @@ extern int __make_stacks_executable (void **stack_endp) attribute_hidden; /* longjmp handling. */ extern void __pthread_cleanup_upto (__jmp_buf target, char *targetframe); -#if IS_IN (libpthread) -hidden_proto (__pthread_cleanup_upto) -#endif +libc_hidden_proto (__pthread_cleanup_upto) /* Functions with versioned interfaces. */ diff --git a/nptl/pt-cleanup.c b/nptl/pthread_cleanup_upto.c similarity index 98% rename from nptl/pt-cleanup.c rename to nptl/pthread_cleanup_upto.c index 541533230d..89da3e5229 100644 --- a/nptl/pt-cleanup.c +++ b/nptl/pthread_cleanup_upto.c @@ -59,4 +59,4 @@ __pthread_cleanup_upto (__jmp_buf target, char *targetframe) THREAD_SETMEM (self, cleanup, cbuf); } -hidden_def (__pthread_cleanup_upto) +libc_hidden_def (__pthread_cleanup_upto) diff --git a/sysdeps/nptl/jmp-unwind.c b/sysdeps/nptl/jmp-unwind.c index a79c792e82..96c4862c74 100644 --- a/sysdeps/nptl/jmp-unwind.c +++ b/sysdeps/nptl/jmp-unwind.c @@ -19,14 +19,10 @@ #include #include #include - -extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe); -#pragma weak __pthread_cleanup_upto - +#include void _longjmp_unwind (jmp_buf env, int val) { - __libc_ptf_call (__pthread_cleanup_upto, (env->__jmpbuf, - CURRENT_STACK_FRAME), 0); + __pthread_cleanup_upto (env->__jmpbuf, CURRENT_STACK_FRAME); } diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 4268084b66..1bbe609598 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -49,7 +49,6 @@ struct pthread_functions int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *); int (*ptr___pthread_setcancelstate) (int, int *); int (*ptr_pthread_setcanceltype) (int, int *); - void (*ptr___pthread_cleanup_upto) (__jmp_buf, char *); int (*ptr___pthread_once) (pthread_once_t *, void (*) (void)); int (*ptr___pthread_rwlock_rdlock) (pthread_rwlock_t *); int (*ptr___pthread_rwlock_wrlock) (pthread_rwlock_t *); diff --git a/sysdeps/unix/sysv/linux/s390/jmp-unwind.c b/sysdeps/unix/sysv/linux/s390/jmp-unwind.c index 2bdde57ec7..8e0399a3e9 100644 --- a/sysdeps/unix/sysv/linux/s390/jmp-unwind.c +++ b/sysdeps/unix/sysv/linux/s390/jmp-unwind.c @@ -19,15 +19,12 @@ #include #include #include - -extern void __pthread_cleanup_upto (__jmp_buf env, char *targetframe); -#pragma weak __pthread_cleanup_upto - +#include void _longjmp_unwind (jmp_buf env, int val) { char local_var; - __libc_ptf_call (__pthread_cleanup_upto, (env->__jmpbuf, &local_var), 0); + __pthread_cleanup_upto (env->__jmpbuf, &local_var); } From patchwork Fri Apr 16 09:20: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: 42991 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 AA32F3892019; Fri, 16 Apr 2021 09:20:55 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org AA32F3892019 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564855; bh=QkJFrTyODzPcgIBlVHtMN+mXyNBRuYhmM4tlEGCSfxw=; 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=IHb/GzfZMCqmWgCaXBUDlPx+OZRvxIFLGtG8nUG8uYClGde1uoTdz/ZpFdy/1bRUJ qPNa46tjCUbhsclnnq9WbRZH7TjmGkfTLEqlJEpDYPBgXme1L5rHGBByTMAt2jh3dd 6cXFVdnyk9sSy8lwwJPPoxJDJmWTI/5yWxcapFHE= 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 7EBC33892016 for ; Fri, 16 Apr 2021 09:20:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 7EBC33892016 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-390-fVqrS5XAO0Op3zpIioIiXQ-1; Fri, 16 Apr 2021 05:20:39 -0400 X-MC-Unique: fVqrS5XAO0Op3zpIioIiXQ-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 1EB29107ACC7 for ; Fri, 16 Apr 2021 09:20:39 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3E4B36294D for ; Fri, 16 Apr 2021 09:20:37 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 08/37] nptl: Move pthread_once and __pthread_once into libc In-Reply-To: References: Message-Id: <7402a667884c950361b9d1fb5dc132920ef2bb2c.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:20:54 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 | 15 +++++++++++---- sysdeps/nptl/fork.c | 3 +-- sysdeps/nptl/libc-lockP.h | 13 ++----------- sysdeps/nptl/pthread-functions.h | 1 - sysdeps/unix/sysv/linux/aarch64/libc.abilist | 4 ++++ .../unix/sysv/linux/aarch64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/alpha/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/alpha/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/arc/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/arc/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/arm/be/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/arm/be/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/arm/le/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/arm/le/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/csky/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/csky/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/hppa/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/hppa/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/i386/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/i386/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/ia64/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/ia64/libpthread.abilist | 2 -- .../unix/sysv/linux/m68k/coldfire/libc.abilist | 4 ++++ .../sysv/linux/m68k/coldfire/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist | 4 ++++ .../sysv/linux/m68k/m680x0/libpthread.abilist | 2 -- .../unix/sysv/linux/microblaze/be/libc.abilist | 4 ++++ .../sysv/linux/microblaze/be/libpthread.abilist | 2 -- .../unix/sysv/linux/microblaze/le/libc.abilist | 4 ++++ .../sysv/linux/microblaze/le/libpthread.abilist | 2 -- .../unix/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 -- .../unix/sysv/linux/mips/mips64/n32/libc.abilist | 4 ++++ .../unix/sysv/linux/mips/mips64/n64/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/nios2/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/nios2/libpthread.abilist | 2 -- .../sysv/linux/powerpc/powerpc32/fpu/libc.abilist | 4 ++++ .../linux/powerpc/powerpc32/libpthread.abilist | 2 -- .../linux/powerpc/powerpc32/nofpu/libc.abilist | 4 ++++ .../sysv/linux/powerpc/powerpc64/be/libc.abilist | 4 ++++ .../linux/powerpc/powerpc64/be/libpthread.abilist | 2 -- .../sysv/linux/powerpc/powerpc64/le/libc.abilist | 4 ++++ .../linux/powerpc/powerpc64/le/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist | 4 ++++ .../unix/sysv/linux/riscv/rv32/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist | 4 ++++ .../unix/sysv/linux/riscv/rv64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist | 4 ++++ .../sysv/linux/s390/s390-32/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist | 4 ++++ .../sysv/linux/s390/s390-64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/sh/be/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/sh/be/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/sh/le/libc.abilist | 4 ++++ sysdeps/unix/sysv/linux/sh/le/libpthread.abilist | 2 -- .../unix/sysv/linux/sparc/sparc32/libc.abilist | 4 ++++ .../sysv/linux/sparc/sparc32/libpthread.abilist | 2 -- .../unix/sysv/linux/sparc/sparc64/libc.abilist | 4 ++++ .../sysv/linux/sparc/sparc64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/x86_64/64/libc.abilist | 4 ++++ .../unix/sysv/linux/x86_64/64/libpthread.abilist | 2 -- sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist | 4 ++++ .../unix/sysv/linux/x86_64/x32/libpthread.abilist | 2 -- 70 files changed, 152 insertions(+), 94 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index ef0fc76511..ec58e746c5 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -77,6 +77,7 @@ routines = \ pthread_getschedparam \ pthread_kill \ pthread_mutex_consistent \ + pthread_once \ pthread_self \ pthread_setschedparam \ pthread_sigmask \ @@ -162,7 +163,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 e59a11753e..1a7946cf2f 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; @@ -32,6 +33,7 @@ libc { pthread_mutex_init; pthread_mutex_lock; pthread_mutex_unlock; + pthread_once; pthread_self; pthread_setcancelstate; pthread_setcanceltype; @@ -84,8 +86,10 @@ libc { } GLIBC_2.34 { __pthread_cleanup_routine; + __pthread_once; pthread_kill; pthread_mutex_consistent; + pthread_once; } GLIBC_PRIVATE { __futex_abstimed_wait64; @@ -135,7 +139,6 @@ libpthread { __pthread_mutexattr_destroy; __pthread_mutexattr_init; __pthread_mutexattr_settype; - __pthread_once; __pthread_setspecific; _exit; flockfile; @@ -164,7 +167,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 4de182b4e4..b67a69f9a1 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 9decc143cb..b683adb698 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -87,7 +87,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, @@ -333,8 +332,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 ab0e92f2ca..75fec43fed 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -361,12 +361,10 @@ extern unsigned long int *__fork_generation_pointer attribute_hidden; /* 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, @@ -525,6 +523,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); @@ -557,7 +556,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..323583c118 100644 --- a/nptl/pthread_once.c +++ b/nptl/pthread_once.c @@ -19,7 +19,8 @@ #include "pthreadP.h" #include #include - +#include +#include unsigned long int __fork_generation attribute_hidden; @@ -132,7 +133,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 (pthread_once_t *once_control, void (*init_routine) (void)) { /* Fast path. See __pthread_once_slow. */ int val; @@ -142,5 +143,11 @@ __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, __pthread_once, GLIBC_2_34); +libc_hidden_ver (___pthread_once, __pthread_once) + +versioned_symbol (libc, ___pthread_once, pthread_once, GLIBC_2_34); +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_once, __pthread_once, GLIBC_2_0); +compat_symbol (libpthread, ___pthread_once, pthread_once, GLIBC_2_0); +#endif diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c index 9737127cd6..ccdda11a7c 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/libc-lockP.h b/sysdeps/nptl/libc-lockP.h index 2c928b7a76..ca3edd0af1 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) @@ -334,6 +326,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), @@ -364,7 +357,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) @@ -386,7 +378,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 12895b08b5..bc77a51673 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 @@ -1455,6 +1456,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 @@ -2182,5 +2184,7 @@ 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_kill 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 1af15835d7..d7db479580 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -13,7 +13,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 @@ -91,7 +90,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 732ea877dc..a178ce7f31 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 @@ -892,6 +893,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 @@ -2270,8 +2272,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_once F GLIBC_2.34 pthread_kill 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 cb89cb21d1..2a22ffa684 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -13,7 +13,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 flockfile F GLIBC_2.0 ftrylockfile F @@ -41,7 +40,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 7951038086..c65b78075f 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 @@ -1381,6 +1382,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 @@ -1941,5 +1943,7 @@ 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_kill 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 07304e7949..db93147ebc 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -13,7 +13,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 @@ -108,7 +107,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 58114f1a4e..b7f575400f 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_once F GLIBC_2.34 pthread_kill 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 @@ -488,6 +490,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 @@ -1550,6 +1553,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 7eeb4433a9..ca348c073a 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 __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 @@ -122,7 +121,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 91a406f92d..bb86b0c11a 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_once F GLIBC_2.34 pthread_kill 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 @@ -485,6 +487,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 @@ -1547,6 +1550,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 7eeb4433a9..ca348c073a 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 __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 @@ -122,7 +121,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 e24e8cb91e..311a9ec0ab 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 @@ -1442,6 +1443,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 @@ -2125,5 +2127,7 @@ 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_kill 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 6f519a21a9..00b134fdc0 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -13,7 +13,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 @@ -105,7 +104,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 fa83c016a0..e844ff708a 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 @@ -1276,6 +1277,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 @@ -2083,8 +2085,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_once F GLIBC_2.34 pthread_kill 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 709a3065c7..7894da456f 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -20,7 +20,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 @@ -79,7 +78,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 969cb27bbd..dd2b1bf53f 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 @@ -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 @@ -2260,8 +2262,10 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill 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 f18fce9353..ca110278ec 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -13,7 +13,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 flockfile F GLIBC_2.0 ftrylockfile F @@ -41,7 +40,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 aa30e0f51a..d992dfcb8e 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 @@ -1297,6 +1298,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 @@ -2117,8 +2119,10 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill 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 dcbcfddae2..c5471a5aaf 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -20,7 +20,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 @@ -79,7 +78,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 8a11b9f9af..6f65f0dbf3 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_once F GLIBC_2.34 pthread_kill 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 @@ -474,6 +476,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 @@ -1530,6 +1533,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 7eeb4433a9..ca348c073a 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 __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 @@ -122,7 +121,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 404fbc5e6d..c50e22f248 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 @@ -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 @@ -2203,8 +2205,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_once F GLIBC_2.34 pthread_kill 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 f18fce9353..ca110278ec 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -13,7 +13,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 flockfile F GLIBC_2.0 ftrylockfile F @@ -41,7 +40,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 afbc5fe040..0cebd1ead4 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 @@ -1457,6 +1458,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 @@ -2176,5 +2178,7 @@ 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_kill 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 5dc126db6f..8ee5bcffb3 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 __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 @@ -92,7 +91,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 d4d37eae2a..7c39cc1de3 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 @@ -1457,6 +1458,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 @@ -2173,5 +2175,7 @@ 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_kill 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 5dc126db6f..8ee5bcffb3 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 __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 @@ -92,7 +91,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 a21d435f14..2dda1422bb 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 @@ -865,6 +866,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 @@ -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_once F GLIBC_2.34 pthread_kill 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 ac5fd281e9..8033493435 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -13,7 +13,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 flockfile F GLIBC_2.0 ftrylockfile F @@ -41,7 +40,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 020d46f4bd..9ea18faa53 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 @@ -865,6 +866,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 @@ -2164,8 +2166,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_once F GLIBC_2.34 pthread_kill 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 ac5fd281e9..8033493435 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -13,7 +13,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 flockfile F GLIBC_2.0 ftrylockfile F @@ -41,7 +40,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 0f20b3f067..e69909ea6c 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 @@ -865,6 +866,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 @@ -2172,8 +2174,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_once F GLIBC_2.34 pthread_kill 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 b9d5d40018..7957f861da 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 @@ -863,6 +864,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 @@ -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_once F GLIBC_2.34 pthread_kill 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 665472df33..c2e1f8ad71 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 @@ -1500,6 +1501,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 @@ -2215,5 +2217,7 @@ 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_kill 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 c29e86eb94..7e98fb0c37 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -13,7 +13,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 @@ -92,7 +91,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 4c62c06418..b986052c97 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 @@ -876,6 +877,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 @@ -2230,8 +2232,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_once F GLIBC_2.34 pthread_kill 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 5834972a63..d792002a3a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -13,7 +13,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 flockfile F GLIBC_2.0 ftrylockfile F @@ -41,7 +40,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 84125b68dd..56b6bb30f8 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 @@ -876,6 +877,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 @@ -2263,8 +2265,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_once F GLIBC_2.34 pthread_kill 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 b4b38770a5..413526648c 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 @@ -1383,6 +1384,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 @@ -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_once F GLIBC_2.34 pthread_kill 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 4cccc15046..d2b99c7daa 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 __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 @@ -99,7 +98,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 05ff5cfa96..7960c6ba23 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 @@ -1543,6 +1544,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 @@ -2378,5 +2380,7 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill 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 1af15835d7..d7db479580 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 __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 @@ -91,7 +90,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 ba056b0292..b1446b3e47 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 @@ -1383,6 +1384,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 @@ -1943,5 +1945,7 @@ 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_kill 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 a1c20a854c..060c4c8166 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 __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 @@ -108,7 +107,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 50f38c226f..7b541db179 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 @@ -1445,6 +1446,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 @@ -2143,5 +2145,7 @@ 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_kill 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 046420055b..0da6ea80a1 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 __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 @@ -92,7 +91,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 5f3ae094fe..078dd7b3a9 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 @@ -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 @@ -2228,8 +2230,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_once F GLIBC_2.34 pthread_kill 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 16e2d902c5..33153dea7f 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -13,7 +13,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 flockfile F GLIBC_2.0 ftrylockfile F @@ -41,7 +40,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 74164c6333..6e20c1d05d 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 @@ -1294,6 +1295,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 @@ -2121,8 +2123,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_once F GLIBC_2.34 pthread_kill 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 da88becd5e..19381fee60 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 __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 @@ -80,7 +79,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 74844f795c..9377e8d224 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 @@ -1280,6 +1281,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 @@ -2090,8 +2092,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_once F GLIBC_2.34 pthread_kill 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 709a3065c7..7894da456f 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 __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 @@ -79,7 +78,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 341abf5bc8..3ec049b709 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 @@ -1280,6 +1281,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 @@ -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_once F GLIBC_2.34 pthread_kill 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 709a3065c7..7894da456f 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 __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 @@ -79,7 +78,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 318995dbc5..c4faaa416b 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 @@ -870,6 +871,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,8 +2221,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_once F GLIBC_2.34 pthread_kill 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 cb89cb21d1..2a22ffa684 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -13,7 +13,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 flockfile F GLIBC_2.0 ftrylockfile F @@ -41,7 +40,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 c39ae6fe21..0698a3cec3 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 @@ -1323,6 +1324,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 @@ -2138,8 +2140,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_once F GLIBC_2.34 pthread_kill 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 dcbcfddae2..c5471a5aaf 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 __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 @@ -79,7 +78,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 260320a7ab..efa7aed9a1 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 @@ -1291,6 +1292,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 @@ -2099,8 +2101,10 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill 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 f1904bd31f..360ebbf618 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 __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 @@ -79,7 +78,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 d854fb5ece..9b5b8ebbfa 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 @@ -1462,6 +1463,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 @@ -2197,5 +2199,7 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill 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 302d7dc913..1146db590c 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 __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 @@ -91,7 +90,6 @@ GLIBC_2.16 pthread_mutexattr_setpshared F GLIBC_2.16 pthread_mutexattr_setrobust F GLIBC_2.16 pthread_mutexattr_setrobust_np F GLIBC_2.16 pthread_mutexattr_settype F -GLIBC_2.16 pthread_once F GLIBC_2.16 pthread_rwlock_destroy F GLIBC_2.16 pthread_rwlock_init F GLIBC_2.16 pthread_rwlock_rdlock F From patchwork Fri Apr 16 09:21:02 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42992 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 BD28D389202C; Fri, 16 Apr 2021 09:21:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BD28D389202C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564862; bh=c++kniGcVCSD7VPQj3/X/M/0O4MNntuuQmGay/ULVkQ=; 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=vxduupqGGH3JG0+D5stL0v8qUSUEXBvJ1xx/BaxA6wU+hK7l6MlucVo+0FFCQFpMC AOm9b6uuDEB4qfr2wihj22KM+XR0JzDss9qElgLhW87T2CQAHpVPvhtmLMgLieFwwJ tthGlmcLqGvRcWpgMgQDZHB4KRO+r0CpOc7Op9jE= 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 EB183389202C for ; Fri, 16 Apr 2021 09:20:49 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EB183389202C 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-199-wP4DnyEvPEqT1sP8AjZeZw-1; Fri, 16 Apr 2021 05:20:47 -0400 X-MC-Unique: wP4DnyEvPEqT1sP8AjZeZw-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 7A5386D241 for ; Fri, 16 Apr 2021 09:20:46 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CC5E56E505 for ; Fri, 16 Apr 2021 09:20:44 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 09/37] nptl: Move __pthread_unwind_next into libc In-Reply-To: References: Message-Id: Date: Fri, 16 Apr 2021 11:21:02 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" It's necessary to stub out __libc_disable_asynccancel and __libc_enable_asynccancel via rtld-stubbed-symbols because the new direct references to the unwinder result in symbol conflicts when the rtld exception handling from libc is linked in during the construction of librtld.map. unwind-forcedunwind.c is merged into unwind-resume.c. libc now needs the functions that were previously only used in libpthread. The GLIBC_PRIVATE exports of __libc_longjmp and __libc_siglongjmp are no longer needed, so switch them to hidden symbols. The symbol __pthread_unwind_next has been moved using scripts/move-symbol-to-libc.py. 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 | 13 ++-- 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/powerpc/Versions | 4 -- sysdeps/powerpc/longjmp.c | 14 ++-- 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 - 82 files changed, 126 insertions(+), 189 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 c531470ede..1103559b9b 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -528,6 +528,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 ec58e746c5..ea2554a525 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -81,6 +81,7 @@ routines = \ pthread_self \ pthread_setschedparam \ pthread_sigmask \ + unwind \ shared-only-routines = forward static-only-routines = pthread_atfork @@ -211,15 +212,12 @@ libpthread-routines = \ sem_unlink \ sem_wait \ 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 1a7946cf2f..193376c827 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -57,6 +57,7 @@ libc { } GLIBC_2.3.3 { __pthread_cleanup_routine; + __pthread_unwind_next; pthread_attr_setaffinity_np; pthread_getaffinity_np; } @@ -117,6 +118,7 @@ libc { __pthread_cond_init; # Used by the C11 threads. __pthread_force_elision; __pthread_getattr_default_np; + __pthread_unwind; } } @@ -278,7 +280,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; @@ -367,6 +368,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 b683adb698..124799679b 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -94,7 +94,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 75fec43fed..2e66379441 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..f50997f728 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,19 @@ __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 OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_3_3, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_unwind_next, __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/powerpc/Versions b/sysdeps/powerpc/Versions index 95849668f2..cca8fd2fc5 100644 --- a/sysdeps/powerpc/Versions +++ b/sysdeps/powerpc/Versions @@ -13,10 +13,6 @@ libc { _longjmp; __sigsetjmp; _setjmp; longjmp; setjmp; } - GLIBC_PRIVATE { - __novmx__libc_longjmp; __novmx__libc_siglongjmp; - __vmx__libc_longjmp; __vmx__libc_siglongjmp; - } } ld { diff --git a/sysdeps/powerpc/longjmp.c b/sysdeps/powerpc/longjmp.c index 7332433b73..57ee56104e 100644 --- a/sysdeps/powerpc/longjmp.c +++ b/sysdeps/powerpc/longjmp.c @@ -48,13 +48,9 @@ __vmx__libc_siglongjmp (sigjmp_buf env, int val) strong_alias (__vmx__libc_siglongjmp, __vmx__libc_longjmp) libc_hidden_def (__vmx__libc_longjmp) -weak_alias (__vmx__libc_siglongjmp, __vmx_longjmp) -weak_alias (__vmx__libc_siglongjmp, __vmxlongjmp) -weak_alias (__vmx__libc_siglongjmp, __vmxsiglongjmp) - -default_symbol_version (__vmx__libc_longjmp, __libc_longjmp, GLIBC_PRIVATE); -default_symbol_version (__vmx__libc_siglongjmp, __libc_siglongjmp, GLIBC_PRIVATE); -versioned_symbol (libc, __vmx_longjmp, _longjmp, GLIBC_2_3_4); -versioned_symbol (libc, __vmxlongjmp, longjmp, GLIBC_2_3_4); -versioned_symbol (libc, __vmxsiglongjmp, siglongjmp, GLIBC_2_3_4); +strong_alias (__vmx__libc_longjmp, __libc_longjmp) +strong_alias (__vmx__libc_siglongjmp, __libc_siglongjmp) +versioned_symbol (libc, __vmx__libc_siglongjmp, _longjmp, GLIBC_2_3_4); +versioned_symbol (libc, __vmx__libc_siglongjmp, longjmp, GLIBC_2_3_4); +versioned_symbol (libc, __vmx__libc_siglongjmp, siglongjmp, GLIBC_2_3_4); diff --git a/sysdeps/unix/sysv/linux/aarch64/libc.abilist b/sysdeps/unix/sysv/linux/aarch64/libc.abilist index bc77a51673..051d2c8ce8 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 @@ -2185,6 +2186,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_kill 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 d7db479580..749ac603c9 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.17 flockfile F GLIBC_2.17 ftrylockfile F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index a178ce7f31..caf21ec630 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2163,6 +2163,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 @@ -2273,6 +2274,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_kill 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 2a22ffa684..bcbff33b42 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -153,7 +153,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 c65b78075f..fc492e5a54 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 @@ -1944,6 +1945,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_kill 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 db93147ebc..2b50af455a 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.32 call_once F GLIBC_2.32 cnd_broadcast F diff --git a/sysdeps/unix/sysv/linux/arm/be/libc.abilist b/sysdeps/unix/sysv/linux/arm/be/libc.abilist index b7f575400f..b4a87c888d 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_kill F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F @@ -491,6 +492,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 ca348c073a..2d92eb0367 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -59,7 +59,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 __res_state F GLIBC_2.4 flockfile F GLIBC_2.4 ftrylockfile F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index bb86b0c11a..8b5acb0a2a 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_kill F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F @@ -488,6 +489,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 ca348c073a..2d92eb0367 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -59,7 +59,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 __res_state F GLIBC_2.4 flockfile F GLIBC_2.4 ftrylockfile F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index 311a9ec0ab..5ad9646b79 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 @@ -2128,6 +2129,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_kill 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 00b134fdc0..f2eed97209 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.29 call_once F GLIBC_2.29 cnd_broadcast F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index e844ff708a..8b69cff0d1 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2004,6 +2004,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 @@ -2086,6 +2087,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_kill 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 7894da456f..048c32459d 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -145,7 +145,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 dd2b1bf53f..a94b969f7b 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2178,6 +2178,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 @@ -2263,6 +2264,7 @@ GLIBC_2.34 __isnanf128 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_kill 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 ca110278ec..4aee237cf0 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -153,7 +153,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 d992dfcb8e..03bdbc994f 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -2037,6 +2037,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 @@ -2120,6 +2121,7 @@ GLIBC_2.34 __isnanf128 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_kill 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 c5471a5aaf..998e8f7c0c 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -145,7 +145,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 6f65f0dbf3..f841ed55a1 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_kill F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F @@ -477,6 +478,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 ca348c073a..2d92eb0367 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -59,7 +59,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 __res_state F GLIBC_2.4 flockfile F GLIBC_2.4 ftrylockfile F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index c50e22f248..6bd1e4dfa9 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2121,6 +2121,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 @@ -2206,6 +2207,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_kill 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 ca110278ec..4aee237cf0 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -153,7 +153,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 0cebd1ead4..dae2a80946 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 @@ -2179,6 +2180,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_kill 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 8ee5bcffb3..1a13be1350 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.18 flockfile F GLIBC_2.18 ftrylockfile F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 7c39cc1de3..86b9741aab 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 @@ -2176,6 +2177,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_kill 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 8ee5bcffb3..1a13be1350 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.18 flockfile F GLIBC_2.18 ftrylockfile F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist index 2dda1422bb..e52b0de4a2 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2087,6 +2087,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 @@ -2169,6 +2170,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_kill 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 8033493435..bb73c2e5f4 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -152,7 +152,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 9ea18faa53..6b4661ada1 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/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 0x200 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2167,6 +2168,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_kill 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 8033493435..bb73c2e5f4 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -152,7 +152,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 e69909ea6c..5159c2c91d 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2093,6 +2093,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 @@ -2175,6 +2176,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_kill 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 7957f861da..c38118f8d2 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/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 0x400 GLIBC_2.3.3 gnu_dev_major F GLIBC_2.3.3 gnu_dev_makedev F @@ -2169,6 +2170,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_kill 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 c2e1f8ad71..ea083eb1c4 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 @@ -2218,6 +2219,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_kill 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 7e98fb0c37..c23ec1ff7d 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.21 flockfile F GLIBC_2.21 ftrylockfile F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist index b986052c97..b64bcadc63 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/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 getcontext F GLIBC_2.3.3 gnu_dev_major F @@ -2233,6 +2234,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_kill 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 d792002a3a..d6efe96f57 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -153,7 +153,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 56b6bb30f8..158ef69070 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -2158,6 +2158,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 @@ -2266,6 +2267,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_kill 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 413526648c..15a210e42b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -1985,6 +1985,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 @@ -2088,6 +2089,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_kill 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 d2b99c7daa..d82e1237ed 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -142,7 +142,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 7960c6ba23..81c3dfbcb3 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 @@ -2381,6 +2382,7 @@ GLIBC_2.34 __isnanf128 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_kill 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 d7db479580..749ac603c9 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.17 flockfile F GLIBC_2.17 ftrylockfile F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index b1446b3e47..dd17df3fa6 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 @@ -1946,6 +1947,7 @@ 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_kill 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 060c4c8166..72d000c493 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.33 call_once F GLIBC_2.33 cnd_broadcast F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist index 7b541db179..3cc6cacdd8 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 @@ -2146,6 +2147,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_kill 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 0da6ea80a1..a33a3a74f3 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.27 flockfile F GLIBC_2.27 ftrylockfile F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist index 078dd7b3a9..e94f223f7a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2134,6 +2134,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 @@ -2231,6 +2232,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_kill 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 33153dea7f..b14419be4d 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -154,7 +154,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 6e20c1d05d..ebf0632ac7 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -2030,6 +2030,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 @@ -2124,6 +2125,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_kill 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 19381fee60..9d428f7594 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -146,7 +146,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 9377e8d224..2bf00600de 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2008,6 +2008,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 @@ -2093,6 +2094,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_kill 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 7894da456f..048c32459d 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -145,7 +145,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 3ec049b709..7565f4037b 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2008,6 +2008,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 @@ -2090,6 +2091,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_kill 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 7894da456f..048c32459d 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -145,7 +145,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 c4faaa416b..75dcf2c25b 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2128,6 +2128,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_kill 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 2a22ffa684..bcbff33b42 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -153,7 +153,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 0698a3cec3..fd0ab20f36 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2059,6 +2059,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 @@ -2141,6 +2142,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_kill 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 c5471a5aaf..998e8f7c0c 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -145,7 +145,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 efa7aed9a1..c4b12e57ad 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -2018,6 +2018,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 @@ -2102,6 +2103,7 @@ GLIBC_2.34 __isnanf128 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_kill 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 360ebbf618..041abf003e 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -144,7 +144,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 9b5b8ebbfa..7efe537808 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 @@ -2200,6 +2201,7 @@ GLIBC_2.34 __isnanf128 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_kill 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 1146db590c..64dca92865 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.16 flockfile F GLIBC_2.16 ftrylockfile F From patchwork Fri Apr 16 09:21:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42993 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 D50833892039; Fri, 16 Apr 2021 09:21:04 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D50833892039 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564864; bh=NbTT9YQRnnQ3CrEftm6oBQKaGLw2KRgtVo7sa4yUHF0=; 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=QGTL7ZDsj/CBLGhMR97ocEugQAZxiqcQYaWAYQYaAf6k0EudiLqrz8g/8TsQOJeoI ANUlJiXiG9cgVriQ+tksqmiRY10tjxTLg9arwzSv3kw7sc0NtrgkbuC+KWqO/JnvR7 PX5ziXax1WC27gq0FMqZfu/kA2NCToP/b4nsdo68= 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 4173E3892016 for ; Fri, 16 Apr 2021 09:20:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 4173E3892016 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-466-pBEiw2o3N72MLWmNRg2kIA-1; Fri, 16 Apr 2021 05:20:52 -0400 X-MC-Unique: pBEiw2o3N72MLWmNRg2kIA-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 45E446D241 for ; Fri, 16 Apr 2021 09:20:51 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8A90910074FC for ; Fri, 16 Apr 2021 09:20:50 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 10/37] csu: Move calling main out of __libc_start_main_impl In-Reply-To: References: Message-Id: <46037f59c291ff4e2ec80d0f1b92ce1702670742.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:21:08 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.4 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 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 Fri Apr 16 09:21:14 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42994 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 64AA8389201D; Fri, 16 Apr 2021 09:21:07 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 64AA8389201D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564867; bh=cizwjI6mJmNc5qpucxaaHop5vKO+yIy/dCRHpzVZGyA=; 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=BAE1cGhAUgqITAOnrEljwYd/y8Gxe/HkjwKlA1wh1WEtxYogQgIp/2PN99D+NRtJa Y53vlPsBTGWwjfhp7PkgCCv4ZHR3AsFpIi8b9WSBTsbJ1CZeR22kG6wn6+BdktkOp+ c14kRT9VNeCGotUBeAuX0Dz41RrSUVSlxS71Vv8k= 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 2D075389201D for ; Fri, 16 Apr 2021 09:21:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 2D075389201D 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-320-tpwPVN6ZNC6TOfKTx8GpUg-1; Fri, 16 Apr 2021 05:20:58 -0400 X-MC-Unique: tpwPVN6ZNC6TOfKTx8GpUg-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 6E2CB6D249 for ; Fri, 16 Apr 2021 09:20:57 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 946FC669F2 for ; Fri, 16 Apr 2021 09:20:56 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 11/37] nptl: Move internal __nptl_nthreads variable into libc In-Reply-To: References: Message-Id: Date: Fri, 16 Apr 2021 11:21:14 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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" Reviewed-by: Adhemerval Zanella --- nptl/Makefile | 1 + nptl/Versions | 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 -- 9 files changed, 30 insertions(+), 20 deletions(-) create mode 100644 nptl/nptl_nthreads.c diff --git a/nptl/Makefile b/nptl/Makefile index ea2554a525..5bfa721596 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 193376c827..b4ee1bf309 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -106,6 +106,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/nptl-init.c b/nptl/nptl-init.c index 124799679b..aad4f21f74 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -93,7 +93,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 2e66379441..64ec71c23f 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -220,7 +220,8 @@ extern struct pthread_key_struct __pthread_keys[PTHREAD_KEYS_MAX]; hidden_proto (__pthread_keys) /* Number of threads running. */ -extern unsigned int __nptl_nthreads attribute_hidden; +extern unsigned int __nptl_nthreads; +libc_hidden_proto (__nptl_nthreads) #ifndef __ASSUME_SET_ROBUST_LIST /* Negative if we do not have the system call and we can use it. */ diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 6c645aff48..350bf03f5d 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -51,10 +51,6 @@ static td_thr_events_t __nptl_threads_events __attribute_used__; /* Pointer to descriptor with the last event. */ static struct pthread *__nptl_last_event __attribute_used__; -/* Number of threads running. */ -unsigned int __nptl_nthreads = 1; - - /* Code to allocate and deallocate a stack. */ #include "allocatestack.c" diff --git a/nptl_db/structs.def b/nptl_db/structs.def index 999a9fc35a..d0e1cb659a 100644 --- a/nptl_db/structs.def +++ b/nptl_db/structs.def @@ -73,7 +73,7 @@ DB_SYMBOL (nptl_version) DB_FUNCTION (__nptl_create_event) DB_FUNCTION (__nptl_death_event) DB_SYMBOL (__nptl_threads_events) -DB_VARIABLE (__nptl_nthreads) +DB_MAIN_VARIABLE (__nptl_nthreads) DB_VARIABLE (__nptl_last_event) DB_VARIABLE (__nptl_initial_report_events) diff --git a/sysdeps/nptl/libc_start_call_main.h b/sysdeps/nptl/libc_start_call_main.h index 5218e7ab1e..112cc20a7a 100644 --- a/sysdeps/nptl/libc_start_call_main.h +++ b/sysdeps/nptl/libc_start_call_main.h @@ -17,6 +17,7 @@ . */ #include +#include _Noreturn static void __libc_start_call_main (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), @@ -69,17 +70,7 @@ __libc_start_call_main (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), /* One less thread. Decrement the counter. If it is zero we terminate the entire process. */ result = 0; -# ifdef SHARED - unsigned int *ptr = __libc_pthread_functions.ptr_nthreads; -# ifdef PTR_DEMANGLE - PTR_DEMANGLE (ptr); -# endif -# else - extern unsigned int __nptl_nthreads __attribute ((weak)); - unsigned int *const ptr = &__nptl_nthreads; -# endif - - if (! atomic_decrement_and_test (ptr)) + if (! atomic_decrement_and_test (&__nptl_nthreads)) /* Not much left to do but to exit the thread, not the process. */ __exit_thread (); } diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 280655fe40..2fa698b1da 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -55,8 +55,6 @@ struct pthread_functions int (*ptr___pthread_key_create) (pthread_key_t *, void (*) (void *)); void *(*ptr___pthread_getspecific) (pthread_key_t); int (*ptr___pthread_setspecific) (pthread_key_t, const void *); -#define HAVE_PTR_NTHREADS - unsigned int *ptr_nthreads; void (*ptr__nptl_deallocate_tsd) (void); int (*ptr__nptl_setxid) (struct xid_command *); void (*ptr_set_robust) (struct pthread *); From patchwork Fri Apr 16 09:21:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42995 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 E9B55389202D; Fri, 16 Apr 2021 09:21:11 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E9B55389202D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564872; bh=xcSK4b4KaErC0/RXWv8hQZKfL+jz+DhgKmXpwxa5NME=; 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=NxsB+jQ1DzE4DUfIuCNPOZPnTYVrMIoKg7K1ddfv5AmM/a/p/GbaDmI5tEoPBXoAa QN01Rks5igSAgUO4KPCafA+8bmrwK64Eue16tLJ+mrSapt8Y571BcCKVKQ/0GfVGWh 1dh8a5CD9eFvkdluUC4sKM4FW6t/whk7vNncJANo= 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 C1FCB3892027 for ; Fri, 16 Apr 2021 09:21:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org C1FCB3892027 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-491-Yw_7XwNuPq-AqxZpmS5jRA-1; Fri, 16 Apr 2021 05:21:07 -0400 X-MC-Unique: Yw_7XwNuPq-AqxZpmS5jRA-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 E131A18397AA for ; Fri, 16 Apr 2021 09:21:06 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 522B1610A8 for ; Fri, 16 Apr 2021 09:21:06 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 12/37] nptl_db: Introduce DB_MAIN_ARRAY_VARIABLE In-Reply-To: References: Message-Id: Date: Fri, 16 Apr 2021 11:21:24 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" And document the reason for DB_ARRAY_VARIABLE. 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 Fri Apr 16 09:21:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42996 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 80B70395540B; Fri, 16 Apr 2021 09:21:23 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 80B70395540B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564883; bh=bKt4vh174VatgQ0/fMY3bWoie4Bg1H0j25u9r0WW6qc=; 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=s064mAgHj0Cz0qa8Bfwhuqw+oKGEVDjuGk+H1GNUOtcjed5peZCNdL13FBjok2izN 0rG1Jw7CL/xNVwyEev9rfLHA6trJ6ccsRhlavfDsDQC3SlrT4GUlbEUBD+bxjmPnBV IpRQcJaj66IeVRphiyhYNpiXKmgLrSTWjXikkFtU= 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 7E6493892444 for ; Fri, 16 Apr 2021 09:21:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 7E6493892444 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-70-cRscaU89PGeb_1Lh515p2A-1; Fri, 16 Apr 2021 05:21:14 -0400 X-MC-Unique: cRscaU89PGeb_1Lh515p2A-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 3506F18397A5 for ; Fri, 16 Apr 2021 09:21:13 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8E9136E505 for ; Fri, 16 Apr 2021 09:21:12 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 13/37] nptl: Move __pthread_keys global variable into libc In-Reply-To: References: Message-Id: <854cfa979e9f1ba6a5135df53f2786bdf0301f08.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:21:30 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 5bfa721596..ab2c57ad0b 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -76,6 +76,7 @@ routines = \ pthread_getaffinity \ pthread_getattr_np \ pthread_getschedparam \ + pthread_keys \ pthread_kill \ pthread_mutex_consistent \ pthread_once \ diff --git a/nptl/Versions b/nptl/Versions index b4ee1bf309..51f8d65bf9 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -119,6 +119,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 64ec71c23f..c6f95c70a1 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -217,7 +217,7 @@ extern int __concurrency_level attribute_hidden; /* Thread-local data key handling. */ extern struct pthread_key_struct __pthread_keys[PTHREAD_KEYS_MAX]; -hidden_proto (__pthread_keys) +libc_hidden_proto (__pthread_keys) /* Number of threads running. */ extern unsigned int __nptl_nthreads; diff --git a/nptl/pthread_keys.c b/nptl/pthread_keys.c new file mode 100644 index 0000000000..76e4cfad34 --- /dev/null +++ b/nptl/pthread_keys.c @@ -0,0 +1,24 @@ +/* Table of pthread_key_create keys and their destructors. + Copyright (C) 2004-2021 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + . */ + +#include + +/* Table of the key information. */ +struct pthread_key_struct __pthread_keys[PTHREAD_KEYS_MAX] + __attribute__ ((nocommon)); +libc_hidden_data_def (__pthread_keys) diff --git a/nptl/vars.c b/nptl/vars.c index 51de9fbd54..8de30856b8 100644 --- a/nptl/vars.c +++ b/nptl/vars.c @@ -33,8 +33,3 @@ int __default_pthread_attr_lock = LLL_LOCK_INITIALIZER; nptl/descr.h for more context on the single-threaded process case. */ int __pthread_multiple_threads attribute_hidden; #endif - -/* Table of the key information. */ -struct pthread_key_struct __pthread_keys[PTHREAD_KEYS_MAX] - __attribute__ ((nocommon)); -hidden_data_def (__pthread_keys) diff --git a/nptl_db/structs.def b/nptl_db/structs.def index 1522c96f8f..33bf0f9be4 100644 --- a/nptl_db/structs.def +++ b/nptl_db/structs.def @@ -82,7 +82,7 @@ DB_MAIN_VARIABLE (__nptl_nthreads) DB_VARIABLE (__nptl_last_event) DB_VARIABLE (__nptl_initial_report_events) -DB_ARRAY_VARIABLE (__pthread_keys) +DB_MAIN_ARRAY_VARIABLE (__pthread_keys) DB_STRUCT (pthread_key_struct) DB_STRUCT_FIELD (pthread_key_struct, seq) DB_STRUCT_FIELD (pthread_key_struct, destr) From patchwork Fri Apr 16 09:21: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: 42997 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 854BC389202A; Fri, 16 Apr 2021 09:21:34 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 854BC389202A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564894; bh=dUfBu2qgkcjcvdyxdd4u3B7hd/ofC+wLxE/ip1JJXJE=; 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=XOEQn6sfFWh6l8uxmKvKEqK6qC+S14xyi5Tl4q4a1hinIy1v6KoATgQlSUFJMTo+E C+OXz/S0xPOjfBlFvXd9X2O98o6AxORGYVe2zGHAIL0cjACK4FiNQJ6NIhUOmoT3fC NWAPHo7qYmqjdm8hH7wVM78fk+vfbq2UK0L9IrQs= 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 0EA4D3892447 for ; Fri, 16 Apr 2021 09:21:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0EA4D3892447 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-XkbA1RTSMmWUbqTRsTep6g-1; Fri, 16 Apr 2021 05:21:25 -0400 X-MC-Unique: XkbA1RTSMmWUbqTRsTep6g-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 132346D24A for ; Fri, 16 Apr 2021 09:21:24 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1FE7A5C626 for ; Fri, 16 Apr 2021 09:21:22 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 14/37] nptl: Move __nptl_deallocate_tsd into libc In-Reply-To: References: Message-Id: <8bbcafe50c2ec48a2c7e03ab0a89778cbdf9a6e2.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:21:40 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 ab2c57ad0b..064c342854 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 51f8d65bf9..2fc5cc17ef 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -106,6 +106,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 aad4f21f74..701876dd5d 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -93,7 +93,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 c6f95c70a1..b47c4c5be1 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -686,7 +686,8 @@ extern void _pthread_cleanup_push_defer (struct _pthread_cleanup_buffer *buffer, extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer, int execute); -extern void __nptl_deallocate_tsd (void) attribute_hidden; +extern void __nptl_deallocate_tsd (void); +libc_hidden_proto (__nptl_deallocate_tsd) extern void __nptl_setxid_error (struct xid_command *cmdp, int error) attribute_hidden; diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 350bf03f5d..58e10e7741 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -242,100 +242,6 @@ __find_in_stack_list (struct pthread *pd) } -/* Deallocate POSIX thread-local-storage. */ -void -attribute_hidden -__nptl_deallocate_tsd (void) -{ - struct pthread *self = THREAD_SELF; - - /* Maybe no data was ever allocated. This happens often so we have - a flag for this. */ - if (THREAD_GETMEM (self, specific_used)) - { - size_t round; - size_t cnt; - - round = 0; - do - { - size_t idx; - - /* So far no new nonzero data entry. */ - THREAD_SETMEM (self, specific_used, false); - - for (cnt = idx = 0; cnt < PTHREAD_KEY_1STLEVEL_SIZE; ++cnt) - { - struct pthread_key_data *level2; - - level2 = THREAD_GETMEM_NC (self, specific, cnt); - - if (level2 != NULL) - { - size_t inner; - - for (inner = 0; inner < PTHREAD_KEY_2NDLEVEL_SIZE; - ++inner, ++idx) - { - void *data = level2[inner].data; - - if (data != NULL) - { - /* Always clear the data. */ - level2[inner].data = NULL; - - /* Make sure the data corresponds to a valid - key. This test fails if the key was - deallocated and also if it was - re-allocated. It is the user's - responsibility to free the memory in this - case. */ - if (level2[inner].seq - == __pthread_keys[idx].seq - /* It is not necessary to register a destructor - function. */ - && __pthread_keys[idx].destr != NULL) - /* Call the user-provided destructor. */ - __pthread_keys[idx].destr (data); - } - } - } - else - idx += PTHREAD_KEY_1STLEVEL_SIZE; - } - - if (THREAD_GETMEM (self, specific_used) == 0) - /* No data has been modified. */ - goto just_free; - } - /* We only repeat the process a fixed number of times. */ - while (__builtin_expect (++round < PTHREAD_DESTRUCTOR_ITERATIONS, 0)); - - /* Just clear the memory of the first block for reuse. */ - memset (&THREAD_SELF->specific_1stblock, '\0', - sizeof (self->specific_1stblock)); - - just_free: - /* Free the memory for the other blocks. */ - for (cnt = 1; cnt < PTHREAD_KEY_1STLEVEL_SIZE; ++cnt) - { - struct pthread_key_data *level2; - - level2 = THREAD_GETMEM_NC (self, specific, cnt); - if (level2 != NULL) - { - /* The first block is allocated as part of the thread - descriptor. */ - free (level2); - THREAD_SETMEM_NC (self, specific, cnt, NULL); - } - } - - THREAD_SETMEM (self, specific_used, false); - } -} - - /* Deallocate a thread's stack after optionally making sure the thread descriptor is still valid. */ void diff --git a/sysdeps/nptl/libc_start_call_main.h b/sysdeps/nptl/libc_start_call_main.h index 112cc20a7a..c579c65f78 100644 --- a/sysdeps/nptl/libc_start_call_main.h +++ b/sysdeps/nptl/libc_start_call_main.h @@ -60,12 +60,7 @@ __libc_start_call_main (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL), else { /* Remove the thread-local data. */ -# ifdef SHARED - PTHFCT_CALL (ptr__nptl_deallocate_tsd, ()); -# else - extern void __nptl_deallocate_tsd (void) __attribute ((weak)); __nptl_deallocate_tsd (); -# endif /* One less thread. Decrement the counter. If it is zero we terminate the entire process. */ diff --git a/sysdeps/nptl/pthread-functions.h b/sysdeps/nptl/pthread-functions.h index 2fa698b1da..b28b47ab0d 100644 --- a/sysdeps/nptl/pthread-functions.h +++ b/sysdeps/nptl/pthread-functions.h @@ -55,7 +55,6 @@ struct pthread_functions int (*ptr___pthread_key_create) (pthread_key_t *, void (*) (void *)); void *(*ptr___pthread_getspecific) (pthread_key_t); int (*ptr___pthread_setspecific) (pthread_key_t, const void *); - void (*ptr__nptl_deallocate_tsd) (void); int (*ptr__nptl_setxid) (struct xid_command *); void (*ptr_set_robust) (struct pthread *); }; From patchwork Fri Apr 16 09:21: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: 42998 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 1F5C53892027; Fri, 16 Apr 2021 09:21:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1F5C53892027 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564911; bh=B8Eh1F002OgQZZu16DA1LjoldatZG18muV7Zx4MzJvE=; 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=sabmbmaIcPY5dq3ZeFng5WcKgQNj843zRuJ6iiY4rH+l71E1ojzh1vQbfSUguyDBE wC2SrPLcWqjuw187198b8zQpQAguumAOjLFWWbzUbl5McwqXjB7uBcPmdJpvEfBCjp J1Z9xhRBr/iV5v919fm7XTwCX978DPJtl4b0G644= 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 03F373892016 for ; Fri, 16 Apr 2021 09:21:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 03F373892016 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-7-iV4B7BMHPl-VHNa5N_M-4Q-1; Fri, 16 Apr 2021 05:21:43 -0400 X-MC-Unique: iV4B7BMHPl-VHNa5N_M-4Q-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 4B7406D241 for ; Fri, 16 Apr 2021 09:21:42 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0C85A60C0F for ; Fri, 16 Apr 2021 09:21:40 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 15/37] nptl: Move pthread_exit into libc In-Reply-To: References: Message-Id: <2d949d0eaf0b462f8631ca248a91a8ddeb39793e.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:21:58 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Florian Weimer via Libc-alpha From: Florian Weimer Reply-To: Florian Weimer Errors-To: libc-alpha-bounces@sourceware.org Sender: "Libc-alpha" The pthread_exit symbol was moved using scripts/move-symbol-to-libc.py. No new symbol version is needed because there was a forwarder. The new tests nptl/tst-pthread_exit-nothreads and nptl/tst-pthread_exit-nothreads-static exercise the scenario that pthread_exit is called without libpthread having been linked in. This is not possible for the generic code, so these tests do not live in sysdeps/pthread for now. 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 | 9 ++++-- 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, 66 insertions(+), 55 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 064c342854..2df56df680 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 \ @@ -134,7 +135,6 @@ libpthread-routines = \ pthread_condattr_setpshared \ pthread_create \ pthread_detach \ - pthread_exit \ pthread_getattr_default_np \ pthread_getconcurrency \ pthread_getcpuclockid \ @@ -312,7 +312,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 @@ -437,7 +443,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 2fc5cc17ef..f563e3b6cf 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -118,6 +118,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; @@ -157,7 +158,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 701876dd5d..761294929c 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -80,7 +80,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 b47c4c5be1..b99aae2bfe 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -535,6 +535,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..6abf66463e 100644 --- a/nptl/pthread_exit.c +++ b/nptl/pthread_exit.c @@ -36,8 +36,11 @@ __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) +/* Ensure that the unwinder is always linked in (the __pthread_unwind + reference from __do_cancel is weak). Use ___pthread_unwind_next + (three underscores) to produce a strong reference to the same + file. */ +PTHREAD_STATIC_FN_REQUIRE (___pthread_unwind_next) 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 749ac603c9..e78455a0b7 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -56,7 +56,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 bcbff33b42..0656b865dd 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -25,7 +25,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 2b50af455a..cb11a71396 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -71,7 +71,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 2d92eb0367..1b749ca6d0 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -90,7 +90,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 2d92eb0367..1b749ca6d0 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -90,7 +90,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 f2eed97209..27b0798b96 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -69,7 +69,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 048c32459d..956f8d8662 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -56,7 +56,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 4aee237cf0..97c321b350 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -25,7 +25,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 998e8f7c0c..b9a05d7d5c 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -56,7 +56,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 2d92eb0367..1b749ca6d0 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -90,7 +90,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 4aee237cf0..97c321b350 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -25,7 +25,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 1a13be1350..09ce35e05e 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -56,7 +56,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 1a13be1350..09ce35e05e 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -56,7 +56,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 bb73c2e5f4..86b0cc4745 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -25,7 +25,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 bb73c2e5f4..86b0cc4745 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -25,7 +25,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 c23ec1ff7d..5a999ffa62 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -56,7 +56,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 d6efe96f57..0984b83366 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -25,7 +25,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 d82e1237ed..6ae5f446b2 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -76,7 +76,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 749ac603c9..e78455a0b7 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -56,7 +56,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 72d000c493..9b9cc7567d 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -71,7 +71,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 a33a3a74f3..9e902b5bc4 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -56,7 +56,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 b14419be4d..e5e82fb329 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -25,7 +25,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 9d428f7594..d6fb24cb91 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -57,7 +57,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 048c32459d..956f8d8662 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -56,7 +56,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 048c32459d..956f8d8662 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -56,7 +56,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 bcbff33b42..0656b865dd 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -25,7 +25,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 998e8f7c0c..b9a05d7d5c 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -56,7 +56,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 041abf003e..0a0845518e 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -56,7 +56,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 64dca92865..e052b94eb3 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -56,7 +56,6 @@ GLIBC_2.16 pthread_condattr_setclock F GLIBC_2.16 pthread_condattr_setpshared F GLIBC_2.16 pthread_create F GLIBC_2.16 pthread_detach F -GLIBC_2.16 pthread_exit F GLIBC_2.16 pthread_getconcurrency F GLIBC_2.16 pthread_getcpuclockid F GLIBC_2.16 pthread_getname_np F From patchwork Fri Apr 16 09:22:03 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 42999 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 1D15B3955436; Fri, 16 Apr 2021 09:21:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1D15B3955436 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564916; bh=5OsiMISht+zltpSYTcE9z3kYxOv2Lvg4oaa/i0KvBjo=; 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/iGYoeYo9uxoVx7UDFXX4X2Be741jZb4ZP2uCJu15NVEBU9kINiYJhcKukYqsTkP /4uclrBsVA/QytEeoCBjQEU/w6far3+PRVg2iT+WT9nJk8ESncE+tfYTuKDlaI28Yz vs7wnmfNgDzGXQ5WDtgn7xXivuy+L4gKdBvGa3mc= 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 9440F3892016 for ; Fri, 16 Apr 2021 09:21:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9440F3892016 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-98s61Y4fPwytfdvUw1Fypw-1; Fri, 16 Apr 2021 05:21:48 -0400 X-MC-Unique: 98s61Y4fPwytfdvUw1Fypw-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 6772A107ACC7 for ; Fri, 16 Apr 2021 09:21:47 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 42B305C8AA for ; Fri, 16 Apr 2021 09:21:46 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 16/37] nptl: Move pthread_setcancelstate into libc In-Reply-To: References: Message-Id: Date: Fri, 16 Apr 2021 11:22:03 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 2df56df680..183b4f01c0 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -83,6 +83,7 @@ routines = \ pthread_mutex_consistent \ pthread_once \ pthread_self \ + pthread_setcancelstate \ pthread_setschedparam \ pthread_sigmask \ unwind \ @@ -186,7 +187,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 f563e3b6cf..1314efc344 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -122,6 +122,7 @@ libc { __pthread_force_elision; __pthread_getattr_default_np; __pthread_keys; + __pthread_setcancelstate; __pthread_unwind; } } @@ -172,7 +173,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 761294929c..1dd4c02bc0 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -84,7 +84,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 b99aae2bfe..9215a76b61 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -387,7 +387,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); @@ -560,7 +559,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 ca3edd0af1..441da222c2 100644 --- a/sysdeps/nptl/libc-lockP.h +++ b/sysdeps/nptl/libc-lockP.h @@ -333,7 +333,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. */ @@ -359,7 +359,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 @@ -380,7 +379,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 e78455a0b7..79dc164acc 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -104,7 +104,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 0656b865dd..ed55e02894 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -39,7 +39,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 cb11a71396..2dbfe6d270 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -124,7 +124,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 1b749ca6d0..77a88c356b 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -135,7 +135,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 1b749ca6d0..77a88c356b 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -135,7 +135,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 27b0798b96..4915435656 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -119,7 +119,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 956f8d8662..cff48d589f 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -92,7 +92,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 97c321b350..63e48bd909 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -39,7 +39,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 b9a05d7d5c..d2ac2d943d 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -92,7 +92,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 1b749ca6d0..77a88c356b 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -135,7 +135,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 97c321b350..63e48bd909 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -39,7 +39,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 09ce35e05e..bb73a39ead 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -106,7 +106,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 09ce35e05e..bb73a39ead 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -106,7 +106,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 86b0cc4745..76ff31a4c2 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -39,7 +39,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 86b0cc4745..76ff31a4c2 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -39,7 +39,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 5a999ffa62..e1150a6598 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -106,7 +106,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 0984b83366..22435d4db4 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -39,7 +39,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 6ae5f446b2..f36953cf6a 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -112,7 +112,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 e78455a0b7..79dc164acc 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -104,7 +104,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 9b9cc7567d..de39822207 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -124,7 +124,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 9e902b5bc4..0c576328d3 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -106,7 +106,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 e5e82fb329..7d08398bf4 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -39,7 +39,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 d6fb24cb91..caeec6178a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -93,7 +93,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 956f8d8662..cff48d589f 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -92,7 +92,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 956f8d8662..cff48d589f 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -92,7 +92,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 0656b865dd..ed55e02894 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -39,7 +39,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 b9a05d7d5c..d2ac2d943d 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -92,7 +92,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 0a0845518e..7a645ca9ed 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -92,7 +92,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 e052b94eb3..52cef520d6 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -104,7 +104,6 @@ GLIBC_2.16 pthread_rwlockattr_init F GLIBC_2.16 pthread_rwlockattr_setkind_np F GLIBC_2.16 pthread_rwlockattr_setpshared F GLIBC_2.16 pthread_setaffinity_np F -GLIBC_2.16 pthread_setcancelstate F GLIBC_2.16 pthread_setcanceltype F GLIBC_2.16 pthread_setconcurrency F GLIBC_2.16 pthread_setname_np F From patchwork Fri Apr 16 09:22: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: 43000 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 131333892444; Fri, 16 Apr 2021 09:22:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 131333892444 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564929; bh=p9RaRCaFiAe41+il8ZULVXsNt/zfVyUbcrkBom7N/a4=; 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=KQZ1YZvldHfUEYz1a17E9SDz3wWsk3S+s48cfGJbLzEwRaIP+u6fLPR0xcsB4hDfv B30we7Mn60Hojl6JKhRDiws2Ndkmc42mBSGNgFcbqjvKPQynZ9qzHKgYgqGpRwQygc BHPPGYwC7ngirkGWt6wIq4PQPQpq4EzdG2msxBdA= 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 9C8483892025 for ; Fri, 16 Apr 2021 09:22:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 9C8483892025 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-3-dDTL2NFwPHqeRbiElGYVYg-1; Fri, 16 Apr 2021 05:22:01 -0400 X-MC-Unique: dDTL2NFwPHqeRbiElGYVYg-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 515CF18397A5 for ; Fri, 16 Apr 2021 09:22:00 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 43FA45D9C0 for ; Fri, 16 Apr 2021 09:21:59 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 17/37] nptl: Move pthread_setcanceltype into libc In-Reply-To: References: Message-Id: Date: Fri, 16 Apr 2021 11:22:16 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 --- 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 183b4f01c0..441b599a09 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -84,6 +84,7 @@ routines = \ pthread_once \ pthread_self \ pthread_setcancelstate \ + pthread_setcanceltype \ pthread_setschedparam \ pthread_sigmask \ unwind \ @@ -187,7 +188,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 1314efc344..9f1a51c707 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -173,7 +173,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 1dd4c02bc0..41c566c9bd 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -84,7 +84,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 9215a76b61..5242a2bce6 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -537,6 +537,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 79dc164acc..71d66d9d3d 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -104,7 +104,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 ed55e02894..303446ff29 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -39,7 +39,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 sem_destroy F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index 2dbfe6d270..a1a9c787d7 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -124,7 +124,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 77a88c356b..e7f8e1035c 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -135,7 +135,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 77a88c356b..e7f8e1035c 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -135,7 +135,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 4915435656..cd677e99e4 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -119,7 +119,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 cff48d589f..1757a1933d 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -92,7 +92,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 63e48bd909..4a617eedc2 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -39,7 +39,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 sem_destroy F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index d2ac2d943d..efb11a4d5f 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -92,7 +92,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 77a88c356b..e7f8e1035c 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -135,7 +135,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 63e48bd909..4a617eedc2 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -39,7 +39,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 sem_destroy F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index bb73a39ead..3a2ab6185a 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -106,7 +106,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 bb73a39ead..3a2ab6185a 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -106,7 +106,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 76ff31a4c2..595d05d480 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -39,7 +39,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 sem_destroy F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 76ff31a4c2..595d05d480 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -39,7 +39,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 sem_destroy F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index e1150a6598..f7d44c1203 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -106,7 +106,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 22435d4db4..54542074bb 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -39,7 +39,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 sem_destroy F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index f36953cf6a..69affe56e4 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -112,7 +112,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 79dc164acc..71d66d9d3d 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -104,7 +104,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 de39822207..855cff541f 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -124,7 +124,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 0c576328d3..4b78fa9a23 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -106,7 +106,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 7d08398bf4..fff355d154 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -39,7 +39,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 sem_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 caeec6178a..16cf03166d 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -93,7 +93,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 cff48d589f..1757a1933d 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -92,7 +92,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 cff48d589f..1757a1933d 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -92,7 +92,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 ed55e02894..303446ff29 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -39,7 +39,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 sem_destroy F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index d2ac2d943d..efb11a4d5f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -92,7 +92,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 7a645ca9ed..7a99bb952e 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -92,7 +92,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 52cef520d6..ae1c8a8244 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -104,7 +104,6 @@ GLIBC_2.16 pthread_rwlockattr_init F GLIBC_2.16 pthread_rwlockattr_setkind_np F GLIBC_2.16 pthread_rwlockattr_setpshared F GLIBC_2.16 pthread_setaffinity_np F -GLIBC_2.16 pthread_setcanceltype F GLIBC_2.16 pthread_setconcurrency F GLIBC_2.16 pthread_setname_np F GLIBC_2.16 pthread_setschedprio F From patchwork Fri Apr 16 09:22: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: 43001 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 9A4D33955C9A; Fri, 16 Apr 2021 09:22:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9A4D33955C9A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564933; bh=h8auHiPtz9f5eYW+u0nHrKzNqwK12o6JsJnfx6IN1eU=; 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=N7nTmwhcWdCyUDwde6Pdr7kvVRjgMOxYMM+rVT0nCaFvq9AD4W46mnRgWlPvTeC1n WcSNRjriHF0lYUXT/l8meIGN0Nxc9O+sd17/fN62RFOjt5km/g9vSYfMp/SMN7pRwl /CwtuBRfjS7eErtMMCoXjcn5g2jGmPU9uyPk7keQ= 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 60B25395541A for ; Fri, 16 Apr 2021 09:22:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 60B25395541A 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-318-CxX7r4FXPyGIbZy42-lbJw-1; Fri, 16 Apr 2021 05:22:05 -0400 X-MC-Unique: CxX7r4FXPyGIbZy42-lbJw-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 2D0791006C82 for ; Fri, 16 Apr 2021 09:22:05 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 93AB4669F3 for ; Fri, 16 Apr 2021 09:22:04 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 18/37] nptl: Invoke the set_robust_list system call directly in fork In-Reply-To: References: Message-Id: Date: Fri, 16 Apr 2021 11:22:22 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.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, 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 --------------------- nptl/pthreadP.h | 3 --- sysdeps/nptl/fork.c | 11 ++--------- sysdeps/nptl/pthread-functions.h | 1 - 4 files changed, 2 insertions(+), 34 deletions(-) diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 41c566c9bd..8f9d41ac62 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -59,14 +59,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 = { @@ -91,25 +83,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/nptl/pthreadP.h b/nptl/pthreadP.h index 5242a2bce6..7a3906e2de 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -692,9 +692,6 @@ libc_hidden_proto (__nptl_deallocate_tsd) extern void __nptl_setxid_error (struct xid_command *cmdp, int error) attribute_hidden; extern int __nptl_setxid (struct xid_command *cmdp) attribute_hidden; -#ifndef SHARED -extern void __nptl_set_robust (struct pthread *self); -#endif extern void __nptl_stacks_freeres (void) attribute_hidden; diff --git a/sysdeps/nptl/fork.c b/sysdeps/nptl/fork.c index ccdda11a7c..f41c40fca0 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 Fri Apr 16 09:22: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: 43002 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 91B913958C34; Fri, 16 Apr 2021 09:22:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 91B913958C34 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564938; bh=9IKrP83tWRK2f5OU0SPBzTZb7PIAcs5CTUa0h0d6cNw=; 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=IMg0xJg+xzLjgbhDoFuJNdFul92llA+rKczyaudXgh3LzVJXViHJ3KGsnFxbBlt+U Y517VyHBVsyTlBD0iQPH/XPewSiqL1nxXHvYvYGraMFNpbY0J/qP19KaZglkxJS+RF nScVtYa0Cr8A9qyT28aWloMPFtPlfMu34FUOovmc= 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 879E4395541A for ; Fri, 16 Apr 2021 09:22:15 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 879E4395541A 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-151--QFa6BiJPV6BQ0D79y7VwA-1; Fri, 16 Apr 2021 05:22:11 -0400 X-MC-Unique: -QFa6BiJPV6BQ0D79y7VwA-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 ED72484E20A for ; Fri, 16 Apr 2021 09:22:10 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 201A7437F for ; Fri, 16 Apr 2021 09:22:09 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 19/37] dlfcn: Failures after dlmopen should not terminate process [BZ #24772] In-Reply-To: References: Message-Id: <2b79983c9b286fddbc6793324098af610175893a.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:22:27 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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=-11.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, 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, 110 insertions(+), 4 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 1103559b9b..b51c158fc1 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -223,7 +223,7 @@ tests += restest1 preloadtest loadfail multiload origtest resolvfail \ 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-tls20 + tst-tls20 tst-dlmopen-dlerror # reldep9 tests-internal += loadtest unload unload2 circleload1 \ neededtest neededtest2 neededtest3 neededtest4 \ @@ -345,7 +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-tls20mod-bad + tst-tls20mod-bad tst-dlmopen-dlerror-mod \ # Most modules build with _ISOMAC defined, but those filtered out # depend on internal headers. @@ -1589,6 +1589,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..7e95dcdeac --- /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) 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 + +/* 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..e864d2fe4c --- /dev/null +++ b/elf/tst-dlmopen-dlerror.c @@ -0,0 +1,37 @@ +/* Check that dlfcn errors are reported properly after dlmopen. + 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 +#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 Fri Apr 16 09:22: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: 43004 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 B0F3E3959C1C; Fri, 16 Apr 2021 09:22:29 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B0F3E3959C1C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564949; bh=ficr7IQqDGDqElA6Qm0Ng6MjuE058wO9qj08nbUOKj0=; 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=Fs4ytwZE6RLwW/ks7SHLDMZTNE6fNiQ/c0ohUqgT3oHahi+esijibUyezyL+fyGPG ZqUdrUw44/ymi3jjG/HHuL4nctGWJFqbAaIwlwjy9o/2YSiFU+qrWYIO8DYkUaYo9I DNL/14/S3DyXrZacBa2sI1huWssU0EQdTIjyFS+Y= 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 6D8913959C1C for ; Fri, 16 Apr 2021 09:22:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6D8913959C1C 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-172-hV6oUdY2P66_glZq4q4bpg-1; Fri, 16 Apr 2021 05:22:17 -0400 X-MC-Unique: hV6oUdY2P66_glZq4q4bpg-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 4CC54874998 for ; Fri, 16 Apr 2021 09:22:16 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0B9DE6294D for ; Fri, 16 Apr 2021 09:22:14 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 20/37] dlfcn: dlerror needs to call free from the base namespace [BZ #24773] In-Reply-To: References: Message-Id: <86df98bb95c2f65f3cc52d0c60e48df5019b34d2.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:22:32 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.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, 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 | 305 ++++++++++++++-------------------- dlfcn/dlerror.h | 92 ++++++++++ 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, 329 insertions(+), 229 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..7db70a26d0 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,92 +38,75 @@ 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. See __libc_dlerror_result_free. */ + 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)); - return buf; + /* 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; + } + else + /* We could not create the combined error message, so use the + existing string as a fallback. */ + return result->errstring; } # ifdef SHARED strong_alias (__dlerror, dlerror) @@ -130,130 +115,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); - - /* If no error we mark that no error string is available. */ - result->returned = result->errstring == NULL; + const char *objname; + const char *errstring; + bool malloced; + int errcode = GLRO (dl_catch_error) (&objname, &errstring, &malloced, + operate, args); - return result->errstring != NULL; -} + /* ELF constructors or destructors may have indirectly altered the + value of __libc_dlerror_result, therefore reload it. */ + result = __libc_dlerror_result; - -/* 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..cb9a9cea4c --- /dev/null +++ b/dlfcn/dlerror.h @@ -0,0 +1,92 @@ +/* Memory management for dlerror messages. + 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 _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; + } +} + +/* Stand-in for an error result object whose allocation failed. No + precise message can be reported for this, but an error must still + be signaled. */ +static struct dl_action_result *const dl_action_result_malloc_failed + __attribute__ ((unused)) = (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..99747186b9 --- /dev/null +++ b/dlfcn/libc_dlerror_result.c @@ -0,0 +1,39 @@ +/* Thread-local variable holding the dlerror result. + 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 + +/* 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 7e95dcdeac..051025d3fa 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 e864d2fe4c..aa3d6598df 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 Fri Apr 16 09:22: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: 43003 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 2B83D395700F; Fri, 16 Apr 2021 09:22:27 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2B83D395700F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564947; bh=VAs4kkvIVdd++HGsZ7ZwTTpbdji0LEx8DaLKYuBE6Wk=; 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=s6DdCQGfY77A83Ly2mbQU5lzawiBOo9e3bqaczUEQiZ91eR3FTdAtdyY+VAkkP5mk IhwqDgdyGsd5Yp3EtrUnvW019Ihzm7cT2X0PgK+/CsMH7B0u9GTCs+Y964boKA+kmN PncyNLJZY4Vq6zoPUvRU1r0y2B8EvjZo3v88OQ6Y= 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 E587D395541A for ; Fri, 16 Apr 2021 09:22:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E587D395541A 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-T0TrSXYQMuu6VE3lgjXKhQ-1; Fri, 16 Apr 2021 05:22:21 -0400 X-MC-Unique: T0TrSXYQMuu6VE3lgjXKhQ-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3667583DD20 for ; Fri, 16 Apr 2021 09:22:21 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8D16D10074FC for ; Fri, 16 Apr 2021 09:22:20 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 21/37] Remove pthread_key_create-related internals from libc-lock.h In-Reply-To: References: Message-Id: <686c7d907a7640bb3e90144966ea92927a95a792.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:22:38 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.4 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. --- sysdeps/generic/libc-lock.h | 12 ------------ sysdeps/htl/libc-lockP.h | 13 ------------- sysdeps/nptl/libc-lockP.h | 30 +++++++----------------------- 3 files changed, 7 insertions(+), 48 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 441da222c2..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,18 +264,13 @@ __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. */ +extern int __register_atfork (void (*__prepare) (void), + void (*__parent) (void), + void (*__child) (void), + void *__dso_handle); /* Functions that are used by this file and are internal to the GNU C library. */ @@ -316,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 Fri Apr 16 09:22: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: 43005 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 223523959C64; Fri, 16 Apr 2021 09:22:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 223523959C64 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564957; bh=YmAev0s6lwY0QRziuSHxra24OMoCItbr1MmRNfSkrX0=; 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=ntzyXNAUoQe8EfDRMAULF/l70FE8b8Gxdh3ap1rDzrnxX6qD5y2C7ESTnbcmwCwRf cWSYMbzFr6XpVteVzeBVK2mgKgjvnds74F8p+aTvkUKLPhEW6Po2IsQlSy6RjDsC+b DJ07BDeTkzAq/adSBe2OQaWAjZFhsBDkGIR0T5vM= 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 72B63395B822 for ; Fri, 16 Apr 2021 09:22:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 72B63395B822 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-101-l0btoPMGOw-OTLJWdj0qng-1; Fri, 16 Apr 2021 05:22:31 -0400 X-MC-Unique: l0btoPMGOw-OTLJWdj0qng-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 4FF7518397A5 for ; Fri, 16 Apr 2021 09:22:30 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 76F2C60C0F for ; Fri, 16 Apr 2021 09:22:29 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 22/37] elf: Introduce __tls_init_tp for second-phase TCB initialization In-Reply-To: References: Message-Id: <9aee4d076ff2966417fcb934b8347079f5ea54c8.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:22:46 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 b51c158fc1..f09988f7d2 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 Fri Apr 16 09:22: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: 43006 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 C62AE3958C1D; Fri, 16 Apr 2021 09:22:41 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C62AE3958C1D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564961; bh=lidN+uzSouT4ADrq7+Wo3D9DOvsmuT27T1X2TU0o1Dc=; 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=AbvjQL15IyffV+QyMfWDtTI20AeabcL4flU3Wpxo0uBVSejSXctWVQL0Ra0C3rIkR /JVJCLChqfd+hmv8Y/V4H1vAGadI5QA8iYU5OHG5VLI/7T2msVl2mTSc4GUUkBgDZS Ifmnb0C1Kh0JVn935DQsb7rudUjwsAxkA7N2nebU= 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 EA5E93958C1D for ; Fri, 16 Apr 2021 09:22:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org EA5E93958C1D 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-421-oX0Mv2uSNVOZLxl6ULFTAg-1; Fri, 16 Apr 2021 05:22:36 -0400 X-MC-Unique: oX0Mv2uSNVOZLxl6ULFTAg-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 47E8B107ACC7 for ; Fri, 16 Apr 2021 09:22:35 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4F0AE19727 for ; Fri, 16 Apr 2021 09:22:34 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 23/37] nptl: Move part of TCB initialization from libpthread to __tls_init_tp In-Reply-To: References: Message-Id: <5fcef5adf869971854a36d6bca6aa9be6146f08d.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:22:51 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 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 9f1a51c707..2153670c7d 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -372,3 +372,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 8f9d41ac62..8d3a9de44d 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -35,7 +35,6 @@ #include #include #include -#include #include #ifndef TLS_MULTIPLE_THREADS_IN_TCB @@ -47,15 +46,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; @@ -193,31 +183,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 7a3906e2de..b61fda8942 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 Fri Apr 16 09:22: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: 43007 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 66B89395C07D; Fri, 16 Apr 2021 09:22:56 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 66B89395C07D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564976; bh=lZEfXarB8C6QqmzhTyzuNrVxv4UqzZkihCiz4vTIS50=; 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=bo7/SJGhMEiVRPvHt9u5iTmiKeMPNkT1SHpis++57bZJVNMtOhfOQTSBwhCEoaFtU VkP8zWNMKJad8NqVnLWu6DewJerjbIBO+1TCHef+o7zgcTxK6WArsbj5yE0tWZgvGN 7ZiuPgbRnxBTOtF0QXhQv3r7F5tGD9xF5rKONwp0= 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 DBB29395C402 for ; Fri, 16 Apr 2021 09:22:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org DBB29395C402 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-376-upDXXo1kOHGBw-ZHn6sKZg-1; Fri, 16 Apr 2021 05:22:42 -0400 X-MC-Unique: upDXXo1kOHGBw-ZHn6sKZg-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 6105818397A5 for ; Fri, 16 Apr 2021 09:22:41 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7F5C05D9C0 for ; Fri, 16 Apr 2021 09:22:39 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 24/37] nptl: Move pthread_key_create, __pthread_key_create into libc In-Reply-To: References: Message-Id: <71c6ad3a623ef5745bc3c96518d0d6eea6d1d4c6.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:22:57 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 | 20 ++++++++++++++----- 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, 148 insertions(+), 71 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 441b599a09..2230971a1a 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_kill \ pthread_mutex_consistent \ @@ -144,7 +145,6 @@ libpthread-routines = \ pthread_getspecific \ pthread_join \ pthread_join_common \ - pthread_key_create \ pthread_key_delete \ pthread_kill_other_threads \ pthread_mutex_cond_lock \ diff --git a/nptl/Versions b/nptl/Versions index 2153670c7d..5df4759c1c 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_kill; pthread_mutex_destroy; pthread_mutex_init; @@ -87,7 +89,9 @@ libc { } GLIBC_2.34 { __pthread_cleanup_routine; + __pthread_key_create; __pthread_once; + pthread_key_create; pthread_kill; pthread_mutex_consistent; pthread_once; @@ -137,7 +141,6 @@ libpthread { __h_errno_location; __pthread_atfork; __pthread_getspecific; - __pthread_key_create; __pthread_mutex_destroy; __pthread_mutex_init; __pthread_mutex_lock; @@ -161,7 +164,6 @@ libpthread { pthread_detach; pthread_getspecific; pthread_join; - pthread_key_create; pthread_key_delete; pthread_kill_other_threads_np; pthread_mutex_destroy; diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 8d3a9de44d..c2cb8acdaa 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -69,7 +69,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 b61fda8942..32b1c102a6 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -559,7 +559,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..46c5d7b7ff 100644 --- a/nptl/pthread_key_create.c +++ b/nptl/pthread_key_create.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002-2021 Free Software Foundation, Inc. + /* Copyright (C) 2002-2021 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 2002. @@ -19,10 +19,10 @@ #include #include "pthreadP.h" #include - +#include int -__pthread_key_create (pthread_key_t *key, void (*destr) (void *)) +___pthread_key_create (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,15 @@ __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, __pthread_key_create, + GLIBC_2_34); +libc_hidden_ver (___pthread_key_create, __pthread_key_create) + +versioned_symbol (libc, ___pthread_key_create, pthread_key_create, + GLIBC_2_34); +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_key_create, __pthread_key_create, + GLIBC_2_0); +compat_symbol (libpthread, ___pthread_key_create, 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 051d2c8ce8..91ca4875f8 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 @@ -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_key_create F GLIBC_2.17 pthread_kill F GLIBC_2.17 pthread_mutex_consistent F GLIBC_2.17 pthread_mutex_consistent_np F @@ -2185,8 +2187,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_kill 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 71d66d9d3d..adc8aefd2e 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F GLIBC_2.17 __h_errno_location 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 @@ -61,7 +60,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_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 caf21ec630..a64286f37f 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2273,8 +2275,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_kill 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 303446ff29..2e3ec39ef6 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -27,7 +26,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_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 fc492e5a54..390f7d8c9d 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_kill F GLIBC_2.32 pthread_mutex_consistent F GLIBC_2.32 pthread_mutex_consistent_np F @@ -1944,8 +1946,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_kill 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 a1a9c787d7..c15f089234 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.32 _IO_funlockfile F GLIBC_2.32 __errno_location F GLIBC_2.32 __h_errno_location 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 @@ -77,7 +76,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_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 b4a87c888d..7891ed328c 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_kill F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F @@ -491,6 +493,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 @@ -1549,6 +1552,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_kill 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 e7f8e1035c..c00e3f0a30 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -38,7 +38,6 @@ GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __h_errno_location 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 @@ -94,7 +93,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_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 8b5acb0a2a..efe19f5872 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_kill F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F @@ -488,6 +490,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 @@ -1546,6 +1549,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_kill 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 e7f8e1035c..c00e3f0a30 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -38,7 +38,6 @@ GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __h_errno_location 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 @@ -94,7 +93,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_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 5ad9646b79..51cd9d7655 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_kill F GLIBC_2.29 pthread_mutex_consistent F GLIBC_2.29 pthread_mutex_consistent_np F @@ -2128,8 +2130,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_kill 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 cd677e99e4..1080b48b74 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.29 _IO_funlockfile F GLIBC_2.29 __errno_location F GLIBC_2.29 __h_errno_location 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 @@ -75,7 +74,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_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 8b69cff0d1..7fbbaac346 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_kill F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2086,8 +2088,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_kill 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 1757a1933d..65a9609375 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -11,7 +11,6 @@ GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -60,7 +59,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_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 a94b969f7b..0dad4aa2fb 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2263,8 +2265,10 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill 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 4a617eedc2..25904ff703 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -27,7 +26,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_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 03bdbc994f..9e332a6800 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_kill F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2120,8 +2122,10 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill 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 efb11a4d5f..5b110006ca 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -11,7 +11,6 @@ GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -60,7 +59,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_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 f841ed55a1..6276dbc497 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_kill F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F @@ -477,6 +479,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 @@ -1529,6 +1532,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_kill 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 e7f8e1035c..c00e3f0a30 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -38,7 +38,6 @@ GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __h_errno_location 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 @@ -94,7 +93,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_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 6bd1e4dfa9..113f66df50 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2206,8 +2208,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_kill 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 4a617eedc2..25904ff703 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -27,7 +26,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_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 dae2a80946..bab198fee0 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_kill F GLIBC_2.18 pthread_mutex_consistent F GLIBC_2.18 pthread_mutex_consistent_np F @@ -2179,8 +2181,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_kill 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 3a2ab6185a..ea38f5ccf6 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F GLIBC_2.18 __h_errno_location 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 @@ -62,7 +61,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_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 86b9741aab..ad2a4c20aa 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_kill F GLIBC_2.18 pthread_mutex_consistent F GLIBC_2.18 pthread_mutex_consistent_np F @@ -2176,8 +2178,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_kill 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 3a2ab6185a..ea38f5ccf6 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F GLIBC_2.18 __h_errno_location 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 @@ -62,7 +61,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_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 e52b0de4a2..7d43b739c7 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2169,8 +2171,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_kill 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 595d05d480..2c816c35be 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -27,7 +26,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_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 6b4661ada1..3bbf8769be 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2167,8 +2169,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_kill 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 595d05d480..2c816c35be 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -27,7 +26,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_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 5159c2c91d..b8d457707f 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2175,8 +2177,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_kill 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 c38118f8d2..8a6882e12d 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2169,8 +2171,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_kill 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 ea083eb1c4..efdecd9415 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 @@ -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_key_create F GLIBC_2.21 pthread_kill F GLIBC_2.21 pthread_mutex_consistent F GLIBC_2.21 pthread_mutex_consistent_np F @@ -2218,8 +2220,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_kill 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 f7d44c1203..5a33aadb5d 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.21 _IO_funlockfile F GLIBC_2.21 __errno_location F GLIBC_2.21 __h_errno_location 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 @@ -62,7 +61,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_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 b64bcadc63..628aec0e70 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2233,8 +2235,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_kill 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 54542074bb..e8cfd875b5 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -27,7 +26,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_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 158ef69070..c3a14f97c9 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2266,8 +2268,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_kill 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 15a210e42b..5a9a7e04bf 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_kill F GLIBC_2.3 pthread_mutex_destroy F GLIBC_2.3 pthread_mutex_init F @@ -2088,8 +2090,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_kill 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 69affe56e4..0c975e822f 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -32,7 +32,6 @@ GLIBC_2.3 _IO_funlockfile F GLIBC_2.3 __errno_location F GLIBC_2.3 __h_errno_location 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 @@ -80,7 +79,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_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 81c3dfbcb3..81a684d488 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_kill F GLIBC_2.17 pthread_mutex_consistent F GLIBC_2.17 pthread_mutex_consistent_np F @@ -2381,8 +2383,10 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill 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 71d66d9d3d..adc8aefd2e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F GLIBC_2.17 __h_errno_location 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 @@ -61,7 +60,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_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 dd17df3fa6..ba700c789f 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_kill F GLIBC_2.33 pthread_mutex_consistent F GLIBC_2.33 pthread_mutex_consistent_np F @@ -1946,8 +1948,10 @@ 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_kill 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 855cff541f..40f0d61c83 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.33 _IO_funlockfile F GLIBC_2.33 __errno_location F GLIBC_2.33 __h_errno_location 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 @@ -77,7 +76,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_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 3cc6cacdd8..5ec61ff8a4 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_kill F GLIBC_2.27 pthread_mutex_consistent F GLIBC_2.27 pthread_mutex_consistent_np F @@ -2146,8 +2148,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_kill 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 4b78fa9a23..1a75e0e81b 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.27 _IO_funlockfile F GLIBC_2.27 __errno_location F GLIBC_2.27 __h_errno_location 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 @@ -62,7 +61,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_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 e94f223f7a..96cd178984 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2231,8 +2233,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_kill 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 fff355d154..e9cbbb930a 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -27,7 +26,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_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 ebf0632ac7..e33f0031e6 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_kill F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2124,8 +2126,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_kill 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 16cf03166d..4a49b2db72 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -12,7 +12,6 @@ GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -61,7 +60,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_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 2bf00600de..57e8c30f2b 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_kill F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2093,8 +2095,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_kill 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 1757a1933d..65a9609375 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -11,7 +11,6 @@ GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -60,7 +59,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_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 7565f4037b..1eb81d1799 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_kill F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2090,8 +2092,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_kill 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 1757a1933d..65a9609375 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -11,7 +11,6 @@ GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -60,7 +59,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_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 75dcf2c25b..7f8e160d70 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init 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_kill 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 303446ff29..2e3ec39ef6 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -27,7 +26,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_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 fd0ab20f36..0a266ce90f 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_kill F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2141,8 +2143,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_kill 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 efb11a4d5f..5b110006ca 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -11,7 +11,6 @@ GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -60,7 +59,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_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 c4b12e57ad..1a2744bc7c 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_kill F GLIBC_2.2.5 pthread_mutex_destroy F GLIBC_2.2.5 pthread_mutex_init F @@ -2102,8 +2104,10 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill 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 7a99bb952e..1e09a44a4d 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -11,7 +11,6 @@ GLIBC_2.2.5 _IO_funlockfile F GLIBC_2.2.5 __errno_location F GLIBC_2.2.5 __h_errno_location 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 @@ -60,7 +59,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_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 7efe537808..1c38683b4b 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_kill F GLIBC_2.16 pthread_mutex_consistent F GLIBC_2.16 pthread_mutex_consistent_np F @@ -2200,8 +2202,10 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill 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 ae1c8a8244..c7d4f0ab6e 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.16 _IO_funlockfile F GLIBC_2.16 __errno_location F GLIBC_2.16 __h_errno_location 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 @@ -61,7 +60,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_other_threads_np F GLIBC_2.16 pthread_mutex_destroy F From patchwork Fri Apr 16 09:23: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: 43008 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 9BDDB3956835; Fri, 16 Apr 2021 09:23:18 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9BDDB3956835 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618564998; bh=5CVIz9pd1MVrO0WWP97EcZVY4ntBgOQOtxL5VPjfYeU=; 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=cSybOaeQ8O+6cjlGF40eob5dbZDlCt7y1Q3Mb7QQOVClgYJiDvbtAdOQrzsFx7VIv yGXohjPFmTlRFFH3DUARNiTy/HzyY5FaAehirfhiGPKO+ou/aCiZEA3a0+FE22YhYP 8rY0V0+jbOX5zNXRYSOLiJl1vwTJBPFbEOMtTDqE= 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 3B307395C824 for ; Fri, 16 Apr 2021 09:23:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3B307395C824 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-18-1CNif0UcNXSGgDIsGdSzJQ-1; Fri, 16 Apr 2021 05:23:07 -0400 X-MC-Unique: 1CNif0UcNXSGgDIsGdSzJQ-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 F2ABA6D241 for ; Fri, 16 Apr 2021 09:23:06 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 04C1F669F2 for ; Fri, 16 Apr 2021 09:23:04 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 25/37] nptl: Move pthread_getspecific, __pthread_getspecific into libc In-Reply-To: References: Message-Id: <55f787c2c94f79648392fc03bf8cfa6f50372397.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:23:22 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 | 18 ++++++++++++++---- sysdeps/nptl/libc-lockP.h | 2 -- sysdeps/nptl/pthread-functions.h | 1 - sysdeps/unix/sysv/linux/aarch64/libc.abilist | 4 ++++ .../unix/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 ++++ sysdeps/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 -- .../unix/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 -- .../unix/sysv/linux/microblaze/be/libc.abilist | 4 ++++ .../linux/microblaze/be/libpthread.abilist | 2 -- .../unix/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 ++++ .../linux/powerpc/powerpc32/libpthread.abilist | 2 -- .../linux/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 ++++ .../sysv/linux/s390/s390-32/libpthread.abilist | 2 -- .../unix/sysv/linux/s390/s390-64/libc.abilist | 4 ++++ .../sysv/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 -- .../unix/sysv/linux/sparc/sparc32/libc.abilist | 4 ++++ .../linux/sparc/sparc32/libpthread.abilist | 2 -- .../unix/sysv/linux/sparc/sparc64/libc.abilist | 4 ++++ .../linux/sparc/sparc64/libpthread.abilist | 2 -- sysdeps/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, 148 insertions(+), 70 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 2230971a1a..3ffe2599e4 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_kill \ @@ -142,7 +143,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 5df4759c1c..728aa37946 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_kill; pthread_mutex_destroy; @@ -89,8 +91,10 @@ libc { } GLIBC_2.34 { __pthread_cleanup_routine; + __pthread_getspecific; __pthread_key_create; __pthread_once; + pthread_getspecific; pthread_key_create; pthread_kill; pthread_mutex_consistent; @@ -140,7 +144,6 @@ libpthread { __errno_location; __h_errno_location; __pthread_atfork; - __pthread_getspecific; __pthread_mutex_destroy; __pthread_mutex_init; __pthread_mutex_lock; @@ -162,7 +165,6 @@ libpthread { pthread_cond_wait; pthread_create; pthread_detach; - pthread_getspecific; pthread_join; pthread_key_delete; pthread_kill_other_threads_np; diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index c2cb8acdaa..7c1c871821 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -69,7 +69,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 32b1c102a6..a8241a4725 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -524,6 +524,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)); @@ -559,7 +560,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..230497a84d 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 (pthread_key_t key) { struct pthread_key_data *data; @@ -63,5 +63,15 @@ __pthread_getspecific (pthread_key_t key) return result; } -weak_alias (__pthread_getspecific, pthread_getspecific) -hidden_def (__pthread_getspecific) +versioned_symbol (libc, ___pthread_getspecific, __pthread_getspecific, + GLIBC_2_34); +libc_hidden_ver (___pthread_getspecific, __pthread_getspecific) + +versioned_symbol (libc, ___pthread_getspecific, pthread_getspecific, + GLIBC_2_34); +#if OTHER_SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_getspecific, __pthread_getspecific, + GLIBC_2_0); +compat_symbol (libpthread, ___pthread_getspecific, 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 91ca4875f8..648fb0c0e3 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 @@ -1451,6 +1452,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_kill F GLIBC_2.17 pthread_mutex_consistent F @@ -2187,9 +2189,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_kill 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 adc8aefd2e..ac1f297405 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.17 _IO_ftrylockfile F GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F GLIBC_2.17 __h_errno_location 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 @@ -58,7 +57,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_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index a64286f37f..d15b8a428b 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_kill F GLIBC_2.0 pthread_mutex_destroy F @@ -2275,9 +2277,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 2e3ec39ef6..400e0b824f 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,7 +23,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_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 390f7d8c9d..04f71fc6e2 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_kill F GLIBC_2.32 pthread_mutex_consistent F @@ -1946,9 +1948,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_kill 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 c15f089234..18014409dd 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.32 _IO_ftrylockfile F GLIBC_2.32 _IO_funlockfile F GLIBC_2.32 __errno_location F GLIBC_2.32 __h_errno_location 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 @@ -74,7 +73,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_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 7891ed328c..c1fb86bc65 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_kill F GLIBC_2.34 pthread_mutex_consistent F @@ -493,6 +495,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 @@ -1552,6 +1555,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_kill F GLIBC_2.4 pthread_mutex_consistent_np F diff --git a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist index c00e3f0a30..ae20fe71a6 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __h_errno_location 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 @@ -91,7 +90,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_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 efe19f5872..fe290bd39c 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_kill F GLIBC_2.34 pthread_mutex_consistent 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_getspecific F GLIBC_2.4 __pthread_key_create F GLIBC_2.4 __pthread_once F GLIBC_2.4 __pthread_unwind_next F @@ -1549,6 +1552,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_kill F GLIBC_2.4 pthread_mutex_consistent_np F diff --git a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist index c00e3f0a30..ae20fe71a6 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __h_errno_location 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 @@ -91,7 +90,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_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index 51cd9d7655..09695a41f6 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_kill F GLIBC_2.29 pthread_mutex_consistent F @@ -2130,9 +2132,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_kill 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 1080b48b74..b6c4475000 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.29 _IO_ftrylockfile F GLIBC_2.29 _IO_funlockfile F GLIBC_2.29 __errno_location F GLIBC_2.29 __h_errno_location 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 @@ -72,7 +71,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_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index 7fbbaac346..b79e59b63e 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_kill F GLIBC_2.2 pthread_mutex_destroy F @@ -2088,9 +2090,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index 65a9609375..cba038e89b 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -10,7 +10,6 @@ GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -57,7 +56,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_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 0dad4aa2fb..02b951115f 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_kill F GLIBC_2.0 pthread_mutex_destroy F @@ -2265,9 +2267,11 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index 25904ff703..5902f068db 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,7 +23,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_other_threads_np F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 9e332a6800..04428ee03c 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_kill F GLIBC_2.2 pthread_mutex_destroy F @@ -2122,9 +2124,11 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 5b110006ca..fc8f95ef0f 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -10,7 +10,6 @@ GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -57,7 +56,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_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 6276dbc497..39194dc318 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_kill F GLIBC_2.34 pthread_mutex_consistent F @@ -479,6 +481,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 @@ -1532,6 +1535,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_kill F GLIBC_2.4 pthread_mutex_consistent_np F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist index c00e3f0a30..ae20fe71a6 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -37,7 +37,6 @@ GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __h_errno_location 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 @@ -91,7 +90,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_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 113f66df50..eebe236719 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_kill F GLIBC_2.0 pthread_mutex_destroy F @@ -2208,9 +2210,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index 25904ff703..5902f068db 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,7 +23,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_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 bab198fee0..75fb62bf05 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_kill F GLIBC_2.18 pthread_mutex_consistent F @@ -2181,9 +2183,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_kill 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 ea38f5ccf6..541556e537 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.18 _IO_ftrylockfile F GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F GLIBC_2.18 __h_errno_location 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 @@ -59,7 +58,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_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 ad2a4c20aa..7d21581fbe 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_kill F GLIBC_2.18 pthread_mutex_consistent F @@ -2178,9 +2180,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_kill 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 ea38f5ccf6..541556e537 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.18 _IO_ftrylockfile F GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F GLIBC_2.18 __h_errno_location 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 @@ -59,7 +58,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_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 7d43b739c7..b59c980ee1 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_kill F GLIBC_2.0 pthread_mutex_destroy F @@ -2171,9 +2173,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index 2c816c35be..a87fff0c85 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,7 +23,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_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 3bbf8769be..39518f1410 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_kill F GLIBC_2.0 pthread_mutex_destroy F @@ -2169,9 +2171,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index 2c816c35be..a87fff0c85 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,7 +23,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_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 b8d457707f..06558444fc 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_kill F GLIBC_2.0 pthread_mutex_destroy 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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index 8a6882e12d..b772fb17cf 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_kill F GLIBC_2.0 pthread_mutex_destroy F @@ -2171,9 +2173,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index efdecd9415..a05fab59fe 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 @@ -1496,6 +1497,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_kill F GLIBC_2.21 pthread_mutex_consistent F @@ -2220,9 +2222,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_kill 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 5a33aadb5d..c2a599b239 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.21 _IO_ftrylockfile F GLIBC_2.21 _IO_funlockfile F GLIBC_2.21 __errno_location F GLIBC_2.21 __h_errno_location 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 @@ -59,7 +58,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_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 628aec0e70..759c42cb97 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_kill F GLIBC_2.0 pthread_mutex_destroy F @@ -2235,9 +2237,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index e8cfd875b5..e6d64b91f2 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,7 +23,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_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 c3a14f97c9..bb4757c8d9 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_kill F GLIBC_2.0 pthread_mutex_destroy F @@ -2268,9 +2270,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 5a9a7e04bf..34c223cf0a 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_kill F GLIBC_2.3 pthread_mutex_destroy F @@ -2090,9 +2092,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 0c975e822f..ff0e06b5e9 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -31,7 +31,6 @@ GLIBC_2.3 _IO_ftrylockfile F GLIBC_2.3 _IO_funlockfile F GLIBC_2.3 __errno_location F GLIBC_2.3 __h_errno_location 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 @@ -77,7 +76,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_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 81a684d488..7546541845 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_kill F GLIBC_2.17 pthread_mutex_consistent F @@ -2383,9 +2385,11 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill 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 adc8aefd2e..ac1f297405 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.17 _IO_ftrylockfile F GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F GLIBC_2.17 __h_errno_location 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 @@ -58,7 +57,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_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 ba700c789f..6270fd141a 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_kill F GLIBC_2.33 pthread_mutex_consistent F @@ -1948,9 +1950,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_kill 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 40f0d61c83..822af61870 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.33 _IO_ftrylockfile F GLIBC_2.33 _IO_funlockfile F GLIBC_2.33 __errno_location F GLIBC_2.33 __h_errno_location 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 @@ -74,7 +73,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_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 5ec61ff8a4..0d2ddc22aa 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_kill F GLIBC_2.27 pthread_mutex_consistent F @@ -2148,9 +2150,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_kill 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 1a75e0e81b..b01332b71e 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.27 _IO_ftrylockfile F GLIBC_2.27 _IO_funlockfile F GLIBC_2.27 __errno_location F GLIBC_2.27 __h_errno_location 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 @@ -59,7 +58,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_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 96cd178984..9b747bd411 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_kill F GLIBC_2.0 pthread_mutex_destroy F @@ -2233,9 +2235,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index e9cbbb930a..199b579683 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,7 +23,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_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 e33f0031e6..349642d1f9 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_kill F GLIBC_2.2 pthread_mutex_destroy F @@ -2126,9 +2128,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index 4a49b2db72..612d7a39d5 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -11,7 +11,6 @@ GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -58,7 +57,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_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 57e8c30f2b..68cc0fe760 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_kill F GLIBC_2.2 pthread_mutex_destroy F @@ -2095,9 +2097,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index 65a9609375..cba038e89b 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -10,7 +10,6 @@ GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -57,7 +56,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_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 1eb81d1799..582cbb59ad 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_kill F GLIBC_2.2 pthread_mutex_destroy F @@ -2092,9 +2094,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index 65a9609375..cba038e89b 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -10,7 +10,6 @@ GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -57,7 +56,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_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 7f8e160d70..392359b52a 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_kill F GLIBC_2.0 pthread_mutex_destroy 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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 2e3ec39ef6..400e0b824f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,7 +23,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_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 0a266ce90f..43ce1cbc0d 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_kill F GLIBC_2.2 pthread_mutex_destroy F @@ -2143,9 +2145,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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 5b110006ca..fc8f95ef0f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -10,7 +10,6 @@ GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -57,7 +56,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_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 1a2744bc7c..374b6c78a4 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_kill F GLIBC_2.2.5 pthread_mutex_destroy F @@ -2104,9 +2106,11 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill F GLIBC_2.34 pthread_mutex_consistent F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index 1e09a44a4d..aa14ca52fb 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -10,7 +10,6 @@ GLIBC_2.2.5 _IO_ftrylockfile F GLIBC_2.2.5 _IO_funlockfile F GLIBC_2.2.5 __errno_location F GLIBC_2.2.5 __h_errno_location 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 @@ -57,7 +56,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_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 1c38683b4b..943a2f6dc4 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_kill F GLIBC_2.16 pthread_mutex_consistent F @@ -2202,9 +2204,11 @@ GLIBC_2.33 stat64 F GLIBC_2.34 __isnanf128 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_kill 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 c7d4f0ab6e..7b9ab492fd 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -3,7 +3,6 @@ GLIBC_2.16 _IO_ftrylockfile F GLIBC_2.16 _IO_funlockfile F GLIBC_2.16 __errno_location F GLIBC_2.16 __h_errno_location 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 @@ -58,7 +57,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_other_threads_np F From patchwork Fri Apr 16 09:23:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43009 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 A70263968C1C; Fri, 16 Apr 2021 09:23:25 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A70263968C1C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618565005; bh=+upPny9BcGYUavpsmWr/JS1HRtQzqtg+cTC8QqLXGPs=; 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=PQu2aTpW5saJeYVEduZu0s0SGaywu2+Xw7vJKdz4jcGScfliotR4sYIkue+Lll+nw r9BWxtim5wybzlm5gwhuN9BaZPyTVYu5rWDtAX6gsg7sQVi7ddgQXhXNotJ6qdkaS9 yu3aafwTGpmeKIfhMC0KwszeUVm/WDIXrmXJAbyI= 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 B61C8395541A for ; Fri, 16 Apr 2021 09:23:16 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org B61C8395541A 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-526-e-0C6OE7OCmqgx_WdtbjnA-1; Fri, 16 Apr 2021 05:23:13 -0400 X-MC-Unique: e-0C6OE7OCmqgx_WdtbjnA-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 E46298030A0 for ; Fri, 16 Apr 2021 09:23:12 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0F0465D9C0 for ; Fri, 16 Apr 2021 09:23:10 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 26/37] nptl: Move pthread_setspecific, __pthread_setspecific into libc In-Reply-To: References: Message-Id: <9cad8363ac961799556ce9519969de4ed5347ad8.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:23:28 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 | 20 +++++++++++++++---- 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 3ffe2599e4..81bbf41f96 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -88,6 +88,7 @@ routines = \ pthread_setcancelstate \ pthread_setcanceltype \ pthread_setschedparam \ + pthread_setspecific \ pthread_sigmask \ unwind \ @@ -191,7 +192,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 728aa37946..a511b6e4f2 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; @@ -42,6 +43,7 @@ libc { pthread_setcancelstate; pthread_setcanceltype; pthread_setschedparam; + pthread_setspecific; pthread_sigmask; } GLIBC_2.1 { @@ -94,11 +96,13 @@ libc { __pthread_getspecific; __pthread_key_create; __pthread_once; + __pthread_setspecific; pthread_getspecific; pthread_key_create; pthread_kill; pthread_mutex_consistent; pthread_once; + pthread_setspecific; } GLIBC_PRIVATE { __futex_abstimed_wait64; @@ -152,7 +156,6 @@ libpthread { __pthread_mutexattr_destroy; __pthread_mutexattr_init; __pthread_mutexattr_settype; - __pthread_setspecific; _exit; flockfile; ftrylockfile; @@ -177,7 +180,6 @@ libpthread { pthread_mutexattr_getkind_np; pthread_mutexattr_init; pthread_mutexattr_setkind_np; - pthread_setspecific; pthread_sigmask; pthread_testcancel; sem_destroy; diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 7c1c871821..1e57ff20d0 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -69,7 +69,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 a8241a4725..2f3661cc4f 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -526,6 +526,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) @@ -560,7 +561,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..fdcab3b6d9 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 (pthread_key_t key, const void *value) { struct pthread *self; unsigned int idx1st; @@ -89,5 +89,17 @@ __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, __pthread_setspecific, + GLIBC_2_34); +libc_hidden_ver (___pthread_setspecific, __pthread_setspecific) + +/* Several aliases for setting different symbol versions. */ + +versioned_symbol (libc, ___pthread_setspecific, pthread_setspecific, + GLIBC_2_34); +#if OTHER_SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_setspecific, __pthread_setspecific, + GLIBC_2_0); +compat_symbol (libpthread, ___pthread_setspecific, 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 648fb0c0e3..35e6557e7c 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 @@ -1466,6 +1467,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 @@ -2192,9 +2194,11 @@ 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_kill 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 ac1f297405..0394ce0429 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -20,7 +20,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 __res_state F @@ -103,7 +102,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 d15b8a428b..378cf6a17c 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 @@ -902,6 +903,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 @@ -2280,12 +2282,14 @@ 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_kill 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 400e0b824f..e25edce338 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -11,7 +11,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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F @@ -35,7 +34,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 sem_destroy F GLIBC_2.0 sem_getvalue F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 04f71fc6e2..fe1cdcbce6 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 @@ -1392,6 +1393,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 @@ -1951,9 +1953,11 @@ 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_kill 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 18014409dd..5b87de073f 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -20,7 +20,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 __res_state F @@ -123,7 +122,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 c1fb86bc65..5f1b0d49e4 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -161,12 +161,14 @@ 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_kill 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 @@ -498,6 +500,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 @@ -1568,6 +1571,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 ae20fe71a6..4948af9611 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -54,7 +54,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 __res_state F @@ -133,7 +132,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 fe290bd39c..ff878e2268 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -158,12 +158,14 @@ 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_kill 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 @@ -495,6 +497,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 @@ -1565,6 +1568,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 ae20fe71a6..4948af9611 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -54,7 +54,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 __res_state F @@ -133,7 +132,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 09695a41f6..21073169f6 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 @@ -1453,6 +1454,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 @@ -2135,9 +2137,11 @@ 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_kill 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 b6c4475000..8ac126c829 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -20,7 +20,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 __res_state F @@ -118,7 +117,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 b79e59b63e..efe44c7162 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 @@ -1286,6 +1287,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 @@ -2093,12 +2095,14 @@ 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_kill 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 cba038e89b..9eec6e67d3 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F @@ -89,7 +88,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 02b951115f..13ca6f0979 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 @@ -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 @@ -2270,12 +2272,14 @@ 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_kill 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 5902f068db..aece458a3e 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -11,7 +11,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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F @@ -35,7 +34,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 sem_destroy F GLIBC_2.0 sem_getvalue F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 04428ee03c..2edc9c636d 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 @@ -1307,6 +1308,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 @@ -2127,12 +2129,14 @@ 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_kill 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 fc8f95ef0f..629211caf5 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F @@ -89,7 +88,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 39194dc318..0420da0319 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -162,12 +162,14 @@ 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_kill 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 @@ -484,6 +486,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 @@ -1548,6 +1551,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 ae20fe71a6..4948af9611 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -54,7 +54,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 __res_state F @@ -133,7 +132,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 eebe236719..5d8173e151 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 @@ -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 @@ -2213,12 +2215,14 @@ 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_kill 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 5902f068db..aece458a3e 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -11,7 +11,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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F @@ -35,7 +34,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 sem_destroy F GLIBC_2.0 sem_getvalue F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 75fb62bf05..d042c802dc 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 @@ -1468,6 +1469,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 @@ -2186,9 +2188,11 @@ 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_kill 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 541556e537..c614be8a2d 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -20,7 +20,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 __res_state F @@ -105,7 +104,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 7d21581fbe..7b0210e45d 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 @@ -1468,6 +1469,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 @@ -2183,9 +2185,11 @@ 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_kill 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 541556e537..c614be8a2d 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -20,7 +20,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 __res_state F @@ -105,7 +104,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 b59c980ee1..b106a56e7c 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 @@ -875,6 +876,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 @@ -2176,12 +2178,14 @@ 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_kill 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 a87fff0c85..bda444ac72 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -11,7 +11,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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F @@ -35,7 +34,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 sem_destroy F GLIBC_2.0 sem_getvalue F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist index 39518f1410..c817c90250 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 @@ -875,6 +876,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 @@ -2174,12 +2176,14 @@ 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_kill 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 a87fff0c85..bda444ac72 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -11,7 +11,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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F @@ -35,7 +34,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 sem_destroy F GLIBC_2.0 sem_getvalue F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist index 06558444fc..a5be1e6dcf 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 @@ -875,6 +876,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 @@ -2182,12 +2184,14 @@ 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_kill 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 b772fb17cf..9e7d78bdfa 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 @@ -873,6 +874,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 @@ -2176,12 +2178,14 @@ 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_kill 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 a05fab59fe..5e7ec2dd63 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 @@ -1511,6 +1512,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 @@ -2225,9 +2227,11 @@ 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_kill 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 c2a599b239..956a8051e0 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -20,7 +20,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 __res_state F @@ -105,7 +104,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 759c42cb97..f83ea2deda 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 @@ -886,6 +887,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 @@ -2240,12 +2242,14 @@ 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_kill 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 e6d64b91f2..73d525bda2 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -11,7 +11,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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F @@ -35,7 +34,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 sem_destroy F GLIBC_2.0 sem_getvalue F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index bb4757c8d9..01ac4f1406 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 @@ -886,6 +887,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 @@ -2273,12 +2275,14 @@ 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_kill 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 34c223cf0a..2f5b668578 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 @@ -1393,6 +1394,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 @@ -2095,12 +2097,14 @@ 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_kill 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 ff0e06b5e9..1c33d57b24 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -46,7 +46,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 __res_state F GLIBC_2.3 flockfile F GLIBC_2.3 ftrylockfile F @@ -109,7 +108,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 7546541845..4853d23ecb 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 @@ -1554,6 +1555,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 @@ -2388,9 +2390,11 @@ 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_kill 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 ac1f297405..0394ce0429 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -20,7 +20,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 __res_state F @@ -103,7 +102,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 6270fd141a..bccb8a250e 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 @@ -1394,6 +1395,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 @@ -1953,9 +1955,11 @@ 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_kill 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 822af61870..ebecb58be4 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -20,7 +20,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 __res_state F @@ -123,7 +122,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 0d2ddc22aa..02ebd2b8ec 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 @@ -1456,6 +1457,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 @@ -2153,9 +2155,11 @@ 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_kill 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 b01332b71e..a9e379fe16 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -20,7 +20,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 __res_state F @@ -105,7 +104,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 9b747bd411..05e0b6fa2b 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 @@ -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 @@ -2238,12 +2240,14 @@ 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_kill 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 199b579683..7d04836c91 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -11,7 +11,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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F @@ -35,7 +34,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 sem_destroy F GLIBC_2.0 sem_getvalue F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index 349642d1f9..1aede02fa6 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 @@ -1304,6 +1305,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 @@ -2131,12 +2133,14 @@ 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_kill 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 612d7a39d5..51b6dc38fe 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -26,7 +26,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 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F @@ -90,7 +89,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 68cc0fe760..80adac4961 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 @@ -1290,6 +1291,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 @@ -2100,12 +2102,14 @@ 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_kill 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 cba038e89b..9eec6e67d3 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F @@ -89,7 +88,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 582cbb59ad..94a05525e2 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 @@ -1290,6 +1291,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 @@ -2097,12 +2099,14 @@ 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_kill 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 cba038e89b..9eec6e67d3 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F @@ -89,7 +88,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 392359b52a..67074bb6b8 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 @@ -880,6 +881,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,12 +2231,14 @@ 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_kill 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 400e0b824f..e25edce338 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -11,7 +11,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 flockfile F GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile F @@ -35,7 +34,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 sem_destroy F GLIBC_2.0 sem_getvalue F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 43ce1cbc0d..ac127bcf17 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 @@ -1333,6 +1334,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 @@ -2148,12 +2150,14 @@ 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_kill 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 fc8f95ef0f..629211caf5 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F @@ -89,7 +88,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 374b6c78a4..6a493dd54c 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 @@ -1301,6 +1302,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 @@ -2109,12 +2111,14 @@ 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_kill 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 aa14ca52fb..99bdb3dad8 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -25,7 +25,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 __res_state F GLIBC_2.2.5 flockfile F GLIBC_2.2.5 ftrylockfile F @@ -89,7 +88,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 943a2f6dc4..5714f38a5d 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 @@ -1473,6 +1474,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 @@ -2207,9 +2209,11 @@ 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_kill 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 7b9ab492fd..432b566717 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -20,7 +20,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 __res_state F @@ -103,7 +102,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 Fri Apr 16 09:23: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: 43010 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 A86A93968C26; Fri, 16 Apr 2021 09:23:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A86A93968C26 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618565008; bh=IotGI/skptPhUStfmfatpAQU+RS3J9ff6Wrc2MJcNSo=; 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=UW0z7R2SKdyPpI7KjNgwCAwzVZ4TWJZuXKNKMubnw5tmr0u6nhG5Tk+l43cB4rF4i WgQBPf9L7tF75yneYgvwxbDSlop3kzpenyQdO1E7TrlL+nkLSmuNibtJbSiXUIRxAP rOaZCMA2r27lD9scpuyGPh4Kk1p28CpjvVoOtKvs= 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 96FEE395C824 for ; Fri, 16 Apr 2021 09:23:21 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 96FEE395C824 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-479-s92p44I0N_2pGa7Og4ivUw-1; Fri, 16 Apr 2021 05:23:19 -0400 X-MC-Unique: s92p44I0N_2pGa7Og4ivUw-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 581C080623B for ; Fri, 16 Apr 2021 09:23:18 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id DAEFC50FA2 for ; Fri, 16 Apr 2021 09:23:16 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 27/37] nptl: Move pthread_key_delete into libc. In-Reply-To: References: Message-Id: <1aa0399a44ccaea62371d4ca50197ec19cc42432.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:23:34 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 | 16 +++++++++++++--- sysdeps/unix/sysv/linux/aarch64/libc.abilist | 2 ++ .../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 ++ .../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 - sysdeps/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 - .../unix/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 - .../unix/sysv/linux/mips/mips64/n32/libc.abilist | 2 ++ .../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 - .../linux/powerpc/powerpc32/fpu/libc.abilist | 2 ++ .../linux/powerpc/powerpc32/libpthread.abilist | 1 - .../linux/powerpc/powerpc32/nofpu/libc.abilist | 2 ++ .../sysv/linux/powerpc/powerpc64/be/libc.abilist | 2 ++ .../powerpc/powerpc64/be/libpthread.abilist | 1 - .../sysv/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 ++ 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 - .../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 ++ .../unix/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, 82 insertions(+), 34 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 81bbf41f96..4186a1d51e 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_kill \ pthread_mutex_consistent \ @@ -146,7 +147,6 @@ libpthread-routines = \ pthread_getname \ pthread_join \ pthread_join_common \ - pthread_key_delete \ pthread_kill_other_threads \ pthread_mutex_cond_lock \ pthread_mutex_conf \ diff --git a/nptl/Versions b/nptl/Versions index a511b6e4f2..d32b554c05 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -33,6 +33,7 @@ libc { pthread_getschedparam; pthread_getspecific; pthread_key_create; + pthread_key_delete; pthread_kill; pthread_mutex_destroy; pthread_mutex_init; @@ -99,6 +100,7 @@ libc { __pthread_setspecific; pthread_getspecific; pthread_key_create; + pthread_key_delete; pthread_kill; pthread_mutex_consistent; pthread_once; @@ -133,6 +135,7 @@ libc { __pthread_exit; __pthread_force_elision; __pthread_getattr_default_np; + __pthread_key_delete; __pthread_keys; __pthread_setcancelstate; __pthread_unwind; @@ -169,7 +172,6 @@ libpthread { pthread_create; pthread_detach; pthread_join; - pthread_key_delete; pthread_kill_other_threads_np; pthread_mutex_destroy; pthread_mutex_init; diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 2f3661cc4f..f09757bb26 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -523,6 +523,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..93eedb92b8 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 (pthread_key_t key) { int result = EINVAL; @@ -39,4 +39,14 @@ __pthread_key_delete (pthread_key_t key) return result; } -weak_alias (__pthread_key_delete, pthread_key_delete) +versioned_symbol (libc, ___pthread_key_delete, pthread_key_delete, + GLIBC_2_34); +libc_hidden_ver (___pthread_key_delete, __pthread_key_delete) + +versioned_symbol (libc, ___pthread_key_delete, __pthread_key_delete, + GLIBC_PRIVATE); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_key_delete, 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 35e6557e7c..f631286a49 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -1455,6 +1455,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_kill F GLIBC_2.17 pthread_mutex_consistent F GLIBC_2.17 pthread_mutex_consistent_np F @@ -2198,6 +2199,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_kill 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 0394ce0429..28f454bbf7 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -57,7 +57,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_other_threads_np F GLIBC_2.17 pthread_mutex_destroy F GLIBC_2.17 pthread_mutex_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/alpha/libc.abilist b/sysdeps/unix/sysv/linux/alpha/libc.abilist index 378cf6a17c..436ea3d476 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2286,6 +2287,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_kill 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 e25edce338..a91b42133b 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -23,7 +23,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_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index fe1cdcbce6..580572aa95 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_kill F GLIBC_2.32 pthread_mutex_consistent F GLIBC_2.32 pthread_mutex_consistent_np F @@ -1957,6 +1958,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_kill 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 5b87de073f..9783a47c89 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -73,7 +73,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_other_threads_np F GLIBC_2.32 pthread_mutex_clocklock 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 5f1b0d49e4..c33623caf8 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_kill F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F @@ -1560,6 +1561,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_kill 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 4948af9611..aab1587c4d 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -90,7 +90,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_other_threads_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/arm/le/libc.abilist b/sysdeps/unix/sysv/linux/arm/le/libc.abilist index ff878e2268..16b39ebb07 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_kill F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F @@ -1557,6 +1558,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_kill 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 4948af9611..aab1587c4d 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -90,7 +90,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_other_threads_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/csky/libc.abilist b/sysdeps/unix/sysv/linux/csky/libc.abilist index 21073169f6..c218c64e23 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_kill F GLIBC_2.29 pthread_mutex_consistent F GLIBC_2.29 pthread_mutex_consistent_np F @@ -2141,6 +2142,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_kill 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 8ac126c829..966e4ccc03 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -71,7 +71,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_other_threads_np F GLIBC_2.29 pthread_mutex_destroy F GLIBC_2.29 pthread_mutex_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index efe44c7162..5927e3e883 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_kill F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2099,6 +2100,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_kill 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 9eec6e67d3..3d49ee841f 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -56,7 +56,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_other_threads_np F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/i386/libc.abilist b/sysdeps/unix/sysv/linux/i386/libc.abilist index 13ca6f0979..dbb5584c29 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2276,6 +2277,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_kill 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 aece458a3e..4ca89778d6 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -23,7 +23,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_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 2edc9c636d..6db4f887d5 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_kill F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2133,6 +2134,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_kill 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 629211caf5..1172ecba06 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -56,7 +56,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_other_threads_np F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist index 0420da0319..2419234f17 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_kill F GLIBC_2.34 pthread_mutex_consistent F GLIBC_2.34 pthread_once F @@ -1540,6 +1541,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_kill 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 4948af9611..aab1587c4d 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -90,7 +90,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_other_threads_np F GLIBC_2.4 pthread_mutex_destroy F GLIBC_2.4 pthread_mutex_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist index 5d8173e151..ca2953f1c3 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2219,6 +2220,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_kill 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 aece458a3e..4ca89778d6 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -23,7 +23,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_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index d042c802dc..28b9e51799 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_kill F GLIBC_2.18 pthread_mutex_consistent F GLIBC_2.18 pthread_mutex_consistent_np F @@ -2192,6 +2193,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_kill 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 c614be8a2d..31e1b8f50e 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -58,7 +58,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_other_threads_np F GLIBC_2.18 pthread_mutex_destroy F GLIBC_2.18 pthread_mutex_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist index 7b0210e45d..aa32af4ec0 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_kill F GLIBC_2.18 pthread_mutex_consistent F GLIBC_2.18 pthread_mutex_consistent_np F @@ -2189,6 +2190,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_kill 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 c614be8a2d..31e1b8f50e 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -58,7 +58,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_other_threads_np F GLIBC_2.18 pthread_mutex_destroy F GLIBC_2.18 pthread_mutex_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 b106a56e7c..04d6813672 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2182,6 +2183,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_kill 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 bda444ac72..e4897828f2 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -23,7 +23,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_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_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 c817c90250..935f87bbbc 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2180,6 +2181,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_kill 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 bda444ac72..e4897828f2 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -23,7 +23,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_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_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 a5be1e6dcf..ff01b5abcf 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init 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_kill 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 9e7d78bdfa..57ff176ce0 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2182,6 +2183,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_kill 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 5e7ec2dd63..c8129ef984 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -1500,6 +1500,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_kill F GLIBC_2.21 pthread_mutex_consistent F GLIBC_2.21 pthread_mutex_consistent_np F @@ -2231,6 +2232,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_kill 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 956a8051e0..9080a695fc 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -58,7 +58,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_other_threads_np F GLIBC_2.21 pthread_mutex_destroy F GLIBC_2.21 pthread_mutex_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 f83ea2deda..3a4b73cb2b 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2246,6 +2247,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_kill 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 73d525bda2..f1387a8150 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -23,7 +23,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_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_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 01ac4f1406..98059fe118 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2279,6 +2280,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_kill 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 2f5b668578..3c23fc066c 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_kill F GLIBC_2.3 pthread_mutex_destroy F GLIBC_2.3 pthread_mutex_init F @@ -2101,6 +2102,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_kill 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 1c33d57b24..80b850ffef 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -76,7 +76,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_other_threads_np F GLIBC_2.3 pthread_mutex_destroy F GLIBC_2.3 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist index 4853d23ecb..e254a0f316 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_kill F GLIBC_2.17 pthread_mutex_consistent F GLIBC_2.17 pthread_mutex_consistent_np F @@ -2394,6 +2395,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_kill 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 0394ce0429..28f454bbf7 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -57,7 +57,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_other_threads_np F GLIBC_2.17 pthread_mutex_destroy F GLIBC_2.17 pthread_mutex_getprioceiling F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libc.abilist index bccb8a250e..55c5acc87e 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_kill F GLIBC_2.33 pthread_mutex_consistent F GLIBC_2.33 pthread_mutex_consistent_np F @@ -1959,6 +1960,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_kill 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 ebecb58be4..825c9b47e6 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -73,7 +73,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_other_threads_np F GLIBC_2.33 pthread_mutex_clocklock 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 02ebd2b8ec..7fb82d1f7e 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_kill F GLIBC_2.27 pthread_mutex_consistent F GLIBC_2.27 pthread_mutex_consistent_np F @@ -2159,6 +2160,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_kill 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 a9e379fe16..29bbe487aa 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -58,7 +58,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_other_threads_np F GLIBC_2.27 pthread_mutex_destroy F GLIBC_2.27 pthread_mutex_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 05e0b6fa2b..a3ca2d9834 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F @@ -2244,6 +2245,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_kill 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 7d04836c91..21e44313c8 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -23,7 +23,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_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_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 1aede02fa6..d72eb6df2c 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_kill F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2137,6 +2138,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_kill 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 51b6dc38fe..ba1c4ed261 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -57,7 +57,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_other_threads_np F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/sh/be/libc.abilist b/sysdeps/unix/sysv/linux/sh/be/libc.abilist index 80adac4961..113a31947d 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_kill F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2106,6 +2107,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_kill 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 9eec6e67d3..3d49ee841f 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -56,7 +56,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_other_threads_np F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/sh/le/libc.abilist b/sysdeps/unix/sysv/linux/sh/le/libc.abilist index 94a05525e2..18a78e2b8e 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_kill F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2103,6 +2104,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_kill 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 9eec6e67d3..3d49ee841f 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -56,7 +56,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_other_threads_np F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist index 67074bb6b8..f5939321df 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_kill F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init 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_kill 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 e25edce338..a91b42133b 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -23,7 +23,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_other_threads_np F GLIBC_2.0 pthread_mutex_destroy F GLIBC_2.0 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index ac127bcf17..33f6d03e46 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_kill F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F @@ -2154,6 +2155,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_kill 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 629211caf5..1172ecba06 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -56,7 +56,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_other_threads_np F GLIBC_2.2 pthread_mutex_destroy F GLIBC_2.2 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist index 6a493dd54c..6d4ca0d88e 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_kill F GLIBC_2.2.5 pthread_mutex_destroy F GLIBC_2.2.5 pthread_mutex_init F @@ -2115,6 +2116,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_kill 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 99bdb3dad8..5c486fc82a 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -56,7 +56,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_other_threads_np F GLIBC_2.2.5 pthread_mutex_destroy F GLIBC_2.2.5 pthread_mutex_init F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist index 5714f38a5d..d5b78b83cc 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_kill F GLIBC_2.16 pthread_mutex_consistent F GLIBC_2.16 pthread_mutex_consistent_np F @@ -2213,6 +2214,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_kill 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 432b566717..5e57a2202d 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -57,7 +57,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_other_threads_np F GLIBC_2.16 pthread_mutex_destroy F GLIBC_2.16 pthread_mutex_getprioceiling F From patchwork Fri Apr 16 09:23: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: 43012 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 5B4AA396B41C; Fri, 16 Apr 2021 09:23:37 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5B4AA396B41C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618565017; bh=XdI580wKJGdguRWRk46ez4kSZ9aW+a1hZWl5dh5DyR4=; 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=owxOISioZPOCERU3hfOpyfgwRNT/lHqGWZa2sCIdnBCkSU4lTFuM3BQdtDcrqe/m8 dknuam0nCeARJuuRTvLyYeOB36UI8i2GsxgCCsfcbAzC89hlOL40vShjxQyPzrzzRk yXip7kBMZ+0U56+cMBdo5HAZ413sYZYGSIgH9W0k= 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 227C43968C18 for ; Fri, 16 Apr 2021 09:23:28 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 227C43968C18 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-585-a1sUgYXSMEyWF1YHYohRxg-1; Fri, 16 Apr 2021 05:23:25 -0400 X-MC-Unique: a1sUgYXSMEyWF1YHYohRxg-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 7AEBC10054F6 for ; Fri, 16 Apr 2021 09:23:24 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 680E2669F2 for ; Fri, 16 Apr 2021 09:23:22 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 28/37] nptl: Move rwlock functions with forwarders into libc In-Reply-To: References: Message-Id: Date: Fri, 16 Apr 2021 11:23:39 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 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. The __ symbol variants are turned into compat symbols, which is why they do not receive a GLIBC_2.34 version. --- nptl/Makefile | 6 +++--- nptl/Versions | 17 +++++++++------ nptl/nptl-init.c | 3 --- nptl/pthreadP.h | 4 ++-- nptl/pthread_rwlock_rdlock.c | 16 +++++++++++--- nptl/pthread_rwlock_unlock.c | 18 ++++++++++++---- nptl/pthread_rwlock_wrlock.c | 16 +++++++++++--- sysdeps/nptl/libc-lockP.h | 21 ++++++------------- sysdeps/nptl/pthread-functions.h | 3 --- sysdeps/unix/sysv/linux/aarch64/libc.abilist | 9 ++++++++ .../sysv/linux/aarch64/libpthread.abilist | 6 ------ sysdeps/unix/sysv/linux/alpha/libc.abilist | 9 ++++++++ .../unix/sysv/linux/alpha/libpthread.abilist | 6 ------ sysdeps/unix/sysv/linux/arc/libc.abilist | 9 ++++++++ .../unix/sysv/linux/arc/libpthread.abilist | 6 ------ sysdeps/unix/sysv/linux/arm/be/libc.abilist | 9 ++++++++ .../unix/sysv/linux/arm/be/libpthread.abilist | 6 ------ sysdeps/unix/sysv/linux/arm/le/libc.abilist | 9 ++++++++ .../unix/sysv/linux/arm/le/libpthread.abilist | 6 ------ sysdeps/unix/sysv/linux/csky/libc.abilist | 9 ++++++++ .../unix/sysv/linux/csky/libpthread.abilist | 6 ------ sysdeps/unix/sysv/linux/hppa/libc.abilist | 9 ++++++++ .../unix/sysv/linux/hppa/libpthread.abilist | 6 ------ sysdeps/unix/sysv/linux/i386/libc.abilist | 9 ++++++++ .../unix/sysv/linux/i386/libpthread.abilist | 6 ------ sysdeps/unix/sysv/linux/ia64/libc.abilist | 9 ++++++++ .../unix/sysv/linux/ia64/libpthread.abilist | 6 ------ .../sysv/linux/m68k/coldfire/libc.abilist | 9 ++++++++ .../linux/m68k/coldfire/libpthread.abilist | 6 ------ .../unix/sysv/linux/m68k/m680x0/libc.abilist | 9 ++++++++ .../sysv/linux/m68k/m680x0/libpthread.abilist | 6 ------ .../sysv/linux/microblaze/be/libc.abilist | 9 ++++++++ .../linux/microblaze/be/libpthread.abilist | 6 ------ .../sysv/linux/microblaze/le/libc.abilist | 9 ++++++++ .../linux/microblaze/le/libpthread.abilist | 6 ------ .../sysv/linux/mips/mips32/fpu/libc.abilist | 9 ++++++++ .../sysv/linux/mips/mips32/libpthread.abilist | 6 ------ .../sysv/linux/mips/mips32/nofpu/libc.abilist | 9 ++++++++ .../sysv/linux/mips/mips64/libpthread.abilist | 6 ------ .../sysv/linux/mips/mips64/n32/libc.abilist | 9 ++++++++ .../sysv/linux/mips/mips64/n64/libc.abilist | 9 ++++++++ sysdeps/unix/sysv/linux/nios2/libc.abilist | 9 ++++++++ .../unix/sysv/linux/nios2/libpthread.abilist | 6 ------ .../linux/powerpc/powerpc32/fpu/libc.abilist | 9 ++++++++ .../powerpc/powerpc32/libpthread.abilist | 6 ------ .../powerpc/powerpc32/nofpu/libc.abilist | 9 ++++++++ .../linux/powerpc/powerpc64/be/libc.abilist | 9 ++++++++ .../powerpc/powerpc64/be/libpthread.abilist | 6 ------ .../linux/powerpc/powerpc64/le/libc.abilist | 9 ++++++++ .../powerpc/powerpc64/le/libpthread.abilist | 6 ------ .../unix/sysv/linux/riscv/rv32/libc.abilist | 9 ++++++++ .../sysv/linux/riscv/rv32/libpthread.abilist | 6 ------ .../unix/sysv/linux/riscv/rv64/libc.abilist | 9 ++++++++ .../sysv/linux/riscv/rv64/libpthread.abilist | 6 ------ .../unix/sysv/linux/s390/s390-32/libc.abilist | 9 ++++++++ .../linux/s390/s390-32/libpthread.abilist | 6 ------ .../unix/sysv/linux/s390/s390-64/libc.abilist | 9 ++++++++ .../linux/s390/s390-64/libpthread.abilist | 6 ------ sysdeps/unix/sysv/linux/sh/be/libc.abilist | 9 ++++++++ .../unix/sysv/linux/sh/be/libpthread.abilist | 6 ------ sysdeps/unix/sysv/linux/sh/le/libc.abilist | 9 ++++++++ .../unix/sysv/linux/sh/le/libpthread.abilist | 6 ------ .../sysv/linux/sparc/sparc32/libc.abilist | 9 ++++++++ .../linux/sparc/sparc32/libpthread.abilist | 6 ------ .../sysv/linux/sparc/sparc64/libc.abilist | 9 ++++++++ .../linux/sparc/sparc64/libpthread.abilist | 6 ------ .../unix/sysv/linux/x86_64/64/libc.abilist | 9 ++++++++ .../sysv/linux/x86_64/64/libpthread.abilist | 6 ------ .../unix/sysv/linux/x86_64/x32/libc.abilist | 9 ++++++++ .../sysv/linux/x86_64/x32/libpthread.abilist | 6 ------ 70 files changed, 350 insertions(+), 216 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 4186a1d51e..feb79e0e7b 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -85,6 +85,9 @@ routines = \ pthread_kill \ pthread_mutex_consistent \ pthread_once \ + pthread_rwlock_rdlock \ + pthread_rwlock_unlock \ + pthread_rwlock_wrlock \ pthread_self \ pthread_setcancelstate \ pthread_setcanceltype \ @@ -174,13 +177,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 d32b554c05..b14f76aa41 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -49,6 +49,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; @@ -104,6 +112,9 @@ libc { pthread_kill; pthread_mutex_consistent; pthread_once; + pthread_rwlock_rdlock; + pthread_rwlock_unlock; + pthread_rwlock_wrlock; pthread_setspecific; } GLIBC_PRIVATE { @@ -205,11 +216,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; @@ -238,11 +246,8 @@ libpthread { GLIBC_2.2 { __pthread_rwlock_destroy; __pthread_rwlock_init; - __pthread_rwlock_rdlock; __pthread_rwlock_tryrdlock; __pthread_rwlock_trywrlock; - __pthread_rwlock_unlock; - __pthread_rwlock_wrlock; __res_state; pthread_attr_getstack; pthread_attr_setstack; diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 1e57ff20d0..fae0db383c 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -66,9 +66,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 f09757bb26..2c59a1dc84 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -447,8 +447,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); @@ -559,8 +561,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..366883ea3d 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 (pthread_rwlock_t *rwlock) { LIBC_PROBE (rdlock_entry, 1, rwlock); @@ -28,6 +28,16 @@ __pthread_rwlock_rdlock (pthread_rwlock_t *rwlock) LIBC_PROBE (rdlock_acquire_read, 1, rwlock); return result; } +versioned_symbol (libc, ___pthread_rwlock_rdlock, pthread_rwlock_rdlock, + GLIBC_2_34); +strong_alias (___pthread_rwlock_rdlock, __pthread_rwlock_rdlock) +libc_hidden_ver (___pthread_rwlock_rdlock, __pthread_rwlock_rdlock) -weak_alias (__pthread_rwlock_rdlock, pthread_rwlock_rdlock) -hidden_def (__pthread_rwlock_rdlock) +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_rwlock_rdlock, pthread_rwlock_rdlock, + GLIBC_2_1); +#endif +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_rwlock_rdlock, __pthread_rwlock_rdlock, + GLIBC_2_2); +#endif diff --git a/nptl/pthread_rwlock_unlock.c b/nptl/pthread_rwlock_unlock.c index 356d63a045..6c0da9786d 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 (pthread_rwlock_t *rwlock) { LIBC_PROBE (rwlock_unlock, 1, rwlock); @@ -43,6 +43,16 @@ __pthread_rwlock_unlock (pthread_rwlock_t *rwlock) __pthread_rwlock_rdunlock (rwlock); return 0; } - -weak_alias (__pthread_rwlock_unlock, pthread_rwlock_unlock) -hidden_def (__pthread_rwlock_unlock) +versioned_symbol (libc, ___pthread_rwlock_unlock, pthread_rwlock_unlock, + GLIBC_2_34); +strong_alias (___pthread_rwlock_unlock, __pthread_rwlock_unlock) +libc_hidden_ver (___pthread_rwlock_unlock, __pthread_rwlock_unlock) + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_rwlock_unlock, pthread_rwlock_unlock, + GLIBC_2_1); +#endif +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_rwlock_unlock, __pthread_rwlock_unlock, + GLIBC_2_2); +#endif diff --git a/nptl/pthread_rwlock_wrlock.c b/nptl/pthread_rwlock_wrlock.c index 98882a87e4..be20618d52 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 (pthread_rwlock_t *rwlock) { LIBC_PROBE (wrlock_entry, 1, rwlock); @@ -28,6 +28,16 @@ __pthread_rwlock_wrlock (pthread_rwlock_t *rwlock) LIBC_PROBE (wrlock_acquire_write, 1, rwlock); return result; } +versioned_symbol (libc, ___pthread_rwlock_wrlock, pthread_rwlock_wrlock, + GLIBC_2_34); +strong_alias (___pthread_rwlock_wrlock, __pthread_rwlock_wrlock) +libc_hidden_ver (___pthread_rwlock_wrlock, __pthread_rwlock_wrlock) -weak_alias (__pthread_rwlock_wrlock, pthread_rwlock_wrlock) -hidden_def (__pthread_rwlock_wrlock) +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_1, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_rwlock_wrlock, pthread_rwlock_wrlock, + GLIBC_2_1); +#endif +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_2, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_rwlock_wrlock, __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 f631286a49..26dd0b3959 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 @@ -1464,6 +1467,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 @@ -2203,4 +2209,7 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 28f454bbf7..3f0247fcec 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -15,11 +15,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 __res_state F @@ -84,13 +81,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 436ea3d476..2f094dfa8f 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -1589,6 +1589,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 @@ -1863,6 +1866,9 @@ GLIBC_2.2 __getmntent_r F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 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 __res_init F GLIBC_2.2 __res_nclose F @@ -2291,6 +2297,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 a91b42133b..5a9cc846ae 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -52,11 +52,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 @@ -83,11 +80,8 @@ GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np 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 __res_state F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_setstack F diff --git a/sysdeps/unix/sysv/linux/arc/libc.abilist b/sysdeps/unix/sysv/linux/arc/libc.abilist index 580572aa95..cd41615242 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 @@ -1390,6 +1393,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 @@ -1962,4 +1968,7 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 9783a47c89..b80e78ab9d 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -15,11 +15,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 __res_state F @@ -103,13 +100,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 c33623caf8..770e1d99ea 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libc.abilist @@ -169,6 +169,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 @@ -501,6 +504,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 @@ -1569,6 +1575,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 aab1587c4d..c2705e7057 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -49,11 +49,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 __res_state F @@ -115,13 +112,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 16b39ebb07..4f6a853967 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libc.abilist @@ -166,6 +166,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 @@ -498,6 +501,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 @@ -1566,6 +1572,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 aab1587c4d..c2705e7057 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -49,11 +49,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 __res_state F @@ -115,13 +112,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 c218c64e23..67ab2433eb 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 @@ -1451,6 +1454,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 @@ -2146,4 +2152,7 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 966e4ccc03..dc56638a70 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -15,11 +15,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 __res_state F @@ -98,13 +95,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 5927e3e883..8a7f2a8963 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 @@ -1284,6 +1287,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 @@ -2104,6 +2110,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 3d49ee841f..a87c1e2c98 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -20,11 +20,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 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F @@ -73,13 +70,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 dbb5584c29..a531801535 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -1557,6 +1557,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 @@ -1867,6 +1870,9 @@ GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 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 __res_init F GLIBC_2.2 __res_nclose F @@ -2281,6 +2287,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 4ca89778d6..c09c86ec05 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -52,11 +52,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 @@ -83,11 +80,8 @@ GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np 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 __res_state F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_setstack F diff --git a/sysdeps/unix/sysv/linux/ia64/libc.abilist b/sysdeps/unix/sysv/linux/ia64/libc.abilist index 6db4f887d5..bd8da6cbe4 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 @@ -1305,6 +1308,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 @@ -2138,6 +2144,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 1172ecba06..6cf7099df0 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -20,11 +20,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 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F @@ -73,13 +70,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 2419234f17..b63949baeb 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libc.abilist @@ -170,6 +170,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 @@ -487,6 +490,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 @@ -1549,6 +1555,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 aab1587c4d..c2705e7057 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -49,11 +49,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 __res_state F @@ -115,13 +112,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 ca2953f1c3..a900e06474 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/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 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 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 __res_init F GLIBC_2.2 __res_nclose F @@ -2224,6 +2230,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 4ca89778d6..c09c86ec05 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -52,11 +52,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 @@ -83,11 +80,8 @@ GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np 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 __res_state F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_setstack F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist index 28b9e51799..4b92c809a6 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 @@ -1466,6 +1469,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 @@ -2197,4 +2203,7 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 31e1b8f50e..6b62c976d4 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -15,11 +15,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 __res_state F @@ -85,13 +82,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 aa32af4ec0..cba37be963 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 @@ -1466,6 +1469,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 @@ -2194,4 +2200,7 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 31e1b8f50e..6b62c976d4 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -15,11 +15,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 __res_state F @@ -85,13 +82,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 04d6813672..2fb12516f0 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -1527,6 +1527,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 @@ -1814,6 +1817,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 @@ -2187,6 +2193,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 e4897828f2..ecb2aabcd3 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -49,11 +49,8 @@ GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np 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 __res_state F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F @@ -81,13 +78,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 935f87bbbc..e9c8f34ef2 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -1525,6 +1525,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 @@ -1812,6 +1815,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 @@ -2185,6 +2191,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 e4897828f2..ecb2aabcd3 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -49,11 +49,8 @@ GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np 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 __res_state F GLIBC_2.2 pthread_attr_getguardsize F GLIBC_2.2 pthread_attr_getstack F @@ -81,13 +78,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 ff01b5abcf..a2d981c726 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -1525,6 +1525,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 @@ -1812,6 +1815,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 @@ -2193,6 +2199,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 57ff176ce0..ffc935b34b 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -1521,6 +1521,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 @@ -1808,6 +1811,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 @@ -2187,6 +2193,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 c8129ef984..0dcf9f55e2 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 @@ -1509,6 +1512,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 @@ -2236,4 +2242,7 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 9080a695fc..0281da14c6 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -15,11 +15,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 __res_state F @@ -85,13 +82,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 3a4b73cb2b..1202487c8e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -1561,6 +1561,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 @@ -1829,6 +1832,9 @@ GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 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 __res_init F GLIBC_2.2 __res_nclose F @@ -2251,6 +2257,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 f1387a8150..2486a0d5f2 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -52,11 +52,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 @@ -83,11 +80,8 @@ GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np 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 __res_state F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_setstack F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist index 98059fe118..3870013f98 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -1561,6 +1561,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 @@ -1833,6 +1836,9 @@ GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 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 __res_init F GLIBC_2.2 __res_nclose F @@ -2284,6 +2290,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 3c23fc066c..9fa941ab97 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 @@ -1391,6 +1394,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 @@ -2106,6 +2112,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 80b850ffef..53f92e2c2e 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -41,11 +41,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 __res_state F GLIBC_2.3 flockfile F GLIBC_2.3 ftrylockfile F @@ -93,13 +90,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 e254a0f316..802b409879 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 @@ -1552,6 +1555,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 @@ -2399,4 +2405,7 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 28f454bbf7..3f0247fcec 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -15,11 +15,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 __res_state F @@ -84,13 +81,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 55c5acc87e..f2fc047a1c 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 @@ -1392,6 +1395,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 @@ -1964,4 +1970,7 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 825c9b47e6..e1fec91836 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -15,11 +15,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 __res_state F @@ -103,13 +100,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 7fb82d1f7e..5e8e490cd2 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 @@ -1454,6 +1457,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 @@ -2164,4 +2170,7 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 29bbe487aa..ad63bee6ee 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -15,11 +15,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 __res_state F @@ -85,13 +82,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 a3ca2d9834..a2c2df7e5c 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/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 @@ -1827,6 +1830,9 @@ GLIBC_2.2 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 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 __res_init F GLIBC_2.2 __res_nclose F @@ -2249,6 +2255,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 21e44313c8..9e9fba9281 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -52,11 +52,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 @@ -84,11 +81,8 @@ GLIBC_2.18 pthread_setattr_default_np F GLIBC_2.19 __libpthread_version_placeholder 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 __res_state F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_setstack F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist index d72eb6df2c..dc6ca8a9e7 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 @@ -1302,6 +1305,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 @@ -2142,6 +2148,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 ba1c4ed261..c80e9e7906 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -21,11 +21,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 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F @@ -74,13 +71,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 113a31947d..80a2c49c9e 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 @@ -1288,6 +1291,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 @@ -2111,6 +2117,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 3d49ee841f..a87c1e2c98 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -20,11 +20,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 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F @@ -73,13 +70,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 18a78e2b8e..cf26b71aef 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 @@ -1288,6 +1291,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 @@ -2108,6 +2114,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 3d49ee841f..a87c1e2c98 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -20,11 +20,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 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F @@ -73,13 +70,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 f5939321df..322378dd4b 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -1554,6 +1554,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 __lxstat64 F GLIBC_2.2 __nl_langinfo_l F GLIBC_2.2 __open64 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 __res_init F GLIBC_2.2 __res_nclose F @@ -2240,6 +2246,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 a91b42133b..5a9cc846ae 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -52,11 +52,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 @@ -83,11 +80,8 @@ GLIBC_2.18 pthread_getattr_default_np F GLIBC_2.18 pthread_setattr_default_np 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 __res_state F GLIBC_2.2 pthread_attr_getstack F GLIBC_2.2 pthread_attr_setstack F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist index 33f6d03e46..eeaa82fedb 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 @@ -1331,6 +1334,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 @@ -2159,6 +2165,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 1172ecba06..6cf7099df0 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -20,11 +20,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 __res_state F GLIBC_2.2 flockfile F GLIBC_2.2 ftrylockfile F @@ -73,13 +70,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 6d4ca0d88e..dbce478dbb 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 @@ -1299,6 +1302,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 @@ -2120,6 +2126,9 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 5c486fc82a..cc0a8aa687 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -20,11 +20,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 __res_state F GLIBC_2.2.5 flockfile F GLIBC_2.2.5 ftrylockfile F @@ -73,13 +70,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 d5b78b83cc..fb659ae2c4 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 @@ -1471,6 +1474,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 @@ -2218,4 +2224,7 @@ GLIBC_2.34 pthread_key_delete F GLIBC_2.34 pthread_kill 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 5e57a2202d..5a7c70f589 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -15,11 +15,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 __res_state F @@ -84,13 +81,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 Fri Apr 16 09:23: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: 43011 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 B7EF63969015; Fri, 16 Apr 2021 09:23:33 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B7EF63969015 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618565013; bh=JkvdnfEcEOgNAmkpTrOb4q04odlJ4rolTqrVtNXmvEU=; 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=XESVtF8/E9z6cfKXsJ48P4p+trN/sCSFaw6iOe0xO4GOg0BsO5kf6CLcMzxdUuyjD DBpzQ/1oev+1+xOGmA71NWDK7xBuTabVX9wnZKLrp3h4BLND265XaritnuYRcxBhw1 /onPhLB/ok4wfE15cfb+YV0YdOEZidIblmKd4eJ4= 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 0CAEE3969015 for ; Fri, 16 Apr 2021 09:23:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0CAEE3969015 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-338-lhMZXMFVP3S4Wec7-OHxDA-1; Fri, 16 Apr 2021 05:23:29 -0400 X-MC-Unique: lhMZXMFVP3S4Wec7-OHxDA-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 31BF36D246 for ; Fri, 16 Apr 2021 09:23:29 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 8B36A437F for ; Fri, 16 Apr 2021 09:23:28 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 29/37] nptl: Move the internal thread priority protection symbols into libc In-Reply-To: References: Message-Id: <54a191e2d23a371c5f7c1ca55761f9adff6c909f.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:23:46 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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 feb79e0e7b..d595598cb8 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -94,6 +94,7 @@ routines = \ pthread_setschedparam \ pthread_setspecific \ pthread_sigmask \ + tpp \ unwind \ shared-only-routines = forward @@ -214,7 +215,6 @@ libpthread-routines = \ sem_timedwait \ sem_unlink \ sem_wait \ - tpp \ vars \ version \ diff --git a/nptl/Versions b/nptl/Versions index b14f76aa41..f51110da8d 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -120,6 +120,7 @@ libc { GLIBC_PRIVATE { __futex_abstimed_wait64; __futex_abstimed_wait_cancelable64; + __init_sched_fifo_prio; __libc_alloca_cutoff; __libc_cleanup_pop_restore; __libc_cleanup_push_defer; @@ -143,13 +144,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 2c59a1dc84..5cd5d69c53 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 Fri Apr 16 09:23: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: 43013 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 70FBB3969036; Fri, 16 Apr 2021 09:23:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 70FBB3969036 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618565019; bh=UsdNXJgeqqtXrXdVp4/TA+VS5B8ZdmisS6yI6VpVTek=; 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=OlwgMo3d1KBXsgu8zV8DW8ko1QGCbX+sNrr0F/HbUjE6LVQ7QX6Yio7TllMxpqn6q g6nMyaXjObqhHG/UBh0DFa8nTzA2wBHQWB7H2dILUW2gCiK9edIwYElMKC+w2ReIji yI8zarHDnC2pbljgMU4qp9dLYDKuJr5EvWnlz/Go= 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 8D06A3968C18 for ; Fri, 16 Apr 2021 09:23:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 8D06A3968C18 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-506-KkNiGtRkPESnDioS6FA1yQ-1; Fri, 16 Apr 2021 05:23:34 -0400 X-MC-Unique: KkNiGtRkPESnDioS6FA1yQ-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id DFE7C6D241 for ; Fri, 16 Apr 2021 09:23:33 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 44C3310074FC for ; Fri, 16 Apr 2021 09:23:33 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 30/37] pthread: Introduce __pthread_early_init In-Reply-To: References: Message-Id: <31ee33af07de7ef37182bad13dd6b477f61e19de.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:23:50 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.4 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 function is called from __libc_early_init to initialize the pthread subsystem. Reviewed-by: Adhemerval Zanella --- 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..9888839744 --- /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 Fri Apr 16 09:23:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43014 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 00F31396D83F; Fri, 16 Apr 2021 09:23:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 00F31396D83F DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618565025; bh=ICV/lIJdW2WvneJlzDNtOqbdM2oes7+pVcy+FKpL/uo=; 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=dywckvzVU5PCpNbYea8sDTzGGZ0qZ5HEJTqKXUs4dTegxazaAMiBErAHkwRCkVaEq W6xQe0URm8Cd2LCskX8FzuaRvwfC9LZSxNM84a5L/vIgNnWrH5Ujheg+2psjAgZXHb c71htuuRFAz3UumiuP8vmP2M5/ekXro2sOSG7g+U= X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by sourceware.org (Postfix) with ESMTP id 1A3DA396C83A for ; Fri, 16 Apr 2021 09:23:42 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 1A3DA396C83A 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-557-JR04iQvhMzqjXSCDlr3xUA-1; Fri, 16 Apr 2021 05:23:39 -0400 X-MC-Unique: JR04iQvhMzqjXSCDlr3xUA-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id CCCA4107ACCD for ; Fri, 16 Apr 2021 09:23:38 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F219010074FC for ; Fri, 16 Apr 2021 09:23:37 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 31/37] nptl: Move internal symbol __mutex_aconf into libc In-Reply-To: References: Message-Id: <70a3218ecaeae2bd609c0f71fcc9f3cfb3ca63f9.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:23:55 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.4 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 __pthread_early_init. 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 d595598cb8..36ec9f67a0 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -83,6 +83,7 @@ routines = \ pthread_key_delete \ pthread_keys \ pthread_kill \ + pthread_mutex_conf \ pthread_mutex_consistent \ pthread_once \ pthread_rwlock_rdlock \ @@ -153,7 +154,6 @@ libpthread-routines = \ pthread_join_common \ 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 f51110da8d..2748421a77 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -132,6 +132,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 fae0db383c..646c5a9623 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -268,10 +268,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..2d15303dd9 --- /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 Fri Apr 16 09:24: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: 43015 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 85FA53969017; Fri, 16 Apr 2021 09:23:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 85FA53969017 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618565029; bh=V6PTQfqFvBwYmlKImPFfQqaL9lvAkjzPHjpd6DnFkqw=; 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=Hl2xmwDW6EDo1If62iePJtDj8jxpYPUGktAM1e+XS9PVoYC5kD/vmJ5s66L2RKoC0 gJCqSF7GhZYEnnPig1u0LrHhvwxGUnIm8sap4GyIukivAyk0K1l68lGbdgxJLm8Jna roXDGVg2BQJmje4HDrCLtwrh7kAt5JdU62YPKduU= 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 61F843968C18 for ; Fri, 16 Apr 2021 09:23:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 61F843968C18 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-580-tweOYKL5MbSyYKW4rDHrfA-1; Fri, 16 Apr 2021 05:23:43 -0400 X-MC-Unique: tweOYKL5MbSyYKW4rDHrfA-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3AC338030A0 for ; Fri, 16 Apr 2021 09:23:43 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id AB795100E113 for ; Fri, 16 Apr 2021 09:23:42 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 32/37] nptl: pthread_mutex_lock, pthread_mutex_unock single-threaded optimization In-Reply-To: References: Message-Id: <85feebd8764b7b1ad0332ee0cc422765d38fe6c8.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:24:00 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.4 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 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 Fri Apr 16 09:24:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43016 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 1616E396E84E; Fri, 16 Apr 2021 09:23:54 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 1616E396E84E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618565034; bh=5lWMeGxdVa7MME0Q+vt1vnbDYRXk8TdCP2Vv2B+JtF4=; 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=aMLZGaZM8zfvOIsvo3K1s5xF/kZdyNpAFyTfi7lh923xqJoU/y38A2wRQlbx0HwvM a3yTe1WZR5p1qiHuhx2vyy0tGtC8RF8AC59hXKJ8X0JckaPzhIhyulaau4UxitTN3P lYdJPK5umbXam1R3UfguJZs5DwfV3A/rSELCMObM= 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 E28C13968C18 for ; Fri, 16 Apr 2021 09:23:50 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org E28C13968C18 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-78-9llqai9EOVSqtQCpppay0Q-1; Fri, 16 Apr 2021 05:23:48 -0400 X-MC-Unique: 9llqai9EOVSqtQCpppay0Q-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E74C7107ACC7 for ; Fri, 16 Apr 2021 09:23:47 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 19F79100E113 for ; Fri, 16 Apr 2021 09:23:46 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 33/37] x86: Remove low-level lock optimization In-Reply-To: References: Message-Id: <24b83fba24f43c3a200addb13b6e6c6aa2f28ff3.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:24:04 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-12.4 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 Fri Apr 16 09:24:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43017 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 A28413891C30; Fri, 16 Apr 2021 09:24:06 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A28413891C30 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618565046; bh=sO5sAv5ENHiCNZqxVcz1srXrKYl1HKMgQlbMJjbxG0M=; 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=A9qfWjFeBQXX0EdBxt3dBJjtGD5N8OUe7SYWKL99qIC4w/8NeDzrCI7Y+jWhmOUSV h3eXkSOybOfSrmFtAkjJObrhc2PvQV+LibZgEhVU3+O+Vd8J1afvoiuugmB+r6FRax ufuLrPpeuJ40ZeJjhUcMnEoICCU3xfcZ3sAV+N4o= 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 5E4323891C30 for ; Fri, 16 Apr 2021 09:23:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 5E4323891C30 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-408-ew8ciBaXOiG4HomGxuwmfQ-1; Fri, 16 Apr 2021 05:23:54 -0400 X-MC-Unique: ew8ciBaXOiG4HomGxuwmfQ-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 18E9618397AB for ; Fri, 16 Apr 2021 09:23:54 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 04E297092B for ; Fri, 16 Apr 2021 09:23:51 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 34/37] nptl: Move core mutex functions into libc In-Reply-To: References: Message-Id: <656c729ff7cf3c8dea714475301eb7c4d3bbbe7a.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:24:09 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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=-2.4 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 been 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 | 16 +++++++--- nptl/pthread_mutex_init.c | 14 ++++++-- nptl/pthread_mutex_lock.c | 22 ++++++++++--- nptl/pthread_mutex_unlock.c | 17 +++++++--- 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, 340 insertions(+), 308 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 36ec9f67a0..67a946cf85 100644 --- a/nptl/Makefile +++ b/nptl/Makefile @@ -85,6 +85,10 @@ routines = \ pthread_kill \ 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 \ @@ -154,14 +158,10 @@ libpthread-routines = \ pthread_join_common \ 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 2748421a77..7672831e3a 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; @@ -104,6 +108,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_setspecific; pthread_getspecific; @@ -151,6 +159,7 @@ libc { __pthread_getattr_default_np; __pthread_key_delete; __pthread_keys; + __pthread_mutex_unlock_usercnt; __pthread_setcancelstate; __pthread_tpp_change_priority; __pthread_unwind; @@ -168,11 +177,7 @@ libpthread { __errno_location; __h_errno_location; __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; @@ -190,11 +195,7 @@ libpthread { pthread_detach; pthread_join; 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 646c5a9623..271a29cc64 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -62,10 +62,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 5cd5d69c53..332744ec6a 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -395,9 +395,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) @@ -405,8 +408,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); @@ -560,11 +565,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..89825d44f0 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 (pthread_mutex_t *mutex) { LIBC_PROBE (mutex_destroy, 1, mutex); @@ -41,5 +41,13 @@ __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, __pthread_mutex_destroy, + GLIBC_2_34); +libc_hidden_ver (___pthread_mutex_destroy, __pthread_mutex_destroy) +versioned_symbol (libc, ___pthread_mutex_destroy, pthread_mutex_destroy, + GLIBC_2_0); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_mutex_destroy, __pthread_mutex_destroy, + GLIBC_2_0); +#endif diff --git a/nptl/pthread_mutex_init.c b/nptl/pthread_mutex_init.c index f5c3a4b464..328f7b08a7 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 (pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr) { const struct pthread_mutexattr *imutexattr; @@ -150,5 +151,12 @@ __pthread_mutex_init (pthread_mutex_t *mutex, return 0; } -weak_alias (__pthread_mutex_init, pthread_mutex_init) -hidden_def (__pthread_mutex_init) +versioned_symbol (libpthread, ___pthread_mutex_init, __pthread_mutex_init, + GLIBC_2_34); +libc_hidden_ver (___pthread_mutex_init, __pthread_mutex_init) +versioned_symbol (libpthread, ___pthread_mutex_init, pthread_mutex_init, + GLIBC_2_0); +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_mutex_init, __pthread_mutex_init, + GLIBC_2_0); +#endif diff --git a/nptl/pthread_mutex_lock.c b/nptl/pthread_mutex_lock.c index 8649a92ffb..c9e438ef37 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 +# 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 (libpthread, ___pthread_mutex_lock, __pthread_mutex_lock, + GLIBC_2_34); +libc_hidden_ver (___pthread_mutex_lock, __pthread_mutex_lock) +versioned_symbol (libpthread, ___pthread_mutex_lock, pthread_mutex_lock, + GLIBC_2_0); + +# if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_mutex_lock, __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..ea88ba2986 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,17 @@ __pthread_mutex_unlock_full (pthread_mutex_t *mutex, int decr) int -__pthread_mutex_unlock (pthread_mutex_t *mutex) +___pthread_mutex_unlock (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 (libpthread, ___pthread_mutex_unlock, __pthread_mutex_unlock, + GLIBC_2_34); +libc_hidden_ver (___pthread_mutex_unlock, __pthread_mutex_unlock) +versioned_symbol (libpthread, ___pthread_mutex_unlock, pthread_mutex_unlock, + GLIBC_2_0); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_mutex_unlock, __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 26dd0b3959..6d2f4f0209 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 @@ -2200,6 +2204,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist index 3f0247fcec..c1f55a814c 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.17 _IO_ftrylockfile F GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F GLIBC_2.17 __h_errno_location 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 @@ -55,14 +51,10 @@ GLIBC_2.17 pthread_getcpuclockid F GLIBC_2.17 pthread_getname_np F GLIBC_2.17 pthread_join 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 2f094dfa8f..9c9d63bed8 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 @@ -2288,6 +2292,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist index 5a9cc846ae..7c9b4caa57 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join 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 cd41615242..54649b7fa0 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 @@ -1959,6 +1963,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/arc/libpthread.abilist b/sysdeps/unix/sysv/linux/arc/libpthread.abilist index b80e78ab9d..be9849a3ef 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.32 _IO_ftrylockfile F GLIBC_2.32 _IO_funlockfile F GLIBC_2.32 __errno_location F GLIBC_2.32 __h_errno_location 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 @@ -72,14 +68,10 @@ GLIBC_2.32 pthread_getname_np F GLIBC_2.32 pthread_join 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 770e1d99ea..de59364f43 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_setspecific F GLIBC_2.34 __pthread_unwind_next F @@ -503,6 +507,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 c2705e7057..b0eb9eaf94 100644 --- a/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/be/libpthread.abilist @@ -37,11 +37,7 @@ GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __h_errno_location 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 @@ -88,14 +84,10 @@ GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_join 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 4f6a853967..0ed5298918 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_setspecific F GLIBC_2.34 __pthread_unwind_next F @@ -500,6 +504,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 c2705e7057..b0eb9eaf94 100644 --- a/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arm/le/libpthread.abilist @@ -37,11 +37,7 @@ GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __h_errno_location 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 @@ -88,14 +84,10 @@ GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_join 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 67ab2433eb..8035d6fd6f 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 @@ -2143,6 +2147,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/csky/libpthread.abilist b/sysdeps/unix/sysv/linux/csky/libpthread.abilist index dc56638a70..7bde82525a 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.29 _IO_ftrylockfile F GLIBC_2.29 _IO_funlockfile F GLIBC_2.29 __errno_location F GLIBC_2.29 __h_errno_location 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 @@ -69,14 +65,10 @@ GLIBC_2.29 pthread_getcpuclockid F GLIBC_2.29 pthread_getname_np F GLIBC_2.29 pthread_join 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 8a7f2a8963..cf00f6d527 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 @@ -2101,6 +2105,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist index a87c1e2c98..e7a48ce0b8 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -10,11 +10,7 @@ GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -54,12 +50,8 @@ GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join 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 a531801535..5da36df844 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 @@ -2278,6 +2282,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/i386/libpthread.abilist b/sysdeps/unix/sysv/linux/i386/libpthread.abilist index c09c86ec05..1cf5dca771 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join 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 bd8da6cbe4..d8c16ceaa2 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 @@ -2135,6 +2139,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist index 6cf7099df0..802f3d2bfe 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -10,11 +10,7 @@ GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -54,12 +50,8 @@ GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join 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 b63949baeb..afa40c363c 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_setspecific F GLIBC_2.34 __pthread_unwind_next F @@ -489,6 +493,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 c2705e7057..b0eb9eaf94 100644 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/coldfire/libpthread.abilist @@ -37,11 +37,7 @@ GLIBC_2.4 _IO_ftrylockfile F GLIBC_2.4 _IO_funlockfile F GLIBC_2.4 __errno_location F GLIBC_2.4 __h_errno_location 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 @@ -88,14 +84,10 @@ GLIBC_2.4 pthread_getconcurrency F GLIBC_2.4 pthread_getcpuclockid F GLIBC_2.4 pthread_join 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 a900e06474..e2256cea09 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 @@ -2221,6 +2225,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist index c09c86ec05..1cf5dca771 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join 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 4b92c809a6..98325e0028 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 @@ -2194,6 +2198,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist index 6b62c976d4..3d4db20181 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.18 _IO_ftrylockfile F GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F GLIBC_2.18 __h_errno_location 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 @@ -56,14 +52,10 @@ GLIBC_2.18 pthread_getcpuclockid F GLIBC_2.18 pthread_getname_np F GLIBC_2.18 pthread_join 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 cba37be963..7b6859dee7 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 @@ -2191,6 +2195,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist index 6b62c976d4..3d4db20181 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.18 _IO_ftrylockfile F GLIBC_2.18 _IO_funlockfile F GLIBC_2.18 __errno_location F GLIBC_2.18 __h_errno_location 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 @@ -56,14 +52,10 @@ GLIBC_2.18 pthread_getcpuclockid F GLIBC_2.18 pthread_getname_np F GLIBC_2.18 pthread_join 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 2fb12516f0..b205d5aef9 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 @@ -2184,6 +2188,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist index ecb2aabcd3..a78c08e3a6 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join 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 e9c8f34ef2..4e4cdfba7c 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 @@ -2182,6 +2186,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist index ecb2aabcd3..a78c08e3a6 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join 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 a2d981c726..b4a38453ab 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 @@ -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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist index ffc935b34b..df56562594 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 @@ -2184,6 +2188,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/nios2/libc.abilist b/sysdeps/unix/sysv/linux/nios2/libc.abilist index 0dcf9f55e2..6cae3632ad 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 @@ -2233,6 +2237,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist index 0281da14c6..504d70fdc8 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.21 _IO_ftrylockfile F GLIBC_2.21 _IO_funlockfile F GLIBC_2.21 __errno_location F GLIBC_2.21 __h_errno_location 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 @@ -56,14 +52,10 @@ GLIBC_2.21 pthread_getcpuclockid F GLIBC_2.21 pthread_getname_np F GLIBC_2.21 pthread_join 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 1202487c8e..6458f4dca7 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 @@ -2248,6 +2252,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist index 2486a0d5f2..4ebcfbb8ae 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join 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 3870013f98..69c1f7141e 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 @@ -2281,6 +2285,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist index 9fa941ab97..f8e2de67d1 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 @@ -2103,6 +2107,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist index 53f92e2c2e..8ea5895de0 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -31,11 +31,7 @@ GLIBC_2.3 _IO_ftrylockfile F GLIBC_2.3 _IO_funlockfile F GLIBC_2.3 __errno_location F GLIBC_2.3 __h_errno_location 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 @@ -74,12 +70,8 @@ GLIBC_2.3 pthread_getconcurrency F GLIBC_2.3 pthread_getcpuclockid F GLIBC_2.3 pthread_join 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 802b409879..e16fb6935b 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 @@ -2396,6 +2400,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist index 3f0247fcec..c1f55a814c 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.17 _IO_ftrylockfile F GLIBC_2.17 _IO_funlockfile F GLIBC_2.17 __errno_location F GLIBC_2.17 __h_errno_location 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 @@ -55,14 +51,10 @@ GLIBC_2.17 pthread_getcpuclockid F GLIBC_2.17 pthread_getname_np F GLIBC_2.17 pthread_join 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 f2fc047a1c..7143381898 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 @@ -1961,6 +1965,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist index e1fec91836..819f7341ac 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.33 _IO_ftrylockfile F GLIBC_2.33 _IO_funlockfile F GLIBC_2.33 __errno_location F GLIBC_2.33 __h_errno_location 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 @@ -72,14 +68,10 @@ GLIBC_2.33 pthread_getname_np F GLIBC_2.33 pthread_join 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 5e8e490cd2..3dd55bfaed 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 @@ -2161,6 +2165,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist index ad63bee6ee..c3e1fcd185 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.27 _IO_ftrylockfile F GLIBC_2.27 _IO_funlockfile F GLIBC_2.27 __errno_location F GLIBC_2.27 __h_errno_location 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 @@ -56,14 +52,10 @@ GLIBC_2.27 pthread_getcpuclockid F GLIBC_2.27 pthread_getname_np F GLIBC_2.27 pthread_join 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 a2c2df7e5c..ebb3a99dc0 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 @@ -2246,6 +2250,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist index 9e9fba9281..a0f9da155b 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join 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 dc6ca8a9e7..fb471c613f 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 @@ -2139,6 +2143,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist index c80e9e7906..c64d0adac0 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -11,11 +11,7 @@ GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -55,12 +51,8 @@ GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join 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 80a2c49c9e..0a41aca921 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 @@ -2108,6 +2112,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist index a87c1e2c98..e7a48ce0b8 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -10,11 +10,7 @@ GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -54,12 +50,8 @@ GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join 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 cf26b71aef..50ae689625 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 @@ -2105,6 +2109,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist index a87c1e2c98..e7a48ce0b8 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -10,11 +10,7 @@ GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -54,12 +50,8 @@ GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join 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 322378dd4b..7511f7b31c 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 @@ -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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist index 5a9cc846ae..7c9b4caa57 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.0 _IO_ftrylockfile F GLIBC_2.0 _IO_funlockfile F GLIBC_2.0 __errno_location F GLIBC_2.0 __h_errno_location 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 @@ -24,11 +20,7 @@ GLIBC_2.0 pthread_create F GLIBC_2.0 pthread_detach F GLIBC_2.0 pthread_join 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 eeaa82fedb..640d872176 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 @@ -2156,6 +2160,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist index 6cf7099df0..802f3d2bfe 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -10,11 +10,7 @@ GLIBC_2.2 _IO_ftrylockfile F GLIBC_2.2 _IO_funlockfile F GLIBC_2.2 __errno_location F GLIBC_2.2 __h_errno_location 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 @@ -54,12 +50,8 @@ GLIBC_2.2 pthread_getconcurrency F GLIBC_2.2 pthread_getcpuclockid F GLIBC_2.2 pthread_join 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 dbce478dbb..f1a22fb299 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 @@ -2117,6 +2121,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist index cc0a8aa687..106e86ac08 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -10,11 +10,7 @@ GLIBC_2.2.5 _IO_ftrylockfile F GLIBC_2.2.5 _IO_funlockfile F GLIBC_2.2.5 __errno_location F GLIBC_2.2.5 __h_errno_location 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 @@ -54,12 +50,8 @@ 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_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 fb659ae2c4..6d5d59cf40 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 @@ -2215,6 +2219,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_setspecific F GLIBC_2.34 __pthread_unwind_next F diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist index 5a7c70f589..212e47fb48 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -3,11 +3,7 @@ GLIBC_2.16 _IO_ftrylockfile F GLIBC_2.16 _IO_funlockfile F GLIBC_2.16 __errno_location F GLIBC_2.16 __h_errno_location 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 @@ -55,14 +51,10 @@ GLIBC_2.16 pthread_getcpuclockid F GLIBC_2.16 pthread_getname_np F GLIBC_2.16 pthread_join 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 Fri Apr 16 09:24:15 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 43019 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 D9DFB396E859; Fri, 16 Apr 2021 09:24:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D9DFB396E859 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618565052; bh=XLme/CtZkFMA2aWD7G77qDT2J5gp3MQxGHTQtz/bXd8=; 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=PjoaZbA4+xywFuBNI3WCn7qPWMB43MJGXsYYrsebDOX0sECi5zHEJl5Q+i79CeKvv BbFmuAvyU8whBn3KfsLIgUYtevyD5mWT04MAtpPORUrjeaSvonJ13q6k24uBiZ08Eh xSXE3MsuEy3eTTevxKT/53x7YRCiNTD/PptMTu7k= 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 500353968C18 for ; Fri, 16 Apr 2021 09:24:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 500353968C18 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-294-n9YABDGTN-OAsQ94hD1Npw-1; Fri, 16 Apr 2021 05:24:00 -0400 X-MC-Unique: n9YABDGTN-OAsQ94hD1Npw-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 2278D6D249 for ; Fri, 16 Apr 2021 09:24:00 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 0F14D5C626 for ; Fri, 16 Apr 2021 09:23:57 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 35/37] nptl: Move core condition variable functions into libc In-Reply-To: References: Message-Id: <1061d740d14cd19aaade6d8fb845cef6f9c82894.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:24:15 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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.4 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" 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 | 2 +- nptl/old_pthread_cond_signal.c | 2 +- nptl/old_pthread_cond_timedwait.c | 2 +- nptl/old_pthread_cond_wait.c | 2 +- nptl/pthreadP.h | 9 ++- nptl/pthread_cond_broadcast.c | 10 +-- nptl/pthread_cond_signal.c | 8 ++- nptl/pthread_cond_wait.c | 62 +++++++++++++------ 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, 166 insertions(+), 342 deletions(-) diff --git a/nptl/Makefile b/nptl/Makefile index 67a946cf85..0d72cf8250 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 \ @@ -83,6 +90,7 @@ routines = \ pthread_key_delete \ pthread_keys \ pthread_kill \ + pthread_mutex_cond_lock \ pthread_mutex_conf \ pthread_mutex_consistent \ pthread_mutex_destroy \ @@ -118,10 +126,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-interp \ pthread_attr_getaffinity \ pthread_attr_getguardsize \ @@ -141,9 +145,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 \ @@ -157,7 +158,6 @@ libpthread-routines = \ pthread_join \ pthread_join_common \ 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 7672831e3a..2c2c5c2078 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -96,6 +96,9 @@ libc { thrd_sleep; thrd_yield; } + GLIBC_2.30 { + pthread_cond_clockwait; + } GLIBC_2.32 { pthread_attr_getsigmask_np; pthread_attr_setaffinity_np; @@ -114,6 +117,7 @@ libc { __pthread_mutex_unlock; __pthread_once; __pthread_setspecific; + pthread_cond_clockwait; pthread_getspecific; pthread_key_create; pthread_key_delete; @@ -151,8 +155,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; @@ -187,10 +195,6 @@ libpthread { funlockfile; pthread_atfork; pthread_cancel; - pthread_cond_broadcast; - pthread_cond_signal; - pthread_cond_timedwait; - pthread_cond_wait; pthread_create; pthread_detach; pthread_join; @@ -290,11 +294,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 { @@ -371,7 +371,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 da537af76e..359a38173d 100644 --- a/nptl/libpthread-compat.c +++ b/nptl/libpthread-compat.c @@ -50,3 +50,8 @@ compat_symbol (libpthread, __libpthread_version_placeholder_1, compat_symbol (libpthread, __libpthread_version_placeholder_1, __libpthread_version_placeholder, GLIBC_2_2_6); #endif + +#if (SHLIB_COMPAT (libpthread, GLIBC_2_3_2, GLIBC_2_3_4)) +compat_symbol (libpthread, __libpthread_version_placeholder_1, + __libpthread_version_placeholder, GLIBC_2_3_2); +#endif diff --git a/nptl/nptl-init.c b/nptl/nptl-init.c index 271a29cc64..48eb2e5118 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -52,16 +52,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..75d85139e2 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 OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_3_2) int __pthread_cond_broadcast_2_0 (pthread_cond_2_0_t *cond) { diff --git a/nptl/old_pthread_cond_signal.c b/nptl/old_pthread_cond_signal.c index bab12fd57f..4c7eb0ad0a 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 OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_3_2) int __pthread_cond_signal_2_0 (pthread_cond_2_0_t *cond) { diff --git a/nptl/old_pthread_cond_timedwait.c b/nptl/old_pthread_cond_timedwait.c index fdddf3072f..985426ec1a 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 OTHER_SHLIB_COMPAT (libpthread, 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) diff --git a/nptl/old_pthread_cond_wait.c b/nptl/old_pthread_cond_wait.c index 156493d6be..91b421a55b 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 OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_0, GLIBC_2_3_2) int __pthread_cond_wait_2_0 (pthread_cond_2_0_t *cond, pthread_mutex_t *mutex) { diff --git a/nptl/pthreadP.h b/nptl/pthreadP.h index 332744ec6a..14f2bd9535 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -463,13 +463,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 @@ -493,12 +496,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); @@ -525,11 +528,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..4af99544d2 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 (pthread_cond_t *cond) { LIBC_PROBE (cond_broadcast, 1, cond); @@ -87,6 +87,8 @@ __pthread_cond_broadcast (pthread_cond_t *cond) return 0; } - -versioned_symbol (libpthread, __pthread_cond_broadcast, pthread_cond_broadcast, - GLIBC_2_3_2); +versioned_symbol (libc, ___pthread_cond_broadcast, + pthread_cond_broadcast, GLIBC_2_3_2); +libc_hidden_ver (___pthread_cond_broadcast, __pthread_cond_broadcast) +versioned_symbol (libc, ___pthread_cond_broadcast, + __pthread_cond_broadcast, GLIBC_PRIVATE); diff --git a/nptl/pthread_cond_signal.c b/nptl/pthread_cond_signal.c index 77073342b2..17b4a69702 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 (pthread_cond_t *cond) { LIBC_PROBE (cond_signal, 1, cond); @@ -95,6 +95,8 @@ __pthread_cond_signal (pthread_cond_t *cond) return 0; } - -versioned_symbol (libpthread, __pthread_cond_signal, pthread_cond_signal, +versioned_symbol (libpthread, ___pthread_cond_signal, pthread_cond_signal, GLIBC_2_3_2); +libc_hidden_ver (___pthread_cond_signal, __pthread_cond_signal) +versioned_symbol (libpthread, ___pthread_cond_signal, + __pthread_cond_signal, GLIBC_PRIVATE); diff --git a/nptl/pthread_cond_wait.c b/nptl/pthread_cond_wait.c index a481bb55fc..5a1642b932 100644 --- a/nptl/pthread_cond_wait.c +++ b/nptl/pthread_cond_wait.c @@ -613,16 +613,22 @@ __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 (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 (libc, ___pthread_cond_wait, pthread_cond_wait, + GLIBC_2_3_2); +libc_hidden_ver (___pthread_cond_wait, __pthread_cond_wait) +versioned_symbol (libc, ___pthread_cond_wait, __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 (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 +643,33 @@ __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, ___pthread_cond_timedwait) +#else +versioned_symbol (libc, ___pthread_cond_timedwait64, + __pthread_cond_timedwait64, GLIBC_PRIVATE); +libc_hidden_ver (___pthread_cond_timedwait64, __pthread_cond_timedwait64) int -__pthread_cond_timedwait (pthread_cond_t *cond, pthread_mutex_t *mutex, - const struct timespec *abstime) +___pthread_cond_timedwait (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 (libc, ___pthread_cond_timedwait, + pthread_cond_timedwait, GLIBC_2_3_2); +libc_hidden_ver (___pthread_cond_timedwait, __pthread_cond_timedwait) +versioned_symbol (libc, ___pthread_cond_timedwait, + __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 (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 +682,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, ___pthread_cond_clockwait) +#else +versioned_symbol (libc, ___pthread_cond_clockwait64, + __pthread_cond_clockwait64, GLIBC_PRIVATE); +libc_hidden_ver (___pthread_cond_clockwait64, __pthread_cond_clockwait64) int -__pthread_cond_clockwait (pthread_cond_t *cond, pthread_mutex_t *mutex, +___pthread_cond_clockwait (pthread_cond_t *cond, pthread_mutex_t *mutex, clockid_t clockid, const struct timespec *abstime) { @@ -684,5 +698,13 @@ __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, + __pthread_cond_clockwait, GLIBC_PRIVATE); +libc_hidden_ver (___pthread_cond_clockwait, __pthread_cond_clockwait) +versioned_symbol (libc, ___pthread_cond_clockwait, + pthread_cond_clockwait, GLIBC_2_34); +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_30, GLIBC_2_34) +compat_symbol (libpthread, ___pthread_cond_clockwait, + 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 6d2f4f0209..895b7e2dfb 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libc.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libc.abilist @@ -2176,6 +2176,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 @@ -2211,6 +2212,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 c1f55a814c..314853be09 100644 --- a/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/aarch64/libpthread.abilist @@ -36,10 +36,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 @@ -130,7 +126,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 9c9d63bed8..4a26311432 100644 --- a/sysdeps/unix/sysv/linux/alpha/libc.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libc.abilist @@ -2264,6 +2264,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 @@ -2299,6 +2300,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 7c9b4caa57..1525fb6f36 100644 --- a/sysdeps/unix/sysv/linux/alpha/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/alpha/libpthread.abilist @@ -12,10 +12,6 @@ GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile 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 @@ -121,10 +117,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 @@ -141,7 +134,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 54649b7fa0..9711f7f0d4 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 @@ -1970,6 +1971,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 be9849a3ef..6dd52df995 100644 --- a/sysdeps/unix/sysv/linux/arc/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/arc/libpthread.abilist @@ -50,11 +50,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 de59364f43..e1debf1ae0 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 @@ -167,6 +168,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 b0eb9eaf94..5fcc5e5af3 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 @@ -70,10 +69,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 0ed5298918..1e218e713a 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 @@ -164,6 +165,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 b0eb9eaf94..5fcc5e5af3 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 @@ -70,10 +69,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 8035d6fd6f..b5297d1afd 100644 --- a/sysdeps/unix/sysv/linux/csky/libc.abilist +++ b/sysdeps/unix/sysv/linux/csky/libc.abilist @@ -2119,6 +2119,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 @@ -2154,6 +2155,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 7bde82525a..f7ac20de3d 100644 --- a/sysdeps/unix/sysv/linux/csky/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/csky/libpthread.abilist @@ -49,10 +49,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 @@ -130,7 +126,6 @@ GLIBC_2.29 tss_create F GLIBC_2.29 tss_delete F GLIBC_2.29 tss_get F GLIBC_2.29 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/hppa/libc.abilist b/sysdeps/unix/sysv/linux/hppa/libc.abilist index cf00f6d527..cec6bc96d2 100644 --- a/sysdeps/unix/sysv/linux/hppa/libc.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libc.abilist @@ -2077,6 +2077,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 @@ -2112,6 +2113,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 e7a48ce0b8..59e2b0c2d8 100644 --- a/sysdeps/unix/sysv/linux/hppa/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/hppa/libpthread.abilist @@ -38,10 +38,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 @@ -113,10 +109,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 @@ -131,7 +124,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 5da36df844..96393f4bdb 100644 --- a/sysdeps/unix/sysv/linux/i386/libc.abilist +++ b/sysdeps/unix/sysv/linux/i386/libc.abilist @@ -2252,6 +2252,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 @@ -2289,6 +2290,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 1cf5dca771..282d698b33 100644 --- a/sysdeps/unix/sysv/linux/i386/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/i386/libpthread.abilist @@ -12,10 +12,6 @@ GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile 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 @@ -121,10 +117,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 @@ -139,7 +132,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 d8c16ceaa2..df8b26004f 100644 --- a/sysdeps/unix/sysv/linux/ia64/libc.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libc.abilist @@ -2110,6 +2110,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_mutex_unlock F GLIBC_2.34 __pthread_once 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 802f3d2bfe..ba03934754 100644 --- a/sysdeps/unix/sysv/linux/ia64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/ia64/libpthread.abilist @@ -38,10 +38,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 @@ -113,10 +109,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 @@ -133,7 +126,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 afa40c363c..2b17904323 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 @@ -168,6 +169,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 b0eb9eaf94..5fcc5e5af3 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 @@ -70,10 +69,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 e2256cea09..fd6d37af0e 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libc.abilist @@ -2194,6 +2194,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 @@ -2232,6 +2233,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 1cf5dca771..282d698b33 100644 --- a/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/m68k/m680x0/libpthread.abilist @@ -12,10 +12,6 @@ GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile 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 @@ -121,10 +117,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 @@ -139,7 +132,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 98325e0028..3046723452 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libc.abilist @@ -2167,6 +2167,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 @@ -2205,6 +2206,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 3d4db20181..f3b48f3c67 100644 --- a/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/be/libpthread.abilist @@ -36,10 +36,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 @@ -130,7 +126,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 7b6859dee7..97d739d62b 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libc.abilist @@ -2167,6 +2167,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 @@ -2202,6 +2203,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 3d4db20181..f3b48f3c67 100644 --- a/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/microblaze/le/libpthread.abilist @@ -36,10 +36,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 @@ -130,7 +126,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 b205d5aef9..d1b737580f 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/fpu/libc.abilist @@ -2160,6 +2160,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_mutex_unlock F GLIBC_2.34 __pthread_once 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 a78c08e3a6..8ba4bcaf93 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/libpthread.abilist @@ -12,10 +12,6 @@ GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile 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 @@ -120,10 +116,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 @@ -140,7 +133,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 4e4cdfba7c..9f4e5d39eb 100644 --- a/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips32/nofpu/libc.abilist @@ -2158,6 +2158,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 @@ -2193,6 +2194,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 a78c08e3a6..8ba4bcaf93 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/libpthread.abilist @@ -12,10 +12,6 @@ GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile 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 @@ -120,10 +116,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 @@ -140,7 +133,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 b4a38453ab..5e30b4bb5e 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n32/libc.abilist @@ -2166,6 +2166,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 @@ -2201,6 +2202,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 df56562594..27c8bcbd4c 100644 --- a/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist +++ b/sysdeps/unix/sysv/linux/mips/mips64/n64/libc.abilist @@ -2160,6 +2160,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_mutex_unlock F GLIBC_2.34 __pthread_once 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 6cae3632ad..8131baad77 100644 --- a/sysdeps/unix/sysv/linux/nios2/libc.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libc.abilist @@ -2209,6 +2209,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 @@ -2244,6 +2245,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 504d70fdc8..edc5847e46 100644 --- a/sysdeps/unix/sysv/linux/nios2/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/nios2/libpthread.abilist @@ -36,10 +36,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 @@ -130,7 +126,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 6458f4dca7..9f1ad8ceb9 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/fpu/libc.abilist @@ -2224,6 +2224,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 @@ -2259,6 +2260,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 4ebcfbb8ae..48a99cef5f 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/libpthread.abilist @@ -12,10 +12,6 @@ GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile 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 @@ -121,10 +117,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 @@ -139,7 +132,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 69c1f7141e..45d64f29d6 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/nofpu/libc.abilist @@ -2257,6 +2257,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 @@ -2292,6 +2293,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 f8e2de67d1..7985008441 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libc.abilist @@ -2079,6 +2079,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 @@ -2114,6 +2115,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 8ea5895de0..0baa8bc608 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/be/libpthread.abilist @@ -58,10 +58,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 @@ -110,10 +106,7 @@ GLIBC_2.3 sem_timedwait F GLIBC_2.3 sem_trywait F GLIBC_2.3 sem_unlink F GLIBC_2.3 sem_wait 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 @@ -128,7 +121,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 e16fb6935b..15e0b7a458 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libc.abilist @@ -2278,6 +2278,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_mutex_unlock F GLIBC_2.34 __pthread_once 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 c1f55a814c..314853be09 100644 --- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/le/libpthread.abilist @@ -36,10 +36,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 @@ -130,7 +126,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 7143381898..93e6719b9a 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 @@ -1972,6 +1973,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 819f7341ac..90c7c8ed7c 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv32/libpthread.abilist @@ -50,11 +50,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 3dd55bfaed..af1971c949 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libc.abilist @@ -2137,6 +2137,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 @@ -2172,6 +2173,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 c3e1fcd185..3e534aabb7 100644 --- a/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/riscv/rv64/libpthread.abilist @@ -36,10 +36,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 @@ -130,7 +126,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 ebb3a99dc0..e92d4ec5cf 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libc.abilist @@ -2219,6 +2219,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 @@ -2257,6 +2258,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 a0f9da155b..4dbff0a4bf 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-32/libpthread.abilist @@ -12,10 +12,6 @@ GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile 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 @@ -122,10 +118,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 @@ -140,7 +133,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 fb471c613f..98ddd1fada 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libc.abilist @@ -2115,6 +2115,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 @@ -2150,6 +2151,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 c64d0adac0..2e1fdd8c1c 100644 --- a/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/s390/s390-64/libpthread.abilist @@ -39,10 +39,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 @@ -114,10 +110,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 @@ -132,7 +125,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 0a41aca921..0ae20f7bb2 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libc.abilist @@ -2081,6 +2081,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 @@ -2119,6 +2120,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 e7a48ce0b8..59e2b0c2d8 100644 --- a/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/be/libpthread.abilist @@ -38,10 +38,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 @@ -113,10 +109,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 @@ -131,7 +124,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 50ae689625..86958c9851 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libc.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libc.abilist @@ -2081,6 +2081,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 @@ -2116,6 +2117,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 e7a48ce0b8..59e2b0c2d8 100644 --- a/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sh/le/libpthread.abilist @@ -38,10 +38,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 @@ -113,10 +109,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 @@ -131,7 +124,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 7511f7b31c..792de2782f 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libc.abilist @@ -2213,6 +2213,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 @@ -2248,6 +2249,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 7c9b4caa57..1525fb6f36 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/libpthread.abilist @@ -12,10 +12,6 @@ GLIBC_2.0 ftrylockfile F GLIBC_2.0 funlockfile 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 @@ -121,10 +117,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 @@ -141,7 +134,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 640d872176..9b5e77faee 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libc.abilist @@ -2132,6 +2132,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 @@ -2167,6 +2168,7 @@ GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_once 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 802f3d2bfe..ba03934754 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/libpthread.abilist @@ -38,10 +38,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 @@ -113,10 +109,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 @@ -133,7 +126,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 f1a22fb299..e81c0a4828 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libc.abilist @@ -2091,6 +2091,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_mutex_unlock F GLIBC_2.34 __pthread_once 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 106e86ac08..6335e44fc2 100644 --- a/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/64/libpthread.abilist @@ -38,10 +38,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 @@ -112,10 +108,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 @@ -130,7 +123,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 6d5d59cf40..61505a6346 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libc.abilist @@ -2189,6 +2189,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_mutex_unlock F GLIBC_2.34 __pthread_once 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 212e47fb48..a3c165928b 100644 --- a/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist +++ b/sysdeps/unix/sysv/linux/x86_64/x32/libpthread.abilist @@ -36,10 +36,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 @@ -130,7 +126,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 Fri Apr 16 09:24: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: 43018 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 6CF46396E86E; Fri, 16 Apr 2021 09:24:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6CF46396E86E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618565053; bh=lOQdHwPk2wnDDa/Xt85Q+jCXo79ap4C3nqgmogRyBXg=; 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=TSHsaJBfYIHxkAJGxuzw8ae+9ak9BbeLw8WJ4n6vl6NOQ2ZwpSz9HgYgSfYmjdHNP YyMlLCjRqA4pZydFuZqNW8RBvVD0aB8HYEXG3oB9mnwjlf9BuhSlguL/bJZXhjQfT1 Bqy4s3HHFlzf6uXA0WtwS6QFzh5xjGx4QopRAWsM= 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 4666C3890439 for ; Fri, 16 Apr 2021 09:24:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 4666C3890439 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-216-iHFNM0VgOiu53ANqEJKUvA-1; Fri, 16 Apr 2021 05:24:06 -0400 X-MC-Unique: iHFNM0VgOiu53ANqEJKUvA-1 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 89F7810054F6 for ; Fri, 16 Apr 2021 09:24:05 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5112E10074FC for ; Fri, 16 Apr 2021 09:24:04 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 36/37] nptl: Move setxid broadcast implementation into libc In-Reply-To: References: Message-Id: <356b91e0ae8ec0f4217ac255de0550d767752e19.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:24:21 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com X-Spam-Status: No, score=-11.7 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. --- nptl/Makefile | 1 + nptl/Versions | 1 + nptl/allocatestack.c | 209 --------------- nptl/nptl-init.c | 49 +--- nptl/nptl_setxid.c | 279 +++++++++++++++++++++ nptl/pthreadP.h | 4 +- sysdeps/nptl/pthread-functions.h | 1 - sysdeps/nptl/setxid.h | 26 +- sysdeps/unix/sysv/linux/internal-signals.h | 4 - 9 files changed, 287 insertions(+), 287 deletions(-) create mode 100644 nptl/nptl_setxid.c diff --git a/nptl/Makefile b/nptl/Makefile index 0d72cf8250..eb4c37854f 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 2c2c5c2078..bb9f5e4ca7 100644 --- a/nptl/Versions +++ b/nptl/Versions @@ -147,6 +147,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 00fddbd409..f1270c3109 100644 --- a/nptl/allocatestack.c +++ b/nptl/allocatestack.c @@ -953,215 +953,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 48eb2e5118..28e1aebe72 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -52,7 +52,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 @@ -106,52 +105,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)); @@ -183,7 +136,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..2f35772411 --- /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 + +/* 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. */ +static void +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)); +} + +/* Set by __nptl_setxid and used by __nptl_setxid_sighandler. */ +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); + 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; +} + +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; + } + 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 14f2bd9535..e091b2ed5e 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -701,8 +701,8 @@ extern void _pthread_cleanup_pop_restore (struct _pthread_cleanup_buffer *buffer 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; +void __nptl_setxid_sighandler (int sig, siginfo_t *si, void *ctx); +libc_hidden_proto (__nptl_setxid_sighandler) extern int __nptl_setxid (struct xid_command *cmdp) attribute_hidden; extern void __nptl_stacks_freeres (void) 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 734989a83a..c44f7019d6 100644 --- a/sysdeps/unix/sysv/linux/internal-signals.h +++ b/sysdeps/unix/sysv/linux/internal-signals.h @@ -110,8 +110,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 Fri Apr 16 09:24: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: 43020 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 733463971C38; Fri, 16 Apr 2021 09:24:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 733463971C38 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1618565057; bh=Oi8wDhvBPSzh+jdaYJqBaOa9mH6/g4Q3uz/O6c0eW1A=; 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=PxoqHIaiouhzZCdDHlzffINwzrYYOQLMBjkLJL3S0flv36hdv0tkor9GJd4M4Ys0a h6cXK4hqhCOIa/5cXOS+9WMOExboAHqUpOvC+RzuirlburXTXYdH38leH7F319lXX9 5DOZPMXZJw2hHSW59RS+sGVXhDQoc37RIKii0s+8= 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 449D43971C38 for ; Fri, 16 Apr 2021 09:24:14 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 449D43971C38 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-37-SWxs8WtGM7ShykgnKU5M4A-1; Fri, 16 Apr 2021 05:24:11 -0400 X-MC-Unique: SWxs8WtGM7ShykgnKU5M4A-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 F1F8C81744F for ; Fri, 16 Apr 2021 09:24:10 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-113-139.ams2.redhat.com [10.36.113.139]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 2389969FA4 for ; Fri, 16 Apr 2021 09:24:09 +0000 (UTC) To: libc-alpha@sourceware.org Subject: [PATCH v4 37/37] nptl: Remove remnants of the libc/libpthread forwarder interface In-Reply-To: References: Message-Id: <9f930cbe4e0eed942237394c94d1b7ee4239075d.1618564630.git.fweimer@redhat.com> Date: Fri, 16 Apr 2021 11:24:27 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (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=-11.7 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" 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 eb4c37854f..0a6dd1c600 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 b67a69f9a1..397b83beb6 100644 --- a/nptl/libc_pthread_init.c +++ b/nptl/libc_pthread_init.c @@ -35,38 +35,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 28e1aebe72..b0879bd87e 100644 --- a/nptl/nptl-init.c +++ b/nptl/nptl-init.c @@ -49,15 +49,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) @@ -206,7 +197,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 e091b2ed5e..af76361c34 100644 --- a/nptl/pthreadP.h +++ b/nptl/pthreadP.h @@ -30,7 +30,6 @@ #include #include #include -#include #include #include #include @@ -370,11 +369,9 @@ extern unsigned long int *__fork_generation_pointer attribute_hidden; /* 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 */