aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1994-03-23 04:16:32 +0000
committerJeff Law <law@redhat.com>1994-03-23 04:16:32 +0000
commit0a64709eb45bf02187300e8b539dcc052b508c04 (patch)
treeabc7813e5290bf1d877c67db21704c0b2f1c27de
parent84ad95c118631eba3101d575ceaefcc9d02d438b (diff)
downloadgdb-0a64709eb45bf02187300e8b539dcc052b508c04.zip
gdb-0a64709eb45bf02187300e8b539dcc052b508c04.tar.gz
gdb-0a64709eb45bf02187300e8b539dcc052b508c04.tar.bz2
* 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.
-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])