From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
To: Mark Wielaard <mark@klomp.org>, Carlos O'Donell <carlos@redhat.com>
Cc: libc-alpha@sourceware.org
Subject: Re: glibc 2.33.9000 version checks and in memory file name change
Date: Mon, 19 Jul 2021 08:49:54 -0300 [thread overview]
Message-ID: <a32f00bb-b77a-5058-3798-f1c2eb206a9b@linaro.org> (raw)
In-Reply-To: <YPVDUsAQ7G1mIBrH@wildebeest.org>
On 19/07/2021 06:18, Mark Wielaard wrote:
> Hi,
>
> On Wed, Jul 14, 2021 at 01:55:27PM -0300, Adhemerval Zanella wrote:
>> On 09/07/2021 13:37, Mark Wielaard wrote:
>>> That tells to suppress an Helgrind Race condition if the backtrace
>>> originated for an in memory object file matching */lib*/libc-2.*so*.
>>> This suppression fails now since /usr/lib64/libc.so.6 doesn't match
>>> that pattern.
>>>
>>> I wonder if there are other programs which might depend on the in
>>> memory file name of glibc and might be impacted by this change.
>>
>> I am not sure, but relying on such naming scheme is fragile in principle:
>> although the installation did use the embedded the version in the
>> installed filename nothing preventes the distribution to rename it to
>> something complete different (since the DT_NEEDED will still point to
>> libc.so.6).
>
> Yes, it would be nicer to have used the so name, but people are more
> familiar with the actual file name. It also used to be more
> architecture independent. Because of the symlinks ld.so was named the
> same on all arches. I certainly understand this was just by accident
> and we shouldn't have relied on it, but...
We really care about ABI stability and since this is accomplished by
setting the expected soname on DT_NEEEDED, I think adding another
constrain, such the installed filename, does not really add much here.
The potential breakage is minimum imho and could be mitigated by using
a more expressive filter (such as the one I suggested) if filename is
really important by the project.
>
>>> Now we can update our default suppressions and will do so.
>>>
>>> Unfortunately our current mechanism for doing that relies on a
>>> configure check for the glibc version. Specifically we check whether
>>> features.h defines __GLIBC__ __GLIBC_MINOR__ and construct the glibc
>>> version from that. But current development versions of glibc (like
>>> Fedora rawhides glibc-2.33.9000) still report __GLIBC_MINOR__ as 33.
>>
>> What kind of regular expression does valgrind suppression mechanism
>> support? Does it mimic the shell expansion used on glob(), for instance,
>> or is it something more restrict?
>
> It only knows about * (zero or more) and ? (zero or one) chars.
>
>>> Is there a way to detect this is really 2.33.9000 aka almost 2.34? Or
>>> could you up the __GLIBC_MINOR__ already now that people are starting
>>> to ship test versions like 2.33.9000?
>>
>> We now moved all libpthread/librt/libdl symbols to libc.so, so if you
>> must detect 2.34 glibc you may try use pthread_create without linking
>> to -lpthread.
>
> Thanks, that is a nice check. I used that for now.
> https://bugs.kde.org/show_bug.cgi?id=439590
>
>> Usually we do follow the release procedure to just bump
>> de version to 2.34 once the release is actually done.
>
> Understood, and it is too late to change that for this release. But
> maybe for the next features.h could be changed at the freeze point
> instead of at release? Then people will test against the actual
> release number.
>
I don't have a strong opinion, maybe we could bump it on slushy freeze
that usually happens 4 weeks prior release. Carlos, what do you think
about changing it to the next release?
prev parent reply other threads:[~2021-07-19 11:49 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-09 16:37 Mark Wielaard
2021-07-14 16:55 ` Adhemerval Zanella
2021-07-19 9:18 ` Mark Wielaard
2021-07-19 11:49 ` Adhemerval Zanella [this message]
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=a32f00bb-b77a-5058-3798-f1c2eb206a9b@linaro.org \
--to=adhemerval.zanella@linaro.org \
--cc=carlos@redhat.com \
--cc=libc-alpha@sourceware.org \
--cc=mark@klomp.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).