public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Carlos O'Donell <carlos@redhat.com>
To: Florian Weimer <fweimer@redhat.com>
Cc: libc-alpha@sourceware.org, Jakub Jelinek <jakub@redhat.com>
Subject: Re: [PATCH] nptl: Export _pthread_cleanup_push, _pthread_cleanup_pop again
Date: Tue, 15 Jun 2021 15:35:56 -0400	[thread overview]
Message-ID: <f9acdd21-a165-4779-e389-38ffe331011d@redhat.com> (raw)
In-Reply-To: <87y2bbey1n.fsf@oldenburg.str.redhat.com>

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.


  reply	other threads:[~2021-06-15 19:35 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-15 15:21 Florian Weimer
2021-06-15 19:17 ` Carlos O'Donell
2021-06-15 19:19   ` Florian Weimer
2021-06-15 19:35     ` Carlos O'Donell [this message]
2021-06-15 19:46       ` Jakub Jelinek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f9acdd21-a165-4779-e389-38ffe331011d@redhat.com \
    --to=carlos@redhat.com \
    --cc=fweimer@redhat.com \
    --cc=jakub@redhat.com \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).