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 [170.10.133.124]) by sourceware.org (Postfix) with ESMTP id F27B7388E829 for ; Tue, 15 Jun 2021 19:35:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org F27B7388E829 Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-230-w3viRO0mOuqNm9_YZQF5YQ-1; Tue, 15 Jun 2021 15:35:58 -0400 X-MC-Unique: w3viRO0mOuqNm9_YZQF5YQ-1 Received: by mail-qk1-f199.google.com with SMTP id y5-20020a37af050000b02903a9c3f8b89fso48882qke.2 for ; Tue, 15 Jun 2021 12:35:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:organization :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=u2bm2Hf8S7zpgtPCkaykRFvEhhojjtQnq0K932Jbd6M=; b=R0tgwvoE6InpvvwhCmskZgIl7cAOM6D8oxXD3bc1Zg+YU66nufZuiuZeg6SkNa9wfv wM4mb/XMgN7DKsUErOdfGAL40/8kwcmEy4HJKA4q230GEsn2l6dZDlNbkIZ8QQyyvOHZ ulRnBa9SBju99C5Dv8ch4e2ICjasqtLC4QCzEAkQmKCxZxo2AmiEW01fR5GsSZnO66kG xp5DYXQQaeenzacpr/D5t9LfPmTMUl/gMz6VDrOrWOWgOjd6fHyt1SzRZG+VxJQ/tdHc vMH8FvZ+6vOVrYHzvPup7ahJrJw9XyCc9r8BSUjgBGy4C9LRIv0LDK233aXqH+Q5Qus0 nEFw== X-Gm-Message-State: AOAM531Ouc5VD28H43BM1nhbD13SFWoWm1rRLP/Lyq8r+4tk6JmetV1h TEuZ2ML0+ZlMLZ5bzWZan+lfYZphoxDCe1xIbGTXuZt/sAbIbFFCaugEDS5Mj07VR5YyMcf35YS KkqLImuwERnfyczllvOEO X-Received: by 2002:ac8:424a:: with SMTP id r10mr1228228qtm.147.1623785758103; Tue, 15 Jun 2021 12:35:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz8TAENSUfJNszDiCjiREs+1zD6b+aRp4yIGj1Pq5/moB51R2NbC4/HrOSsa3yj/Hy3OI500Q== X-Received: by 2002:ac8:424a:: with SMTP id r10mr1228218qtm.147.1623785757889; Tue, 15 Jun 2021 12:35:57 -0700 (PDT) Received: from [192.168.1.16] (198-84-214-74.cpe.teksavvy.com. [198.84.214.74]) by smtp.gmail.com with ESMTPSA id c11sm12065507qth.29.2021.06.15.12.35.56 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 15 Jun 2021 12:35:57 -0700 (PDT) Subject: Re: [PATCH] nptl: Export _pthread_cleanup_push, _pthread_cleanup_pop again To: Florian Weimer Cc: libc-alpha@sourceware.org, Jakub Jelinek References: <87r1h3gnlx.fsf@oldenburg.str.redhat.com> <87y2bbey1n.fsf@oldenburg.str.redhat.com> From: Carlos O'Donell Organization: Red Hat Message-ID: Date: Tue, 15 Jun 2021 15:35:56 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <87y2bbey1n.fsf@oldenburg.str.redhat.com> X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-5.8 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, 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: Tue, 15 Jun 2021 19:36:01 -0000 On 6/15/21 3:19 PM, Florian Weimer wrote: > * Carlos O'Donell: > >> On 6/15/21 11:21 AM, Florian Weimer via Libc-alpha wrote: >>> These were turned into compat symbols as part of the libpthread >>> move. It turns out they are used by language run-time libraries >>> (e.g., the GCC D front end), so it makes to preserve them as >>> external symbols even though they are not declared in any header >>> file. >>> >>> Tested on i686-linux-gnu, x86_64-linux-gnu. Built on i686-gnu. (No >>> full build on all ABIs, but the ABI update was done with >>> update-all-abi.) >> >> Just like the pthread min stack size problem this is something we can't >> change until we work with the runtime authors to avoid the regression or >> get interfaces they need defined. >> >> Thanks for working through this issue. This change is straight forward, >> we aren't at ABI freeze yet, and so this looks good to me. > > Just to be clear, this is a public interface, not a GLIBC_PRIVATE one. > It's just an old interface that unexpectedly has current users. As an interface with a leading underscore it is part of the implementation and should only have been called by macros under the control of the implementation. There is perhaps a digression here, is the "D" runtime in gcc a part of the implementation formed with glibc? If your answer is "Yes" then the libphobos implementation that calls _pthreaed_cleanup_[push,pop] is valid code to have in the compiler. However, my opinion is that core language runtimes should not be calling leading underscore functions, and that there should be a stronger separation between the language runtime and the core runtime functionality. That requires we talk to more language runtime developers to ensure we provide the functionality they need and that we provide that functionality in some way. They should definitely not be calling GLIBC_PRIVATE functions, but they do, because of missing functionality in public interfaces. -- Cheers, Carlos.