On 21 Jan 2013, at 04:49, Konstantin Belousov wrote:

> Yes, quite possible. AFAIR, the 'catch' code compares the exception classes
> by the shared object ownership. It might get confused due to filter providing
> some symbols.
> 
> But I did not investigated the cause for real.

The issue appears to be that the libstdc++ exports a few functions[1] that 
libsupc++ exports, but with different symbol versions.  Unfortunately, these 
are things that set handlers that are then called from libsupc++ / libcxxrt 
when, for example, an exception specification violation is encountered.

I'm not sure what the solution is here.  Is there some version-script-foo that 
we can do to say 'filter this symbol with this version as if it were this one 
with this version'?  We ideally want to keep them with the current version in 
libcxxrt / libsupc++, but not introduce linker errors.  

David

[1] std::set_new_handler(), std::set_terminate(), std::set_unexpected()

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to