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/mips-linux-nat.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/mips-linux-nat.c')
-rw-r--r-- | gdb/mips-linux-nat.c | 45 |
1 files changed, 19 insertions, 26 deletions
diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c index 6d58055..197f7e9 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -31,22 +31,19 @@ mips_linux_cannot_fetch_register (int regno) { if (regno > ZERO_REGNUM && regno < ZERO_REGNUM + 32) return 0; - else if (regno >= FP0_REGNUM && regno <= FP0_REGNUM + 32) + else if (regno >= mips_regnum (current_gdbarch)->fp0 + && regno <= mips_regnum (current_gdbarch)->fp0 + 32) return 0; - - switch (regno) - { - case LO_REGNUM: - case HI_REGNUM: - case BADVADDR_REGNUM: - case CAUSE_REGNUM: - case PC_REGNUM: - case FCRCS_REGNUM: - case FCRIR_REGNUM: - return 0; - } - - return 1; + else if (regno == mips_regnum (current_gdbarch)->lo + || regno == mips_regnum (current_gdbarch)->hi + || regno == mips_regnum (current_gdbarch)->badvaddr + || regno == mips_regnum (current_gdbarch)->cause + || regno == mips_regnum (current_gdbarch)->pc + || regno == mips_regnum (current_gdbarch)->fp_control_status + || regno == mips_regnum (current_gdbarch)->fp_implementation_revision) + return 0; + else + return 1; } int @@ -56,15 +53,11 @@ mips_linux_cannot_store_register (int regno) return 0; else if (regno >= FP0_REGNUM && regno <= FP0_REGNUM + 32) return 0; - - switch (regno) - { - case LO_REGNUM: - case HI_REGNUM: - case PC_REGNUM: - case FCRCS_REGNUM: - return 0; - } - - return 1; + else if (regno == mips_regnum (current_gdbarch)->lo + || regno == mips_regnum (current_gdbarch)->hi + || regno == mips_regnum (current_gdbarch)->pc + || regno == mips_regnum (current_gdbarch)->fp_control_status) + return 0; + else + return 1; } |