mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-24 10:35:12 +08:00
* alpha-mdebug-tdep.c (alpha_mdebug_frame_prev_register): Use
frame_unwind_register to recurse. * alpha-tdep.c (alpha_sigtramp_frame_prev_register): Likewise. (alpha_heuristic_frame_prev_register): Likewise. * h8300-tdep.c (h8300_frame_prev_register): Likewise. * m32c-tdep.c (m32c_prev_register): Likewise. * frame.c (frame_register_unwind_location): Remove FIXME.
This commit is contained in:
parent
6aba47ca06
commit
5efde11249
@ -1,3 +1,13 @@
|
||||
2007-01-09 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* alpha-mdebug-tdep.c (alpha_mdebug_frame_prev_register): Use
|
||||
frame_unwind_register to recurse.
|
||||
* alpha-tdep.c (alpha_sigtramp_frame_prev_register): Likewise.
|
||||
(alpha_heuristic_frame_prev_register): Likewise.
|
||||
* h8300-tdep.c (h8300_frame_prev_register): Likewise.
|
||||
* m32c-tdep.c (m32c_prev_register): Likewise.
|
||||
* frame.c (frame_register_unwind_location): Remove FIXME.
|
||||
|
||||
2007-01-09 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
|
@ -294,8 +294,12 @@ alpha_mdebug_frame_prev_register (struct frame_info *next_frame,
|
||||
}
|
||||
|
||||
/* Otherwise assume the next frame has the same register value. */
|
||||
frame_register (next_frame, regnum, optimizedp, lvalp, addrp,
|
||||
realnump, bufferp);
|
||||
*optimizedp = 0;
|
||||
*lvalp = lval_register;
|
||||
*addrp = 0;
|
||||
*realnump = regnum;
|
||||
if (bufferp)
|
||||
frame_unwind_register (next_frame, *realnump, bufferp);
|
||||
}
|
||||
|
||||
static const struct frame_unwind alpha_mdebug_frame_unwind = {
|
||||
|
@ -864,8 +864,12 @@ alpha_sigtramp_frame_prev_register (struct frame_info *next_frame,
|
||||
current description of it in alpha_sigtramp_frame_unwind_cache
|
||||
doesn't include it. Too bad. Fall back on whatever's in the
|
||||
outer frame. */
|
||||
frame_register (next_frame, regnum, optimizedp, lvalp, addrp,
|
||||
realnump, bufferp);
|
||||
*optimizedp = 0;
|
||||
*lvalp = lval_register;
|
||||
*addrp = 0;
|
||||
*realnump = regnum;
|
||||
if (bufferp)
|
||||
frame_unwind_register (next_frame, *realnump, bufferp);
|
||||
}
|
||||
|
||||
static const struct frame_unwind alpha_sigtramp_frame_unwind = {
|
||||
@ -1218,8 +1222,12 @@ alpha_heuristic_frame_prev_register (struct frame_info *next_frame,
|
||||
}
|
||||
|
||||
/* Otherwise assume the next frame has the same register value. */
|
||||
frame_register_unwind (next_frame, regnum, optimizedp, lvalp, addrp,
|
||||
realnump, bufferp);
|
||||
*optimizedp = 0;
|
||||
*lvalp = lval_register;
|
||||
*addrp = 0;
|
||||
*realnump = regnum;
|
||||
if (bufferp)
|
||||
frame_unwind_register (next_frame, *realnump, bufferp);
|
||||
}
|
||||
|
||||
static const struct frame_unwind alpha_heuristic_frame_unwind = {
|
||||
|
@ -1103,10 +1103,7 @@ reinit_frame_cache (void)
|
||||
|
||||
/* Find where a register is saved (in memory or another register).
|
||||
The result of frame_register_unwind is just where it is saved
|
||||
relative to this particular frame.
|
||||
|
||||
FIXME: alpha, m32c, and h8300 actually do the transitive operation
|
||||
themselves. */
|
||||
relative to this particular frame. */
|
||||
|
||||
static void
|
||||
frame_register_unwind_location (struct frame_info *this_frame, int regnum,
|
||||
|
@ -529,8 +529,12 @@ h8300_frame_prev_register (struct frame_info *next_frame, void **this_cache,
|
||||
return;
|
||||
}
|
||||
|
||||
frame_register_unwind (next_frame, regnum,
|
||||
optimizedp, lvalp, addrp, realnump, valuep);
|
||||
*optimizedp = 0;
|
||||
*lvalp = lval_register;
|
||||
*addrp = 0;
|
||||
*realnump = regnum;
|
||||
if (valuep)
|
||||
frame_unwind_register (next_frame, *realnump, valuep);
|
||||
}
|
||||
|
||||
static const struct frame_unwind h8300_frame_unwind = {
|
||||
|
@ -1919,8 +1919,14 @@ m32c_prev_register (struct frame_info *next_frame,
|
||||
/* Otherwise, presume we haven't changed the value of this
|
||||
register, and get it from the next frame. */
|
||||
else
|
||||
frame_register_unwind (next_frame, regnum,
|
||||
optimizedp, lvalp, addrp, realnump, bufferp);
|
||||
{
|
||||
*optimizedp = 0;
|
||||
*lvalp = lval_register;
|
||||
*addrp = 0;
|
||||
*realnump = regnum;
|
||||
if (bufferp)
|
||||
frame_unwind_register (next_frame, *realnump, bufferp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user