Hi Jonathan,
> 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_;
>
> Rainer, I think this patch should fix it, could you test it please?
almost there: now I only get
ld: fatal: libstdc++-symbols.ver-sun: 4622: symbol 'std::basic_ostream<wchar_t,
std::char_traits<wchar_t> >::basic_ostream(std::basic_iostream<wchar_t,
std::char_traits<wchar_t> >&)': symbol version conflict
ld: fatal: libstdc++-symbols.ver-sun: 4623: symbol 'std::basic_ostream<wchar_t,
std::char_traits<wchar_t> >::basic_ostream(std::basic_iostream<wchar_t,
std::char_traits<wchar_t> >&)': symbol version conflict
from
GLIBCXX_3.4:
##_ZNSt13basic_ostreamIwSt11char_traitsIwEEC[12]E[RP]* (glob)
_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1ERSt14basic_iostreamIwS1_E;
_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2ERSt14basic_iostreamIwS1_E;
GLIBCXX_3.4.21:
##_ZNSt13basic_ostreamIwSt11char_traitsIwEEC[12]ERSt14basic_iostreamIwS1_E
(glob)
_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1ERSt14basic_iostreamIwS1_E;
_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2ERSt14basic_iostreamIwS1_E;
The glob in the 3.4 version also matches
_ZNSt13basic_ostreamIwSt11char_traitsIwEEC1EPSt15basic_streambufIwS1_E;
_ZNSt13basic_ostreamIwSt11char_traitsIwEEC2EPSt15basic_streambufIwS1_E;
> (I tried installing Solaris in a VM but couldn't get it to work, maybe
> I should use the VirtualBox image instead of trying qemu/kvm.)
VirtualBox works for me in principle, but I often found bootstrapping
gcc inside some VM almost intolerably slow... There's been some talk on
getting Solaris up and running in the compile farm.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University