Re: RFC: next/finish/etc -vs- exceptions

Pedro Alves
2009-06-10T17:05:36Z

On Wednesday 10 June 2009 17:50:18, Tom Tromey wrote:
> I was under the impression that Ada used longjmp to implement
> exceptions, and so the existing longjmp support should work.  (Modulo
> the odd bug or two -- I'm not sure if Pedro's fix for the glibc
> pointer mangling went in or not.)

It did not. Our longjmp support on glibc is still broken.

I assume that exceptions have a property that raw longjmp doesn't,
which is what makes stepping over longjmp complicated --- they never
switch to alternate stacks? That was one reason why comparing
frame/stack pointers with inner_than kind of comparisions is
verboten (to know when the longjmp/exception is all inner to the
step/next and can be ignored, for example). That, and frames
crossing architectures, like on Cell. I did spot one such comparision
by a quick look at the patch, but I don't know if it OK to do so in
your case or not. I assume other people who know more about
frames and unwinders than me can provide better input there. :-)

--
Pedro Alves