[PATCH] REGISTER_NAME() for ns32k
Jason R Thorpe
thorpej@wasabisystems.com
Sun May 26 10:59:00 GMT 2002
Committed per multi-arch rule.
* 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.
--
-- Jason R. Thorpe <thorpej@wasabisystems.com>
-------------- next part --------------
Index: ns32k-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/ns32k-tdep.c,v
retrieving revision 1.7
diff -u -r1.7 ns32k-tdep.c
--- ns32k-tdep.c 1 Dec 2001 22:02:02 -0000 1.7
+++ ns32k-tdep.c 26 May 2002 09:16:42 -0000
@@ -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
@@ -187,4 +220,10 @@
return 0; /* function has no enter/exit */
return enter_addr; /* pc is between enter and exit */
+}
+
+void
+_initialize_ns32k_tdep (void)
+{
+ tm_print_insn = print_insn_ns32k;
}
Index: config/ns32k/tm-nbsd.h
===================================================================
RCS file: /cvs/src/src/gdb/config/ns32k/tm-nbsd.h,v
retrieving revision 1.3
diff -u -r1.3 tm-nbsd.h
--- config/ns32k/tm-nbsd.h 22 May 2002 03:59:54 -0000 1.3
+++ config/ns32k/tm-nbsd.h 26 May 2002 09:16:46 -0000
@@ -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)
Index: config/ns32k/tm-umax.h
===================================================================
RCS file: /cvs/src/src/gdb/config/ns32k/tm-umax.h,v
retrieving revision 1.9
diff -u -r1.9 tm-umax.h
--- config/ns32k/tm-umax.h 29 Jan 2002 04:42:42 -0000 1.9
+++ config/ns32k/tm-umax.h 26 May 2002 09:16:46 -0000
@@ -76,15 +76,10 @@
#define NUM_GENERAL_REGS 8
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
+extern char *ns32k_register_name_32082 (int);
+extern char *ns32k_register_name_32382 (int);
-#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", \
- }
+#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,
More information about the Gdb-patches
mailing list