On Fri, Apr 26, 2019 at 01:25:37PM +0100, Jonathan Wakely wrote: > On 26/04/19 12:48 +0200, Jakub Jelinek wrote: > > Hi! > > > > The following patch updates the baseline symbols files from April 18th > > Fedora rpm build. I've verified the only added lines are for the > > GLIBCXX_3.4.26 or CXXABI_1.3.12 symvers and I don't see any new long double > > symbol on powerpc64 or s390x, except I had to manually remove > > FUNC:_ZNSbIwSt11char_traitsIwESaIwEE19_M_replace_dispatchIPKcEERS2_N9__gnu_cxx17__normal_iteratorIPwS2_EESA_T_SB_St12__false_type@@GLIBCXX_3.4 > > lines that started to appear on all but s390x builds in Fedora rpm builds > > (but they don't show up e.g. on my workstation). Guess we need to make the > > wildcards more careful. > > The attached patch would do that. The symbol above is a function > template, so we don't need to export it from the lib (because user > code that needs it will instantiate it anyway). It's only called from > the basic_string<C,T,A>::replace<Iter>(iterator, iterator, Iter, Iter) > function template, which isn't exported from the lib.
Thanks, LGTM. grep _ZNSbIwSt11char_traitsIwESaIwEE.*_M_replace libstdc++-v3/config/abi/post/*/{,*/}*.txt | grep -v _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_aux | grep -v _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safe prints nothing, so the patch looks correct and safe. Ok for 9.1. > diff --git a/libstdc++-v3/config/abi/pre/gnu.ver > b/libstdc++-v3/config/abi/pre/gnu.ver > index e8cf6f0a4a9..7eff4e983f3 100644 > --- a/libstdc++-v3/config/abi/pre/gnu.ver > +++ b/libstdc++-v3/config/abi/pre/gnu.ver > @@ -299,7 +299,8 @@ GLIBCXX_3.4 { > _ZNSbIwSt11char_traitsIwESaIwEE12_S_constructE[jmy]wRKS1_; > _ZNSbIwSt11char_traitsIwESaIwEE12_S_empty_repEv; > _ZNSbIwSt11char_traitsIwESaIwEE13_S_copy_chars*; > - _ZNSbIwSt11char_traitsIwESaIwEE[0-9][0-9]_M_replace*; > + _ZNSbIwSt11char_traitsIwESaIwEE14_M_replace_aux*; > + _ZNSbIwSt11char_traitsIwESaIwEE15_M_replace_safe*; > _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_destroy*; > _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_dispose*; > _ZNSbIwSt11char_traitsIwESaIwEE4_Rep10_M_refcopyEv; Jakub