mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-24 10:35:12 +08:00
* frame.c (frame_unwind_unsigned_register): Delete.
(frame_sp_unwind): Use frame_unwind_register_unsigned instead. * frame.h (frame_unwind_unsigned_register): Delete prototype. * alpha-linux-tdep.c, alpha-mdebug-tdep.c, alpha-tdep.c, avr-tdep.c, cris-tdep.c, frv-tdep.c, m68hc11-tdep.c, mn10300-tdep.c, mt-tdep.c: Replace frame_unwind_unsigned_register with frame_unwind_register_unsigned. * gdbint.texinfo (Target Conditionals): Use frame_unwind_register_unsigned in examples instead of frame_unwind_unsigned_register.
This commit is contained in:
parent
fe9a4c1201
commit
11411de309
@ -1,3 +1,14 @@
|
||||
2007-10-17 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* frame.c (frame_unwind_unsigned_register): Delete.
|
||||
(frame_sp_unwind): Use frame_unwind_register_unsigned instead.
|
||||
* frame.h (frame_unwind_unsigned_register): Delete prototype.
|
||||
|
||||
* alpha-linux-tdep.c, alpha-mdebug-tdep.c, alpha-tdep.c,
|
||||
avr-tdep.c, cris-tdep.c, frv-tdep.c, m68hc11-tdep.c, mn10300-tdep.c,
|
||||
mt-tdep.c: Replace frame_unwind_unsigned_register with
|
||||
frame_unwind_register_unsigned.
|
||||
|
||||
2007-10-16 Pedro Alves <pedro_alves@portugalmail.pt>
|
||||
|
||||
* config/i386/mingw.mh, config/i386/mingw.mt: New files.
|
||||
|
@ -105,7 +105,7 @@ alpha_linux_sigcontext_addr (struct frame_info *next_frame)
|
||||
long off;
|
||||
|
||||
pc = frame_pc_unwind (next_frame);
|
||||
frame_unwind_unsigned_register (next_frame, ALPHA_SP_REGNUM, &sp);
|
||||
sp = frame_unwind_register_unsigned (next_frame, ALPHA_SP_REGNUM);
|
||||
|
||||
off = alpha_linux_sigtramp_offset (pc);
|
||||
gdb_assert (off >= 0);
|
||||
|
@ -204,7 +204,7 @@ alpha_mdebug_frame_unwind_cache (struct frame_info *next_frame,
|
||||
info->saved_regs = frame_obstack_zalloc (SIZEOF_FRAME_SAVED_REGS);
|
||||
|
||||
/* The VFP of the frame is at FRAME_REG+FRAME_OFFSET. */
|
||||
frame_unwind_unsigned_register (next_frame, PROC_FRAME_REG (proc_desc), &vfp);
|
||||
vfp = frame_unwind_register_unsigned (next_frame, PROC_FRAME_REG (proc_desc));
|
||||
vfp += PROC_FRAME_OFFSET (info->proc_desc);
|
||||
info->vfp = vfp;
|
||||
|
||||
|
@ -1151,7 +1151,7 @@ alpha_heuristic_frame_unwind_cache (struct frame_info *next_frame,
|
||||
return_reg = ALPHA_RA_REGNUM;
|
||||
info->return_reg = return_reg;
|
||||
|
||||
frame_unwind_unsigned_register (next_frame, frame_reg, &val);
|
||||
val = frame_unwind_register_unsigned (next_frame, frame_reg);
|
||||
info->vfp = val + frame_size;
|
||||
|
||||
/* Convert offsets to absolute addresses. See above about adding
|
||||
@ -1278,7 +1278,7 @@ static struct frame_id
|
||||
alpha_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
{
|
||||
ULONGEST base;
|
||||
frame_unwind_unsigned_register (next_frame, ALPHA_SP_REGNUM, &base);
|
||||
base = frame_unwind_register_unsigned (next_frame, ALPHA_SP_REGNUM);
|
||||
return frame_id_build (base, frame_pc_unwind (next_frame));
|
||||
}
|
||||
|
||||
@ -1286,7 +1286,7 @@ static CORE_ADDR
|
||||
alpha_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
{
|
||||
ULONGEST pc;
|
||||
frame_unwind_unsigned_register (next_frame, ALPHA_PC_REGNUM, &pc);
|
||||
pc = frame_unwind_register_unsigned (next_frame, ALPHA_PC_REGNUM);
|
||||
return pc;
|
||||
}
|
||||
|
||||
|
@ -904,8 +904,8 @@ avr_frame_unwind_cache (struct frame_info *next_frame,
|
||||
/* The SP was moved to the FP. This indicates that a new frame
|
||||
was created. Get THIS frame's FP value by unwinding it from
|
||||
the next frame. */
|
||||
frame_unwind_unsigned_register (next_frame, AVR_FP_REGNUM, &this_base);
|
||||
frame_unwind_unsigned_register (next_frame, AVR_FP_REGNUM+1, &high_base);
|
||||
this_base = frame_unwind_register_unsigned (next_frame, AVR_FP_REGNUM);
|
||||
high_base = frame_unwind_register_unsigned (next_frame, AVR_FP_REGNUM+1);
|
||||
this_base += (high_base << 8);
|
||||
|
||||
/* The FP points at the last saved register. Adjust the FP back
|
||||
@ -916,7 +916,7 @@ avr_frame_unwind_cache (struct frame_info *next_frame,
|
||||
{
|
||||
/* Assume that the FP is this frame's SP but with that pushed
|
||||
stack space added back. */
|
||||
frame_unwind_unsigned_register (next_frame, AVR_SP_REGNUM, &this_base);
|
||||
this_base = frame_unwind_register_unsigned (next_frame, AVR_SP_REGNUM);
|
||||
prev_sp = this_base + info->size;
|
||||
}
|
||||
|
||||
@ -954,7 +954,7 @@ avr_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
{
|
||||
ULONGEST pc;
|
||||
|
||||
frame_unwind_unsigned_register (next_frame, AVR_PC_REGNUM, &pc);
|
||||
pc = frame_unwind_register_unsigned (next_frame, AVR_PC_REGNUM);
|
||||
|
||||
return avr_make_iaddr (pc);
|
||||
}
|
||||
@ -964,7 +964,7 @@ avr_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
{
|
||||
ULONGEST sp;
|
||||
|
||||
frame_unwind_unsigned_register (next_frame, AVR_SP_REGNUM, &sp);
|
||||
sp = frame_unwind_register_unsigned (next_frame, AVR_SP_REGNUM);
|
||||
|
||||
return avr_make_saddr (sp);
|
||||
}
|
||||
@ -1095,7 +1095,7 @@ avr_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
{
|
||||
ULONGEST base;
|
||||
|
||||
frame_unwind_unsigned_register (next_frame, AVR_SP_REGNUM, &base);
|
||||
base = frame_unwind_register_unsigned (next_frame, AVR_SP_REGNUM);
|
||||
return frame_id_build (avr_make_saddr (base), frame_pc_unwind (next_frame));
|
||||
}
|
||||
|
||||
|
@ -1338,8 +1338,7 @@ cris_scan_prologue (CORE_ADDR pc, struct frame_info *next_frame,
|
||||
/* The SP was moved to the FP. This indicates that a new frame
|
||||
was created. Get THIS frame's FP value by unwinding it from
|
||||
the next frame. */
|
||||
frame_unwind_unsigned_register (next_frame, CRIS_FP_REGNUM,
|
||||
&this_base);
|
||||
this_base = frame_unwind_register_unsigned (next_frame, CRIS_FP_REGNUM);
|
||||
info->base = this_base;
|
||||
info->saved_regs[CRIS_FP_REGNUM].addr = info->base;
|
||||
|
||||
@ -1352,8 +1351,8 @@ cris_scan_prologue (CORE_ADDR pc, struct frame_info *next_frame,
|
||||
ULONGEST this_base;
|
||||
/* Assume that the FP is this frame's SP but with that pushed
|
||||
stack space added back. */
|
||||
frame_unwind_unsigned_register (next_frame, gdbarch_sp_regnum (gdbarch),
|
||||
&this_base);
|
||||
this_base = frame_unwind_register_unsigned (next_frame,
|
||||
gdbarch_sp_regnum (gdbarch));
|
||||
info->base = this_base;
|
||||
info->prev_sp = info->base + info->size;
|
||||
}
|
||||
@ -1424,8 +1423,8 @@ crisv32_scan_prologue (CORE_ADDR pc, struct frame_info *next_frame,
|
||||
}
|
||||
|
||||
/* The SP is assumed to be unaltered. */
|
||||
frame_unwind_unsigned_register (next_frame, gdbarch_sp_regnum (gdbarch),
|
||||
&this_base);
|
||||
this_base = frame_unwind_register_unsigned (next_frame,
|
||||
gdbarch_sp_regnum (gdbarch));
|
||||
info->base = this_base;
|
||||
info->prev_sp = this_base;
|
||||
|
||||
@ -1470,8 +1469,8 @@ static CORE_ADDR
|
||||
cris_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
{
|
||||
ULONGEST pc;
|
||||
frame_unwind_unsigned_register (next_frame,
|
||||
gdbarch_pc_regnum (gdbarch), &pc);
|
||||
pc = frame_unwind_register_unsigned (next_frame,
|
||||
gdbarch_pc_regnum (gdbarch));
|
||||
return pc;
|
||||
}
|
||||
|
||||
@ -1479,8 +1478,8 @@ static CORE_ADDR
|
||||
cris_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
{
|
||||
ULONGEST sp;
|
||||
frame_unwind_unsigned_register (next_frame,
|
||||
gdbarch_sp_regnum (gdbarch), &sp);
|
||||
sp = frame_unwind_register_unsigned (next_frame,
|
||||
gdbarch_sp_regnum (gdbarch));
|
||||
return sp;
|
||||
}
|
||||
|
||||
|
@ -1,3 +1,9 @@
|
||||
2007-10-17 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* gdbint.texinfo (Target Conditionals): Use
|
||||
frame_unwind_register_unsigned in examples instead of
|
||||
frame_unwind_unsigned_register.
|
||||
|
||||
2007-10-15 Daniel Jacobowitz <dan@codesourcery.com>
|
||||
|
||||
* gdb.texinfo (Predefined Target Types): Add int128
|
||||
|
@ -3611,7 +3611,7 @@ is typically no more than:
|
||||
|
||||
@smallexample
|
||||
ULONGEST pc;
|
||||
pc = frame_unwind_unsigned_register (next_frame, S390_PC_REGNUM);
|
||||
pc = frame_unwind_register_unsigned (next_frame, S390_PC_REGNUM);
|
||||
return gdbarch_addr_bits_remove (gdbarch, pc);
|
||||
@end smallexample
|
||||
|
||||
@ -3628,7 +3628,7 @@ is typically no more than:
|
||||
|
||||
@smallexample
|
||||
ULONGEST sp;
|
||||
sp = frame_unwind_unsigned_register (next_frame, S390_SP_REGNUM);
|
||||
sp = frame_unwind_register_unsigned (next_frame, S390_SP_REGNUM);
|
||||
return gdbarch_addr_bits_remove (gdbarch, sp);
|
||||
@end smallexample
|
||||
|
||||
|
19
gdb/frame.c
19
gdb/frame.c
@ -677,17 +677,6 @@ get_frame_register_unsigned (struct frame_info *frame, int regnum)
|
||||
return frame_unwind_register_unsigned (frame->next, regnum);
|
||||
}
|
||||
|
||||
void
|
||||
frame_unwind_unsigned_register (struct frame_info *frame, int regnum,
|
||||
ULONGEST *val)
|
||||
{
|
||||
gdb_byte buf[MAX_REGISTER_SIZE];
|
||||
frame_unwind_register (frame, regnum, buf);
|
||||
(*val) = extract_unsigned_integer (buf,
|
||||
register_size (get_frame_arch (frame),
|
||||
regnum));
|
||||
}
|
||||
|
||||
void
|
||||
put_frame_register (struct frame_info *frame, int regnum,
|
||||
const gdb_byte *buf)
|
||||
@ -1730,12 +1719,8 @@ frame_sp_unwind (struct frame_info *next_frame)
|
||||
/* Now things are really are grim. Hope that the value returned by
|
||||
the gdbarch_sp_regnum register is meaningful. */
|
||||
if (gdbarch_sp_regnum (gdbarch) >= 0)
|
||||
{
|
||||
ULONGEST sp;
|
||||
frame_unwind_unsigned_register (next_frame,
|
||||
gdbarch_sp_regnum (gdbarch), &sp);
|
||||
return sp;
|
||||
}
|
||||
return frame_unwind_register_unsigned (next_frame,
|
||||
gdbarch_sp_regnum (gdbarch));
|
||||
internal_error (__FILE__, __LINE__, _("Missing unwind SP method"));
|
||||
}
|
||||
|
||||
|
@ -476,10 +476,6 @@ extern ULONGEST get_frame_register_unsigned (struct frame_info *frame,
|
||||
int regnum);
|
||||
|
||||
|
||||
/* Use frame_unwind_register_signed. */
|
||||
extern void frame_unwind_unsigned_register (struct frame_info *frame,
|
||||
int regnum, ULONGEST *val);
|
||||
|
||||
/* Get the value of the register that belongs to this FRAME. This
|
||||
function is a wrapper to the call sequence ``frame_register_unwind
|
||||
(get_next_frame (FRAME))''. As per frame_register_unwind(), if
|
||||
|
@ -938,9 +938,9 @@ frv_analyze_prologue (CORE_ADDR pc, struct frame_info *next_frame,
|
||||
because instructions may save relative to the SP, but we need
|
||||
their addresses relative to the FP. */
|
||||
if (fp_set)
|
||||
frame_unwind_unsigned_register (next_frame, fp_regnum, &this_base);
|
||||
this_base = frame_unwind_register_unsigned (next_frame, fp_regnum);
|
||||
else
|
||||
frame_unwind_unsigned_register (next_frame, sp_regnum, &this_base);
|
||||
this_base = frame_unwind_register_unsigned (next_frame, sp_regnum);
|
||||
|
||||
for (i = 0; i < 64; i++)
|
||||
if (gr_saved[i])
|
||||
|
@ -763,8 +763,7 @@ m68hc11_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
{
|
||||
ULONGEST pc;
|
||||
|
||||
frame_unwind_unsigned_register (next_frame, gdbarch_pc_regnum (gdbarch),
|
||||
&pc);
|
||||
pc = frame_unwind_register_unsigned (next_frame, gdbarch_pc_regnum (gdbarch));
|
||||
return pc;
|
||||
}
|
||||
|
||||
@ -799,7 +798,7 @@ m68hc11_frame_unwind_cache (struct frame_info *next_frame,
|
||||
/* The SP was moved to the FP. This indicates that a new frame
|
||||
was created. Get THIS frame's FP value by unwinding it from
|
||||
the next frame. */
|
||||
frame_unwind_unsigned_register (next_frame, SOFT_FP_REGNUM, &this_base);
|
||||
this_base = frame_unwind_register_unsigned (next_frame, SOFT_FP_REGNUM);
|
||||
if (this_base == 0)
|
||||
{
|
||||
info->base = 0;
|
||||
@ -815,7 +814,7 @@ m68hc11_frame_unwind_cache (struct frame_info *next_frame,
|
||||
if (info->sp_offset != (CORE_ADDR) -1)
|
||||
{
|
||||
info->saved_regs[HARD_PC_REGNUM].addr = info->sp_offset;
|
||||
frame_unwind_unsigned_register (next_frame, HARD_SP_REGNUM, &this_base);
|
||||
this_base = frame_unwind_register_unsigned (next_frame, HARD_SP_REGNUM);
|
||||
prev_sp = this_base + info->sp_offset + 2;
|
||||
this_base += STACK_CORRECTION;
|
||||
}
|
||||
@ -980,7 +979,7 @@ static CORE_ADDR
|
||||
m68hc11_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
{
|
||||
ULONGEST sp;
|
||||
frame_unwind_unsigned_register (next_frame, HARD_SP_REGNUM, &sp);
|
||||
sp = frame_unwind_register_unsigned (next_frame, HARD_SP_REGNUM);
|
||||
return sp;
|
||||
}
|
||||
|
||||
@ -995,7 +994,7 @@ m68hc11_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
ULONGEST tos;
|
||||
CORE_ADDR pc = frame_pc_unwind (next_frame);
|
||||
|
||||
frame_unwind_unsigned_register (next_frame, SOFT_FP_REGNUM, &tos);
|
||||
tos = frame_unwind_register_unsigned (next_frame, SOFT_FP_REGNUM);
|
||||
tos += 2;
|
||||
return frame_id_build (tos, pc);
|
||||
}
|
||||
|
@ -934,7 +934,7 @@ mn10300_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
{
|
||||
ULONGEST pc;
|
||||
|
||||
frame_unwind_unsigned_register (next_frame, E_PC_REGNUM, &pc);
|
||||
pc = frame_unwind_register_unsigned (next_frame, E_PC_REGNUM);
|
||||
return pc;
|
||||
}
|
||||
|
||||
@ -943,7 +943,7 @@ mn10300_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
{
|
||||
ULONGEST sp;
|
||||
|
||||
frame_unwind_unsigned_register (next_frame, E_SP_REGNUM, &sp);
|
||||
sp = frame_unwind_register_unsigned (next_frame, E_SP_REGNUM);
|
||||
return sp;
|
||||
}
|
||||
|
||||
|
@ -895,8 +895,8 @@ mt_frame_unwind_cache (struct frame_info *next_frame,
|
||||
/* Grab the frame-relative values of SP and FP, needed below.
|
||||
The frame_saved_register function will find them on the
|
||||
stack or in the registers as appropriate. */
|
||||
frame_unwind_unsigned_register (next_frame, MT_SP_REGNUM, &sp);
|
||||
frame_unwind_unsigned_register (next_frame, MT_FP_REGNUM, &fp);
|
||||
sp = frame_unwind_register_unsigned (next_frame, MT_SP_REGNUM);
|
||||
fp = frame_unwind_register_unsigned (next_frame, MT_FP_REGNUM);
|
||||
|
||||
start_addr = frame_func_unwind (next_frame, NORMAL_FRAME);
|
||||
|
||||
@ -1012,7 +1012,7 @@ mt_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
{
|
||||
ULONGEST pc;
|
||||
|
||||
frame_unwind_unsigned_register (next_frame, MT_PC_REGNUM, &pc);
|
||||
pc = frame_unwind_register_unsigned (next_frame, MT_PC_REGNUM);
|
||||
return pc;
|
||||
}
|
||||
|
||||
@ -1021,7 +1021,7 @@ mt_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
|
||||
{
|
||||
ULONGEST sp;
|
||||
|
||||
frame_unwind_unsigned_register (next_frame, MT_SP_REGNUM, &sp);
|
||||
sp = frame_unwind_register_unsigned (next_frame, MT_SP_REGNUM);
|
||||
return sp;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user