diff options
-rw-r--r-- | gdb/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/config/pa/tm-hppao.h | 3 | ||||
-rw-r--r-- | gdb/hppa-tdep.c | 2 |
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]) |