debug mode symbols cleanup

Jonathan Wakely jwakely@redhat.com
Tue Sep 15 21:57:00 GMT 2015


On 14/09/15 20:26 +0200, François Dumont wrote:
>On 08/09/2015 22:47, François Dumont wrote:
>> On 07/09/2015 13:03, Jonathan Wakely wrote:
>>> On 05/09/15 22:53 +0200, François Dumont wrote:
>>>>    I remember Paolo saying once that we were not guarantiing any abi
>>>> compatibility for debug mode. I haven't found any section for
>>>> unversioned symbols in gnu.ver so I simply uncomment the global export.
>>> There is no section, because all exported symbols are versioned.
>>>
>>> It's OK if objects compiled with Debug Mode using one version of GCC
>>> don't link to objects compiled with Debug Mode using a different
>>> version of GCC, but you can't change the exported symbols in the DSO.
>>>
>>>
>>> Your changelog doesn't include the changes to config/abi/pre/gnu.ver,
>>> but those changes are not OK anyway, they fail the abi-check:
>>>
>>> FAIL: libstdc++-abi/abi_check
>>>
>>>                === libstdc++ Summary ===
>>>
>>> # of unexpected failures        1
>>>
>>>
>> Sorry, I though policy regarding debug mode symbols was even more relax.
>> It is not so here is another patch that doesn"t break abi checks.
>>
>> I eventually made all methods that should not be used deprecated, they
>> were normally not used explicitely anyway. Their implementation is now
>> empty. I just needed to add a symbol for the not const _M_message method
>> which is the correct signature.
>>
>> François
>>
>I eventually considered doing it without impacting exported symbols. I
>just kept the const qualifier on _M_messages and introduced a const_cast
>in the implementation.
>
>Is it ok to commit with this version ?

The changes look OK now (assuming it passes 'make check-abi') but what
does it actually do?

Does it significantly improve the output?

(I haven't found time to apply the patch and test it myself, sorry).



More information about the Libstdc++ mailing list