From: Jim Kingdon Date: Tue, 7 Sep 1993 19:57:45 +0000 (+0000) Subject: * config/pa/tm-hppa.h: Declare target_read_pc and target_write_pc. X-Git-Tag: gdb-4_18~17510 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ed1a07ad1f93a2709e79fe659715e90c2baf0016;p=external%2Fbinutils.git * config/pa/tm-hppa.h: Declare target_read_pc and target_write_pc. (STORE_RETURN_VAULE): Pass the correct offset of the return register to write_register_bytes. * hppa-tdep.c: Use target_write_pc if PCOQ_TAIL_REGNUM was not saved. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4847af4..075ee0f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,10 @@ +Tue Sep 7 13:06:44 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * config/pa/tm-hppa.h: Declare target_read_pc and target_write_pc. + (STORE_RETURN_VAULE): Pass the correct offset of the return + register to write_register_bytes. + * hppa-tdep.c: Use target_write_pc if PCOQ_TAIL_REGNUM was not saved. + Tue Sep 7 14:30:34 1993 Ian Lance Taylor (ian@tweedledumb.cygnus.com) * config/m68k/tm-m68k.h (FIX_CALL_DUMMY): Changed name of swapping diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index c3842cf..9d71ec8 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -689,10 +689,15 @@ hppa_pop_frame () write_register (SAR_REGNUM, read_memory_integer (fsr.regs[SAR_REGNUM], 4)); + /* If the PC was explicitly saved, then just restore it. */ if (fsr.regs[PCOQ_TAIL_REGNUM]) write_register (PCOQ_TAIL_REGNUM, read_memory_integer (fsr.regs[PCOQ_TAIL_REGNUM], 4)); + /* Else use the value in %rp to set the new PC. */ + else + target_write_pc (read_register (RP_REGNUM)); + write_register (FP_REGNUM, read_memory_integer (fp, 4)); if (fsr.regs[IPSW_REGNUM]) /* call dummy */