From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from knopi.disroot.org (knopi.disroot.org [178.21.23.139]) by sourceware.org (Postfix) with ESMTPS id 7D89F385842A for ; Tue, 1 Nov 2022 19:19:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7D89F385842A Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=disroot.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=disroot.org Received: from localhost (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 5F35841380; Tue, 1 Nov 2022 20:19:43 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from knopi.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mHC0lp-JL85d; Tue, 1 Nov 2022 20:19:41 +0100 (CET) Date: Tue, 01 Nov 2022 21:19:34 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1667330381; bh=7PjYT1hiipYjWRurTyzCupRy/0nPcY7ifTOP/eALJH0=; h=Date:From:To:Subject:In-Reply-To:References; b=d6dIhV6wos2GHpl1S5MQyGsz2X4AZfu7ylkgM0IioBqpXRl+cjaL/QMHoK41uXDDI HGOBIP7M+6vifBEs46/CVp2NpThPUbyCGQw9/o6BWtqPi3+5YefMD5XZzC1u5EOzv7 BMXVCZi/GTefmrMV3FKv6glnlVkQVFTKFxYgypLmwEJ6OH0cVY6+Pxpg5kFIJesSME pA6WAUm4KKLrqvT4nIA2u3qKgFqsf0jO9fDmiaKOi+AxB1e/3UgIAOd82/1+syJbXT MR7ZuPQu3uk0+2qVzgXaM+HwYvEBliE/plGorUW5mBAlPY9yiHIadl19+vjL/Ug7po 8gqttp0snDDRw== From: Guy-Fleury Iteriteka To: Florian Weimer , Guy-Fleury Iteriteka via Libc-alpha Subject: Re: [PATCH 4/4] htl: move pthread_self into libc In-Reply-To: <87cza8jvzo.fsf@mid.deneb.enyo.de> References: <20221029120030.1448-1-gfleury@disroot.org> <20221029120030.1448-5-gfleury@disroot.org> <87cza8jvzo.fsf@mid.deneb.enyo.de> Message-ID: <64CEE2A8-DD4D-4B1D-AD6D-C4FE6830947B@disroot.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=----V2HU7I9KNW1T5M2AK0W971SL7BTSS2 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,HTML_MESSAGE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: ------V2HU7I9KNW1T5M2AK0W971SL7BTSS2 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Thanks I will retry this ween'k end On October 31, 2022 9:24:59 AM GMT+02:00, Florian Weimer = wrote: >* Guy-Fleury Iteriteka via Libc-alpha: > >> diff --git a/htl/Versions b/htl/Versions >> index 1ef8a6d0..59070181 100644 >> --- a/htl/Versions >> +++ b/htl/Versions >> @@ -25,7 +25,9 @@ libc { >> GLIBC_2.32 { >> thrd_current; thrd_equal; thrd_sleep; thrd_yield; >> } >> - >> + GLIBC_2.36 { >> + __pthread_self; >> + } > >This needs to be GLIBC_2.37 now. I think it also needs to be >pthread_self (the public symbol). > >> diff --git a/sysdeps/mach/hurd/i386/libc.abilist b/sysdeps/mach/hurd/i38= 6/libc.abilist >> index 26552958..bfa47282 100644 >> --- a/sysdeps/mach/hurd/i386/libc.abilist >> +++ b/sysdeps/mach/hurd/i386/libc.abilist >> @@ -29,6 +29,7 @@ GLIBC_2.11 mkostemps64 F >> GLIBC_2.11 mkstemps F >> GLIBC_2.11 mkstemps64 F >> GLIBC_2.12 pthread_equal F >> +GLIBC_2.12 pthread_self F >> GLIBC_2.13 __fentry__ F >> GLIBC_2.14 syncfs F >> GLIBC_2.15 __fdelt_chk F > >=E2=80=9CGLIBC_2.37 pthread_self=E2=80=9D needs to show up there, in addit= ion to the >GLIBC_2.12 version. > >What's missing from this change is the construct for setting the >symbol versions, something like: > >versioned_symbol (libc, __pthread_self, pthread_self, GLIBC_2_37); >#if OTHER_SHLIB_COMPAT (librt, GLIBC_2_12, GLIBC_2_37) >compat_symbol (libc, __pthread_self, pthread_self, GLIBC_2_12); >#endif > >This sets the new symbol version explicitly and provides the old >version as a compatibility symbol. > >It may be necessary to introduce a hidden prototype for >__pthread_self, to avoid check-localplt warnings. You may have to use >libc_hidden_ver and a different name in the C function definition to >work around some symbol management limitations. Another approach >could use an inline function for pthread_self or __pthread_self, so >that glibc-internal use of the symbol goes away completely. > >Use of a __thread variable for ___pthread_self is problematic because >it interferes with dlmopen. If you use THREAD_GETMEM instead, I >believe you can do away with the conditional check in pthread_self. ------V2HU7I9KNW1T5M2AK0W971SL7BTSS2--