From: Jonathan Wakely <jwakely.gcc@gmail.com>
To: Florian Weimer <fweimer@redhat.com>
Cc: "Jonathan Wakely via Libstdc++" <libstdc++@gcc.gnu.org>,
Jonathan Wakely <jwakely@redhat.com>,
gcc-patches <gcc-patches@gcc.gnu.org>
Subject: Re: [PATCH] libstdc++: Allow std::condition_variable waits to be cancelled [PR103382]
Date: Wed, 8 Dec 2021 00:36:01 +0000 [thread overview]
Message-ID: <CAH6eHdRWYKy6HwwcfG3YRazqVGuyePjatyzvgfKeZ3oc6ZfsRQ@mail.gmail.com> (raw)
In-Reply-To: <87tufkm6bb.fsf@oldenburg.str.redhat.com>
On Tue, 7 Dec 2021 at 21:52, Florian Weimer wrote:
>
> * Jonathan Wakely:
>
> > On Tue, 7 Dec 2021, 21:20 Florian Weimer via Libstdc++, <libstdc++@gcc.gnu.org>
> > wrote:
> >
> > * Jonathan Wakely via Libstdc:
> >
> > > If necessary we could keep the terminate-on-cancellation behaviour as
> > > _ZNSt18condition_variable4waitERSt11unique_lockISt5mutexE@GLIBCXX_3.4.11
> > > and export the new behaviour as @@GLIBCXX_3.4.30, although this patch
> > > doesn't do that.
> >
> > Note that if this fix escapes into the wild and then you have to make
> > the symbol version change, you will break newer applications. In a few
> > cases in glibc, we proactively added aliases at a different symbol
> > version, but with the same implementation (at first).
> >
> > To be safe, we probably should preserve the old behaviour for the old
> > version of the symbol. If we decide that the new behaviour is always
> > preferable, we could change that later by making the old symbol an
> > alias for the new. If we don't decide that, we'll be glad we made it a
> > separate symbol.
>
> On the other hand, with separate versions, it's possible to reintroduce
> the old behavior at a later date, as a bugfix. It's not strictly
> necessary to do that work upfront. It's just nice to have this option.
Ah yes, a new symbol version gives us more flexibility in every direction.
> > I'll see if I can get it working with two versioned symbols. We don't
> > actually do that in libstdc++ currently, we only have a single version
> > of every symbol.
>
> Ping me if you want to discuss options. 8->
Thanks. I'll try it and let you know how I get on.
> Out of curiosity—do you support building libstdc++ (the shared object)
> with a different compiler than the included GCC?
No. Even using a different GCC is unsupported. I know of two people
who've tried using clang, for reasons. But it's unsupported.
You can use the installed libstdc++ headers and libs with other
non-GCC compilers, but not other versions of GCC. But you can't build
it with anything except the GCC built from the same revision of the
source tree.
next prev parent reply other threads:[~2021-12-08 0:36 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-07 20:58 Jonathan Wakely
2021-12-07 21:18 ` Florian Weimer
2021-12-07 21:38 ` Jonathan Wakely
2021-12-07 21:52 ` Florian Weimer
2021-12-08 0:36 ` Jonathan Wakely [this message]
2021-12-08 17:26 ` Jonathan Wakely
2021-12-08 17:36 ` Ville Voutilainen
2021-12-08 18:14 ` Jonathan Wakely
2021-12-09 23:30 ` Jonathan Wakely
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=CAH6eHdRWYKy6HwwcfG3YRazqVGuyePjatyzvgfKeZ3oc6ZfsRQ@mail.gmail.com \
--to=jwakely.gcc@gmail.com \
--cc=fweimer@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=jwakely@redhat.com \
--cc=libstdc++@gcc.gnu.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).