[committed 1/2] libstdc++: Export basic_stringbuf constructor [PR 97729]

Jonathan Wakely jwakely@redhat.com
Fri Nov 6 20:15:40 GMT 2020


On 06/11/20 11:56 +0100, Rainer Orth wrote:
>Hi Jonathan,
>
>> libstdc++-v3/ChangeLog:
>>
>> 	PR libstdc++/97729
>> 	* config/abi/pre/gnu.ver (GLIBCXX_3.4.29): Add exports.
>> 	* src/c++20/sstream-inst.cc (basic_stringbuf): Instantiate
>> 	private constructor taking __xfer_bufptrs.
>>
>> Tested powerpc64le-linux. Committed to trunk.
>
>unfortunately, this broke Solaris bootstrap again:
>
>ld: fatal: libstdc++-symbols.ver-sun: 7314: symbol '_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC1EOS4_RKS3_ONS4_14__xfer_bufptrsE': symbol version conflict
>ld: fatal: libstdc++-symbols.ver-sun: 7315: symbol '_ZNSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEEC2EOS4_RKS3_ONS4_14__xfer_bufptrsE': symbol version conflict
>ld: fatal: libstdc++-symbols.ver-sun: 7316: symbol '_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC1EOS4_RKS3_ONS4_14__xfer_bufptrsE': symbol version conflict
>ld: fatal: libstdc++-symbols.ver-sun: 7317: symbol '_ZNSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEEC2EOS4_RKS3_ONS4_14__xfer_bufptrsE': symbol version conflict
>
>Those are matched by both
>
>    ##_ZNSt7__cxx1115basic_stringbufI[cw]St11char_traitsI[cw]ESaI[cw]EEC[12]EOS4_RKS3_ONS4_14__xfer_bufptrsE (glob)
>
>but also by the previous
>
>    ##_ZNSt7__cxx1115basic_stringbufI[cw]St11char_traitsI[cw]*__xfer_bufptrs* (glob)
>
>I do have a hacky patch to avoid this, but I guess I best leave it to
>you how to best tighten the previous pattern.

It should be fixed at 887515acd27e49c176395ab76d5826959d89cb9b which
is the attached patch. Only tested on x86_64-linux, but my script no
longer shows the conflicts.

I'll try to incorporate that script into the testsuite for gcc-11, or
rewrite it as aprt of testsuite/util/testsuite_abi.cc


-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.txt
Type: text/x-patch
Size: 1622 bytes
Desc: not available
URL: <https://gcc.gnu.org/pipermail/libstdc++/attachments/20201106/b128c1ec/attachment.bin>


More information about the Libstdc++ mailing list