This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]