[PATCH] Add missing gnu-versioned-namespace symbols

Jonathan Wakely jwakely@redhat.com
Tue Nov 3 08:25:42 GMT 2020


On 02/11/20 21:52 +0100, François Dumont via Libstdc++ wrote:
>On 02/11/20 3:17 pm, Jonathan Wakely wrote:
>>On 01/11/20 20:48 +0100, François Dumont via Libstdc++ wrote:
>>>Several tests are failing because of those missing symbols.
>>>
>>>I understand why we need to export symbols relying in the 
>>>versioned namespace but I don't understand why we need to do it 
>>>for _GLIBCXX_DEBUG symbols which are not version namespace 
>>>dependant.
>>
>>If you don't export the symbol, it can't be found by code linking to
>>libstdc++.so.8
>
>So I understand that in versioned namespace mode only 
>gnu-versioned-namespace.ver is being used and not gnu.ver.

Right.

>>
>>This linker script is the only one used to build libstdc++.so.8 so all
>>symbols that need to be exported by that library have to be exported
>>by this script. Nothing exports that debug symbol unless you add it
>>here.
>>
>>What I don't understand is why the __istream_extract symbol isn't
>>matched by the wildcard in the extern "C++" block at the top of the
>>file.
>
>Maybe for the same reason that the std::__copy_streambufs before this 
>one and some others symbols in std::__8 had to be explicitely exported 
>too.
>
>But I don't know it.

Yeah, I don't understand those either.

OK for trunk anyway. I'll investigate another day.




More information about the Libstdc++ mailing list