aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Thorpe <thorpej@netbsd.org>2002-05-26 09:29:36 +0000
committerJason Thorpe <thorpej@netbsd.org>2002-05-26 09:29:36 +0000
commitaf137673023d01905dc1353b9f84d95d78de1ce4 (patch)
tree1c6631475498ae811e5efbac191adc050398f640
parentaa501e5cee33749955dc605e3ba49c474d89d52f (diff)
downloadgdb-af137673023d01905dc1353b9f84d95d78de1ce4.zip
gdb-af137673023d01905dc1353b9f84d95d78de1ce4.tar.gz
gdb-af137673023d01905dc1353b9f84d95d78de1ce4.tar.bz2
* ns32k-tdep.c: Update copyright years.
(ns32k_register_name_32082): New function. (ns32k_register_name_32382): Ditto. * config/ns32k/tm-nbsd.h (REGISTER_NAMES): Remove. (REGISTER_NAME): Define as ns32k_register_name_32382. * config/ns32k/tm-umax.h (REGISTER_NAMES): Remove. (REGISTER_NAME): Define as ns32k_register_name_32082.
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/config/ns32k/tm-nbsd.h17
-rw-r--r--gdb/config/ns32k/tm-umax.h13
-rw-r--r--gdb/ns32k-tdep.c49
4 files changed, 63 insertions, 26 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index d2ffd4b..a54edf2 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+2002-05-26 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * ns32k-tdep.c: Update copyright years.
+ (ns32k_register_name_32082): New function.
+ (ns32k_register_name_32382): Ditto.
+ * config/ns32k/tm-nbsd.h (REGISTER_NAMES): Remove.
+ (REGISTER_NAME): Define as ns32k_register_name_32382.
+ * config/ns32k/tm-umax.h (REGISTER_NAMES): Remove.
+ (REGISTER_NAME): Define as ns32k_register_name_32082.
+
2002-05-24 Jim Blandy <jimb@redhat.com>
* dwarf2read.c (free_line_header): Use xfree, not free.
diff --git a/gdb/config/ns32k/tm-nbsd.h b/gdb/config/ns32k/tm-nbsd.h
index 3965e5d..a3bebbe 100644
--- a/gdb/config/ns32k/tm-nbsd.h
+++ b/gdb/config/ns32k/tm-nbsd.h
@@ -47,24 +47,16 @@
/* tm-umax.h assumes a 32082 fpu. We have a 32382 fpu. */
-#undef REGISTER_NAMES
-#undef NUM_REGS
-#undef REGISTER_BYTES
-#undef REGISTER_BYTE
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-#define REGISTER_NAMES {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
- "sp", "fp", "pc", "ps", \
- "fsr", \
- "l0", "l1", "l2", "l3", "l4", "l5", "l6", "l7", "xx", \
- }
+#undef REGISTER_NAME
+#define REGISTER_NAME(REGNUM) ns32k_register_name_32382(REGNUM)
+#undef NUM_REGS
#define NUM_REGS 29
/* Total amount of space needed to store our copies of the machine's
register state, the array `registers'. */
+#undef REGISTER_BYTES
#define REGISTER_BYTES \
((NUM_REGS - 4) * REGISTER_RAW_SIZE(R0_REGNUM) \
+ 8 * REGISTER_RAW_SIZE(LP0_REGNUM))
@@ -78,6 +70,7 @@
registers are at the end. Doing it this way is compatable for both
32081 and 32381 equiped machines. */
+#undef REGISTER_BYTE
#define REGISTER_BYTE(N) (((N) < LP0_REGNUM? (N)\
: ((N) - LP0_REGNUM) & 1? (N) - 1 \
: ((N) - LP0_REGNUM + FP0_REGNUM)) * 4)
diff --git a/gdb/config/ns32k/tm-umax.h b/gdb/config/ns32k/tm-umax.h
index 354349e..ed77f3c 100644
--- a/gdb/config/ns32k/tm-umax.h
+++ b/gdb/config/ns32k/tm-umax.h
@@ -76,15 +76,10 @@ extern CORE_ADDR umax_skip_prologue (CORE_ADDR);
#define NUM_GENERAL_REGS 8
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-#define REGISTER_NAMES {"r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7", \
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
- "sp", "fp", "pc", "ps", \
- "fsr", \
- "l0", "l1", "l2", "l3", "xx", \
- }
+extern char *ns32k_register_name_32082 (int);
+extern char *ns32k_register_name_32382 (int);
+
+#define REGISTER_NAME(REGNUM) ns32k_register_name_32082(REGNUM)
/* Register numbers of various important registers.
Note that some of these values are "real" register numbers,
diff --git a/gdb/ns32k-tdep.c b/gdb/ns32k-tdep.c
index e9bbfc4..4c2fd0f 100644
--- a/gdb/ns32k-tdep.c
+++ b/gdb/ns32k-tdep.c
@@ -1,6 +1,6 @@
/* Print NS 32000 instructions for GDB, the GNU debugger.
- Copyright 1986, 1988, 1991, 1992, 1994, 1995, 1998, 1999, 2000, 2001
- Free Software Foundation, Inc.
+ Copyright 1986, 1988, 1991, 1992, 1994, 1995, 1998, 1999, 2000, 2001,
+ 2002 Free Software Foundation, Inc.
This file is part of GDB.
@@ -25,10 +25,43 @@
static int sign_extend (int value, int bits);
-void
-_initialize_ns32k_tdep (void)
+char *
+ns32k_register_name_32082 (int regno)
{
- tm_print_insn = print_insn_ns32k;
+ static char *register_names[] =
+ {
+ "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
+ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
+ "sp", "fp", "pc", "ps",
+ "l0", "l1", "l2", "l3", "xx",
+ };
+
+ if (regno < 0)
+ return NULL;
+ if (regno >= sizeof (register_names) / sizeof (*register_names))
+ return NULL;
+
+ return (register_names[regno]);
+}
+
+char *
+ns32k_register_name_32382 (int regno)
+{
+ static char *register_names[] =
+ {
+ "r0", "r1", "r2", "r3", "r4", "r5", "r6", "r7",
+ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
+ "sp", "fp", "pc", "ps",
+ "fsr",
+ "l0", "l1", "l2", "l3", "l4", "l5", "l6", "l7", "xx",
+ };
+
+ if (regno < 0)
+ return NULL;
+ if (regno >= sizeof (register_names) / sizeof (*register_names))
+ return NULL;
+
+ return (register_names[regno]);
}
/* Advance PC across any function entry prologue instructions
@@ -188,3 +221,9 @@ ns32k_get_enter_addr (CORE_ADDR pc)
return enter_addr; /* pc is between enter and exit */
}
+
+void
+_initialize_ns32k_tdep (void)
+{
+ tm_print_insn = print_insn_ns32k;
+}