From patchwork Sat Feb 15 12:50:04 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gfleury X-Patchwork-Id: 106581 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 40CF73858C33 for ; Sat, 15 Feb 2025 12:53:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 40CF73858C33 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=disroot.org header.i=@disroot.org header.a=rsa-sha256 header.s=mail header.b=K8QCaN/T X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from layka.disroot.org (layka.disroot.org [178.21.23.139]) by sourceware.org (Postfix) with ESMTPS id 528953858415 for ; Sat, 15 Feb 2025 12:50:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 528953858415 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=disroot.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=disroot.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 528953858415 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=178.21.23.139 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623848; cv=none; b=ubOeZ5hxUFXi/Zbi3HA28Y3VO11zVhnsSC+kZ6k6jn8c5C7YbZynTsAgoc/QT2Vq9FFVyb/4cugaVNUVlE02TOiLHsVoFAkK7vSGSb2uNNGoMT8zPkITSFyQFE8WcQiO6+sBAkiCjBkqW4hV5ToeRJp+lPc4x3oR7pxnPxi/3YU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623848; c=relaxed/simple; bh=4deQQPXu89HIA3Yif98/hP4ZIbctmjMt1EtRTSBdwMY=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=t4kwknOj/YkniDtyptP27g3pXr/8hAF8wuGmURQEgysuDTIaR8aFi1xjSglts03/wJE6GYF059ONkyZdUcOf77SsrhQtFQKPvXRjGeHJYkoq0Zzu2LxNV0fWYj9Wy+pvqw1XV7oq8UHfbQSta+vIS+dXG1o5IY1wSXvdKdbFajE= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 528953858415 Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 6A151258EF; Sat, 15 Feb 2025 13:50:46 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id GCDNGEIOvN9h; Sat, 15 Feb 2025 13:50:42 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1739623842; bh=4deQQPXu89HIA3Yif98/hP4ZIbctmjMt1EtRTSBdwMY=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=K8QCaN/Te5dO1YLrNr8yPBS+ki2hrRt3utL4W2z3xKAjw4N13tAz6Z6hTHNaft2aT z0v8mrANugKsIL5fVJR4fS0fItPHIfgHnVBSbNFj1bdvHqlxeTieDqPUwdBWD13W3P Dbe1zEl0fVnlWnPfl8S2f8S+jvSt6G18knMLetSxJma+f06MsmWQffMfGMB/0ld3vE qEP+5UPpuDChrMos6WYL3qVuTnloUg4EvIz8PpnF5/iupgTaug8ceg9e3N7Yz8DRtK i0m/Y4A2F7cUnQiaphmV+CB0JRl+8ItN6xhxnS1eIM/jJ0yFvhd+RkeDCfZF/vpxID TocZQTmpYMtaw== From: gfleury To: libc-alpha@sourceware.org Cc: gfleury Subject: [PATCH 01/10] htl: move __pthread_default_rwlockattr into libc. Date: Sat, 15 Feb 2025 14:50:04 +0200 Message-Id: <20250215125013.270919-2-gfleury@disroot.org> In-Reply-To: <20250215125013.270919-1-gfleury@disroot.org> References: <20250215125013.270919-1-gfleury@disroot.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 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 Signed-off-by: gfleury --- htl/Makefile | 2 +- htl/Versions | 1 + htl/pt-internal.h | 1 + sysdeps/htl/pt-rwlock-attr.c | 1 + 4 files changed, 4 insertions(+), 1 deletion(-) diff --git a/htl/Makefile b/htl/Makefile index 2b2a49c7..e562ff81 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -45,7 +45,6 @@ libpthread-routines := \ pt-testcancel \ pt-cancel \ pt-mutex-transfer-np \ - pt-rwlock-attr \ pt-rwlockattr-init \ pt-rwlockattr-destroy \ pt-rwlockattr-getpshared \ @@ -200,6 +199,7 @@ routines := \ pt-mutexattr-setrobust \ pt-mutexattr-settype \ pt-nthreads \ + pt-rwlock-attr \ pt-pthread_self \ pt-self pt-equal \ pt-setcancelstate \ diff --git a/htl/Versions b/htl/Versions index dd3be82e..ff24da01 100644 --- a/htl/Versions +++ b/htl/Versions @@ -171,6 +171,7 @@ libc { __pthread_cond_wait; __pthread_condattr_init; __pthread_default_condattr; + __pthread_default_rwlockattr; __pthread_mutex_checklocked; __pthread_mutex_destroy; __pthread_mutex_init; diff --git a/htl/pt-internal.h b/htl/pt-internal.h index d19579b3..cd4ebc0a 100644 --- a/htl/pt-internal.h +++ b/htl/pt-internal.h @@ -331,6 +331,7 @@ extern const struct __pthread_barrierattr __pthread_default_barrierattr; /* Default rdlock attributes. */ extern const struct __pthread_rwlockattr __pthread_default_rwlockattr; +libc_hidden_proto (__pthread_default_rwlockattr) /* Default condition attributes. */ extern const struct __pthread_condattr __pthread_default_condattr; diff --git a/sysdeps/htl/pt-rwlock-attr.c b/sysdeps/htl/pt-rwlock-attr.c index 999e108e..98dd4c9d 100644 --- a/sysdeps/htl/pt-rwlock-attr.c +++ b/sysdeps/htl/pt-rwlock-attr.c @@ -22,3 +22,4 @@ const struct __pthread_rwlockattr __pthread_default_rwlockattr = { __pshared: PTHREAD_PROCESS_PRIVATE }; +libc_hidden_data_def (__pthread_default_rwlockattr) From patchwork Sat Feb 15 12:50:05 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gfleury X-Patchwork-Id: 106582 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 9D0C83858C33 for ; Sat, 15 Feb 2025 12:53:17 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 9D0C83858C33 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=disroot.org header.i=@disroot.org header.a=rsa-sha256 header.s=mail header.b=X/J3+iYL X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from layka.disroot.org (layka.disroot.org [178.21.23.139]) by sourceware.org (Postfix) with ESMTPS id 359183858C42 for ; Sat, 15 Feb 2025 12:50:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 359183858C42 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=disroot.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=disroot.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 359183858C42 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=178.21.23.139 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623846; cv=none; b=rmExVvTIUtDMP/kXGTqRA+F/WG7ruE24N3RH9Euu60mnmy2w0I8+8fVJhpGExsr5+aUTj4AbZO2rOZ4aO4emvKHNNm2CxeCd6pFY9dqim48eN+/bt+1/oqkxwFREIB4HUGlxNaBLTYy8+R7DgpkTQRYg2p4wh/zMiSRnlVCi5q8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623846; c=relaxed/simple; bh=5hocXrJEts+9MChZgFmoFuzPrlQBlmom8aosbDRXi7w=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=Y5O3duYdcSwOk1qLINnNZ/MlsDxN8kFTMxB0uvZl5B1Jyl2go7Bs2CObrferoQmQJJozAhAeff/cXccCZicerpuvKm45AQn+6kuvPSIyu1GwbcJIpJ+iSoHZzDQf4Fi3OOpxkcFDCMBmkTEaTe2H1BevpbdhZK8UczWlM2p0f9w= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 359183858C42 Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 8183525B12; Sat, 15 Feb 2025 13:50:44 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id Znse_4IEANVA; Sat, 15 Feb 2025 13:50:43 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1739623843; bh=5hocXrJEts+9MChZgFmoFuzPrlQBlmom8aosbDRXi7w=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=X/J3+iYLsr9B2AlexRDm499wIst7ByXXHgXNmj2JoAkJVOigOW9Ef4OTRiEC+xz19 w2juAEaiQYHbiHJHtV1qsGE8vzroPo81p2FgDdzXrlzVbquhVvs9FHUi5a+eun1d9f cXy5mxGLPqToXbQ/JNo/9FUA1T8g2GMlTTiwDRYBCJ4PYRv7rYmsxH8jkYQ2WmaQ4N NNLlSYZ8F2xB/PMVz+vXbK36pOCYucaVWc84lTeQ07EiMNJ0fW8RthlqdowAq1/L4O YWxjRvmCtVwI4RtSFTHz6RkD6dvxKlwuf/+uSqzuPWtLfhwyDinNNvobUAYTGN0MlR NDG6N4lCtJP3w== From: gfleury To: libc-alpha@sourceware.org Cc: gfleury Subject: [PATCH 02/10] htl: move pthread_rwlockattr_init into libc. Date: Sat, 15 Feb 2025 14:50:05 +0200 Message-Id: <20250215125013.270919-3-gfleury@disroot.org> In-Reply-To: <20250215125013.270919-1-gfleury@disroot.org> References: <20250215125013.270919-1-gfleury@disroot.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 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 Signed-off-by: gfleury --- htl/Makefile | 2 +- htl/Versions | 4 +++- sysdeps/htl/pt-rwlockattr-init.c | 9 ++++++++- sysdeps/htl/pthreadP.h | 2 ++ sysdeps/mach/hurd/i386/libc.abilist | 2 ++ sysdeps/mach/hurd/i386/libpthread.abilist | 1 - sysdeps/mach/hurd/x86_64/libc.abilist | 2 ++ sysdeps/mach/hurd/x86_64/libpthread.abilist | 1 - 8 files changed, 18 insertions(+), 5 deletions(-) diff --git a/htl/Makefile b/htl/Makefile index e562ff81..f7419116 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -45,7 +45,6 @@ libpthread-routines := \ pt-testcancel \ pt-cancel \ pt-mutex-transfer-np \ - pt-rwlockattr-init \ pt-rwlockattr-destroy \ pt-rwlockattr-getpshared \ pt-rwlockattr-setpshared \ @@ -200,6 +199,7 @@ routines := \ pt-mutexattr-settype \ pt-nthreads \ pt-rwlock-attr \ + pt-rwlockattr-init \ pt-pthread_self \ pt-self pt-equal \ pt-setcancelstate \ diff --git a/htl/Versions b/htl/Versions index ff24da01..c02ac04e 100644 --- a/htl/Versions +++ b/htl/Versions @@ -63,6 +63,7 @@ libc { pthread_mutexattr_setprotocol; pthread_mutexattr_setpshared; pthread_mutexattr_settype; + pthread_rwlockattr_init; pthread_setcancelstate; pthread_setcanceltype; pthread_sigmask; @@ -142,6 +143,7 @@ libc { pthread_mutex_getprioceiling; pthread_mutex_setprioceiling; pthread_mutex_trylock; + pthread_rwlockattr_init; } GLIBC_PRIVATE { @@ -243,7 +245,7 @@ libpthread { pthread_rwlock_unlock; pthread_rwlock_wrlock; pthread_rwlockattr_destroy; pthread_rwlockattr_getpshared; - pthread_rwlockattr_init; pthread_rwlockattr_setpshared; + pthread_rwlockattr_setpshared; pthread_setconcurrency; pthread_setschedprio; pthread_setspecific; diff --git a/sysdeps/htl/pt-rwlockattr-init.c b/sysdeps/htl/pt-rwlockattr-init.c index 04a3ca62..ce3f3c65 100644 --- a/sysdeps/htl/pt-rwlockattr-init.c +++ b/sysdeps/htl/pt-rwlockattr-init.c @@ -18,12 +18,19 @@ #include #include +#include int -pthread_rwlockattr_init (pthread_rwlockattr_t *attr) +__pthread_rwlockattr_init (pthread_rwlockattr_t *attr) { ASSERT_TYPE_SIZE (pthread_rwlockattr_t, __SIZEOF_PTHREAD_RWLOCKATTR_T); *attr = __pthread_default_rwlockattr; return 0; } +libc_hidden_def (__pthread_rwlockattr_init) +versioned_symbol (libc, __pthread_rwlockattr_init, pthread_rwlockattr_init, GLIBC_2_42); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42) +compat_symbol (libpthread, __pthread_rwlockattr_init, pthread_rwlockattr_init, GLIBC_2_12); +#endif diff --git a/sysdeps/htl/pthreadP.h b/sysdeps/htl/pthreadP.h index 9ded2f85..2f779d27 100644 --- a/sysdeps/htl/pthreadP.h +++ b/sysdeps/htl/pthreadP.h @@ -114,6 +114,8 @@ libc_hidden_proto (__pthread_mutexattr_gettype) extern int __pthread_mutexattr_settype(pthread_mutexattr_t *__attr, int __type); libc_hidden_proto (__pthread_mutexattr_settype) +extern int __pthread_rwlockattr_init (pthread_rwlockattr_t *__attr); +libc_hidden_proto (__pthread_rwlockattr_init) extern int __pthread_cond_init (pthread_cond_t *cond, const pthread_condattr_t *cond_attr); diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 0a100f87..096ab46b 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -88,6 +88,7 @@ GLIBC_2.12 pthread_mutexattr_setprioceiling F GLIBC_2.12 pthread_mutexattr_setprotocol F GLIBC_2.12 pthread_mutexattr_setpshared F GLIBC_2.12 pthread_mutexattr_settype F +GLIBC_2.12 pthread_rwlockattr_init F GLIBC_2.12 pthread_self F GLIBC_2.12 pthread_setcancelstate F GLIBC_2.12 pthread_setcanceltype F @@ -2580,6 +2581,7 @@ GLIBC_2.42 pthread_mutex_consistent_np F GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F +GLIBC_2.42 pthread_rwlockattr_init F GLIBC_2.5 __readlinkat_chk F GLIBC_2.5 inet6_opt_append F GLIBC_2.5 inet6_opt_find F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index d85b9d69..7a205058 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -47,7 +47,6 @@ GLIBC_2.12 pthread_rwlock_unlock F GLIBC_2.12 pthread_rwlock_wrlock F 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_setconcurrency F GLIBC_2.12 pthread_setschedprio F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index 2266d3c8..d0010a3c 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -1579,6 +1579,7 @@ GLIBC_2.38 pthread_mutexattr_setpshared F GLIBC_2.38 pthread_mutexattr_setrobust F GLIBC_2.38 pthread_mutexattr_setrobust_np F GLIBC_2.38 pthread_mutexattr_settype F +GLIBC_2.38 pthread_rwlockattr_init F GLIBC_2.38 pthread_self F GLIBC_2.38 pthread_setcancelstate F GLIBC_2.38 pthread_setcanceltype F @@ -2263,6 +2264,7 @@ GLIBC_2.42 pthread_mutex_consistent_np F GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F +GLIBC_2.42 pthread_rwlockattr_init F HURD_CTHREADS_0.3 __cthread_getspecific F HURD_CTHREADS_0.3 __cthread_keycreate F HURD_CTHREADS_0.3 __cthread_setspecific F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index 37b6190c..a5f5b0a2 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -69,7 +69,6 @@ GLIBC_2.38 pthread_rwlock_unlock F GLIBC_2.38 pthread_rwlock_wrlock F GLIBC_2.38 pthread_rwlockattr_destroy F GLIBC_2.38 pthread_rwlockattr_getpshared F -GLIBC_2.38 pthread_rwlockattr_init F GLIBC_2.38 pthread_rwlockattr_setpshared F GLIBC_2.38 pthread_setconcurrency F GLIBC_2.38 pthread_setschedprio F From patchwork Sat Feb 15 12:50:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gfleury X-Patchwork-Id: 106586 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 47AA53858039 for ; Sat, 15 Feb 2025 12:56:19 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 47AA53858039 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=disroot.org header.i=@disroot.org header.a=rsa-sha256 header.s=mail header.b=Gvm9Jtyj X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from layka.disroot.org (layka.disroot.org [178.21.23.139]) by sourceware.org (Postfix) with ESMTPS id 4231A3858410 for ; Sat, 15 Feb 2025 12:50:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4231A3858410 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=disroot.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=disroot.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 4231A3858410 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=178.21.23.139 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623848; cv=none; b=alevXcozalUTFMs0GmxmK5ja+HxkAyXznVlSVZ8SBlzgJh3Rd/7r2OKlkGPzIOYysvL9UdQBbmm3BQJQYbDrF18xyh0aPjXHFMKVrWQmqaoDKfW3btCbFD1une1TAOh8+yZuNyCqISbusdAvHIGE+Xj+vXf9d8ayFgHcN5LR+RA= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623848; c=relaxed/simple; bh=Vmu1H49uh65jnODUSPumZRP9ofKISSsrGeoOqrENCKE=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=g1e4WWFS4J23KMBYRqe/0CgfyRF1vVG/xtyDGXauawQg4I73fcSo8EmL849J+klTyPpX7c8CFzFcMdd4ukUeFzytzycOZWWVXtsvQ0i2KJMkZYsoIX9fLLLJDjv70U7bsG8zbguU9fsiHb4nGHIcOMzOJ/B3etIMW3avIK09/gQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 4231A3858410 Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 50EF825B1D; Sat, 15 Feb 2025 13:50:46 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id 0tUvjBWdJbDg; Sat, 15 Feb 2025 13:50:45 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1739623845; bh=Vmu1H49uh65jnODUSPumZRP9ofKISSsrGeoOqrENCKE=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Gvm9JtyjWNZ1DqnBPNXABuCpyxBEun/UUEBA4p8T0rwMguoIe8713cq/X6BUD22co hCVqXhpstQ3fJGTsw5REzwcvPxi6ptsaUFV1GMtKqiYuRxmOx7K4s0tBgcykiTGHEg ZuKmYwDqG8N2TIUAPqUtP/OPQF61VLr/LwhGPMaCeYHP9HRX/qh145zjs67qapIVos n6TnZFaexFxvU6tLjshaKonJyUBPnWtQohY1twIuxHqzn4SIAVtgOXUQEuMPlXZ/zR 21P6dugniWbSGnXRqg2Mi7aNEwf2xw315WKC10jOdVgmXtHJ3+3kEG3H6qiKYdBKSC yyFm+OFPZuB9Q== From: gfleury To: libc-alpha@sourceware.org Cc: gfleury Subject: [PATCH 03/10] htl: move pthread_rwlockattr_destroy into libc. Date: Sat, 15 Feb 2025 14:50:06 +0200 Message-Id: <20250215125013.270919-4-gfleury@disroot.org> In-Reply-To: <20250215125013.270919-1-gfleury@disroot.org> References: <20250215125013.270919-1-gfleury@disroot.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 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 Signed-off-by: gfleury --- htl/Makefile | 2 +- htl/Versions | 4 +++- sysdeps/htl/pt-rwlockattr-destroy.c | 9 ++++++++- sysdeps/htl/pthreadP.h | 2 ++ sysdeps/mach/hurd/i386/libc.abilist | 2 ++ sysdeps/mach/hurd/i386/libpthread.abilist | 1 - sysdeps/mach/hurd/x86_64/libc.abilist | 2 ++ sysdeps/mach/hurd/x86_64/libpthread.abilist | 1 - 8 files changed, 18 insertions(+), 5 deletions(-) diff --git a/htl/Makefile b/htl/Makefile index f7419116..ac5e0a19 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -45,7 +45,6 @@ libpthread-routines := \ pt-testcancel \ pt-cancel \ pt-mutex-transfer-np \ - pt-rwlockattr-destroy \ pt-rwlockattr-getpshared \ pt-rwlockattr-setpshared \ pt-rwlock-init \ @@ -199,6 +198,7 @@ routines := \ pt-mutexattr-settype \ pt-nthreads \ pt-rwlock-attr \ + pt-rwlockattr-destroy \ pt-rwlockattr-init \ pt-pthread_self \ pt-self pt-equal \ diff --git a/htl/Versions b/htl/Versions index c02ac04e..f6a1566a 100644 --- a/htl/Versions +++ b/htl/Versions @@ -63,6 +63,7 @@ libc { pthread_mutexattr_setprotocol; pthread_mutexattr_setpshared; pthread_mutexattr_settype; + pthread_rwlockattr_destroy; pthread_rwlockattr_init; pthread_setcancelstate; pthread_setcanceltype; @@ -143,6 +144,7 @@ libc { pthread_mutex_getprioceiling; pthread_mutex_setprioceiling; pthread_mutex_trylock; + pthread_rwlockattr_destroy; pthread_rwlockattr_init; } @@ -244,7 +246,7 @@ libpthread { pthread_rwlock_tryrdlock; pthread_rwlock_trywrlock; pthread_rwlock_unlock; pthread_rwlock_wrlock; - pthread_rwlockattr_destroy; pthread_rwlockattr_getpshared; + pthread_rwlockattr_getpshared; pthread_rwlockattr_setpshared; pthread_setconcurrency; diff --git a/sysdeps/htl/pt-rwlockattr-destroy.c b/sysdeps/htl/pt-rwlockattr-destroy.c index cf73625c..671eb84e 100644 --- a/sysdeps/htl/pt-rwlockattr-destroy.c +++ b/sysdeps/htl/pt-rwlockattr-destroy.c @@ -18,9 +18,16 @@ #include #include +#include int -pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr) +__pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr) { return 0; } +libc_hidden_def (__pthread_rwlockattr_destroy) +versioned_symbol (libc, __pthread_rwlockattr_destroy, pthread_rwlockattr_destroy, GLIBC_2_42); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42) +compat_symbol (libpthread, __pthread_rwlockattr_destroy, pthread_rwlockattr_destroy, GLIBC_2_12); +#endif diff --git a/sysdeps/htl/pthreadP.h b/sysdeps/htl/pthreadP.h index 2f779d27..0f22c85d 100644 --- a/sysdeps/htl/pthreadP.h +++ b/sysdeps/htl/pthreadP.h @@ -114,6 +114,8 @@ libc_hidden_proto (__pthread_mutexattr_gettype) extern int __pthread_mutexattr_settype(pthread_mutexattr_t *__attr, int __type); libc_hidden_proto (__pthread_mutexattr_settype) +extern int __pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr); +libc_hidden_proto (__pthread_rwlockattr_destroy) extern int __pthread_rwlockattr_init (pthread_rwlockattr_t *__attr); libc_hidden_proto (__pthread_rwlockattr_init) diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 096ab46b..2ed475b7 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -88,6 +88,7 @@ GLIBC_2.12 pthread_mutexattr_setprioceiling F GLIBC_2.12 pthread_mutexattr_setprotocol F GLIBC_2.12 pthread_mutexattr_setpshared F GLIBC_2.12 pthread_mutexattr_settype F +GLIBC_2.12 pthread_rwlockattr_destroy F GLIBC_2.12 pthread_rwlockattr_init F GLIBC_2.12 pthread_self F GLIBC_2.12 pthread_setcancelstate F @@ -2581,6 +2582,7 @@ GLIBC_2.42 pthread_mutex_consistent_np F GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F +GLIBC_2.42 pthread_rwlockattr_destroy F GLIBC_2.42 pthread_rwlockattr_init F GLIBC_2.5 __readlinkat_chk F GLIBC_2.5 inet6_opt_append F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index 7a205058..ad5fb60d 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -45,7 +45,6 @@ GLIBC_2.12 pthread_rwlock_tryrdlock F GLIBC_2.12 pthread_rwlock_trywrlock F GLIBC_2.12 pthread_rwlock_unlock F GLIBC_2.12 pthread_rwlock_wrlock F -GLIBC_2.12 pthread_rwlockattr_destroy F GLIBC_2.12 pthread_rwlockattr_getpshared F GLIBC_2.12 pthread_rwlockattr_setpshared F GLIBC_2.12 pthread_setconcurrency F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index d0010a3c..9ab097d9 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -1579,6 +1579,7 @@ GLIBC_2.38 pthread_mutexattr_setpshared F GLIBC_2.38 pthread_mutexattr_setrobust F GLIBC_2.38 pthread_mutexattr_setrobust_np F GLIBC_2.38 pthread_mutexattr_settype F +GLIBC_2.38 pthread_rwlockattr_destroy F GLIBC_2.38 pthread_rwlockattr_init F GLIBC_2.38 pthread_self F GLIBC_2.38 pthread_setcancelstate F @@ -2264,6 +2265,7 @@ GLIBC_2.42 pthread_mutex_consistent_np F GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F +GLIBC_2.42 pthread_rwlockattr_destroy F GLIBC_2.42 pthread_rwlockattr_init F HURD_CTHREADS_0.3 __cthread_getspecific F HURD_CTHREADS_0.3 __cthread_keycreate F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index a5f5b0a2..a6c70d36 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -67,7 +67,6 @@ GLIBC_2.38 pthread_rwlock_tryrdlock F GLIBC_2.38 pthread_rwlock_trywrlock F GLIBC_2.38 pthread_rwlock_unlock F GLIBC_2.38 pthread_rwlock_wrlock F -GLIBC_2.38 pthread_rwlockattr_destroy F GLIBC_2.38 pthread_rwlockattr_getpshared F GLIBC_2.38 pthread_rwlockattr_setpshared F GLIBC_2.38 pthread_setconcurrency F From patchwork Sat Feb 15 12:50:07 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gfleury X-Patchwork-Id: 106583 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 D12363858417 for ; Sat, 15 Feb 2025 12:53:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D12363858417 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=disroot.org header.i=@disroot.org header.a=rsa-sha256 header.s=mail header.b=jw2RkHiB X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from layka.disroot.org (layka.disroot.org [178.21.23.139]) by sourceware.org (Postfix) with ESMTPS id B35E43858C33 for ; Sat, 15 Feb 2025 12:50:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B35E43858C33 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=disroot.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=disroot.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org B35E43858C33 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=178.21.23.139 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623848; cv=none; b=dchp0tbJislrkh9alKvT6Y0pULafGBnwe1oOunnPZx7sMwoCiEGgdvEgnkDdN+fRuO37158D3QMsGGxGgCUtkHYe/cGnrgCjHur1VvawzBFTxKlH47FosVnGGKsvzHFxGrjogY3g8vOCo4gl6F6cGLl6cFFuRno+JYiXleM0SbQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623848; c=relaxed/simple; bh=6jmyjbW39eFPMzU/Sg3+pslbjEfx1Z/4moQE/bfgqys=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=mnT29dYfQX/flnUTImpSJyEZ76GaeyHG3ifitRGyz34c8Rz5eipxlGQcZDFHDtjDIWlXGdguXD8r+hexKbIs+E5H2cX08DUObFTU54+90EtPwxaCY02LQ4oPczNUxdnEMxb6O/wgFXeIP+c/8RP8GN8oykPkYGJSHg0JoySn5I4= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B35E43858C33 Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id AB43C25B4A; Sat, 15 Feb 2025 13:50:47 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id WGDB26dqpllc; Sat, 15 Feb 2025 13:50:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1739623846; bh=6jmyjbW39eFPMzU/Sg3+pslbjEfx1Z/4moQE/bfgqys=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=jw2RkHiB/BqjtSdMoGTIpwqrv47ApOlGQHF2xIvoJhSXMYLXJq+9m/ic7Rzkr+0ie Wcw8JC2Ypb2010u2IWv5hwIrzeSkaBRgmcPnf3uGthOv/ovrlYX8w6HcJykvp4eS1+ 43Xo+RL3phGA2IHD8CasYWZ/icD9x9J9yXAg6nEmGme+kTzIdHiRpjGAYM7LCcprSY 0At9ov4ztkA6o8DIGAqIep6pVcI9c1B+QQidpQx/8PYeTYklDjDlhbxBwHrfQQTIyk sYewt8EmX676/AsoWVwTA8OSeqvz4qdtRMQ5du9IxQ5iUX773n4K66TlFjOXXzdgKe 1v6hWVjonbWHg== From: gfleury To: libc-alpha@sourceware.org Cc: gfleury Subject: [PATCH 04/10] htl: move pthread_rwlockattr_getpshared, pthread_rwlockattr_setpshared into libc. Date: Sat, 15 Feb 2025 14:50:07 +0200 Message-Id: <20250215125013.270919-5-gfleury@disroot.org> In-Reply-To: <20250215125013.270919-1-gfleury@disroot.org> References: <20250215125013.270919-1-gfleury@disroot.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 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 Signed-off-by: gfleury --- htl/Makefile | 4 ++-- htl/Versions | 7 ++++--- sysdeps/htl/pt-rwlockattr-getpshared.c | 9 ++++++++- sysdeps/htl/pt-rwlockattr-setpshared.c | 9 ++++++++- sysdeps/htl/pthreadP.h | 6 ++++++ 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 -- 9 files changed, 36 insertions(+), 11 deletions(-) diff --git a/htl/Makefile b/htl/Makefile index ac5e0a19..80129a80 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -45,8 +45,6 @@ libpthread-routines := \ pt-testcancel \ pt-cancel \ pt-mutex-transfer-np \ - pt-rwlockattr-getpshared \ - pt-rwlockattr-setpshared \ pt-rwlock-init \ pt-rwlock-destroy \ pt-rwlock-rdlock \ @@ -199,7 +197,9 @@ routines := \ pt-nthreads \ pt-rwlock-attr \ pt-rwlockattr-destroy \ + pt-rwlockattr-getpshared \ pt-rwlockattr-init \ + pt-rwlockattr-setpshared \ pt-pthread_self \ pt-self pt-equal \ pt-setcancelstate \ diff --git a/htl/Versions b/htl/Versions index f6a1566a..1d666bcb 100644 --- a/htl/Versions +++ b/htl/Versions @@ -64,7 +64,9 @@ libc { pthread_mutexattr_setpshared; pthread_mutexattr_settype; pthread_rwlockattr_destroy; + pthread_rwlockattr_getpshared; pthread_rwlockattr_init; + pthread_rwlockattr_setpshared; pthread_setcancelstate; pthread_setcanceltype; pthread_sigmask; @@ -145,7 +147,9 @@ libc { pthread_mutex_setprioceiling; pthread_mutex_trylock; pthread_rwlockattr_destroy; + pthread_rwlockattr_getpshared; pthread_rwlockattr_init; + pthread_rwlockattr_setpshared; } GLIBC_PRIVATE { @@ -246,9 +250,6 @@ libpthread { pthread_rwlock_tryrdlock; pthread_rwlock_trywrlock; pthread_rwlock_unlock; pthread_rwlock_wrlock; - pthread_rwlockattr_getpshared; - pthread_rwlockattr_setpshared; - pthread_setconcurrency; pthread_setschedprio; pthread_setspecific; diff --git a/sysdeps/htl/pt-rwlockattr-getpshared.c b/sysdeps/htl/pt-rwlockattr-getpshared.c index 9e57d39c..15470ada 100644 --- a/sysdeps/htl/pt-rwlockattr-getpshared.c +++ b/sysdeps/htl/pt-rwlockattr-getpshared.c @@ -18,10 +18,17 @@ #include #include +#include int -pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *attr, int *pshared) +__pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *attr, int *pshared) { *pshared = attr->__pshared; return 0; } +libc_hidden_def (__pthread_rwlockattr_getpshared) +versioned_symbol (libc, __pthread_rwlockattr_getpshared, pthread_rwlockattr_getpshared, GLIBC_2_42); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42) +compat_symbol (libpthread, __pthread_rwlockattr_getpshared, pthread_rwlockattr_getpshared, GLIBC_2_12); +#endif diff --git a/sysdeps/htl/pt-rwlockattr-setpshared.c b/sysdeps/htl/pt-rwlockattr-setpshared.c index 94fdf761..e23a032d 100644 --- a/sysdeps/htl/pt-rwlockattr-setpshared.c +++ b/sysdeps/htl/pt-rwlockattr-setpshared.c @@ -18,9 +18,10 @@ #include #include +#include int -pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, int pshared) +__pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, int pshared) { switch (pshared) { @@ -35,4 +36,10 @@ pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, int pshared) return EINVAL; } } +libc_hidden_def (__pthread_rwlockattr_setpshared) +versioned_symbol (libc, __pthread_rwlockattr_setpshared, pthread_rwlockattr_setpshared, GLIBC_2_42); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42) +compat_symbol (libpthread, __pthread_rwlockattr_setpshared, pthread_rwlockattr_setpshared, GLIBC_2_12); +#endif stub_warning (pthread_rwlockattr_setpshared) diff --git a/sysdeps/htl/pthreadP.h b/sysdeps/htl/pthreadP.h index 0f22c85d..d77cee51 100644 --- a/sysdeps/htl/pthreadP.h +++ b/sysdeps/htl/pthreadP.h @@ -116,8 +116,14 @@ extern int __pthread_mutexattr_settype(pthread_mutexattr_t *__attr, libc_hidden_proto (__pthread_mutexattr_settype) extern int __pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr); libc_hidden_proto (__pthread_rwlockattr_destroy) +extern int __pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *__attr, + int *__pshared); +libc_hidden_proto (__pthread_rwlockattr_getpshared) extern int __pthread_rwlockattr_init (pthread_rwlockattr_t *__attr); libc_hidden_proto (__pthread_rwlockattr_init) +extern int __pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, + int __pshared); +libc_hidden_proto (__pthread_rwlockattr_setpshared) extern int __pthread_cond_init (pthread_cond_t *cond, const pthread_condattr_t *cond_attr); diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 2ed475b7..55ad6b42 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -89,7 +89,9 @@ GLIBC_2.12 pthread_mutexattr_setprotocol F GLIBC_2.12 pthread_mutexattr_setpshared F GLIBC_2.12 pthread_mutexattr_settype F 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 @@ -2583,7 +2585,9 @@ GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F GLIBC_2.42 pthread_rwlockattr_destroy F +GLIBC_2.42 pthread_rwlockattr_getpshared F GLIBC_2.42 pthread_rwlockattr_init F +GLIBC_2.42 pthread_rwlockattr_setpshared F GLIBC_2.5 __readlinkat_chk F GLIBC_2.5 inet6_opt_append F GLIBC_2.5 inet6_opt_find F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index ad5fb60d..df7c4645 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -45,8 +45,6 @@ GLIBC_2.12 pthread_rwlock_tryrdlock F GLIBC_2.12 pthread_rwlock_trywrlock F GLIBC_2.12 pthread_rwlock_unlock F GLIBC_2.12 pthread_rwlock_wrlock F -GLIBC_2.12 pthread_rwlockattr_getpshared F -GLIBC_2.12 pthread_rwlockattr_setpshared F GLIBC_2.12 pthread_setconcurrency F GLIBC_2.12 pthread_setschedprio F GLIBC_2.12 pthread_setspecific F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index 9ab097d9..3075e103 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -1580,7 +1580,9 @@ GLIBC_2.38 pthread_mutexattr_setrobust F GLIBC_2.38 pthread_mutexattr_setrobust_np F GLIBC_2.38 pthread_mutexattr_settype F GLIBC_2.38 pthread_rwlockattr_destroy F +GLIBC_2.38 pthread_rwlockattr_getpshared F GLIBC_2.38 pthread_rwlockattr_init F +GLIBC_2.38 pthread_rwlockattr_setpshared F GLIBC_2.38 pthread_self F GLIBC_2.38 pthread_setcancelstate F GLIBC_2.38 pthread_setcanceltype F @@ -2266,7 +2268,9 @@ GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F GLIBC_2.42 pthread_rwlockattr_destroy F +GLIBC_2.42 pthread_rwlockattr_getpshared F GLIBC_2.42 pthread_rwlockattr_init F +GLIBC_2.42 pthread_rwlockattr_setpshared F HURD_CTHREADS_0.3 __cthread_getspecific F HURD_CTHREADS_0.3 __cthread_keycreate F HURD_CTHREADS_0.3 __cthread_setspecific F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index a6c70d36..89fe63f2 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -67,8 +67,6 @@ GLIBC_2.38 pthread_rwlock_tryrdlock F GLIBC_2.38 pthread_rwlock_trywrlock F GLIBC_2.38 pthread_rwlock_unlock F GLIBC_2.38 pthread_rwlock_wrlock F -GLIBC_2.38 pthread_rwlockattr_getpshared F -GLIBC_2.38 pthread_rwlockattr_setpshared F GLIBC_2.38 pthread_setconcurrency F GLIBC_2.38 pthread_setschedprio F GLIBC_2.38 pthread_setspecific F From patchwork Sat Feb 15 12:50:08 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gfleury X-Patchwork-Id: 106589 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 4303A385840B for ; Sat, 15 Feb 2025 12:58:53 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from layka.disroot.org (layka.disroot.org [178.21.23.139]) by sourceware.org (Postfix) with ESMTPS id BA0DC3858C53 for ; Sat, 15 Feb 2025 12:50:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BA0DC3858C53 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=disroot.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=disroot.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BA0DC3858C53 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=178.21.23.139 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623866; cv=none; b=q2GI+f5MtAuVioUb8vXFFtMC9+/v8IegQc4on1LTGO6hXnpwDpsF3IID1UnJgprIVvH3KmKIAAEzZouYPym1REeZr5atVWZq0dSqRmY7m30f1vLlVsckVlBeP4/gZMPq+/lyS/zfF9EgPWZWkv0+d1FA1cJaftbJQIMcFK7kISo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623866; c=relaxed/simple; bh=Fv+diiYgDg6AW/UxDALnzcyIc+5SeOECTAg5bbq06Ds=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=kxN/w0U3FELHP32/RV0abt/NtsuJLTSxCqDov9lDgTxEp4bts9AFJbMgz/VqdJaUshwSO8cN0ZbcZPH+Z/BOIhMGZU4NLsFbGm9YSK/1XZYZla7WC/8228VsQD5vl1SgfkTOZJRaA2Om8MMftQEhfTlZw9dEjdlP3pTDXU8hIdU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BA0DC3858C53 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=disroot.org header.i=@disroot.org header.a=rsa-sha256 header.s=mail header.b=djv51umF Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 3C08B25C09; Sat, 15 Feb 2025 13:50:49 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id vm9rlRS74IW0; Sat, 15 Feb 2025 13:50:48 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1739623848; bh=Fv+diiYgDg6AW/UxDALnzcyIc+5SeOECTAg5bbq06Ds=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=djv51umFeFRPhijamAyJlzwK+hHWuIHTx5ZYd2G8lDlgHVbR1bwSWXtzSWOGPv4Ei feqEpkl/EAlUrrtg5gKWkwJQon8iqe1GZIeHyCOe2hM+qtQHEaglaJc5+JQtHN4VDH e6bq7g57nITIhQwckrLgLtfw3VOsov9y5i3HCb6ykjGVhWpbmuUTJTW+dt3jTp45h+ mCxJYIXmqGGHTvBUd4R37/bUx5ql92YCpb6jDOHFpTooXKLejASPtFBMqASJgBZTvv Pc7KHrRGV1/+xFqhj9fjmoCqJb4wZrzdZH464ddVKZGdIxBu3HfZnrWUHPZuVY5nCi Uo2713b1QE0Qw== From: gfleury To: libc-alpha@sourceware.org Cc: gfleury Subject: [PATCH 05/10] htl: move pthread_rwlock_tryrdlock, pthread_rwlock_trywrlock into libc. Date: Sat, 15 Feb 2025 14:50:08 +0200 Message-Id: <20250215125013.270919-6-gfleury@disroot.org> In-Reply-To: <20250215125013.270919-1-gfleury@disroot.org> References: <20250215125013.270919-1-gfleury@disroot.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 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 Signed-off-by: gfleury --- htl/Makefile | 4 ++-- htl/Versions | 5 ++++- sysdeps/htl/libc-lockP.h | 6 ++---- sysdeps/htl/pt-rwlock-tryrdlock.c | 10 ++++++++-- sysdeps/htl/pt-rwlock-trywrlock.c | 10 ++++++++-- 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 -- 9 files changed, 32 insertions(+), 15 deletions(-) diff --git a/htl/Makefile b/htl/Makefile index 80129a80..6f0e314e 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -48,8 +48,6 @@ libpthread-routines := \ pt-rwlock-init \ pt-rwlock-destroy \ pt-rwlock-rdlock \ - pt-rwlock-tryrdlock \ - pt-rwlock-trywrlock \ pt-rwlock-wrlock \ pt-rwlock-timedrdlock \ pt-rwlock-timedwrlock \ @@ -196,6 +194,8 @@ routines := \ pt-mutexattr-settype \ pt-nthreads \ pt-rwlock-attr \ + pt-rwlock-tryrdlock \ + pt-rwlock-trywrlock \ pt-rwlockattr-destroy \ pt-rwlockattr-getpshared \ pt-rwlockattr-init \ diff --git a/htl/Versions b/htl/Versions index 1d666bcb..ca59cd5c 100644 --- a/htl/Versions +++ b/htl/Versions @@ -63,6 +63,8 @@ libc { pthread_mutexattr_setprotocol; pthread_mutexattr_setpshared; pthread_mutexattr_settype; + pthread_rwlock_tryrdlock; + pthread_rwlock_trywrlock; pthread_rwlockattr_destroy; pthread_rwlockattr_getpshared; pthread_rwlockattr_init; @@ -146,6 +148,8 @@ libc { pthread_mutex_getprioceiling; pthread_mutex_setprioceiling; pthread_mutex_trylock; + pthread_rwlock_tryrdlock; + pthread_rwlock_trywrlock; pthread_rwlockattr_destroy; pthread_rwlockattr_getpshared; pthread_rwlockattr_init; @@ -247,7 +251,6 @@ libpthread { 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_setconcurrency; diff --git a/sysdeps/htl/libc-lockP.h b/sysdeps/htl/libc-lockP.h index 6804c0d6..5fad451d 100644 --- a/sysdeps/htl/libc-lockP.h +++ b/sysdeps/htl/libc-lockP.h @@ -98,10 +98,12 @@ extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock); +libc_hidden_proto (__pthread_rwlock_tryrdlock) extern int __pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock); extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock); +libc_hidden_proto (__pthread_rwlock_trywrlock) extern int __pthread_rwlock_unlock (pthread_rwlock_t *__rwlock); @@ -121,9 +123,7 @@ libc_hidden_proto (__pthread_setcancelstate) 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_key_create) weak_extern (__pthread_setspecific) @@ -134,9 +134,7 @@ weak_extern (__pthread_atfork) # else # 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_key_create # pragma weak __pthread_setspecific diff --git a/sysdeps/htl/pt-rwlock-tryrdlock.c b/sysdeps/htl/pt-rwlock-tryrdlock.c index c34ffccb..74aa636f 100644 --- a/sysdeps/htl/pt-rwlock-tryrdlock.c +++ b/sysdeps/htl/pt-rwlock-tryrdlock.c @@ -18,12 +18,12 @@ #include #include - #include +#include /* Try to acquire RWLOCK. */ int -pthread_rwlock_tryrdlock (struct __pthread_rwlock *rwlock) +__pthread_rwlock_tryrdlock (struct __pthread_rwlock *rwlock) { __pthread_spin_wait (&rwlock->__lock); if (__pthread_spin_trylock (&rwlock->__held) == 0) @@ -53,3 +53,9 @@ pthread_rwlock_tryrdlock (struct __pthread_rwlock *rwlock) return EBUSY; } +libc_hidden_def (__pthread_rwlock_tryrdlock) +versioned_symbol (libc, __pthread_rwlock_tryrdlock, pthread_rwlock_tryrdlock, GLIBC_2_42); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42) +compat_symbol (libpthread, __pthread_rwlock_tryrdlock, pthread_rwlock_tryrdlock, GLIBC_2_12); +#endif diff --git a/sysdeps/htl/pt-rwlock-trywrlock.c b/sysdeps/htl/pt-rwlock-trywrlock.c index 926637a3..8de0e591 100644 --- a/sysdeps/htl/pt-rwlock-trywrlock.c +++ b/sysdeps/htl/pt-rwlock-trywrlock.c @@ -18,12 +18,12 @@ #include #include - #include +#include /* Try to acquire RWLOCK for writing. */ int -pthread_rwlock_trywrlock (struct __pthread_rwlock *rwlock) +__pthread_rwlock_trywrlock (struct __pthread_rwlock *rwlock) { __pthread_spin_wait (&rwlock->__lock); if (__pthread_spin_trylock (&rwlock->__held) == 0) @@ -43,3 +43,9 @@ pthread_rwlock_trywrlock (struct __pthread_rwlock *rwlock) return EBUSY; } +libc_hidden_def (__pthread_rwlock_trywrlock) +versioned_symbol (libc, __pthread_rwlock_trywrlock, pthread_rwlock_trywrlock, GLIBC_2_42); + +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42) +compat_symbol (libpthread, __pthread_rwlock_trywrlock, pthread_rwlock_trywrlock, GLIBC_2_12); +#endif diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 55ad6b42..3d786282 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -88,6 +88,8 @@ GLIBC_2.12 pthread_mutexattr_setprioceiling F GLIBC_2.12 pthread_mutexattr_setprotocol F GLIBC_2.12 pthread_mutexattr_setpshared F GLIBC_2.12 pthread_mutexattr_settype F +GLIBC_2.12 pthread_rwlock_tryrdlock F +GLIBC_2.12 pthread_rwlock_trywrlock F GLIBC_2.12 pthread_rwlockattr_destroy F GLIBC_2.12 pthread_rwlockattr_getpshared F GLIBC_2.12 pthread_rwlockattr_init F @@ -2584,6 +2586,8 @@ GLIBC_2.42 pthread_mutex_consistent_np F GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F +GLIBC_2.42 pthread_rwlock_tryrdlock F +GLIBC_2.42 pthread_rwlock_trywrlock F GLIBC_2.42 pthread_rwlockattr_destroy F GLIBC_2.42 pthread_rwlockattr_getpshared F GLIBC_2.42 pthread_rwlockattr_init F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index df7c4645..70db951b 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -41,8 +41,6 @@ GLIBC_2.12 pthread_rwlock_init F GLIBC_2.12 pthread_rwlock_rdlock F GLIBC_2.12 pthread_rwlock_timedrdlock F GLIBC_2.12 pthread_rwlock_timedwrlock F -GLIBC_2.12 pthread_rwlock_tryrdlock F -GLIBC_2.12 pthread_rwlock_trywrlock F GLIBC_2.12 pthread_rwlock_unlock F GLIBC_2.12 pthread_rwlock_wrlock F GLIBC_2.12 pthread_setconcurrency F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index 3075e103..305cdb8c 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -1579,6 +1579,8 @@ GLIBC_2.38 pthread_mutexattr_setpshared F GLIBC_2.38 pthread_mutexattr_setrobust F GLIBC_2.38 pthread_mutexattr_setrobust_np F GLIBC_2.38 pthread_mutexattr_settype F +GLIBC_2.38 pthread_rwlock_tryrdlock F +GLIBC_2.38 pthread_rwlock_trywrlock F GLIBC_2.38 pthread_rwlockattr_destroy F GLIBC_2.38 pthread_rwlockattr_getpshared F GLIBC_2.38 pthread_rwlockattr_init F @@ -2267,6 +2269,8 @@ GLIBC_2.42 pthread_mutex_consistent_np F GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F +GLIBC_2.42 pthread_rwlock_tryrdlock F +GLIBC_2.42 pthread_rwlock_trywrlock F GLIBC_2.42 pthread_rwlockattr_destroy F GLIBC_2.42 pthread_rwlockattr_getpshared F GLIBC_2.42 pthread_rwlockattr_init F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index 89fe63f2..b712a1b3 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -63,8 +63,6 @@ GLIBC_2.38 pthread_rwlock_init F GLIBC_2.38 pthread_rwlock_rdlock F GLIBC_2.38 pthread_rwlock_timedrdlock F GLIBC_2.38 pthread_rwlock_timedwrlock F -GLIBC_2.38 pthread_rwlock_tryrdlock F -GLIBC_2.38 pthread_rwlock_trywrlock F GLIBC_2.38 pthread_rwlock_unlock F GLIBC_2.38 pthread_rwlock_wrlock F GLIBC_2.38 pthread_setconcurrency F From patchwork Sat Feb 15 12:50:09 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gfleury X-Patchwork-Id: 106587 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 3B94C3857C6E for ; Sat, 15 Feb 2025 12:57:02 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 3B94C3857C6E Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=disroot.org header.i=@disroot.org header.a=rsa-sha256 header.s=mail header.b=LB7o63/p X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from layka.disroot.org (layka.disroot.org [178.21.23.139]) by sourceware.org (Postfix) with ESMTPS id BA10A3858417 for ; Sat, 15 Feb 2025 12:50:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BA10A3858417 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=disroot.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=disroot.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BA10A3858417 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=178.21.23.139 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623865; cv=none; b=PnxYXIuSV9q6hJLr91QBV+dsvelSbPGRcgQyxVhRmvKoF9gMdMJ2jwpAV6v7Fv/G7tA8x/i8yf2X6HVUCOuOkjfpWO1Z4mUdOamC3+m5/mFgjIQhy7EICRNkIIsy+vZOqAzbbPpHL+apJiv/f0Juiwh1I5f0sF1HLMr1LoRxRU4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623865; c=relaxed/simple; bh=dhljcTwsHtjenX/BI48fuVn70mpSa7w6M0A8HSeNVm0=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=LEeM+i18tVo8ik/XqDnbp9aNG+kWptqW87zrSFXRPTSMRGWUErnAWn9W4fg/UqmjVupziAJGnC2f3QDne91w85xEpCyRDYbQyop72Tgzab3g+dTFq0jCNaQ5+Ao7LT4B5K6TzQwTqkCNMFK3j/r4aMTctq+RNMmaOsiVNRN8t0c= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BA10A3858417 Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id B4A4925C65; Sat, 15 Feb 2025 13:50:50 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id zqDzwq6vfYXR; Sat, 15 Feb 2025 13:50:50 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1739623849; bh=dhljcTwsHtjenX/BI48fuVn70mpSa7w6M0A8HSeNVm0=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=LB7o63/pac8E2BnxhJ0GJKKtiBO0WJ3dbYTPdfnfMxcaamGIPsYwhffbnzH9iKvNM J8ZvgbuMlnUrzrpui99xs3m4FsICSt6UYpbdNOr1BT42uJxElrNiY9Slnw48gquldj 7Yki68LlaYVcT+x9k5KQVad/Ov8CreeLicUtuo4UA2U5/QB1W6iZgdfuxoBrh8Atc0 kms1a5+QWbLDdINqT6Di0GQpuhH+Z3og5IyrORissbEaj3lk7UtdzoyC6j4p6K8cyJ mwazM7eWRv9fFyk5xpODZizRjBim+K/9X7hvY6wdr89eBBt51Y43ed2eXyRH3SAdvh hkRXYbop+sxxw== From: gfleury To: libc-alpha@sourceware.org Cc: gfleury Subject: [PATCH 06/10] htl: move pthread_rwlock_unlock into libc. Date: Sat, 15 Feb 2025 14:50:09 +0200 Message-Id: <20250215125013.270919-7-gfleury@disroot.org> In-Reply-To: <20250215125013.270919-1-gfleury@disroot.org> References: <20250215125013.270919-1-gfleury@disroot.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 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 Signed-off-by: gfleury --- htl/Makefile | 2 +- htl/Versions | 3 ++- htl/pt-initialize.c | 1 - sysdeps/htl/libc-lockP.h | 3 +-- sysdeps/htl/pt-rwlock-unlock.c | 1 + sysdeps/htl/pthread-functions.h | 2 -- sysdeps/mach/hurd/i386/libc.abilist | 1 + sysdeps/mach/hurd/i386/libpthread.abilist | 1 - sysdeps/mach/hurd/x86_64/libc.abilist | 1 + sysdeps/mach/hurd/x86_64/libpthread.abilist | 1 - 10 files changed, 7 insertions(+), 9 deletions(-) diff --git a/htl/Makefile b/htl/Makefile index 6f0e314e..6e49e2ba 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -51,7 +51,6 @@ libpthread-routines := \ pt-rwlock-wrlock \ pt-rwlock-timedrdlock \ pt-rwlock-timedwrlock \ - pt-rwlock-unlock \ pt-hurd-cond-wait \ pt-hurd-cond-timedwait \ pt-stack-alloc \ @@ -196,6 +195,7 @@ routines := \ pt-rwlock-attr \ pt-rwlock-tryrdlock \ pt-rwlock-trywrlock \ + pt-rwlock-unlock \ pt-rwlockattr-destroy \ pt-rwlockattr-getpshared \ pt-rwlockattr-init \ diff --git a/htl/Versions b/htl/Versions index ca59cd5c..dff7fd9f 100644 --- a/htl/Versions +++ b/htl/Versions @@ -65,6 +65,7 @@ libc { pthread_mutexattr_settype; pthread_rwlock_tryrdlock; pthread_rwlock_trywrlock; + pthread_rwlock_unlock; pthread_rwlockattr_destroy; pthread_rwlockattr_getpshared; pthread_rwlockattr_init; @@ -251,7 +252,7 @@ libpthread { pthread_rwlock_destroy; pthread_rwlock_init; pthread_rwlock_rdlock; pthread_rwlock_timedrdlock; pthread_rwlock_timedwrlock; - pthread_rwlock_unlock; pthread_rwlock_wrlock; + pthread_rwlock_wrlock; pthread_setconcurrency; pthread_setschedprio; pthread_setspecific; diff --git a/htl/pt-initialize.c b/htl/pt-initialize.c index 53b9c76e..14172099 100644 --- a/htl/pt-initialize.c +++ b/htl/pt-initialize.c @@ -32,7 +32,6 @@ static const struct pthread_functions pthread_functions = { .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, .ptr___pthread_key_create = __pthread_key_create, .ptr___pthread_getspecific = __pthread_getspecific, .ptr___pthread_setspecific = __pthread_setspecific, diff --git a/sysdeps/htl/libc-lockP.h b/sysdeps/htl/libc-lockP.h index 5fad451d..7e9bdd1c 100644 --- a/sysdeps/htl/libc-lockP.h +++ b/sysdeps/htl/libc-lockP.h @@ -106,6 +106,7 @@ extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock); libc_hidden_proto (__pthread_rwlock_trywrlock) 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)); @@ -124,7 +125,6 @@ weak_extern (__pthread_rwlock_init) weak_extern (__pthread_rwlock_destroy) weak_extern (__pthread_rwlock_rdlock) weak_extern (__pthread_rwlock_wrlock) -weak_extern (__pthread_rwlock_unlock) weak_extern (__pthread_key_create) weak_extern (__pthread_setspecific) weak_extern (__pthread_getspecific) @@ -135,7 +135,6 @@ weak_extern (__pthread_atfork) # pragma weak __pthread_rwlock_destroy # pragma weak __pthread_rwlock_rdlock # pragma weak __pthread_rwlock_wrlock -# pragma weak __pthread_rwlock_unlock # pragma weak __pthread_key_create # pragma weak __pthread_setspecific # pragma weak __pthread_getspecific diff --git a/sysdeps/htl/pt-rwlock-unlock.c b/sysdeps/htl/pt-rwlock-unlock.c index 6465ace7..c41eb935 100644 --- a/sysdeps/htl/pt-rwlock-unlock.c +++ b/sysdeps/htl/pt-rwlock-unlock.c @@ -95,4 +95,5 @@ __pthread_rwlock_unlock (pthread_rwlock_t *rwlock) __pthread_spin_unlock (&rwlock->__lock); return 0; } +libc_hidden_def (__pthread_rwlock_unlock) weak_alias (__pthread_rwlock_unlock, pthread_rwlock_unlock); diff --git a/sysdeps/htl/pthread-functions.h b/sysdeps/htl/pthread-functions.h index 56b5b238..7dd6fadc 100644 --- a/sysdeps/htl/pthread-functions.h +++ b/sysdeps/htl/pthread-functions.h @@ -26,7 +26,6 @@ struct __pthread_cancelation_handler **__pthread_get_cleanup_stack (void); int __pthread_once (pthread_once_t *, void (*) (void)); int __pthread_rwlock_rdlock (pthread_rwlock_t *); int __pthread_rwlock_wrlock (pthread_rwlock_t *); -int __pthread_rwlock_unlock (pthread_rwlock_t *); int __pthread_key_create (pthread_key_t *, void (*) (void *)); void *__pthread_getspecific (pthread_key_t); int __pthread_setspecific (pthread_key_t, const void *); @@ -45,7 +44,6 @@ struct pthread_functions 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 *); 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 *); diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 3d786282..2709614e 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -90,6 +90,7 @@ GLIBC_2.12 pthread_mutexattr_setpshared F GLIBC_2.12 pthread_mutexattr_settype F GLIBC_2.12 pthread_rwlock_tryrdlock F GLIBC_2.12 pthread_rwlock_trywrlock F +GLIBC_2.12 pthread_rwlock_unlock F GLIBC_2.12 pthread_rwlockattr_destroy F GLIBC_2.12 pthread_rwlockattr_getpshared F GLIBC_2.12 pthread_rwlockattr_init F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index 70db951b..8ba641f6 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -41,7 +41,6 @@ GLIBC_2.12 pthread_rwlock_init F GLIBC_2.12 pthread_rwlock_rdlock F GLIBC_2.12 pthread_rwlock_timedrdlock F GLIBC_2.12 pthread_rwlock_timedwrlock F -GLIBC_2.12 pthread_rwlock_unlock F GLIBC_2.12 pthread_rwlock_wrlock F GLIBC_2.12 pthread_setconcurrency F GLIBC_2.12 pthread_setschedprio F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index 305cdb8c..2b8c01fc 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -1581,6 +1581,7 @@ GLIBC_2.38 pthread_mutexattr_setrobust_np F GLIBC_2.38 pthread_mutexattr_settype F GLIBC_2.38 pthread_rwlock_tryrdlock F GLIBC_2.38 pthread_rwlock_trywrlock F +GLIBC_2.38 pthread_rwlock_unlock F GLIBC_2.38 pthread_rwlockattr_destroy F GLIBC_2.38 pthread_rwlockattr_getpshared F GLIBC_2.38 pthread_rwlockattr_init F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index b712a1b3..cd08c5f9 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -63,7 +63,6 @@ GLIBC_2.38 pthread_rwlock_init F GLIBC_2.38 pthread_rwlock_rdlock F GLIBC_2.38 pthread_rwlock_timedrdlock F GLIBC_2.38 pthread_rwlock_timedwrlock F -GLIBC_2.38 pthread_rwlock_unlock F GLIBC_2.38 pthread_rwlock_wrlock F GLIBC_2.38 pthread_setconcurrency F GLIBC_2.38 pthread_setschedprio F From patchwork Sat Feb 15 12:50:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gfleury X-Patchwork-Id: 106588 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 D92BF385828B for ; Sat, 15 Feb 2025 12:58:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org D92BF385828B Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=disroot.org header.i=@disroot.org header.a=rsa-sha256 header.s=mail header.b=H1CiXyyP X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from layka.disroot.org (layka.disroot.org [178.21.23.139]) by sourceware.org (Postfix) with ESMTPS id 25385385842D for ; Sat, 15 Feb 2025 12:51:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 25385385842D Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=disroot.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=disroot.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 25385385842D Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=178.21.23.139 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623860; cv=none; b=ChiV9TzAgUqx1m5BWOpTsdsGwaaI306+rk86tcx2ez3rYdQDbs1GLSElu8yi2WZVkRbVQ9NtkDWeY6LsFwW9/3T7FmpFf4FrRyf9Kjd5TjF9Eax8Olbg9PzPAjWQt6J30OXvoKNJJ+a6G1Edvq2aRjqbZ68+B4WPkAdmgqynroo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623860; c=relaxed/simple; bh=olv+A2iYUgLiEOprkYxBcL/jvShxW+mdGI6wWmqH6gQ=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=idTaAl1Ol9zyKFpfevPpEL1VbGmL3vB1crvESBnrLW4b5PIYM8OsbU+Lp+/EC7a4l0CdpWwHoL5xaDCHVsYj4GleRY6jv4JvN82qM0XA8AjCfA83pntpAH8USthCLDnEabdBiGQnxH6SuemZfE9KkXlXAoEN1gtTOrCvz0DtIyQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 25385385842D Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 2B76C25D16; Sat, 15 Feb 2025 13:50:54 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id QRhZvh8mK3bw; Sat, 15 Feb 2025 13:50:53 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1739623853; bh=olv+A2iYUgLiEOprkYxBcL/jvShxW+mdGI6wWmqH6gQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=H1CiXyyP1nGI8TKJrNpXhQTt4DMiva7wRWEy4RrusiSL2j/RGaiWddmypJQhYCod0 F7hUTLNDr6UvGk/Br+TJPEEAUo7mc/by9UtfZfDlQUdcH14LyxcAZFKfd0up92YOxz E7SqHEAGv7vNY7YahhoCAuwE9z08VXgO8Moo7z+a0Dl3T0EbA2W4M/WrgBRZ/n3LaP Ry3k744friR6aKAL8OU30TQDX3bsb2eOGZWd4MB5PC5niEoU5rGbcwC55SE+jw68km ioU8sXSVQB3JNtioiZbf5g+YDX/DvH8v177ig3lyPT9aIBEMUaUw8M6mmcCathaHhF SbgdNSKp83fIA== From: gfleury To: libc-alpha@sourceware.org Cc: gfleury Subject: [PATCH 07/10] htl: move pthread_rwlock_{rdlock, timedrdlock, timedwrlock, wrlock, clockrdlock, clockwrlock} into libc. Date: Sat, 15 Feb 2025 14:50:10 +0200 Message-Id: <20250215125013.270919-8-gfleury@disroot.org> In-Reply-To: <20250215125013.270919-1-gfleury@disroot.org> References: <20250215125013.270919-1-gfleury@disroot.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 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 Signed-off-by: gfleury --- htl/Makefile | 8 ++++---- htl/Versions | 12 +++++++----- htl/pt-initialize.c | 2 -- sysdeps/htl/libc-lockP.h | 6 ++---- sysdeps/htl/pt-rwlock-rdlock.c | 1 + sysdeps/htl/pt-rwlock-timedrdlock.c | 2 ++ sysdeps/htl/pt-rwlock-timedwrlock.c | 2 ++ sysdeps/htl/pt-rwlock-wrlock.c | 1 + sysdeps/htl/pthread-functions.h | 4 ---- sysdeps/htl/pthreadP.h | 12 ++++++++++++ sysdeps/mach/hurd/i386/libc.abilist | 6 ++++++ sysdeps/mach/hurd/i386/libpthread.abilist | 6 ------ sysdeps/mach/hurd/x86_64/libc.abilist | 6 ++++++ sysdeps/mach/hurd/x86_64/libpthread.abilist | 6 ------ 14 files changed, 43 insertions(+), 31 deletions(-) diff --git a/htl/Makefile b/htl/Makefile index 6e49e2ba..83b2ba3a 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -47,10 +47,6 @@ libpthread-routines := \ pt-mutex-transfer-np \ pt-rwlock-init \ pt-rwlock-destroy \ - pt-rwlock-rdlock \ - pt-rwlock-wrlock \ - pt-rwlock-timedrdlock \ - pt-rwlock-timedwrlock \ pt-hurd-cond-wait \ pt-hurd-cond-timedwait \ pt-stack-alloc \ @@ -193,9 +189,13 @@ routines := \ pt-mutexattr-settype \ pt-nthreads \ pt-rwlock-attr \ + pt-rwlock-rdlock \ + pt-rwlock-timedrdlock \ + pt-rwlock-timedwrlock \ pt-rwlock-tryrdlock \ pt-rwlock-trywrlock \ pt-rwlock-unlock \ + pt-rwlock-wrlock \ pt-rwlockattr-destroy \ pt-rwlockattr-getpshared \ pt-rwlockattr-init \ diff --git a/htl/Versions b/htl/Versions index dff7fd9f..80b4cb1a 100644 --- a/htl/Versions +++ b/htl/Versions @@ -63,9 +63,13 @@ libc { pthread_mutexattr_setprotocol; pthread_mutexattr_setpshared; pthread_mutexattr_settype; + 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_getpshared; pthread_rwlockattr_init; @@ -109,6 +113,8 @@ libc { pthread_mutexattr_getrobust; pthread_mutexattr_getrobust_np; pthread_mutexattr_setrobust; pthread_mutexattr_setrobust_np; + + pthread_rwlock_clockrdlock; pthread_rwlock_clockwrlock; } GLIBC_2.41 { @@ -250,9 +256,7 @@ libpthread { pthread_once; - pthread_rwlock_destroy; pthread_rwlock_init; pthread_rwlock_rdlock; - pthread_rwlock_timedrdlock; pthread_rwlock_timedwrlock; - pthread_rwlock_wrlock; + pthread_rwlock_destroy; pthread_rwlock_init; pthread_setconcurrency; pthread_setschedprio; pthread_setspecific; @@ -282,8 +286,6 @@ libpthread { cnd_broadcast; cnd_destroy; cnd_init; cnd_signal; cnd_timedwait; cnd_wait; tss_create; tss_delete; tss_get; tss_set; - pthread_rwlock_clockrdlock; pthread_rwlock_clockwrlock; - pthread_tryjoin_np; pthread_timedjoin_np; pthread_clockjoin_np; sem_clockwait; diff --git a/htl/pt-initialize.c b/htl/pt-initialize.c index 14172099..658ba1ea 100644 --- a/htl/pt-initialize.c +++ b/htl/pt-initialize.c @@ -30,8 +30,6 @@ static const struct pthread_functions pthread_functions = { .ptr___pthread_exit = __pthread_exit, .ptr___pthread_get_cleanup_stack = __pthread_get_cleanup_stack, .ptr_pthread_once = __pthread_once, - .ptr_pthread_rwlock_rdlock = __pthread_rwlock_rdlock, - .ptr_pthread_rwlock_wrlock = __pthread_rwlock_wrlock, .ptr___pthread_key_create = __pthread_key_create, .ptr___pthread_getspecific = __pthread_getspecific, .ptr___pthread_setspecific = __pthread_setspecific, diff --git a/sysdeps/htl/libc-lockP.h b/sysdeps/htl/libc-lockP.h index 7e9bdd1c..ae2e4668 100644 --- a/sysdeps/htl/libc-lockP.h +++ b/sysdeps/htl/libc-lockP.h @@ -96,11 +96,13 @@ 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); libc_hidden_proto (__pthread_rwlock_tryrdlock) extern int __pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock); +libc_hidden_proto (__pthread_rwlock_wrlock) extern int __pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock); libc_hidden_proto (__pthread_rwlock_trywrlock) @@ -123,8 +125,6 @@ libc_hidden_proto (__pthread_setcancelstate) # ifdef weak_extern weak_extern (__pthread_rwlock_init) weak_extern (__pthread_rwlock_destroy) -weak_extern (__pthread_rwlock_rdlock) -weak_extern (__pthread_rwlock_wrlock) weak_extern (__pthread_key_create) weak_extern (__pthread_setspecific) weak_extern (__pthread_getspecific) @@ -133,8 +133,6 @@ weak_extern (__pthread_initialize) weak_extern (__pthread_atfork) # else # pragma weak __pthread_rwlock_destroy -# pragma weak __pthread_rwlock_rdlock -# pragma weak __pthread_rwlock_wrlock # pragma weak __pthread_key_create # pragma weak __pthread_setspecific # pragma weak __pthread_getspecific diff --git a/sysdeps/htl/pt-rwlock-rdlock.c b/sysdeps/htl/pt-rwlock-rdlock.c index a2f6e47b..b2b449c1 100644 --- a/sysdeps/htl/pt-rwlock-rdlock.c +++ b/sysdeps/htl/pt-rwlock-rdlock.c @@ -32,4 +32,5 @@ __pthread_rwlock_rdlock (struct __pthread_rwlock *rwlock) { return __pthread_rwlock_timedrdlock_internal (rwlock, -1, 0); } +libc_hidden_def (__pthread_rwlock_rdlock) weak_alias (__pthread_rwlock_rdlock, pthread_rwlock_rdlock); diff --git a/sysdeps/htl/pt-rwlock-timedrdlock.c b/sysdeps/htl/pt-rwlock-timedrdlock.c index 3c900e66..218e9123 100644 --- a/sysdeps/htl/pt-rwlock-timedrdlock.c +++ b/sysdeps/htl/pt-rwlock-timedrdlock.c @@ -122,6 +122,7 @@ __pthread_rwlock_timedrdlock (struct __pthread_rwlock *rwlock, { return __pthread_rwlock_timedrdlock_internal (rwlock, CLOCK_REALTIME, abstime); } +libc_hidden_def (__pthread_rwlock_timedrdlock) weak_alias (__pthread_rwlock_timedrdlock, pthread_rwlock_timedrdlock) int @@ -131,4 +132,5 @@ __pthread_rwlock_clockrdlock (struct __pthread_rwlock *rwlock, { return __pthread_rwlock_timedrdlock_internal (rwlock, clockid, abstime); } +libc_hidden_def (__pthread_rwlock_clockrdlock) weak_alias (__pthread_rwlock_clockrdlock, pthread_rwlock_clockrdlock) diff --git a/sysdeps/htl/pt-rwlock-timedwrlock.c b/sysdeps/htl/pt-rwlock-timedwrlock.c index 3780119d..fad6401e 100644 --- a/sysdeps/htl/pt-rwlock-timedwrlock.c +++ b/sysdeps/htl/pt-rwlock-timedwrlock.c @@ -105,6 +105,7 @@ __pthread_rwlock_timedwrlock (struct __pthread_rwlock *rwlock, { return __pthread_rwlock_timedwrlock_internal (rwlock, CLOCK_REALTIME, abstime); } +libc_hidden_def (__pthread_rwlock_timedwrlock) weak_alias (__pthread_rwlock_timedwrlock, pthread_rwlock_timedwrlock) int @@ -114,4 +115,5 @@ __pthread_rwlock_clockwrlock (struct __pthread_rwlock *rwlock, { return __pthread_rwlock_timedwrlock_internal (rwlock, clockid, abstime); } +libc_hidden_def (__pthread_rwlock_clockwrlock) weak_alias (__pthread_rwlock_clockwrlock, pthread_rwlock_clockwrlock) diff --git a/sysdeps/htl/pt-rwlock-wrlock.c b/sysdeps/htl/pt-rwlock-wrlock.c index 181aa6a9..325e97e1 100644 --- a/sysdeps/htl/pt-rwlock-wrlock.c +++ b/sysdeps/htl/pt-rwlock-wrlock.c @@ -34,4 +34,5 @@ __pthread_rwlock_wrlock (struct __pthread_rwlock *rwlock) { return __pthread_rwlock_timedwrlock_internal (rwlock, -1, 0); } +libc_hidden_def (__pthread_rwlock_wrlock) weak_alias (__pthread_rwlock_wrlock, pthread_rwlock_wrlock); diff --git a/sysdeps/htl/pthread-functions.h b/sysdeps/htl/pthread-functions.h index 7dd6fadc..467d0312 100644 --- a/sysdeps/htl/pthread-functions.h +++ b/sysdeps/htl/pthread-functions.h @@ -24,8 +24,6 @@ void __pthread_exit (void *) __attribute__ ((__noreturn__)); struct __pthread_cancelation_handler **__pthread_get_cleanup_stack (void); int __pthread_once (pthread_once_t *, void (*) (void)); -int __pthread_rwlock_rdlock (pthread_rwlock_t *); -int __pthread_rwlock_wrlock (pthread_rwlock_t *); int __pthread_key_create (pthread_key_t *, void (*) (void *)); void *__pthread_getspecific (pthread_key_t); int __pthread_setspecific (pthread_key_t, const void *); @@ -42,8 +40,6 @@ struct pthread_functions void (*ptr___pthread_exit) (void *) __attribute__ ((__noreturn__)); struct __pthread_cancelation_handler **(*ptr___pthread_get_cleanup_stack) (void); 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_key_create) (pthread_key_t *, void (*) (void *)); void *(*ptr___pthread_getspecific) (pthread_key_t); int (*ptr___pthread_setspecific) (pthread_key_t, const void *); diff --git a/sysdeps/htl/pthreadP.h b/sysdeps/htl/pthreadP.h index d77cee51..9479b9ef 100644 --- a/sysdeps/htl/pthreadP.h +++ b/sysdeps/htl/pthreadP.h @@ -114,6 +114,18 @@ libc_hidden_proto (__pthread_mutexattr_gettype) extern int __pthread_mutexattr_settype(pthread_mutexattr_t *__attr, int __type); libc_hidden_proto (__pthread_mutexattr_settype) +extern int __pthread_rwlock_clockrdlock (pthread_rwlock_t *__rwlock, + clockid_t __clockid, const struct timespec *__abstime); +libc_hidden_proto (__pthread_rwlock_clockrdlock) +extern int __pthread_rwlock_clockwrlock (pthread_rwlock_t *__rwlock, + clockid_t __clockid, const struct timespec *__abstime); +libc_hidden_proto (__pthread_rwlock_clockwrlock) +extern int __pthread_rwlock_timedrdlock (struct __pthread_rwlock *__rwlock, + const struct timespec *__abstime); +libc_hidden_proto (__pthread_rwlock_timedrdlock) +extern int __pthread_rwlock_timedwrlock (struct __pthread_rwlock *__rwlock, + const struct timespec *__abstime); +libc_hidden_proto (__pthread_rwlock_timedwrlock) extern int __pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr); libc_hidden_proto (__pthread_rwlockattr_destroy) extern int __pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *__attr, diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 2709614e..0e304491 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -88,9 +88,13 @@ GLIBC_2.12 pthread_mutexattr_setprioceiling F GLIBC_2.12 pthread_mutexattr_setprotocol F GLIBC_2.12 pthread_mutexattr_setpshared F GLIBC_2.12 pthread_mutexattr_settype F +GLIBC_2.12 pthread_rwlock_rdlock F +GLIBC_2.12 pthread_rwlock_timedrdlock F +GLIBC_2.12 pthread_rwlock_timedwrlock F GLIBC_2.12 pthread_rwlock_tryrdlock F GLIBC_2.12 pthread_rwlock_trywrlock F GLIBC_2.12 pthread_rwlock_unlock F +GLIBC_2.12 pthread_rwlock_wrlock F GLIBC_2.12 pthread_rwlockattr_destroy F GLIBC_2.12 pthread_rwlockattr_getpshared F GLIBC_2.12 pthread_rwlockattr_init F @@ -2294,6 +2298,8 @@ GLIBC_2.32 pthread_mutexattr_getrobust F GLIBC_2.32 pthread_mutexattr_getrobust_np F GLIBC_2.32 pthread_mutexattr_setrobust F GLIBC_2.32 pthread_mutexattr_setrobust_np F +GLIBC_2.32 pthread_rwlock_clockrdlock F +GLIBC_2.32 pthread_rwlock_clockwrlock F GLIBC_2.32 sigabbrev_np F GLIBC_2.32 sigdescr_np F GLIBC_2.32 strerrordesc_np F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index 8ba641f6..1b4cfa5f 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -38,10 +38,6 @@ GLIBC_2.12 pthread_mutex_transfer_np F GLIBC_2.12 pthread_once F GLIBC_2.12 pthread_rwlock_destroy F GLIBC_2.12 pthread_rwlock_init F -GLIBC_2.12 pthread_rwlock_rdlock F -GLIBC_2.12 pthread_rwlock_timedrdlock F -GLIBC_2.12 pthread_rwlock_timedwrlock F -GLIBC_2.12 pthread_rwlock_wrlock F GLIBC_2.12 pthread_setconcurrency F GLIBC_2.12 pthread_setschedprio F GLIBC_2.12 pthread_setspecific F @@ -83,8 +79,6 @@ GLIBC_2.32 mtx_timedlock F GLIBC_2.32 mtx_trylock F GLIBC_2.32 mtx_unlock F GLIBC_2.32 pthread_clockjoin_np F -GLIBC_2.32 pthread_rwlock_clockrdlock F -GLIBC_2.32 pthread_rwlock_clockwrlock F GLIBC_2.32 pthread_timedjoin_np F GLIBC_2.32 pthread_tryjoin_np F GLIBC_2.32 sem_clockwait F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index 2b8c01fc..55a97e95 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -1579,9 +1579,15 @@ GLIBC_2.38 pthread_mutexattr_setpshared F GLIBC_2.38 pthread_mutexattr_setrobust F GLIBC_2.38 pthread_mutexattr_setrobust_np F GLIBC_2.38 pthread_mutexattr_settype F +GLIBC_2.38 pthread_rwlock_clockrdlock F +GLIBC_2.38 pthread_rwlock_clockwrlock F +GLIBC_2.38 pthread_rwlock_rdlock F +GLIBC_2.38 pthread_rwlock_timedrdlock F +GLIBC_2.38 pthread_rwlock_timedwrlock F GLIBC_2.38 pthread_rwlock_tryrdlock F GLIBC_2.38 pthread_rwlock_trywrlock F GLIBC_2.38 pthread_rwlock_unlock F +GLIBC_2.38 pthread_rwlock_wrlock F GLIBC_2.38 pthread_rwlockattr_destroy F GLIBC_2.38 pthread_rwlockattr_getpshared F GLIBC_2.38 pthread_rwlockattr_init F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index cd08c5f9..32b0b502 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -56,14 +56,8 @@ GLIBC_2.38 pthread_key_delete F GLIBC_2.38 pthread_kill F GLIBC_2.38 pthread_mutex_transfer_np F GLIBC_2.38 pthread_once F -GLIBC_2.38 pthread_rwlock_clockrdlock F -GLIBC_2.38 pthread_rwlock_clockwrlock F GLIBC_2.38 pthread_rwlock_destroy F GLIBC_2.38 pthread_rwlock_init F -GLIBC_2.38 pthread_rwlock_rdlock F -GLIBC_2.38 pthread_rwlock_timedrdlock F -GLIBC_2.38 pthread_rwlock_timedwrlock F -GLIBC_2.38 pthread_rwlock_wrlock F GLIBC_2.38 pthread_setconcurrency F GLIBC_2.38 pthread_setschedprio F GLIBC_2.38 pthread_setspecific F From patchwork Sat Feb 15 12:50:11 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gfleury X-Patchwork-Id: 106584 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 BF74A3857C6A for ; Sat, 15 Feb 2025 12:55:19 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from layka.disroot.org (layka.disroot.org [178.21.23.139]) by sourceware.org (Postfix) with ESMTPS id 322FB385843F for ; Sat, 15 Feb 2025 12:51:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 322FB385843F Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=disroot.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=disroot.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 322FB385843F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=178.21.23.139 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623860; cv=none; b=SzgDHjJ5VnCDK/0uOz1RH7DgdwqG50VbDptZQRZUSUn/1n22TPmy/0P2+VSKyrgpKw8u6DMOuKO6OO71AxysrI4Fni4mh+aHSO7WB7l0eKK2mH74yJs7v2HWlOnFBRItsNCC7x0XGYrOizwtIKuJVhl1H6vxhsx2ziXW4oeMSQk= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623860; c=relaxed/simple; bh=LFmwjIfp/g3j9qyFiX2QZ6DLzwh9cnk/axdteyObGvM=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=b7fK9b9Vjms6uZjTCcFNS797C8U/MNjWmR0Z0rUkTFj5aGsOfPMNxKd6ER4knlrvkvudhJjQJvbgqPXt91jX/gtJrmuvsddbkH84GJmMdUlAxPV7oPIv5W1FypPz/5VYOr1NwIwbZZZR078BDIagPbE51KbTLndk5AqMkI2smEI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 322FB385843F Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=disroot.org header.i=@disroot.org header.a=rsa-sha256 header.s=mail header.b=Im7Q5WEG Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 483A325AC7; Sat, 15 Feb 2025 13:50:55 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id rknnCtrSWNCI; Sat, 15 Feb 2025 13:50:54 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1739623854; bh=LFmwjIfp/g3j9qyFiX2QZ6DLzwh9cnk/axdteyObGvM=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=Im7Q5WEG00xgfIXwVFiJYKwViR0XC+NALUbA7fYOMJc1mtV6DvP3NBzcOQom8jUXl 5JIeHIFWTqvLcusNtgtWgzyhPK3JtIb9EIGFx1kDF5xcj7HmXCNv34XUrTiWgkG97w 5schtvP8rmkjcNcphzQetG9Z4D3n4E4z6QiWRUE6l8iD/rDYEEzUaYIw3g+GMy67Mj QbDgRmXjI//fefrZURn6IUX49UdMmz2TIeGPtNwH6UTm6/wjcCToEgmfhqeF5Ip9Q0 1YoBqdL5X+abFxLZU+3jfoFVQ9xr+7LJoLZ4pjqfvNUpLkE/7VJ9f78y7Pi6fs0qDK HR2y+QnyCw+PQ== From: gfleury To: libc-alpha@sourceware.org Cc: gfleury Subject: [PATCH 08/10] htl: move pthread_rwlock_destroy into libc. Date: Sat, 15 Feb 2025 14:50:11 +0200 Message-Id: <20250215125013.270919-9-gfleury@disroot.org> In-Reply-To: <20250215125013.270919-1-gfleury@disroot.org> References: <20250215125013.270919-1-gfleury@disroot.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 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 Signed-off-by: gfleury --- htl/Makefile | 2 +- htl/Versions | 6 ++++-- sysdeps/htl/libc-lockP.h | 3 +-- sysdeps/htl/pt-rwlock-destroy.c | 10 ++++++++-- sysdeps/mach/hurd/i386/libc.abilist | 2 ++ sysdeps/mach/hurd/i386/libpthread.abilist | 1 - sysdeps/mach/hurd/x86_64/libc.abilist | 2 ++ sysdeps/mach/hurd/x86_64/libpthread.abilist | 1 - 8 files changed, 18 insertions(+), 9 deletions(-) diff --git a/htl/Makefile b/htl/Makefile index 83b2ba3a..b48ee842 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -46,7 +46,6 @@ libpthread-routines := \ pt-cancel \ pt-mutex-transfer-np \ pt-rwlock-init \ - pt-rwlock-destroy \ pt-hurd-cond-wait \ pt-hurd-cond-timedwait \ pt-stack-alloc \ @@ -189,6 +188,7 @@ routines := \ pt-mutexattr-settype \ pt-nthreads \ pt-rwlock-attr \ + pt-rwlock-destroy \ pt-rwlock-rdlock \ pt-rwlock-timedrdlock \ pt-rwlock-timedwrlock \ diff --git a/htl/Versions b/htl/Versions index 80b4cb1a..b4734bcc 100644 --- a/htl/Versions +++ b/htl/Versions @@ -63,6 +63,7 @@ libc { pthread_mutexattr_setprotocol; pthread_mutexattr_setpshared; pthread_mutexattr_settype; + pthread_rwlock_destroy; pthread_rwlock_rdlock; pthread_rwlock_timedrdlock; pthread_rwlock_timedwrlock; @@ -154,6 +155,7 @@ libc { pthread_mutex_consistent; pthread_mutex_consistent_np; pthread_mutex_getprioceiling; pthread_mutex_setprioceiling; + pthread_rwlock_destroy; pthread_mutex_trylock; pthread_rwlock_tryrdlock; pthread_rwlock_trywrlock; @@ -256,7 +258,7 @@ libpthread { pthread_once; - pthread_rwlock_destroy; pthread_rwlock_init; + pthread_rwlock_init; pthread_setconcurrency; pthread_setschedprio; pthread_setspecific; @@ -311,6 +313,6 @@ libpthread { __pthread_getattr_np; __pthread_enable_asynccancel; __pthread_disable_asynccancel; - _pthread_rwlock_destroy; _pthread_rwlock_init; + _pthread_rwlock_init; } } diff --git a/sysdeps/htl/libc-lockP.h b/sysdeps/htl/libc-lockP.h index ae2e4668..1b5c23eb 100644 --- a/sysdeps/htl/libc-lockP.h +++ b/sysdeps/htl/libc-lockP.h @@ -94,6 +94,7 @@ extern int __pthread_rwlock_init (pthread_rwlock_t *__rwlock, const pthread_rwlockattr_t *__attr); extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock); +libc_hidden_proto (__pthread_rwlock_destroy) extern int __pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock); libc_hidden_proto (__pthread_rwlock_rdlock) @@ -124,7 +125,6 @@ libc_hidden_proto (__pthread_setcancelstate) #if !defined(__NO_WEAK_PTHREAD_ALIASES) && !IS_IN (libpthread) # ifdef weak_extern weak_extern (__pthread_rwlock_init) -weak_extern (__pthread_rwlock_destroy) weak_extern (__pthread_key_create) weak_extern (__pthread_setspecific) weak_extern (__pthread_getspecific) @@ -132,7 +132,6 @@ weak_extern (__pthread_once) weak_extern (__pthread_initialize) weak_extern (__pthread_atfork) # else -# pragma weak __pthread_rwlock_destroy # pragma weak __pthread_key_create # pragma weak __pthread_setspecific # pragma weak __pthread_getspecific diff --git a/sysdeps/htl/pt-rwlock-destroy.c b/sysdeps/htl/pt-rwlock-destroy.c index 0f862c89..46b41657 100644 --- a/sysdeps/htl/pt-rwlock-destroy.c +++ b/sysdeps/htl/pt-rwlock-destroy.c @@ -18,11 +18,17 @@ #include #include +#include int -_pthread_rwlock_destroy (pthread_rwlock_t *rwlock) +__pthread_rwlock_destroy (pthread_rwlock_t *rwlock) { return 0; } +libc_hidden_def (__pthread_rwlock_destroy) +versioned_symbol (libc, __pthread_rwlock_destroy, pthread_rwlock_destroy, GLIBC_2_42); -strong_alias (_pthread_rwlock_destroy, pthread_rwlock_destroy); +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42) +compat_symbol (libpthread, __pthread_rwlock_destroy, pthread_rwlock_destroy, GLIBC_2_12); +compat_symbol (libpthread, __pthread_rwlock_destroy,_pthread_rwlock_destroy, GLIBC_2_12); +#endif diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 0e304491..5966862c 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -88,6 +88,7 @@ GLIBC_2.12 pthread_mutexattr_setprioceiling F GLIBC_2.12 pthread_mutexattr_setprotocol F GLIBC_2.12 pthread_mutexattr_setpshared F GLIBC_2.12 pthread_mutexattr_settype F +GLIBC_2.12 pthread_rwlock_destroy F GLIBC_2.12 pthread_rwlock_rdlock F GLIBC_2.12 pthread_rwlock_timedrdlock F GLIBC_2.12 pthread_rwlock_timedwrlock F @@ -2593,6 +2594,7 @@ GLIBC_2.42 pthread_mutex_consistent_np F GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F +GLIBC_2.42 pthread_rwlock_destroy F GLIBC_2.42 pthread_rwlock_tryrdlock F GLIBC_2.42 pthread_rwlock_trywrlock F GLIBC_2.42 pthread_rwlockattr_destroy F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index 1b4cfa5f..3ebfa637 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -36,7 +36,6 @@ GLIBC_2.12 pthread_key_delete F GLIBC_2.12 pthread_kill F GLIBC_2.12 pthread_mutex_transfer_np F GLIBC_2.12 pthread_once F -GLIBC_2.12 pthread_rwlock_destroy F GLIBC_2.12 pthread_rwlock_init F GLIBC_2.12 pthread_setconcurrency F GLIBC_2.12 pthread_setschedprio F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index 55a97e95..ec6e20a9 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -1579,6 +1579,7 @@ GLIBC_2.38 pthread_mutexattr_setpshared F GLIBC_2.38 pthread_mutexattr_setrobust F GLIBC_2.38 pthread_mutexattr_setrobust_np F GLIBC_2.38 pthread_mutexattr_settype F +GLIBC_2.38 pthread_rwlock_destroy F GLIBC_2.38 pthread_rwlock_clockrdlock F GLIBC_2.38 pthread_rwlock_clockwrlock F GLIBC_2.38 pthread_rwlock_rdlock F @@ -2276,6 +2277,7 @@ GLIBC_2.42 pthread_mutex_consistent_np F GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F +GLIBC_2.42 pthread_rwlock_destroy F GLIBC_2.42 pthread_rwlock_tryrdlock F GLIBC_2.42 pthread_rwlock_trywrlock F GLIBC_2.42 pthread_rwlockattr_destroy F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index 32b0b502..106aa09d 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -56,7 +56,6 @@ GLIBC_2.38 pthread_key_delete F GLIBC_2.38 pthread_kill F GLIBC_2.38 pthread_mutex_transfer_np F GLIBC_2.38 pthread_once F -GLIBC_2.38 pthread_rwlock_destroy F GLIBC_2.38 pthread_rwlock_init F GLIBC_2.38 pthread_setconcurrency F GLIBC_2.38 pthread_setschedprio F From patchwork Sat Feb 15 12:50:12 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gfleury X-Patchwork-Id: 106590 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 A61993858415 for ; Sat, 15 Feb 2025 13:00:01 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A61993858415 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=disroot.org header.i=@disroot.org header.a=rsa-sha256 header.s=mail header.b=i3YWuda4 X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from layka.disroot.org (layka.disroot.org [178.21.23.139]) by sourceware.org (Postfix) with ESMTPS id C8121385828B for ; Sat, 15 Feb 2025 12:51:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C8121385828B Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=disroot.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=disroot.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C8121385828B Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=178.21.23.139 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623863; cv=none; b=lZkJhnGmqKE+fvFCLuxi8ZnNm6ogAUpmRF+8p6nQqsqo+yIhgGqt0fHsx42nDWNxRsxV7774E4+TpH2rVDgBpPxrtc8ZQdDZ71yIVswZF5oZBRNJ9bcTTZvdyd2BXrIqfr/JbXO+WxT2sdaqfZOtdOabHlUsBosBhYuJlPeR56Y= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623863; c=relaxed/simple; bh=J9ZLkDvU5yrtG55lYxU8TAsOhA6cnoznq0igMdAtxcA=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=EqOnVHsyNZ2EWWTtAN0j/7cjKFwnjeqXde69Y3DiBzIFla1KqmYjV8g6FVsPBLaIyf+GC3FFdBqoyjTUE05t2szB285KH+2bZqQXAUPCI+gvnPNFtDuTYCE8F46KonS1jX8XwQg5LgXkxCCLhA9PlY33npz2hFBvubSsFAxE+AI= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C8121385828B Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 5ACF425B12; Sat, 15 Feb 2025 13:51:00 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id p_c5dr2Fg9pL; Sat, 15 Feb 2025 13:50:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1739623856; bh=J9ZLkDvU5yrtG55lYxU8TAsOhA6cnoznq0igMdAtxcA=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=i3YWuda4nfDrNN6kWxx34CT1PyPen0iaJGgCBFS+zObWgLc+BWLzjpdp7r5kxp1g7 kxSGqCAwAxAH7szs0O7DvhmekcZvhYw3FYFbzprEl1x07oU+RwujMytQ625udfTt2J JvkeKBAZQBSgX90qzuYuomAOp6hivEZNG5PQA7P74W1UejLLXZTktToJXik85HVWo0 eiCHJ9pHYRrhp49sQ7mkRxKSKjDuSxIyBv9zHUzTuCrbki+4cT3OMfOxTArfm+el/u CV001XM1pw4v5k/TLgK2gV1E9YsZIGGvSbEujsqsom26nAIHE20D7V/XNjNag31Lgl Zp10o7mosI3uQ== From: gfleury To: libc-alpha@sourceware.org Cc: gfleury Subject: [PATCH 09/10] htl: move pthread_rwlock_init into libc. Date: Sat, 15 Feb 2025 14:50:12 +0200 Message-Id: <20250215125013.270919-10-gfleury@disroot.org> In-Reply-To: <20250215125013.270919-1-gfleury@disroot.org> References: <20250215125013.270919-1-gfleury@disroot.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 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 Signed-off-by: gfleury --- htl/Makefile | 2 +- htl/Versions | 4 +--- sysdeps/htl/libc-lockP.h | 2 +- sysdeps/htl/pt-rwlock-init.c | 10 ++++++++-- sysdeps/mach/hurd/i386/libc.abilist | 2 ++ sysdeps/mach/hurd/i386/libpthread.abilist | 1 - sysdeps/mach/hurd/x86_64/libc.abilist | 1 + sysdeps/mach/hurd/x86_64/libpthread.abilist | 1 - 8 files changed, 14 insertions(+), 9 deletions(-) diff --git a/htl/Makefile b/htl/Makefile index b48ee842..5d5cac0b 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -45,7 +45,6 @@ libpthread-routines := \ pt-testcancel \ pt-cancel \ pt-mutex-transfer-np \ - pt-rwlock-init \ pt-hurd-cond-wait \ pt-hurd-cond-timedwait \ pt-stack-alloc \ @@ -189,6 +188,7 @@ routines := \ pt-nthreads \ pt-rwlock-attr \ pt-rwlock-destroy \ + pt-rwlock-init \ pt-rwlock-rdlock \ pt-rwlock-timedrdlock \ pt-rwlock-timedwrlock \ diff --git a/htl/Versions b/htl/Versions index b4734bcc..dda44eb4 100644 --- a/htl/Versions +++ b/htl/Versions @@ -64,6 +64,7 @@ libc { pthread_mutexattr_setpshared; pthread_mutexattr_settype; pthread_rwlock_destroy; + pthread_rwlock_init; pthread_rwlock_rdlock; pthread_rwlock_timedrdlock; pthread_rwlock_timedwrlock; @@ -258,8 +259,6 @@ libpthread { pthread_once; - pthread_rwlock_init; - pthread_setconcurrency; pthread_setschedprio; pthread_setspecific; @@ -313,6 +312,5 @@ libpthread { __pthread_getattr_np; __pthread_enable_asynccancel; __pthread_disable_asynccancel; - _pthread_rwlock_init; } } diff --git a/sysdeps/htl/libc-lockP.h b/sysdeps/htl/libc-lockP.h index 1b5c23eb..5085570b 100644 --- a/sysdeps/htl/libc-lockP.h +++ b/sysdeps/htl/libc-lockP.h @@ -92,6 +92,7 @@ libc_hidden_proto (__pthread_mutexattr_destroy) extern int __pthread_rwlock_init (pthread_rwlock_t *__rwlock, const pthread_rwlockattr_t *__attr); +libc_hidden_proto (__pthread_rwlock_init) extern int __pthread_rwlock_destroy (pthread_rwlock_t *__rwlock); libc_hidden_proto (__pthread_rwlock_destroy) @@ -124,7 +125,6 @@ libc_hidden_proto (__pthread_setcancelstate) single-threaded processes. */ #if !defined(__NO_WEAK_PTHREAD_ALIASES) && !IS_IN (libpthread) # ifdef weak_extern -weak_extern (__pthread_rwlock_init) weak_extern (__pthread_key_create) weak_extern (__pthread_setspecific) weak_extern (__pthread_getspecific) diff --git a/sysdeps/htl/pt-rwlock-init.c b/sysdeps/htl/pt-rwlock-init.c index 02bd1bff..d177dbb4 100644 --- a/sysdeps/htl/pt-rwlock-init.c +++ b/sysdeps/htl/pt-rwlock-init.c @@ -19,9 +19,10 @@ #include #include #include +#include int -_pthread_rwlock_init (pthread_rwlock_t *rwlock, +__pthread_rwlock_init (pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) { ASSERT_TYPE_SIZE (pthread_rwlock_t, __SIZEOF_PTHREAD_RWLOCK_T); @@ -42,5 +43,10 @@ _pthread_rwlock_init (pthread_rwlock_t *rwlock, *rwlock->__attr = *attr; return 0; } +libc_hidden_def (__pthread_rwlock_init) +versioned_symbol (libc, __pthread_rwlock_init, pthread_rwlock_init, GLIBC_2_42); -strong_alias (_pthread_rwlock_init, pthread_rwlock_init); +#if OTHER_SHLIB_COMPAT (libpthread, GLIBC_2_12, GLIBC_2_42) +compat_symbol (libpthread, __pthread_rwlock_init, pthread_rwlock_init, GLIBC_2_12); +compat_symbol (libpthread, __pthread_rwlock_init, _pthread_rwlock_init, GLIBC_2_12); +#endif diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i386/libc.abilist index 5966862c..e51794a5 100644 --- a/sysdeps/mach/hurd/i386/libc.abilist +++ b/sysdeps/mach/hurd/i386/libc.abilist @@ -89,6 +89,7 @@ GLIBC_2.12 pthread_mutexattr_setprotocol F GLIBC_2.12 pthread_mutexattr_setpshared F GLIBC_2.12 pthread_mutexattr_settype F GLIBC_2.12 pthread_rwlock_destroy F +GLIBC_2.12 pthread_rwlock_init F GLIBC_2.12 pthread_rwlock_rdlock F GLIBC_2.12 pthread_rwlock_timedrdlock F GLIBC_2.12 pthread_rwlock_timedwrlock F @@ -2595,6 +2596,7 @@ GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F GLIBC_2.42 pthread_rwlock_destroy F +GLIBC_2.42 pthread_rwlock_init F GLIBC_2.42 pthread_rwlock_tryrdlock F GLIBC_2.42 pthread_rwlock_trywrlock F GLIBC_2.42 pthread_rwlockattr_destroy F diff --git a/sysdeps/mach/hurd/i386/libpthread.abilist b/sysdeps/mach/hurd/i386/libpthread.abilist index 3ebfa637..d9c1a179 100644 --- a/sysdeps/mach/hurd/i386/libpthread.abilist +++ b/sysdeps/mach/hurd/i386/libpthread.abilist @@ -36,7 +36,6 @@ GLIBC_2.12 pthread_key_delete F GLIBC_2.12 pthread_kill F GLIBC_2.12 pthread_mutex_transfer_np F GLIBC_2.12 pthread_once F -GLIBC_2.12 pthread_rwlock_init F GLIBC_2.12 pthread_setconcurrency F GLIBC_2.12 pthread_setschedprio F GLIBC_2.12 pthread_setspecific F diff --git a/sysdeps/mach/hurd/x86_64/libc.abilist b/sysdeps/mach/hurd/x86_64/libc.abilist index ec6e20a9..a8f56222 100644 --- a/sysdeps/mach/hurd/x86_64/libc.abilist +++ b/sysdeps/mach/hurd/x86_64/libc.abilist @@ -2278,6 +2278,7 @@ GLIBC_2.42 pthread_mutex_getprioceiling F GLIBC_2.42 pthread_mutex_setprioceiling F GLIBC_2.42 pthread_mutex_trylock F GLIBC_2.42 pthread_rwlock_destroy F +GLIBC_2.42 pthread_rwlock_init F GLIBC_2.42 pthread_rwlock_tryrdlock F GLIBC_2.42 pthread_rwlock_trywrlock F GLIBC_2.42 pthread_rwlockattr_destroy F diff --git a/sysdeps/mach/hurd/x86_64/libpthread.abilist b/sysdeps/mach/hurd/x86_64/libpthread.abilist index 106aa09d..71ce1d62 100644 --- a/sysdeps/mach/hurd/x86_64/libpthread.abilist +++ b/sysdeps/mach/hurd/x86_64/libpthread.abilist @@ -56,7 +56,6 @@ GLIBC_2.38 pthread_key_delete F GLIBC_2.38 pthread_kill F GLIBC_2.38 pthread_mutex_transfer_np F GLIBC_2.38 pthread_once F -GLIBC_2.38 pthread_rwlock_init F GLIBC_2.38 pthread_setconcurrency F GLIBC_2.38 pthread_setschedprio F GLIBC_2.38 pthread_setspecific F From patchwork Sat Feb 15 12:50:13 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: gfleury X-Patchwork-Id: 106585 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 9747A3858C53 for ; Sat, 15 Feb 2025 12:55:44 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from layka.disroot.org (layka.disroot.org [178.21.23.139]) by sourceware.org (Postfix) with ESMTPS id 0502E3858023 for ; Sat, 15 Feb 2025 12:51:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0502E3858023 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=disroot.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=disroot.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 0502E3858023 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=178.21.23.139 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623863; cv=none; b=U2MFIsvG2WVc2GruETfRdd1lUkZeLDXdNPkHhs1xqJW1MTbhjs3uTOtNoK+AwcnwQ2JibJPAzthONaAj+1jB95OJMGHw1LjNZ/EvrbsbmyYuSNpddWwwdIUEu7RvakXTiLbF48t+ySUQHmT+SxCbp7K84f43hDKnzCPp7QdZVF0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1739623863; c=relaxed/simple; bh=dDFa7dJCZXCQy4D2SKDr08RIcJXh30SMxBW0IhXm3wE=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=pjfBtfm9DZViliot3cWZpJk1DehbGUNCsaDbhYrdPkGWjCq3/XReB4udRlmH3q/WRRbqOvk5riX83AXl323dJCkOhT4JTQOLII3vfnNdQ4PQB2W4nr7STuzoDy0oSZ5zUCDk/DnrETgiZF5ZPBRhsUyo92fvVgi3T7+nBwFwRzU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0502E3858023 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, secure) header.d=disroot.org header.i=@disroot.org header.a=rsa-sha256 header.s=mail header.b=DTj+y/e4 Received: from mail01.disroot.lan (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 1BCE625CCF; Sat, 15 Feb 2025 13:50:58 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id ihz0zDcrULXD; Sat, 15 Feb 2025 13:50:57 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1739623857; bh=dDFa7dJCZXCQy4D2SKDr08RIcJXh30SMxBW0IhXm3wE=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=DTj+y/e4/muQ0/AwPZGur2A/fFhD+qx2tG0xCuUVD88dBpTkEmDt5Vptp4XkfDe2b 8vFqP5TzLOYRXEsZsxQCQxrgAJoz6ol6Miem5MMQ98ZtzrRmXLozWLTFoFX3bgmXtN CWxpZPpRAkYnZA2+9u6tVprYsqoZT5uoEwJmaVJmt88oBDohYwXNaUatj8TAPFCrnG lKEaGZODZt0TBhEA9Pe+rxBNNlOmdDsEb/7YCEgXiJ9yJYsRkR1NlAazGmNtqalst8 u2oGF8RUNMyeI/q8e28aOC728Db6naUqaf67LDF7tTsItHrYeTK7NFJUMW4AyZz1Jh 47rwSWg+zk7PQ== From: gfleury To: libc-alpha@sourceware.org Cc: gfleury Subject: [PATCH 10/10] htl: don't export __pthread_default_rwlockattr anymore. Date: Sat, 15 Feb 2025 14:50:13 +0200 Message-Id: <20250215125013.270919-11-gfleury@disroot.org> In-Reply-To: <20250215125013.270919-1-gfleury@disroot.org> References: <20250215125013.270919-1-gfleury@disroot.org> MIME-Version: 1.0 X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 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 since now all symbloy that use it are in libc --- htl/Versions | 1 - htl/pt-internal.h | 1 - sysdeps/htl/pt-rwlock-attr.c | 1 - 3 files changed, 3 deletions(-) diff --git a/htl/Versions b/htl/Versions index dda44eb4..81371582 100644 --- a/htl/Versions +++ b/htl/Versions @@ -193,7 +193,6 @@ libc { __pthread_cond_wait; __pthread_condattr_init; __pthread_default_condattr; - __pthread_default_rwlockattr; __pthread_mutex_checklocked; __pthread_mutex_destroy; __pthread_mutex_init; diff --git a/htl/pt-internal.h b/htl/pt-internal.h index cd4ebc0a..d19579b3 100644 --- a/htl/pt-internal.h +++ b/htl/pt-internal.h @@ -331,7 +331,6 @@ extern const struct __pthread_barrierattr __pthread_default_barrierattr; /* Default rdlock attributes. */ extern const struct __pthread_rwlockattr __pthread_default_rwlockattr; -libc_hidden_proto (__pthread_default_rwlockattr) /* Default condition attributes. */ extern const struct __pthread_condattr __pthread_default_condattr; diff --git a/sysdeps/htl/pt-rwlock-attr.c b/sysdeps/htl/pt-rwlock-attr.c index 98dd4c9d..999e108e 100644 --- a/sysdeps/htl/pt-rwlock-attr.c +++ b/sysdeps/htl/pt-rwlock-attr.c @@ -22,4 +22,3 @@ const struct __pthread_rwlockattr __pthread_default_rwlockattr = { __pshared: PTHREAD_PROCESS_PRIVATE }; -libc_hidden_data_def (__pthread_default_rwlockattr)