* Jonathan Wakely: > On Tue, 7 Dec 2021, 21:20 Florian Weimer via Libstdc++, > <libstd...@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. > 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-> Out of curiosity—do you support building libstdc++ (the shared object) with a different compiler than the included GCC? Thanks, Florian