[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