From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from knopi.disroot.org (knopi.disroot.org [178.21.23.139]) by sourceware.org (Postfix) with ESMTPS id 50DAF3858C74 for ; Wed, 4 Jan 2023 08:49:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 50DAF3858C74 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=disroot.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=disroot.org Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id EBFE340E86 for ; Wed, 4 Jan 2023 09:49:23 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wlhRiBjf9uXn for ; Wed, 4 Jan 2023 09:49:22 +0100 (CET) From: Guy-Fleury Iteriteka DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1672822162; bh=mT61sOKvboR4AJKGL074HICMNaBkcLZ2qf21wi8D7bA=; h=From:To:Subject:Date:In-Reply-To:References; b=DJIyaEHfP/dQu3xaI2W4z5ycyC/86NjDsk0FJ9nW8o3RVMDC7o6Ariqjx0TSXl4tO rhv0qk3WND+v7Qdq3HwnQVMfQ+a0Fp58iOyobRNKUV7qJzuGZxBnPEvb5xwAwd+J7D Vfrj6+PhSXe30Nk8oNXw3R8K+CWwBYKQb6W6yz5U0vZSWFbE5gFfXOoELr5Q58o87j R9b+z4KsqhrdgZH940U2vIecoCY6nI5CWHK46YspF4smp9k1MhIqXChGfg6FaoMKkL Ki8LTesJQmOk6kIaKcjpA1I5Uwf4tgqi9s6mQTpdwTHRNhgL/UoD0kUrRXSTDtRbeg wkdbTxpaoX61g== To: libc-alpha@sourceware.org Subject: [PATCH v2 3/3] htl: move pthread_self into libc Date: Wed, 4 Jan 2023 10:49:15 +0200 Message-Id: <20230104084915.646092-4-gfleury@disroot.org> In-Reply-To: <20230104084915.646092-1-gfleury@disroot.org> References: <20230104084915.646092-1-gfleury@disroot.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_SHORT,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --- htl/Makefile | 3 +-- htl/Versions | 13 ++++++++++--- htl/forward.c | 4 ---- htl/pt-initialize.c | 1 - htl/pt-self.c | 13 +++++++++++-- sysdeps/htl/pthread-functions.h | 2 -- sysdeps/htl/pthreadP.h | 2 ++ sysdeps/mach/hurd/i386/libc.abilist | 2 ++ sysdeps/mach/hurd/i386/libpthread.abilist | 2 -- 9 files changed, 26 insertions(+), 16 deletions(-) diff --git a/htl/Makefile b/htl/Makefile index b569cfcd..c75855ad 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -52,7 +52,6 @@ libpthread-routines := pt-attr pt-attr-destroy pt-attr-getdetachstate \ pt-exit \ pt-initialize \ pt-join \ - pt-self \ pt-sigmask \ pt-spin-inlines \ pt-cleanup \ @@ -164,7 +163,7 @@ headers := \ distribute := -routines := forward libc_pthread_init alloca_cutoff htlfreeres pt-nthreads pt-pthread_self +routines := forward libc_pthread_init alloca_cutoff htlfreeres pt-nthreads pt-pthread_self pt-self shared-only-routines = forward extra-libs := libpthread diff --git a/htl/Versions b/htl/Versions index 9ec84811..e1cb362c 100644 --- a/htl/Versions +++ b/htl/Versions @@ -1,4 +1,9 @@ libc { + GLIBC_2.12 { + pthread_self; + __pthread_self; + } + GLIBC_2.21 { pthread_attr_destroy; pthread_attr_getdetachstate; pthread_attr_getinheritsched; pthread_attr_getschedparam; @@ -26,6 +31,11 @@ libc { thrd_current; thrd_equal; thrd_sleep; thrd_yield; } + GLIBC_2.37 { + pthread_self; + __pthread_self; + } + GLIBC_PRIVATE { __libc_alloca_cutoff; __libc_pthread_init; @@ -119,9 +129,6 @@ libpthread { pthread_rwlockattr_destroy; pthread_rwlockattr_getpshared; pthread_rwlockattr_init; pthread_rwlockattr_setpshared; - pthread_self; - __pthread_self; - pthread_setcancelstate; pthread_setcanceltype; pthread_setconcurrency; pthread_setschedparam; pthread_setschedprio; pthread_setspecific; diff --git a/htl/forward.c b/htl/forward.c index 00527348..57b0b66c 100644 --- a/htl/forward.c +++ b/htl/forward.c @@ -130,10 +130,6 @@ FORWARD (pthread_mutex_lock, (pthread_mutex_t *mutex), (mutex), 0) FORWARD (pthread_mutex_unlock, (pthread_mutex_t *mutex), (mutex), 0) - -FORWARD2 (pthread_self, pthread_t, (void), (), return 0) - - FORWARD (__pthread_setcancelstate, (int state, int *oldstate), (state, oldstate), 0) strong_alias (__pthread_setcancelstate, pthread_setcancelstate); diff --git a/htl/pt-initialize.c b/htl/pt-initialize.c index 02e6ad6b..fcad3b13 100644 --- a/htl/pt-initialize.c +++ b/htl/pt-initialize.c @@ -56,7 +56,6 @@ static const struct pthread_functions pthread_functions = { .ptr_pthread_mutex_lock = __pthread_mutex_lock, .ptr_pthread_mutex_trylock = __pthread_mutex_trylock, .ptr_pthread_mutex_unlock = __pthread_mutex_unlock, - .ptr_pthread_self = __pthread_self, .ptr___pthread_setcancelstate = __pthread_setcancelstate, .ptr_pthread_setcanceltype = __pthread_setcanceltype, .ptr___pthread_get_cleanup_stack = __pthread_get_cleanup_stack, diff --git a/htl/pt-self.c b/htl/pt-self.c index e05ec69b..f8c0b144 100644 --- a/htl/pt-self.c +++ b/htl/pt-self.c @@ -17,7 +17,7 @@ . */ #include - +#include #include /* Return the thread ID of the calling thread. */ @@ -36,4 +36,13 @@ __pthread_self (void) return self->thread; } -weak_alias (__pthread_self, pthread_self); +libc_hidden_def (__pthread_self) +versioned_symbol (libc, __pthread_self, pthread_self, GLIBC_2_37); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_37) +compat_symbol (libc, __pthread_self, pthread_self, GLIBC_2_12); +#endif + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_21, GLIBC_2_37) +compat_symbol (libc, __pthread_self, pthread_self, GLIBC_2_21); +#endif diff --git a/sysdeps/htl/pthread-functions.h b/sysdeps/htl/pthread-functions.h index ccccc8e5..2f0e3df0 100644 --- a/sysdeps/htl/pthread-functions.h +++ b/sysdeps/htl/pthread-functions.h @@ -56,7 +56,6 @@ int _pthread_mutex_init (pthread_mutex_t *, int __pthread_mutex_lock (pthread_mutex_t *); int __pthread_mutex_trylock (pthread_mutex_t *); int __pthread_mutex_unlock (pthread_mutex_t *); -pthread_t __pthread_self (void); int __pthread_setcancelstate (int, int *); int __pthread_setcanceltype (int, int *); struct __pthread_cancelation_handler **__pthread_get_cleanup_stack (void); @@ -112,7 +111,6 @@ struct pthread_functions int (*ptr_pthread_mutex_lock) (pthread_mutex_t *); int (*ptr_pthread_mutex_trylock) (pthread_mutex_t *); int (*ptr_pthread_mutex_unlock) (pthread_mutex_t *); - pthread_t (*ptr_pthread_self) (void); int (*ptr___pthread_setcancelstate) (int, int *); int (*ptr_pthread_setcanceltype) (int, int *); struct __pthread_cancelation_handler **(*ptr___pthread_get_cleanup_stack) (void); diff --git a/sysdeps/htl/pthreadP.h b/sysdeps/htl/pthreadP.h index 15e937a1..53bf614e 100644 --- a/sysdeps/htl/pthreadP.h +++ b/sysdeps/htl/pthreadP.h @@ -92,6 +92,8 @@ int __pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, int __pthread_attr_getstack (const pthread_attr_t *, void **, size_t *); void __pthread_testcancel (void); +libc_hidden_proto (__pthread_self) + #if IS_IN (libpthread) hidden_proto (__pthread_create) hidden_proto (__pthread_detach) diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 4e3200ef..29b08e73 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -28,6 +28,7 @@ GLIBC_2.11 mkostemps F GLIBC_2.11 mkostemps64 F GLIBC_2.11 mkstemps F GLIBC_2.11 mkstemps64 F +GLIBC_2.12 pthread_self F GLIBC_2.13 __fentry__ F GLIBC_2.14 syncfs F GLIBC_2.15 __fdelt_chk F @@ -2294,6 +2295,7 @@ GLIBC_2.36 arc4random_buf F GLIBC_2.36 arc4random_uniform F GLIBC_2.36 c8rtomb F GLIBC_2.36 mbrtoc8 F +GLIBC_2.37 pthread_self F GLIBC_2.4 __confstr_chk F GLIBC_2.4 __fgets_chk F GLIBC_2.4 __fgets_unlocked_chk F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index b9c9b75c..2ef0f670 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -4,7 +4,6 @@ GLIBC_2.12 __pthread_get_cleanup_stack F GLIBC_2.12 __pthread_key_create F GLIBC_2.12 __pthread_kill F GLIBC_2.12 __pthread_mutex_transfer_np F -GLIBC_2.12 __pthread_self F GLIBC_2.12 __pthread_spin_destroy F GLIBC_2.12 __pthread_spin_init F GLIBC_2.12 __pthread_spin_lock F @@ -109,7 +108,6 @@ GLIBC_2.12 pthread_rwlockattr_destroy F GLIBC_2.12 pthread_rwlockattr_getpshared F GLIBC_2.12 pthread_rwlockattr_init F GLIBC_2.12 pthread_rwlockattr_setpshared F -GLIBC_2.12 pthread_self F GLIBC_2.12 pthread_setcancelstate F GLIBC_2.12 pthread_setcanceltype F GLIBC_2.12 pthread_setconcurrency F -- 2.38.1