Using EH from C
Stelios Xanthakis
sxanth@ceid.upatras.gr
Sun May 2 02:12:00 GMT 2004
On Sat, 1 May 2004, Richard Henderson wrote:
> On Sat, May 01, 2004 at 05:09:23PM +0300, Stelios Xanthakis wrote:
> > But of little use without another extension to create landing pads...:(
>
> Why in the world would you need that?
Because if there's no landing pad, _Unwind_RaiseException
ends up on abort()?
I may be totally wrong, but what I'm trying to do is implement
"stack unwind with cost-free cleanups from C".
That's three things
1. register destructors on EH
Done: attribute(cleanup(function))
2. call 'throw'
Done: libgcc_eh and unwind.h
3. set up a landing pad somewhere (try-catch).
???
Where does _Unwind stop otherwise? main()?
~S
More information about the Gcc
mailing list