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:
Randolph Chung 2005-11-19 12:39:50 +00:00
parent 9ed5ba2423
commit c4c79048fa
2 changed files with 12 additions and 3 deletions

View File

@ -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

View File

@ -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;