G++ ABI mismatches

Chris Lattner sabre at nondot.org
Mon Aug 25 23:04:12 UTC 2003


On Mon, 25 Aug 2003, Richard Henderson wrote:
> 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.

Ah, that's the magic 'catchTemp' variable I suppose.  Gotcha.

> > 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.

Okay, thanks, this is starting to make a lot more sense.  :)

-Chris

-- 
http://llvm.cs.uiuc.edu/
http://www.nondot.org/~sabre/Projects/




More information about the cxx-abi-dev mailing list