From patchwork Tue Nov 18 14:02:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Thibault X-Patchwork-Id: 124625 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 DF421385C6C9 for ; Tue, 18 Nov 2025 14:02:58 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org DF421385C6C9 X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138]) by sourceware.org (Postfix) with ESMTPS id 3324A3857704 for ; Tue, 18 Nov 2025 14:02:10 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 3324A3857704 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=ens-lyon.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=bounce.ens-lyon.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 3324A3857704 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=140.77.166.138 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1763474530; cv=none; b=jZTz8okI+NLCmg7q1LI+cU+h+iIFn3ydylMUq/1nOu7d5TUtUX/O1hVjG1hSi7gRrZ8Ur11ofEjLOQ54Lp+pc/Xo9Yno8zMRC3vB/i486k3N38msiOM8c71CiqMXfIKH0A97fClrWppeQKnNsCgG76nFEFpV06fbLcDz33jiRh8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1763474530; c=relaxed/simple; bh=yHzA1uMgsX0ljKv6MWuVengJdZVPXwgbvfe5q2nnVKQ=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=MahKQOfEN+fq+iHlDoBzIZHr0PPXfFXkSphsJjAIvPk8X1oVczmLydTMkco3t39P5J2FfGC52/ay4UtjpWux2vd1UkZuTU9R8bzoZ/5hWSdnNXJX5JKMK5kSStD3ZMa3DY192bun7Sxq4q4s3QKnyDKM7CSs5TwF3zW3ItkeidI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3324A3857704 Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id 1FB66A1C5C; Tue, 18 Nov 2025 15:02:09 +0100 (CET) Received: from sonata.ens-lyon.org ([127.0.0.1]) by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id J_b-_yxdYF_u; Tue, 18 Nov 2025 15:02:09 +0100 (CET) Received: from end (nat-inria-interne-52-gw-01-bso.bordeaux.inria.fr [194.199.1.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by sonata.ens-lyon.org (Postfix) with ESMTPSA id DE20CA1DE5; Tue, 18 Nov 2025 15:02:08 +0100 (CET) Received: from samy by end with local (Exim 4.99) (envelope-from ) id 1vLMHY-000000008CC-2a9K; Tue, 18 Nov 2025 15:02:08 +0100 From: Samuel Thibault To: libc-alpha@sourceware.org Cc: gfleury , commit-hurd@gnu.org Subject: [hurd, commited 3/3] htl: move pthread_hurd_cond_timedwait_np, pthread_hurd_cond_wait_np into libc. Date: Tue, 18 Nov 2025 15:02:08 +0100 Message-ID: <20251118140208.31475-4-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20251118140208.31475-1-samuel.thibault@ens-lyon.org> References: <20251118140208.31475-1-samuel.thibault@ens-lyon.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED, SPF_HELO_PASS, 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 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces~patchwork=sourceware.org@sourceware.org From: gfleury Message-ID: <20251118125044.1160780-3-gfleury@disroot.org> --- htl/Makefile | 4 ++-- htl/Versions | 10 +++++++--- sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c | 7 ++++++- sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c | 7 ++++++- sysdeps/mach/hurd/i386/libc.abilist | 4 ++++ sysdeps/mach/hurd/i386/libpthread.abilist | 2 -- sysdeps/mach/hurd/x86_64/libc.abilist | 4 ++++ sysdeps/mach/hurd/x86_64/libpthread.abilist | 2 -- 8 files changed, 29 insertions(+), 11 deletions(-) diff --git a/htl/Makefile b/htl/Makefile index ee377463a1..9f14f15c41 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -26,8 +26,6 @@ LCLHDRS := libpthread-routines := \ pt-spin-inlines \ - pt-hurd-cond-wait \ - pt-hurd-cond-timedwait \ pt-spin \ # libpthread-routine @@ -123,6 +121,8 @@ routines := \ pt-getname-np \ pt-getschedparam \ pt-getspecific \ + pt-hurd-cond-timedwait \ + pt-hurd-cond-wait \ pt-init-specific \ pt-join \ pt-key-create \ diff --git a/htl/Versions b/htl/Versions index ed29636917..0eff9fd7be 100644 --- a/htl/Versions +++ b/htl/Versions @@ -127,7 +127,10 @@ libc { pthread_cond_init; pthread_cond_signal; pthread_cond_wait; pthread_cond_timedwait; pthread_equal; - pthread_exit; pthread_getschedparam; pthread_setschedparam; + pthread_exit; + pthread_hurd_cond_wait_np; + pthread_hurd_cond_timedwait_np; + pthread_getschedparam; pthread_setschedparam; pthread_mutex_destroy; pthread_mutex_init; pthread_mutex_lock; pthread_mutex_unlock; pthread_self; pthread_setcancelstate; pthread_setcanceltype; @@ -231,6 +234,8 @@ libc { pthread_getconcurrency; pthread_getcpuclockid; pthread_getname_np; + pthread_hurd_cond_wait_np; + pthread_hurd_cond_timedwait_np; pthread_join; pthread_kill; pthread_mutex_transfer_np; @@ -338,8 +343,7 @@ libpthread { _pthread_spin_lock; } GLIBC_2.21 { - pthread_hurd_cond_wait_np; - pthread_hurd_cond_timedwait_np; + __libpthread_version_placeholder; } GLIBC_2.32 { diff --git a/sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c b/sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c index a6c5597dfd..4903b8f8bd 100644 --- a/sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c +++ b/sysdeps/mach/hurd/htl/pt-hurd-cond-timedwait.c @@ -22,6 +22,7 @@ #include #include +#include extern int __pthread_hurd_cond_timedwait_internal (pthread_cond_t *cond, pthread_mutex_t *mutex, @@ -36,7 +37,11 @@ __pthread_hurd_cond_timedwait_np (pthread_cond_t *cond, return __pthread_hurd_cond_timedwait_internal (cond, mutex, abstime); } -strong_alias (__pthread_hurd_cond_timedwait_np, pthread_hurd_cond_timedwait_np); +versioned_symbol (libc, __pthread_hurd_cond_timedwait_np, pthread_hurd_cond_timedwait_np, GLIBC_2_43); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_21, GLIBC_2_43) +compat_symbol (libpthread, __pthread_hurd_cond_timedwait_np, pthread_hurd_cond_timedwait_np, GLIBC_2_21); +#endif int __pthread_hurd_cond_timedwait_internal (pthread_cond_t *cond, diff --git a/sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c b/sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c index d6f541a1fe..fcfa7978d9 100644 --- a/sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c +++ b/sysdeps/mach/hurd/htl/pt-hurd-cond-wait.c @@ -21,6 +21,7 @@ #include #include +#include /* Implemented in pt-hurd-cond-timedwait.c. */ extern int __pthread_hurd_cond_timedwait_internal (pthread_cond_t *cond, @@ -37,4 +38,8 @@ __pthread_hurd_cond_wait_np (pthread_cond_t *cond, pthread_mutex_t *mutex) return err == EINTR; } -strong_alias (__pthread_hurd_cond_wait_np, pthread_hurd_cond_wait_np); +versioned_symbol (libc, __pthread_hurd_cond_wait_np, pthread_hurd_cond_wait_np, GLIBC_2_43); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_21, GLIBC_2_43) +compat_symbol (libpthread, __pthread_hurd_cond_wait_np, pthread_hurd_cond_wait_np, GLIBC_2_21); +#endif diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index a01535746f..6099178c9e 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -2110,6 +2110,8 @@ GLIBC_2.21 pthread_condattr_init F GLIBC_2.21 pthread_equal F GLIBC_2.21 pthread_exit F GLIBC_2.21 pthread_getschedparam F +GLIBC_2.21 pthread_hurd_cond_timedwait_np F +GLIBC_2.21 pthread_hurd_cond_wait_np F GLIBC_2.21 pthread_mutex_destroy F GLIBC_2.21 pthread_mutex_init F GLIBC_2.21 pthread_mutex_lock F @@ -2679,6 +2681,8 @@ GLIBC_2.43 pthread_getattr_np F GLIBC_2.43 pthread_getconcurrency F GLIBC_2.43 pthread_getcpuclockid F GLIBC_2.43 pthread_getname_np F +GLIBC_2.43 pthread_hurd_cond_timedwait_np F +GLIBC_2.43 pthread_hurd_cond_wait_np F GLIBC_2.43 pthread_join F GLIBC_2.43 pthread_kill F GLIBC_2.43 pthread_mutex_transfer_np F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index 318aa1a690..24e6bd2c4a 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -10,8 +10,6 @@ GLIBC_2.12 pthread_spin_init F GLIBC_2.12 pthread_spin_lock F GLIBC_2.12 pthread_spin_trylock F GLIBC_2.12 pthread_spin_unlock F -GLIBC_2.21 pthread_hurd_cond_timedwait_np F -GLIBC_2.21 pthread_hurd_cond_wait_np F GLIBC_2.32 call_once F GLIBC_2.32 cnd_broadcast F GLIBC_2.32 cnd_destroy F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index 38261ba339..1aab058a9f 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -1565,6 +1565,8 @@ GLIBC_2.38 pthread_getconcurrency F GLIBC_2.38 pthread_getcpuclockid F GLIBC_2.38 pthread_getschedparam F GLIBC_2.38 pthread_getspecific F +GLIBC_2.38 pthread_hurd_cond_timedwait_np F +GLIBC_2.38 pthread_hurd_cond_wait_np F GLIBC_2.38 pthread_join F GLIBC_2.38 pthread_key_create F GLIBC_2.38 pthread_key_delete F @@ -2357,6 +2359,8 @@ GLIBC_2.43 pthread_getattr_np F GLIBC_2.43 pthread_getconcurrency F GLIBC_2.43 pthread_getcpuclockid F GLIBC_2.43 pthread_getname_np F +GLIBC_2.43 pthread_hurd_cond_timedwait_np F +GLIBC_2.43 pthread_hurd_cond_wait_np F GLIBC_2.43 pthread_join F GLIBC_2.43 pthread_kill F GLIBC_2.43 pthread_mutex_transfer_np F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index c9ad949d65..57d796482b 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -17,8 +17,6 @@ GLIBC_2.38 mtx_lock F GLIBC_2.38 mtx_timedlock F GLIBC_2.38 mtx_trylock F GLIBC_2.38 mtx_unlock F -GLIBC_2.38 pthread_hurd_cond_timedwait_np F -GLIBC_2.38 pthread_hurd_cond_wait_np F GLIBC_2.38 pthread_spin_destroy F GLIBC_2.38 pthread_spin_init F GLIBC_2.38 pthread_spin_lock F