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]

[committed] Fix signal frame handling on PA


We need to set fs->signal_frame for signal frames for correct unwinding.

This fixes PR ada/41912 and three Java testcases.  However, it
causes Array_3.java to fail.  With the above, we no longer need
to adjust the program counter in pa-signal.h and hppa-signal.h.
A separate patch to fix this issue will follow when testing
is complete.

This patch has been tested on hppa-unknown-linux-gnu,
hppa2.0w-hp-hpux11.11 and hppa64-hp-hpux11.11.

Committed to trunk.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

2009-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR ada/41912
	* pa/linux-unwind.h (pa32_fallback_frame_state): Set fs->signal_frame
	for signal frames.
	* pa/hpux-unwind.h (pa32_fallback_frame_state): Likewise.

Index: gcc/config/pa/linux-unwind.h
===================================================================
--- gcc/config/pa/linux-unwind.h	(revision 155009)
+++ gcc/config/pa/linux-unwind.h	(working copy)
@@ -135,6 +135,7 @@
   fs->regs.reg[DWARF_ALT_FRAME_RETURN_COLUMN].loc.offset
     = (long) &sc->sc_iaoq[0] - new_cfa;
   fs->retaddr_column = DWARF_ALT_FRAME_RETURN_COLUMN;
+  fs->signal_frame = 1;
   return _URC_NO_REASON;
 }
 #endif /* inhibit_libc */
Index: gcc/config/pa/hpux-unwind.h
===================================================================
--- gcc/config/pa/hpux-unwind.h	(revision 155009)
+++ gcc/config/pa/hpux-unwind.h	(working copy)
@@ -351,6 +351,7 @@
 
       fs->retaddr_column = DWARF_ALT_FRAME_RETURN_COLUMN;
       UPDATE_FS_FOR_PC (fs, DWARF_ALT_FRAME_RETURN_COLUMN);
+      fs->signal_frame = 1;
 
       return _URC_NO_REASON;
     }


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