------- Comment #11 from ebotcazou at gcc dot gnu dot org  2009-12-04 09:58 
-------
> Very likely because of the adjustment made in libjava/pa-signal.h:

libjava/hppa-signal contains a slight variant:

#define MAKE_THROW_FRAME(_exception)                                    \
do                                                                      \
{                                                                       \
  ucontext_t *_context = (ucontext_t *) arg;                            \
  (void)_dummy;                                                         \
  (void)_info;                                                          \
  mcontext_t *mc = &(_context->uc_mcontext);                            \
  SetSSReg (mc, ss_pcoq_head, GetSSReg (mc, ss_pcoq_tail));             \
  SetSSReg (mc, ss_pcsq_head, GetSSReg (mc, ss_pcsq_tail));             \
  /* This part is not quit right if the head pc was pointing            \
     at a branch.  The tail needs to be adjusted to the branch          \
     target if the branch is taken.  The tail space register            \
     may need adjustment as well if the branch is an interspace         \
     branch.  */                                                        \
  SetSSReg (mc, ss_pcoq_tail, (GetSSReg (mc, ss_pcoq_tail) + 4));       \
                                                                        \
 }                                                                      \
while (0)


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41912

Reply via email to