[patch] Add <codecvt> and last pieces of C++11 std::lib

Jonathan Wakely jwakely@redhat.com
Fri Jan 23 16:03:00 GMT 2015


On 21/01/15 17:19 +0000, Jonathan Wakely wrote:
>On 21/01/15 18:09 +0100, Rainer Orth wrote:
>>Indeed: before and after this change, Solaris bootstrap is broken.  Now
>>I get
>>
>>ld: fatal: libstdc++-symbols.ver-sun: 6153: symbol 'std::codecvt<char32_t, char, __mbstate_t>::do_unshift(__mbstate_t&, char*, char*, char*&) const': symbol version conflict
>>
>>_ZNKSt7codecvtIDic11__mbstate_tE10do_unshiftERS0_PcS3_RS3_ is matched by
>>_ZNKSt7codecvtID[is]c11__mbstate_t* (glob) in GLIBCXX_3.4.21 and
>>std::co[^ln]* (cxx) in GLIBCXX_3.4
>
>Sorry about that :-(
>
>The good news is that I now have a tool to find these conflicts for
>me. The output related to the above conflict is:
>
>Symbol matches more than one version:
>_ZNKSt7codecvtIDic11__mbstate_tE10do_unshiftERS0_PcS3_RS3_
>std::codecvt<char32_t, char, __mbstate_t>::do_unshift(__mbstate_t&, char*, char*, char*&) const
> GLIBCXX_3.4        std::co[^ln]* (line 28)
> GLIBCXX_3.4.21     _ZNKSt7codecvtID[is]c11__mbstate_t* (line 1259)
>
>So I'm in the process of fixing these.

Fixed by this patch. Tested x86_64-linux, i686-linux and Rainer
confirms it allows libstdc++.so to link on Solaris.

Committed to trunk.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch.txt
Type: text/x-patch
Size: 4880 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20150123/dc627109/attachment.bin>


More information about the Gcc-patches mailing list