* mips-tdep.c (mips_gdbarch_init): Only set pc_regnum and
sp_regnum once the gdbarch_init_osabi hook has been called.
This commit is contained in:
parent
263689d88a
commit
9aac7884c5
|
@ -1,3 +1,8 @@
|
||||||
|
2012-03-01 Maciej W. Rozycki <macro@codesourcery.com>
|
||||||
|
|
||||||
|
* mips-tdep.c (mips_gdbarch_init): Only set pc_regnum and
|
||||||
|
sp_regnum once the gdbarch_init_osabi hook has been called.
|
||||||
|
|
||||||
2012-03-01 Maciej W. Rozycki <macro@codesourcery.com>
|
2012-03-01 Maciej W. Rozycki <macro@codesourcery.com>
|
||||||
|
|
||||||
* mips-tdep.c (mips32_bc1_pc): New function.
|
* mips-tdep.c (mips32_bc1_pc): New function.
|
||||||
|
|
|
@ -6418,10 +6418,6 @@ mips_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
|
|
||||||
regnum = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct mips_regnum);
|
regnum = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct mips_regnum);
|
||||||
*regnum = mips_regnum;
|
*regnum = mips_regnum;
|
||||||
/* FIXME: cagney/2003-11-15: For MIPS, hasn't gdbarch_pc_regnum been
|
|
||||||
replaced by gdbarch_read_pc? */
|
|
||||||
set_gdbarch_pc_regnum (gdbarch, regnum->pc + num_regs);
|
|
||||||
set_gdbarch_sp_regnum (gdbarch, MIPS_SP_REGNUM + num_regs);
|
|
||||||
set_gdbarch_fp0_regnum (gdbarch, regnum->fp0);
|
set_gdbarch_fp0_regnum (gdbarch, regnum->fp0);
|
||||||
set_gdbarch_num_regs (gdbarch, num_regs);
|
set_gdbarch_num_regs (gdbarch, num_regs);
|
||||||
set_gdbarch_num_pseudo_regs (gdbarch, num_regs);
|
set_gdbarch_num_pseudo_regs (gdbarch, num_regs);
|
||||||
|
@ -6650,6 +6646,14 @@ mips_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||||
info.tdep_info = (void *) tdesc_data;
|
info.tdep_info = (void *) tdesc_data;
|
||||||
gdbarch_init_osabi (info, gdbarch);
|
gdbarch_init_osabi (info, gdbarch);
|
||||||
|
|
||||||
|
/* The hook may have adjusted num_regs, fetch the final value and
|
||||||
|
set pc_regnum and sp_regnum now that it has been fixed. */
|
||||||
|
/* FIXME: cagney/2003-11-15: For MIPS, hasn't gdbarch_pc_regnum been
|
||||||
|
replaced by gdbarch_read_pc? */
|
||||||
|
num_regs = gdbarch_num_regs (gdbarch);
|
||||||
|
set_gdbarch_pc_regnum (gdbarch, regnum->pc + num_regs);
|
||||||
|
set_gdbarch_sp_regnum (gdbarch, MIPS_SP_REGNUM + num_regs);
|
||||||
|
|
||||||
/* Unwind the frame. */
|
/* Unwind the frame. */
|
||||||
dwarf2_append_unwinders (gdbarch);
|
dwarf2_append_unwinders (gdbarch);
|
||||||
frame_unwind_append_unwinder (gdbarch, &mips_stub_frame_unwind);
|
frame_unwind_append_unwinder (gdbarch, &mips_stub_frame_unwind);
|
||||||
|
|
Loading…
Reference in New Issue