summaryrefslogtreecommitdiff
path: root/gdb/alpha-tdep.c
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2004-12-01 17:13:44 +0000
committerJoel Brobecker <brobecker@gnat.com>2004-12-01 17:13:44 +0000
commit781c534de52e52e6a643aabf502bb199e9261e40 (patch)
treecddb9f00400bcfb31ba42d4942df45229c3736d8 /gdb/alpha-tdep.c
parent861281664e4a34c81085ecbc9e626f808010fd0d (diff)
downloadgdb-781c534de52e52e6a643aabf502bb199e9261e40.tar.gz
* alpha-tdep.c (alpha_register_name): Add comment.
(alpha_cannot_fetch_register): Exclude registers numbers which are no longer used from the list of registers that can be fetched. (alpha_cannot_store_register): Exclude registers numbers which are no longer used from the list of registers that can be stored. * alpha-nat.c (fetch_osf_core_registers): Add missing value in core_reg_mapping array.
Diffstat (limited to 'gdb/alpha-tdep.c')
-rw-r--r--gdb/alpha-tdep.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/gdb/alpha-tdep.c b/gdb/alpha-tdep.c
index 71d29dad883..5dc8558168c 100644
--- a/gdb/alpha-tdep.c
+++ b/gdb/alpha-tdep.c
@@ -47,6 +47,13 @@
#include "alpha-tdep.h"
+/* Return the name of the REGNO register.
+
+ An empty name corresponds to a register number that used to
+ be used for a virtual register. That virtual register has
+ been removed, but the index is still reserved to maintain
+ compatibility with existing remote alpha targets. */
+
static const char *
alpha_register_name (int regno)
{
@@ -73,13 +80,15 @@ alpha_register_name (int regno)
static int
alpha_cannot_fetch_register (int regno)
{
- return regno == ALPHA_ZERO_REGNUM;
+ return (regno == ALPHA_ZERO_REGNUM
+ || strlen (alpha_register_name (regno)) == 0);
}
static int
alpha_cannot_store_register (int regno)
{
- return regno == ALPHA_ZERO_REGNUM;
+ return (regno == ALPHA_ZERO_REGNUM
+ || strlen (alpha_register_name (regno)) == 0);
}
static struct type *