This is the mail archive of the
java-patches@gcc.gnu.org
mailing list for the Java project.
Re: [patch 3.4/3.5] libffi & libjava port for hppa-linux
fRandolph Chung writes:
> > Yup. Well, sorta: MD_FALLBACK_FRAME_STATE_FOR copies saved registers
> > from the signal frame to _Unwind_FrameState and then sets things up so
> > that the _next_ time uw_frame_state_for() is called, it returns the
> > context of the point at which the signal was triggered.
>
> sorry, i still don't understand.
>
> in the case where you have 3 frames:
>
> 3 [ sighandler ]
> 2 [ sig frame ]
> 1 [ try-catch ]
>
> if the signal is triggered from the try-catch frame, and an exception is
> thrown from the sighandler, how many times is uw_frame_state_for()
> called?
It's impossible to say. Throwing an exception in turn generats more
frames.
> i should mention that this case doesn't work on x86 either (with
> g++-3.3). it works for libjava because there is always some more frames
> between try-catch and the signal frame.
It should do. There's a test in the libgcj test suite for exactly
this case.
Andrew.