[cxx-abi-dev] ABI modification for exception propagation

Sebastian Redl sebastian.redl at getdesigned.at
Mon May 26 17:03:04 UTC 2008


Mark Mitchell wrote:
> Sebastian Redl wrote:
>
>> I experimentally implemented N2197 "Exception Propagation" in GCC and 
>> came to the conclusion that the current exception handling ABI 
>> specification is insufficient. It needs to be changed in order to 
>> make exception propagation possible.
>
> Do you have a URL for this paper?
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html
>
>> I wrote up a proposal for the changes. My current implementation 
>> doesn't quite follow this proposal, since I came up with some of the 
>> ideas while writing the document, but I will change it.
>
> It looks like your proposal is not backwards-compatible with the 
> current ABI.  I think we should try very hard to avoid breaking 
> compatibility. If that means that we need to create new functions 
> (like __cxa_throw_exception_0x) or accept some performance tradeoffs, 
> we should do so.  But, it should be possible to link old C++ binaries 
> with the new C++ library, and, ideally, to mix object files from old 
> and new versions of C++ and the run-time library.
So basically, no symbol conflicts? Or does the backwards compatibility 
go further than that?

Sebastian



More information about the cxx-abi-dev mailing list