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

David Vandevoorde daveed at edg.com
Tue May 27 01:27:06 UTC 2008


On May 26, 2008, at 12:41 PM, 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?


Note: The correct paper number is N2179.


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.


Indeed.  And my understanding of the discussions was that the  
transportation protocol was designed to allow for backward  
compatibility.

	Daveed




More information about the cxx-abi-dev mailing list