aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/config/pa/tm-hppao.h3
-rw-r--r--gdb/hppa-tdep.c2
3 files changed, 10 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index d334a79..d0266fa 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
Tue Mar 22 20:12:53 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
+ * config/pa/tm-hppao.h (NO_PC_SPACE_QUEUE_RESTORE): Define.
+
+ * hppa-tdep.c (hppa_pop_frame): Do not restore the PC space
+ queue if NO_PC_SPACE_QUEUE_RESTORE is defined.
+
* stabsread.c (REG_STRUCT_HAS_ADDR): Accept additional argument
for the structure's type. All callers changed.
diff --git a/gdb/config/pa/tm-hppao.h b/gdb/config/pa/tm-hppao.h
index fd0d25c..e34201f 100644
--- a/gdb/config/pa/tm-hppao.h
+++ b/gdb/config/pa/tm-hppao.h
@@ -47,5 +47,8 @@
/* OSF1 needs an extra trap. I assume for the emulator startup (?!?) */
#define START_INFERIOR_TRAPS_EXPECTED 3
+/* OSF1 does not need the pc space queue restored. */
+#define NO_PC_SPACE_QUEUE_RESTORE
+
/* It's mostly just the common stuff. */
#include "pa/tm-hppa.h"
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index 348324f..ff046f3 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -891,8 +891,10 @@ hppa_pop_frame ()
fp = fi->frame;
get_frame_saved_regs (fi, &fsr);
+#ifndef NO_PC_SPACE_QUEUE_RESTORE
if (fsr.regs[IPSW_REGNUM]) /* Restoring a call dummy frame */
restore_pc_queue (&fsr);
+#endif
for (regnum = 31; regnum > 0; regnum--)
if (fsr.regs[regnum])