diff options
author | Andrew Cagney <cagney@redhat.com> | 1998-04-01 14:26:37 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 1998-04-01 14:26:37 +0000 |
commit | d0136bf32ac68edd8d191559e2dea1d0a7ca6555 (patch) | |
tree | afd83ff9d74740dff11fb9bee0f9c6b5d26797da | |
parent | 6b0c51c9299c47f0ad37e8a32a4963deed6f9580 (diff) | |
download | binutils-d0136bf32ac68edd8d191559e2dea1d0a7ca6555.zip binutils-d0136bf32ac68edd8d191559e2dea1d0a7ca6555.tar.gz binutils-d0136bf32ac68edd8d191559e2dea1d0a7ca6555.tar.bz2 |
Make the SR, FSR and FIR registers 32 bits regardless of the target.
-rw-r--r-- | gdb/ChangeLog | 9 | ||||
-rw-r--r-- | gdb/config/mips/tm-mips.h | 18 | ||||
-rw-r--r-- | gdb/config/mips/tm-mips64.h | 6 |
3 files changed, 23 insertions, 10 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index f35812e..f8b5541 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,12 @@ +Wed Apr 1 23:13:23 1998 Andrew Cagney <cagney@b1.cygnus.com> + + * 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 <nickc@cygnus.com> * 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 36edcbb..a0bcd39 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 4dc35e2..56a8927 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 */ |