This is the mail archive of the 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

> 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?

Randolph Chung
Debian GNU/Linux Developer, hppa/ia64 ports

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