diff options
Diffstat (limited to 'gdb/mips-tdep.c')
-rw-r--r-- | gdb/mips-tdep.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index f39179d3a0f..d1d2e38b869 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -50,6 +50,7 @@ #include "sim-regno.h" static void set_reg_offset (CORE_ADDR *saved_regs, int regnum, CORE_ADDR off); +static struct type *mips_register_type (struct gdbarch *gdbarch, int regnum); /* A useful bit in the CP0 status register (PS_REGNUM). */ /* This bit is set if we are emulating 32-bit FPRs on a 64-bit chip. */ @@ -670,7 +671,7 @@ mips_register_raw_size (int regnum) /* For the moment map [NUM_REGS .. 2*NUM_REGS) onto the same raw registers, but always return the virtual size. */ int rawnum = regnum % NUM_REGS; - return TYPE_LENGTH (MIPS_REGISTER_TYPE (rawnum)); + return TYPE_LENGTH (gdbarch_register_type (current_gdbarch, rawnum)); } else internal_error (__FILE__, __LINE__, "Register %d out of range", regnum); @@ -700,7 +701,8 @@ mips_register_byte (int regnum) /* Add space for all the proceeding registers based on their real size. */ for (reg = NUM_REGS; reg < regnum; reg++) - byte += TYPE_LENGTH (MIPS_REGISTER_TYPE ((reg % NUM_REGS))); + byte += TYPE_LENGTH (gdbarch_register_type (current_gdbarch, + (reg % NUM_REGS))); return byte; } else @@ -4284,10 +4286,10 @@ print_gp_register_row (struct ui_file *file, struct frame_info *frame, col++; } /* print the R0 to R31 names */ - fprintf_filtered (file, - (start_regnum % NUM_REGS) < MIPS_NUMREGS - ? "\n R%-4d" : "\n ", - start_regnum); + if ((start_regnum % NUM_REGS) < MIPS_NUMREGS) + fprintf_filtered (file, "\n R%-4d", start_regnum % NUM_REGS); + else + fprintf_filtered (file, "\n "); /* now print the values in hex, 4 or 8 to the row */ for (col = 0, regnum = start_regnum; |