* 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:
Maciej W. Rozycki 2012-03-01 22:52:03 +00:00
parent 263689d88a
commit 9aac7884c5
2 changed files with 13 additions and 4 deletions

View File

@ -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>
* mips-tdep.c (mips32_bc1_pc): New function.

View File

@ -6418,10 +6418,6 @@ mips_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
regnum = GDBARCH_OBSTACK_ZALLOC (gdbarch, struct 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_num_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;
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. */
dwarf2_append_unwinders (gdbarch);
frame_unwind_append_unwinder (gdbarch, &mips_stub_frame_unwind);