[patch] Implement move semantics for iostreams

Jonathan Wakely jwakely@redhat.com
Thu Sep 25 11:17:00 GMT 2014


On 25/09/14 13:05 +0200, Rainer Orth wrote:
>Hi Jonathan,
>
>>>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;
>>
>> Doh, yes, this additional tweak should solve that:
>>
>> index f736240..95fc3c7 100644
>> --- a/libstdc++-v3/config/abi/pre/gnu.ver
>> +++ b/libstdc++-v3/config/abi/pre/gnu.ver
>> @@ -460,7 +460,7 @@ GLIBCXX_3.4 {
>>
>>     # std::basic_ostream<wchar_t>
>>     _ZNSt13basic_ostreamIwSt11char_traitsIwEEC[12]Ev;
>> -    _ZNSt13basic_ostreamIwSt11char_traitsIwEEC[12]E[RP]*;
>> +    _ZNSt13basic_ostreamIwSt11char_traitsIwEEC[12]EP*;
>>     _ZNSt13basic_ostreamIwSt11char_traitsIwEED*;
>>     _ZNKSt13basic_ostreamIwSt11char_traitsIwEE[0-9][a-z]*;
>>     _ZNSt13basic_ostreamIwSt11char_traitsIwEE3putEw;
>
>it does: {i386-pc, sparc-sun}-solaris2.1[01] bootstraps completed
>successfully with it.

Great. I hope the slightly-modified version I eventually checked in
still works too :)



More information about the Libstdc++ mailing list