Dealing with C++98/11 ABI incompatibilities

Jason Merrill jason@redhat.com
Tue Jul 3 21:31:00 GMT 2012


On 07/03/2012 03:18 PM, Jason Merrill wrote:
> It seems that ELF symbol versioning could be useful for this purpose. If
> we were to extend the visibility attribute to also handle symbol
> versions, that could handle a lot of issues. If Wrap uses the GLIBCXX_4
> version of string, then Wrap would also be marked with the GLIBCXX_4
> version, and any functions that deal with Wrap would be marked with that
> version, and so on.
>
> I'm not familiar enough with the intricacies of ELF versioning to be
> confident that this would work; is anyone else? In particular I'm not
> sure how the interaction of versioned and non-versioned code will work.

Jakub pointed out to me on IRC that there's no way to specify the 
version of an undefined symbol, which would be necessary to make this 
work.  So we're back to some change to the mangled name.

Jason



More information about the Libstdc++ mailing list