diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-11-16 19:24:05 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-11-16 19:24:05 +0000 |
commit | 56cea623828ea5eea0cc592f7f55157b4b902bb4 (patch) | |
tree | 82c70cf0ac60b3dd7337465ef6f42739d704f633 /gdb/mipsnbsd-tdep.c | |
parent | 719ec22109a4b447266214fadba2fbb878192c96 (diff) | |
download | gdb-56cea623828ea5eea0cc592f7f55157b4b902bb4.zip gdb-56cea623828ea5eea0cc592f7f55157b4b902bb4.tar.gz gdb-56cea623828ea5eea0cc592f7f55157b4b902bb4.tar.bz2 |
2003-11-16 Andrew Cagney <cagney@redhat.com>
* mips-tdep.c (struct gdbarch_tdep): Add field "regnum".
(mips_fpa0_regnum, mips_regnum): New function.
(mips_gdbarch_init): Fill in the "regnum" fields.
* mips-tdep.h (struct mips_regnum): Define.
(mips_regnum): Declare.
* config/mips/tm-mips.h (BADVADDR_REGNUM): Delete macro.
(LO_REGNUM, HI_REGNUM, BADVADDR_REGNUM): Ditto.
(CAUSE_REGNUM, PC_REGNUM, FP0_REGNUM): Ditto.
(FCRCS_REGNUM, FCRIR_REGNUM, FPA0_REGNUM): Ditto.
* config/mips/tm-irix6.h (FP0_REGNUM): Delete macro.
(PC_REGNUM, CAUSE_REGNUM, BADVADDR_REGNUM): Ditto.
(HI_REGNUM, LO_REGNUM, FCRCS_REGNUM, FCRIR_REGNUM): Ditto.
* config/mips/tm-irix5.h (FP0_REGNUM): Delete macro.
(PC_REGNUM, CAUSE_REGNUM, BADVADDR_REGNUM): Ditto.
(HI_REGNUM, LO_REGNUM, FCRCS_REGNUM, FCRIR_REGNUM): Ditto.
* remote-mips.c: Include "mips-tdep.h". Update.
* mipsnbsd-tdep.c: Update.
* mipsv4-nat.c: Update.
* mips-tdep.c: Update.
* mips-nat.c: Update.
* mips-linux-tdep.c: Update.
* mips-linux-nat.c: Update.
* irix5-nat.c: Update.
* dve3900-rom.c: Include "mips-tdep.h". Update.
(ignore_packet): Supress GCC warning.
* config/mips/nm-riscos.h: Update.
* Makefile.in (dve3900-rom.o, remote-mips.o): Update dependencies.
Diffstat (limited to 'gdb/mipsnbsd-tdep.c')
-rw-r--r-- | gdb/mipsnbsd-tdep.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/gdb/mipsnbsd-tdep.c b/gdb/mipsnbsd-tdep.c index 89e62a3..01d8262 100644 --- a/gdb/mipsnbsd-tdep.c +++ b/gdb/mipsnbsd-tdep.c @@ -66,7 +66,9 @@ mipsnbsd_supply_fpreg (char *fpregs, int regno) { int i; - for (i = FP0_REGNUM; i <= FCRIR_REGNUM; i++) + for (i = FP0_REGNUM; + i <= mips_regnum (current_gdbarch)->fp_implementation_revision; + i++) { if (regno == i || regno == -1) { @@ -83,7 +85,8 @@ mipsnbsd_fill_fpreg (char *fpregs, int regno) { int i; - for (i = FP0_REGNUM; i <= FCRCS_REGNUM; i++) + for (i = FP0_REGNUM; i <= mips_regnum (current_gdbarch)->fp_control_status; + i++) if ((regno == i || regno == -1) && ! CANNOT_STORE_REGISTER (i)) regcache_collect (i, fpregs + ((i - FP0_REGNUM) * mips_regsize (current_gdbarch))); } @@ -259,14 +262,14 @@ static int mipsnbsd_cannot_fetch_register (int regno) { return (regno == ZERO_REGNUM - || regno == FCRIR_REGNUM); + || regno == mips_regnum (current_gdbarch)->fp_implementation_revision); } static int mipsnbsd_cannot_store_register (int regno) { return (regno == ZERO_REGNUM - || regno == FCRIR_REGNUM); + || regno == mips_regnum (current_gdbarch)->fp_implementation_revision); } /* NetBSD/mips uses a slightly different link_map structure from the |