From patchwork Sat Aug 16 00:13:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Samuel Thibault X-Patchwork-Id: 118449 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 57FB93858402 for ; Sat, 16 Aug 2025 00:25:47 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 57FB93858402 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 308D43858C74 for ; Sat, 16 Aug 2025 00:14:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 308D43858C74 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 308D43858C74 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=1755303265; cv=none; b=d68PzG55mj5RG1g86qPJX1TO20M7XexkW2XRcNyg2SfkJJPwyysysDztC5uRIp7XqNWUv0ZAmF2Eq9XrUeT4m2HE76U+3KdPxN92OvRp6hWy9kdu/PD5diNV8cgQyBu05XGkS32nm/dAo/O7JgESI200BkszrP09/+euX9bEzV4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1755303265; c=relaxed/simple; bh=BUP7Xk7V+g9RRcCnh7dteHLbGQJdF8OZ6JebuPRE1To=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=WvZECoXKnOCy4jdRdIIoD410BG7tXL3z06cHoqTrN52FYi3KZSilbIQ2LxRZM91DyJy8wedAsFds7S3x71CCMjS8iY1lkEEJUiP4IH3CNhrJY3Yo8/BC4012LXb7Q2+qT3/55J4rMMvSv+/AQmnByHu9hRokh3g35m8YW6gxR88= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 308D43858C74 Received: from localhost (localhost [127.0.0.1]) by sonata.ens-lyon.org (Postfix) with ESMTP id 6A9C6A49A4; Sat, 16 Aug 2025 02:14:08 +0200 (CEST) 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 FwBWiXUgTTZM; Sat, 16 Aug 2025 02:14:08 +0200 (CEST) Received: from begin (165.21.205.77.rev.sfr.net [77.205.21.165]) (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 9C4DEA5DFD; Sat, 16 Aug 2025 02:14:07 +0200 (CEST) Received: from samy by begin with local (Exim 4.98.2) (envelope-from ) id 1un4Yg-00000000WyJ-3EGX; Sat, 16 Aug 2025 02:14:06 +0200 From: Samuel Thibault To: libc-alpha@sourceware.org Cc: gfleury , commit-hurd@gnu.org Subject: [hurd,commited 13/19] htl: move pthread_mutex_transfer_np into libc. Date: Sat, 16 Aug 2025 02:13:59 +0200 Message-ID: <20250816001405.126154-14-samuel.thibault@ens-lyon.org> X-Mailer: git-send-email 2.47.2 In-Reply-To: <20250816001405.126154-1-samuel.thibault@ens-lyon.org> References: <20250816001405.126154-1-samuel.thibault@ens-lyon.org> MIME-Version: 1.0 X-Spam-Status: No, score=-13.3 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: <20250815181500.107433-14-gfleury@disroot.org> --- htl/Makefile | 2 +- htl/Versions | 7 +++---- sysdeps/mach/hurd/htl/pt-mutex-transfer-np.c | 7 ++++++- sysdeps/mach/hurd/i386/libc.abilist | 3 +++ sysdeps/mach/hurd/i386/libpthread.abilist | 2 -- sysdeps/mach/hurd/x86_64/libc.abilist | 3 +++ sysdeps/mach/hurd/x86_64/libpthread.abilist | 2 -- 7 files changed, 16 insertions(+), 10 deletions(-) diff --git a/htl/Makefile b/htl/Makefile index 64e484c589..7ce56265f5 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -31,7 +31,6 @@ libpthread-routines := \ pt-initialize \ pt-join \ pt-spin-inlines \ - pt-mutex-transfer-np \ pt-hurd-cond-wait \ pt-hurd-cond-timedwait \ pt-startup \ @@ -161,6 +160,7 @@ routines := \ pt-mutex-lock \ pt-mutex-setprioceiling \ pt-mutex-timedlock \ + pt-mutex-transfer-np \ pt-mutex-trylock \ pt-mutex-unlock \ pt-mutexattr-destroy \ diff --git a/htl/Versions b/htl/Versions index c94bd61500..7d0b5f21be 100644 --- a/htl/Versions +++ b/htl/Versions @@ -5,6 +5,7 @@ libc { __pthread_get_cleanup_stack; __pthread_key_create; __pthread_kill; + __pthread_mutex_transfer_np; __pthread_self; pthread_attr_getdetachstate; pthread_attr_getinheritsched; @@ -62,6 +63,7 @@ libc { pthread_mutex_lock; pthread_mutex_setprioceiling; pthread_mutex_timedlock; + pthread_mutex_transfer_np; pthread_mutex_trylock; pthread_mutex_unlock; pthread_mutexattr_destroy; @@ -202,6 +204,7 @@ libc { pthread_getconcurrency; pthread_getcpuclockid; pthread_kill; + pthread_mutex_transfer_np; pthread_setconcurrency; pthread_setschedprio; pthread_testcancel; @@ -276,8 +279,6 @@ libpthread { __errno_location; __h_errno_location; } GLIBC_2.12 { - __pthread_mutex_transfer_np; - cthread_detach; cthread_fork; cthread_keycreate; @@ -297,8 +298,6 @@ libpthread { pthread_join; - pthread_mutex_transfer_np; - sem_close; sem_destroy; sem_getvalue; sem_init; sem_open; sem_post; sem_timedwait; sem_trywait; sem_unlink; sem_wait; diff --git a/sysdeps/mach/hurd/htl/pt-mutex-transfer-np.c b/sysdeps/mach/hurd/htl/pt-mutex-transfer-np.c index 72f83ee0b0..8961cb26bd 100644 --- a/sysdeps/mach/hurd/htl/pt-mutex-transfer-np.c +++ b/sysdeps/mach/hurd/htl/pt-mutex-transfer-np.c @@ -24,6 +24,8 @@ #include "pt-mutex.h" #include #include +#include +#include int __pthread_mutex_transfer_np (pthread_mutex_t *mtxp, pthread_t th) @@ -73,5 +75,8 @@ __pthread_mutex_transfer_np (pthread_mutex_t *mtxp, pthread_t th) return ret; } +versioned_symbol (libc, __pthread_mutex_transfer_np, pthread_mutex_transfer_np, GLIBC_2_43); -weak_alias (__pthread_mutex_transfer_np, pthread_mutex_transfer_np) +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_43) +compat_symbol (libpthread, __pthread_mutex_transfer_np, pthread_mutex_transfer_np, GLIBC_2_12); +#endif diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 0cbff57785..e795ff5ace 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -31,6 +31,7 @@ GLIBC_2.11 mkstemps64 F 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_attr_destroy F GLIBC_2.12 pthread_attr_getdetachstate F @@ -87,6 +88,7 @@ GLIBC_2.12 pthread_mutex_init F GLIBC_2.12 pthread_mutex_lock F GLIBC_2.12 pthread_mutex_setprioceiling F GLIBC_2.12 pthread_mutex_timedlock F +GLIBC_2.12 pthread_mutex_transfer_np F GLIBC_2.12 pthread_mutex_trylock F GLIBC_2.12 pthread_mutex_unlock F GLIBC_2.12 pthread_mutexattr_destroy F @@ -2648,6 +2650,7 @@ GLIBC_2.43 pthread_getattr_np F GLIBC_2.43 pthread_getconcurrency F GLIBC_2.43 pthread_getcpuclockid F GLIBC_2.43 pthread_kill F +GLIBC_2.43 pthread_mutex_transfer_np F GLIBC_2.43 pthread_setconcurrency F GLIBC_2.43 pthread_setschedprio F GLIBC_2.43 pthread_testcancel F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index 3d22516688..bfec2a2ad3 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -1,6 +1,5 @@ GLIBC_2.12 __mutex_lock_solid F GLIBC_2.12 __mutex_unlock_solid F -GLIBC_2.12 __pthread_mutex_transfer_np F GLIBC_2.12 __pthread_spin_destroy F GLIBC_2.12 __pthread_spin_init F GLIBC_2.12 __pthread_spin_lock F @@ -23,7 +22,6 @@ GLIBC_2.12 pthread_create F GLIBC_2.12 pthread_detach F GLIBC_2.12 pthread_exit F GLIBC_2.12 pthread_join F -GLIBC_2.12 pthread_mutex_transfer_np F GLIBC_2.12 pthread_spin_destroy F GLIBC_2.12 pthread_spin_init F GLIBC_2.12 pthread_spin_lock F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index 2b983e489d..bebf927688 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -394,6 +394,7 @@ GLIBC_2.38 __progname_full D 0x8 GLIBC_2.38 __pthread_get_cleanup_stack F GLIBC_2.38 __pthread_key_create F GLIBC_2.38 __pthread_kill F +GLIBC_2.38 __pthread_mutex_transfer_np F GLIBC_2.38 __pthread_self F GLIBC_2.38 __ptsname_r_chk F GLIBC_2.38 __pwrite64 F @@ -1573,6 +1574,7 @@ GLIBC_2.38 pthread_mutex_init F GLIBC_2.38 pthread_mutex_lock F GLIBC_2.38 pthread_mutex_setprioceiling F GLIBC_2.38 pthread_mutex_timedlock F +GLIBC_2.38 pthread_mutex_transfer_np F GLIBC_2.38 pthread_mutex_trylock F GLIBC_2.38 pthread_mutex_unlock F GLIBC_2.38 pthread_mutexattr_destroy F @@ -2330,6 +2332,7 @@ GLIBC_2.43 pthread_getattr_np F GLIBC_2.43 pthread_getconcurrency F GLIBC_2.43 pthread_getcpuclockid F GLIBC_2.43 pthread_kill F +GLIBC_2.43 pthread_mutex_transfer_np F GLIBC_2.43 pthread_setconcurrency F GLIBC_2.43 pthread_setschedprio F GLIBC_2.43 pthread_testcancel F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index cf45150539..9164c479a1 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -5,7 +5,6 @@ GLIBC_2.38 __errno_location F GLIBC_2.38 __h_errno_location F GLIBC_2.38 __mutex_lock_solid F GLIBC_2.38 __mutex_unlock_solid F -GLIBC_2.38 __pthread_mutex_transfer_np F GLIBC_2.38 __pthread_spin_destroy F GLIBC_2.38 __pthread_spin_init F GLIBC_2.38 __pthread_spin_lock F @@ -43,7 +42,6 @@ GLIBC_2.38 pthread_exit 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_mutex_transfer_np F GLIBC_2.38 pthread_spin_destroy F GLIBC_2.38 pthread_spin_init F GLIBC_2.38 pthread_spin_lock F