diff options
Diffstat (limited to 'gdb/hppa-tdep.c')
-rw-r--r-- | gdb/hppa-tdep.c | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index a104371..6dfb241 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -1984,7 +1984,7 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache) cache->base = fp; if (hppa_debug) - fprintf_unfiltered (gdb_stdlog, " (base=0x%s) [frame pointer] }", + fprintf_unfiltered (gdb_stdlog, " (base=0x%s) [frame pointer]", paddr_nz (cache->base)); } else if (u->Save_SP @@ -1996,7 +1996,7 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache) cache->base = read_memory_integer (this_sp, TARGET_PTR_BIT / 8); if (hppa_debug) - fprintf_unfiltered (gdb_stdlog, " (base=0x%s) [saved] }", + fprintf_unfiltered (gdb_stdlog, " (base=0x%s) [saved]", paddr_nz (cache->base)); } else @@ -2005,7 +2005,7 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache) the SP back. */ cache->base = this_sp - frame_size; if (hppa_debug) - fprintf_unfiltered (gdb_stdlog, " (base=0x%s) [unwind adjust] } ", + fprintf_unfiltered (gdb_stdlog, " (base=0x%s) [unwind adjust]", paddr_nz (cache->base)); } @@ -2017,21 +2017,34 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache) if (u->Millicode) { if (trad_frame_addr_p (cache->saved_regs, 31)) - cache->saved_regs[HPPA_PCOQ_HEAD_REGNUM] = cache->saved_regs[31]; + { + cache->saved_regs[HPPA_PCOQ_HEAD_REGNUM] = cache->saved_regs[31]; + if (hppa_debug) + fprintf_unfiltered (gdb_stdlog, " (pc=r31) [stack] } "); + } else { ULONGEST r31 = frame_unwind_register_unsigned (next_frame, 31); trad_frame_set_value (cache->saved_regs, HPPA_PCOQ_HEAD_REGNUM, r31); + if (hppa_debug) + fprintf_unfiltered (gdb_stdlog, " (pc=r31) [frame] } "); } } else { if (trad_frame_addr_p (cache->saved_regs, HPPA_RP_REGNUM)) - cache->saved_regs[HPPA_PCOQ_HEAD_REGNUM] = cache->saved_regs[HPPA_RP_REGNUM]; + { + cache->saved_regs[HPPA_PCOQ_HEAD_REGNUM] = + cache->saved_regs[HPPA_RP_REGNUM]; + if (hppa_debug) + fprintf_unfiltered (gdb_stdlog, " (pc=rp) [stack] } "); + } else { ULONGEST rp = frame_unwind_register_unsigned (next_frame, HPPA_RP_REGNUM); trad_frame_set_value (cache->saved_regs, HPPA_PCOQ_HEAD_REGNUM, rp); + if (hppa_debug) + fprintf_unfiltered (gdb_stdlog, " (pc=rp) [frame] } "); } } |