* mips-tdep.c (mips_ecoff_reg_to_regnum): Rename to
mips_dwarf_dwarf2_ecoff_reg_to_regnum(). (mips_dwarf_dwarf2_ecoff_reg_to_regnum, mips_stab_reg_to_regnum): Do range checks on register number obtained from debugging info. (mips_gdbarch_init): Call set_gdbarch_dwarf_reg_to_regnum() and set_gdbarch_dwarf2_reg_to_regnum(). Adjust call of set_gdbarch_ecoff_reg_to_regnum() to account for new name of mapping function. (do_fp_register_row): Fix typo which caused double type to be used when attempting to unpack a float.
This commit is contained in:
parent
5acd598562
commit
2f38ef8908
2 changed files with 37 additions and 8 deletions
|
@ -1,3 +1,16 @@
|
||||||
|
2003-03-11 Kevin Buettner <kevinb@redhat.com>
|
||||||
|
|
||||||
|
* mips-tdep.c (mips_ecoff_reg_to_regnum): Rename to
|
||||||
|
mips_dwarf_dwarf2_ecoff_reg_to_regnum().
|
||||||
|
(mips_dwarf_dwarf2_ecoff_reg_to_regnum, mips_stab_reg_to_regnum):
|
||||||
|
Do range checks on register number obtained from debugging info.
|
||||||
|
(mips_gdbarch_init): Call set_gdbarch_dwarf_reg_to_regnum() and
|
||||||
|
set_gdbarch_dwarf2_reg_to_regnum(). Adjust call of
|
||||||
|
set_gdbarch_ecoff_reg_to_regnum() to account for new name of
|
||||||
|
mapping function.
|
||||||
|
(do_fp_register_row): Fix typo which caused double type to be
|
||||||
|
used when attempting to unpack a float.
|
||||||
|
|
||||||
2003-03-11 J. Brobecker <brobecker@gnat.com>
|
2003-03-11 J. Brobecker <brobecker@gnat.com>
|
||||||
|
|
||||||
* breakpoint.c (bpstat_stop_status): Fix a small memory leak.
|
* breakpoint.c (bpstat_stop_status): Fix a small memory leak.
|
||||||
|
|
|
@ -4150,7 +4150,7 @@ do_fp_register_row (int regnum)
|
||||||
{
|
{
|
||||||
/* Eight byte registers: print each one as float AND as double. */
|
/* Eight byte registers: print each one as float AND as double. */
|
||||||
mips_read_fp_register_single (regnum, raw_buffer);
|
mips_read_fp_register_single (regnum, raw_buffer);
|
||||||
flt1 = unpack_double (mips_double_register_type (), raw_buffer, &inv1);
|
flt1 = unpack_double (mips_float_register_type (), raw_buffer, &inv1);
|
||||||
|
|
||||||
mips_read_fp_register_double (regnum, raw_buffer);
|
mips_read_fp_register_double (regnum, raw_buffer);
|
||||||
doub = unpack_double (mips_double_register_type (), raw_buffer, &inv3);
|
doub = unpack_double (mips_double_register_type (), raw_buffer, &inv3);
|
||||||
|
@ -5546,23 +5546,37 @@ mips_saved_pc_after_call (struct frame_info *frame)
|
||||||
static int
|
static int
|
||||||
mips_stab_reg_to_regnum (int num)
|
mips_stab_reg_to_regnum (int num)
|
||||||
{
|
{
|
||||||
if (num < 32)
|
if (num >= 0 && num < 32)
|
||||||
return num;
|
return num;
|
||||||
else
|
else if (num >= 38 && num < 70)
|
||||||
return num + FP0_REGNUM - 38;
|
return num + FP0_REGNUM - 38;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* This will hopefully (eventually) provoke a warning. Should
|
||||||
|
we be calling complaint() here? */
|
||||||
|
return NUM_REGS + NUM_PSEUDO_REGS;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Convert a ecoff register number to a gdb REGNUM */
|
|
||||||
|
/* Convert a dwarf, dwarf2, or ecoff register number to a gdb REGNUM */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
mips_ecoff_reg_to_regnum (int num)
|
mips_dwarf_dwarf2_ecoff_reg_to_regnum (int num)
|
||||||
{
|
{
|
||||||
if (num < 32)
|
if (num >= 0 && num < 32)
|
||||||
return num;
|
return num;
|
||||||
else
|
else if (num >= 32 && num < 64)
|
||||||
return num + FP0_REGNUM - 32;
|
return num + FP0_REGNUM - 32;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* This will hopefully (eventually) provoke a warning. Should
|
||||||
|
we be calling complaint() here? */
|
||||||
|
return NUM_REGS + NUM_PSEUDO_REGS;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Convert an integer into an address. By first converting the value
|
/* Convert an integer into an address. By first converting the value
|
||||||
into a pointer and then extracting it signed, the address is
|
into a pointer and then extracting it signed, the address is
|
||||||
guarenteed to be correctly sign extended. */
|
guarenteed to be correctly sign extended. */
|
||||||
|
@ -5979,7 +5993,9 @@ mips_gdbarch_init (struct gdbarch_info info,
|
||||||
|
|
||||||
/* Map debug register numbers onto internal register numbers. */
|
/* Map debug register numbers onto internal register numbers. */
|
||||||
set_gdbarch_stab_reg_to_regnum (gdbarch, mips_stab_reg_to_regnum);
|
set_gdbarch_stab_reg_to_regnum (gdbarch, mips_stab_reg_to_regnum);
|
||||||
set_gdbarch_ecoff_reg_to_regnum (gdbarch, mips_ecoff_reg_to_regnum);
|
set_gdbarch_ecoff_reg_to_regnum (gdbarch, mips_dwarf_dwarf2_ecoff_reg_to_regnum);
|
||||||
|
set_gdbarch_dwarf_reg_to_regnum (gdbarch, mips_dwarf_dwarf2_ecoff_reg_to_regnum);
|
||||||
|
set_gdbarch_dwarf2_reg_to_regnum (gdbarch, mips_dwarf_dwarf2_ecoff_reg_to_regnum);
|
||||||
|
|
||||||
/* Initialize a frame */
|
/* Initialize a frame */
|
||||||
set_gdbarch_deprecated_frame_init_saved_regs (gdbarch, mips_frame_init_saved_regs);
|
set_gdbarch_deprecated_frame_init_saved_regs (gdbarch, mips_frame_init_saved_regs);
|
||||||
|
|
Loading…
Add table
Reference in a new issue