From: Andrew Cagney Date: Wed, 1 Apr 1998 14:26:37 +0000 (+0000) Subject: Make the SR, FSR and FIR registers 32 bits regardless of the target. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d0136bf32ac68edd8d191559e2dea1d0a7ca6555;p=binutils-gdb.git Make the SR, FSR and FIR registers 32 bits regardless of the target. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f35812e7cf6..f8b55411d52 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +Wed Apr 1 23:13:23 1998 Andrew Cagney + + * config/mips/tm-mips.h (REGISTER_VIRTUAL_TYPE): Handle 32 bit SR, + FSR and FIR registers. + (REGISTER_VIRTUAL_SIZE): Compute using REGISTER_VIRTUAL_TYPE. + (REGISTER_RAW_SIZE): Define using REGISTER_VIRTUAL_SIZE. + + * config/mips/tm-mips64.h: Ditto. + Tue Mar 31 21:30:39 1998 Nick Clifton * arm-tdep.c (gdb_print_insn_arm): Attach a fake Thumb symbol diff --git a/gdb/config/mips/tm-mips.h b/gdb/config/mips/tm-mips.h index 36edcbb8523..a0bcd39a830 100644 --- a/gdb/config/mips/tm-mips.h +++ b/gdb/config/mips/tm-mips.h @@ -262,14 +262,14 @@ extern void mips_do_registers_info PARAMS ((int, int)); #define REGISTER_BYTE(N) ((N) * MIPS_REGSIZE) /* Number of bytes of storage in the actual machine representation - for register N. On mips, all regs are the same size. */ + for register N. */ -#define REGISTER_RAW_SIZE(N) MIPS_REGSIZE +#define REGISTER_RAW_SIZE(N) REGISTER_VIRTUAL_SIZE(N) /* Number of bytes of storage in the program's representation - for register N. On mips, all regs are the same size. */ + for register N. */ -#define REGISTER_VIRTUAL_SIZE(N) MIPS_REGSIZE +#define REGISTER_VIRTUAL_SIZE(N) TYPE_LENGTH (REGISTER_VIRTUAL_TYPE (N)) /* Largest value REGISTER_RAW_SIZE can have. */ @@ -279,13 +279,15 @@ extern void mips_do_registers_info PARAMS ((int, int)); #define MAX_REGISTER_VIRTUAL_SIZE 8 -/* Return the GDB type object for the "standard" data type - of data in register N. */ +/* Return the GDB type object for the "standard" data type of data in + register N. */ #ifndef REGISTER_VIRTUAL_TYPE #define REGISTER_VIRTUAL_TYPE(N) \ - (((N) >= FP0_REGNUM && (N) < FP0_REGNUM+32) \ - ? builtin_type_float : builtin_type_int) + (((N) >= FP0_REGNUM && (N) < FP0_REGNUM+32) ? builtin_type_float \ + : ((N) == 32 /*SR*/) ? builtin_type_uint32 \ + : ((N) >= 70 && (N) <= 89) ? builtin_type_uint32 \ + : builtin_type_int) #endif /* All mips targets store doubles in a register pair with the least diff --git a/gdb/config/mips/tm-mips64.h b/gdb/config/mips/tm-mips64.h index 4dc35e2d816..56a8927314d 100644 --- a/gdb/config/mips/tm-mips64.h +++ b/gdb/config/mips/tm-mips64.h @@ -25,8 +25,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /* define 8 byte register type */ #define REGISTER_VIRTUAL_TYPE(N) \ - (((N) >= FP0_REGNUM && (N) < FP0_REGNUM+32) \ - ? builtin_type_double : builtin_type_long_long) \ + (((N) >= FP0_REGNUM && (N) < FP0_REGNUM+32) ? builtin_type_double \ + : ((N) == 32 /*SR*/) ? builtin_type_uint32 \ + : ((N) >= 70 && (N) <= 89) ? builtin_type_uint32 \ + : builtin_type_long_long) /* Load double words in CALL_DUMMY. */ #define OP_LDFPR 065 /* ldc1 */