diff options
author | Daniel Jacobowitz <drow@false.org> | 2003-07-07 15:17:55 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2003-07-07 15:17:55 +0000 |
commit | fd8f87c5ee748e4422976989ae1b4371cca639b3 (patch) | |
tree | 41081f4684d6501f129eee2f040a16c75d12890e | |
parent | 13adf674f82f329778457cfd2dc03438960e3930 (diff) | |
download | gdb-fd8f87c5ee748e4422976989ae1b4371cca639b3.zip gdb-fd8f87c5ee748e4422976989ae1b4371cca639b3.tar.gz gdb-fd8f87c5ee748e4422976989ae1b4371cca639b3.tar.bz2 |
* mips-linux-nat.c (mips_linux_cannot_fetch_register)
(mips_linux_cannot_store_register): List supported instead of
unsupported registers.
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/mips-linux-nat.c | 53 |
2 files changed, 38 insertions, 21 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 06b1918..27481e2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2003-07-07 Daniel Jacobowitz <drow@mvista.com> + * mips-linux-nat.c (mips_linux_cannot_fetch_register) + (mips_linux_cannot_store_register): List supported instead of + unsupported registers. + +2003-07-07 Daniel Jacobowitz <drow@mvista.com> + * disasm.c (dump_insns): Separate instructions from addresses. 2003-07-07 Andreas Schwab <schwab@suse.de> diff --git a/gdb/mips-linux-nat.c b/gdb/mips-linux-nat.c index a0469f6..6d58055 100644 --- a/gdb/mips-linux-nat.c +++ b/gdb/mips-linux-nat.c @@ -1,6 +1,6 @@ /* Native-dependent code for GNU/Linux on MIPS processors. - Copyright 2001, 2002 Free Software Foundation, Inc. + Copyright 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GDB. @@ -29,31 +29,42 @@ int mips_linux_cannot_fetch_register (int regno) { - if (REGISTER_NAME (regno)[0] == 0) - return 1; - if (regno == PS_REGNUM) - return 1; - else if (regno == ZERO_REGNUM) - return 1; - else + if (regno > ZERO_REGNUM && regno < ZERO_REGNUM + 32) return 0; + else if (regno >= FP0_REGNUM && regno <= FP0_REGNUM + 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; } int mips_linux_cannot_store_register (int regno) { - if (REGISTER_NAME (regno)[0] == 0) - return 1; - if (regno == PS_REGNUM) - return 1; - else if (regno == ZERO_REGNUM) - return 1; - else if (regno == BADVADDR_REGNUM) - return 1; - else if (regno == CAUSE_REGNUM) - return 1; - else if (regno == FCRIR_REGNUM) - return 1; - else + if (regno > ZERO_REGNUM && regno < ZERO_REGNUM + 32) 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; } |