This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] Add <codecvt> and last pieces of C++11 std::lib
- From: Jonathan Wakely <jwakely at redhat dot com>
- To: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- Cc: "H.J. Lu" <hjl dot tools at gmail dot com>, libstdc++ <libstdc++ at gcc dot gnu dot org>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 21 Jan 2015 17:19:14 +0000
- Subject: Re: [patch] Add <codecvt> and last pieces of C++11 std::lib
- Authentication-results: sourceware.org; auth=none
- References: <20150116233830 dot GJ3360 at redhat dot com> <20150119132717 dot GF3360 at redhat dot com> <20150120115932 dot GS3360 at redhat dot com> <CAMe9rOqZkmrQWFaqnd+NbAJe3vkYvomNr6u-kS1GhnNU8nU-MQ at mail dot gmail dot com> <20150120175231 dot GB3360 at redhat dot com> <20150121161741 dot GG3360 at redhat dot com> <ydd8ugwnjq6 dot fsf at CeBiTec dot Uni-Bielefeld dot DE>
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.