Jonathan Wakely <jwak...@redhat.com> writes: > The powerpc64 ICE is fixed, so I'm committing the std::string ABI > transition patch. > > This replaces our venerable Copy-on-Write std::string with a > C++11-conforming* Small-String Optimized std::__cxx11::string. > > (* It's not quite 100% conforming, as it's missing some allocator > features. Of course. Always with the allocators. But that's only a > small fix to make next week.) [...] > Target maintainers will see a *lot* of new exports at the latest > symbol version if they generate a new baseline-symbols.txt file. I > suggest waiting and doing that nearer the end of stage 3 in case there > are any fixes needed after this change. > > Bootstrapped and tested in various configurations on x86_64-linux and > powerpc64-linux.
Unfortunately, this patch broke Solaris bootstrap with /bin/ld: libstdc++.so fails to link with ld: fatal: libstdc++-symbols.ver-sun: 5383: symbol 'std::locale::name[abi:cxx11]() const': symbol version conflict l.5383 has ##_ZNKSt6locale4nameB5cxx11Ev (glob) _ZNKSt6locale4nameB5cxx11Ev; i.e. # std::locale::name() returning new std::string in GLIBCXX_3.4.21 vs. ##std::locale::[A-Zn-z]* (cxx) _ZNKSt6locale4nameB5cxx11Ev; in GLIBCXX_3.4. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University