Re: [cxx-abi-dev] ABI modification for exception propagation
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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




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