On 23/09/14 15:58 +0200, Rainer Orth wrote:
This patch broke Solaris bootstrap with Sun ld: when linking
libstdc++.so, ld complains
ld: fatal: libstdc++-symbols.ver-sun: 4520: symbol 'std::basic_ios<char, std::char_traits<char>
>::move(std::basic_ios<char, std::char_traits<char> >&&)': symbol version conflict
and many more. In that case, I find that this symbols is matched by
both the GLIBCXX_3.4 and GLIBCXX_3.4.21 patterns:
GLIBCXX_3.4
##std::basic_i[g-r]* (cxx)
_ZNSt9basic_iosIcSt11char_traitsIcEE4moveEOS2_;
GLIBCXX_3.4.21
##_ZNSt9basic_iosI[cw]St11char_traitsI[cw]EE4moveE[OR]S2_ (glob)
_ZNSt9basic_iosIcSt11char_traitsIcEE4moveEOS2_;
Drat, I did notice those patterns were too greedy, as my new symbols
got the wrong version until I added patterns for them. I didn't
realise it would break Solaris.
I'll work on refining the GLIBCXX_3.4 patterns to be more precise.