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

Reply via email to