mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:54:41 +08:00
2005-11-19 Randolph Chung <tausq@debian.org>
* hppa-tdep.c (skip_prologue_hard_way): Add one more insn pattern for "std rp,-0x10(sp)". (hppa_frame_cache): Likewise. (hppa_fallback_frame_cache): Likewise.
This commit is contained in:
parent
9ed5ba2423
commit
c4c79048fa
@ -1,3 +1,10 @@
|
||||
2005-11-19 Randolph Chung <tausq@debian.org>
|
||||
|
||||
* hppa-tdep.c (skip_prologue_hard_way): Add one more insn pattern
|
||||
for "std rp,-0x10(sp)".
|
||||
(hppa_frame_cache): Likewise.
|
||||
(hppa_fallback_frame_cache): Likewise.
|
||||
|
||||
2005-11-19 Randolph Chung <tausq@debian.org>
|
||||
|
||||
* hppa-tdep.c (hppa_frame_cache): Reformat code and enhance
|
||||
|
@ -1491,7 +1491,7 @@ restart:
|
||||
|
||||
/* There are limited ways to store the return pointer into the
|
||||
stack. */
|
||||
if (inst == 0x6bc23fd9 || inst == 0x0fc212c1)
|
||||
if (inst == 0x6bc23fd9 || inst == 0x0fc212c1 || inst == 0x73c23fe1)
|
||||
save_rp = 0;
|
||||
|
||||
/* These are the only ways we save SP into the stack. At this time
|
||||
@ -1846,7 +1846,8 @@ hppa_frame_cache (struct frame_info *next_frame, void **this_cache)
|
||||
looking_for_rp = 0;
|
||||
cache->saved_regs[HPPA_RP_REGNUM].addr = -24;
|
||||
}
|
||||
else if (inst == 0x0fc212c1) /* std rp,-0x10(sr0,sp) */
|
||||
else if (inst == 0x0fc212c1
|
||||
|| inst == 0x73c23fe1) /* std rp,-0x10(sr0,sp) */
|
||||
{
|
||||
looking_for_rp = 0;
|
||||
cache->saved_regs[HPPA_RP_REGNUM].addr = -16;
|
||||
@ -2187,7 +2188,8 @@ hppa_fallback_frame_cache (struct frame_info *next_frame, void **this_cache)
|
||||
cache->saved_regs[HPPA_RP_REGNUM].addr = -20;
|
||||
found_rp = 1;
|
||||
}
|
||||
else if (insn == 0x0fc212c1) /* std rp,-0x10(sr0,sp) */
|
||||
else if (insn == 0x0fc212c1
|
||||
|| insn == 0x73c23fe1) /* std rp,-0x10(sr0,sp) */
|
||||
{
|
||||
cache->saved_regs[HPPA_RP_REGNUM].addr = -16;
|
||||
found_rp = 1;
|
||||
|
Loading…
Reference in New Issue
Block a user