G++ ABI mismatches

Richard Henderson rth at redhat.com
Mon Aug 25 22:41:31 UTC 2003


On Mon, Aug 25, 2003 at 05:37:42PM -0500, Chris Lattner wrote:
> But how does cxa_begin catch know what the requested type is for
> the object?  I thought that was the job of the personality routine?

It is.  The personality routine computes the transformed pointer
as part of the type matching phase.  It stores this pointer in a
c++ language private superclass of _Unwind_Exception.  Which is
then returned by __cxa_begin_catch.

> Regardless, if G++ does not meet the ABI spec,
> either G++ or the ABI should be fixed.  Which one? :)

The ABI.  IIRC when I implemented this, I talked to one of the 
HP guys and they do the same thing.


r~



More information about the cxx-abi-dev mailing list