mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-01 13:26:47 +08:00
2004-04-02 Joel Brobecker <brobecker@gnat.com>
Committed by Andrew Cagney <cagney@redhat.com>. * alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Do not take into account an instruction saving a register if we have already seen an earlier instruction saving that same register.
This commit is contained in:
parent
08be3abd60
commit
d15bfd3a43
@ -1,3 +1,10 @@
|
||||
2004-04-02 Joel Brobecker <brobecker@gnat.com>
|
||||
|
||||
Committed by Andrew Cagney <cagney@redhat.com>.
|
||||
* alpha-tdep.c (alpha_heuristic_frame_unwind_cache): Do not take
|
||||
into account an instruction saving a register if we have already
|
||||
seen an earlier instruction saving that same register.
|
||||
|
||||
2004-04-02 Andrew Cagney <cagney@redhat.com>
|
||||
|
||||
* gdbarch.sh (DEPRECATED_INIT_FRAME_PC_FIRST): Delete.
|
||||
|
@ -1029,6 +1029,16 @@ alpha_heuristic_frame_unwind_cache (struct frame_info *next_frame,
|
||||
{
|
||||
reg = (word & 0x03e00000) >> 21;
|
||||
|
||||
/* Ignore this instruction if we have already encountered
|
||||
an instruction saving the same register earlier in the
|
||||
function code. The current instruction does not tell
|
||||
us where the original value upon function entry is saved.
|
||||
All it says is that the function we are scanning reused
|
||||
that register for some computation of its own, and is now
|
||||
saving its result. */
|
||||
if (info->saved_regs[reg])
|
||||
continue;
|
||||
|
||||
if (reg == 31)
|
||||
continue;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user