From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by sourceware.org (Postfix) with ESMTP id 17E31384B13C for ; Wed, 17 Mar 2021 14:45:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 17E31384B13C Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-516-5dXH4TQePgyCc44qsXICZA-1; Wed, 17 Mar 2021 10:45:05 -0400 X-MC-Unique: 5dXH4TQePgyCc44qsXICZA-1 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1D15D8189CD; Wed, 17 Mar 2021 14:45:04 +0000 (UTC) Received: from oldenburg.str.redhat.com (ovpn-115-121.ams2.redhat.com [10.36.115.121]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3A34B5D6CF; Wed, 17 Mar 2021 14:45:02 +0000 (UTC) From: Florian Weimer To: Adhemerval Zanella Cc: libc-alpha@sourceware.org Subject: Re: [PATCH v3 08/37] nptl: Move pthread_once and __pthread_once into libc References: <3ab7ccc92585d17c3171cf375605b53252d6b9a9.1615914631.git.fweimer@redhat.com> <41a88cab-808e-c10e-a975-41cdd252c299@linaro.org> <5405bbad-3c70-4435-8815-59e84738c3fb@linaro.org> Date: Wed, 17 Mar 2021 15:45:09 +0100 In-Reply-To: <5405bbad-3c70-4435-8815-59e84738c3fb@linaro.org> (Adhemerval Zanella's message of "Wed, 17 Mar 2021 10:37:33 -0300") Message-ID: <87h7l93klm.fsf@oldenburg.str.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain X-Spam-Status: No, score=-6.6 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Mar 2021 14:45:10 -0000 * Adhemerval Zanella: > On 17/03/2021 10:30, Adhemerval Zanella wrote: >> >> >> On 16/03/2021 14:28, Florian Weimer via Libc-alpha wrote: >>> And also the fork generation counter, __fork_generation. This >>> eliminates the need for __fork_generation_pointer. >>> >>> call_once remains in libpthread and calls the exported __pthread_once >>> symbol. >>> >>> pthread_once and __pthread_once have been moved using >>> scripts/move-symbol-to-libc.py. >> >> LGTM, I just don't see why we need a GLIBC_2.34 __pthread_once. > > Ok, it is called by call_once. I wonder if we could make a GLIBC_PRIVATE > instead so we can remove it once we moce call_once to libc. nss_ldap-253-16.el4 and nss_ldap-253-52.el5_11.2 use it, but those are doubly obslete (old releases, nss_ldapd is a secure replacement of nss_ldap). We could turn __pthread_once into a compat symbol, but maybe we should handle this in consistent fashion for all libpthread __ symbols that do not have apparent external users? >From a tactical perspective, maybe we should postpone this conversion to some pointer later in this release cycle. We would have to change the symbol name in glibc because it wouldn't make sense to have a non-compat GLIBC_PRIVATE symbol and a compat symbol at the same version (users would just link to the GLIBC_PRIVATE symbol). If everything is in libc, we can simply use libc_hidden_proto, without renaming internal use. Thanks, Florian