This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch 3.4/3.5] libffi & libjava port for hppa-linux
> MD_FALLBACK_FRAME_STATE_FOR has not yet been written, as far as I can
> see. This is part of finishing the gcj port.
let me piggyback here and ask a question about this :)
suppose you have:
try { send signal }
catch (int x) { /* some code */ }
sighandler(int sig) { throw sig; }
the unwinder is supposed to start in the signal handler, read the
signal frame (from MD_FALLBACK_FRAME_STATE_FOR) and unwind you back to
the try-catch frame, right?
the comments in uw_frame_state_for() say:
/* Couldn't find frame unwind info for this function. Try a
target-specific fallback mechanism. This will necessarily
not provide a personality routine or LSDA. */
which is true... no personality routine, but then in
_Unwind_RaiseException_Phase2(), if the unwound frame is the try/catch
block and there is no personality routine, it will cause an abort
("/* Don't let us unwind past the handler context */"). What am I
missing? is there supposed to be always one more frame in between?
thanks
randolph
--
Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports
http://www.tausq.org/