* config/alpha/tm-alpha.h (REGISTER_NAMES): Remove.
(REGISTER_NAME): Define.
+2002-01-18 Jason Thorpe <thorpej@wasabisystems.com>
+
+ * alpha-tdep.c (alpha_register_name): New function.
+ * config/alpha/tm-alpha.h (REGISTER_NAMES): Remove.
+ (REGISTER_NAME): Define.
+
2002-01-18 Jason Thorpe <thorpej@wasabisystems.com>
* config/nm-nbsd.h (KERNEL_U_ADDR): Remove.
}
\f
+char *
+alpha_register_name (int regno)
+{
+ static char *register_names[] =
+ {
+ "v0", "t0", "t1", "t2", "t3", "t4", "t5", "t6",
+ "t7", "s0", "s1", "s2", "s3", "s4", "s5", "fp",
+ "a0", "a1", "a2", "a3", "a4", "a5", "t8", "t9",
+ "t10", "t11", "ra", "t12", "at", "gp", "sp", "zero",
+ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
+ "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
+ "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
+ "f24", "f25", "f26", "f27", "f28", "f29", "f30", "fpcr",
+ "pc", "vfp",
+ };
+
+ if (regno < 0)
+ return (NULL);
+ if (regno >= (sizeof(register_names) / sizeof(*register_names)))
+ return (NULL);
+ return (register_names[regno]);
+}
+\f
+
/* Guaranteed to set frame->saved_regs to some values (it never leaves it
NULL). */
#define NUM_REGS 66
-/* Initializer for an array of names of registers.
- There should be NUM_REGS strings in this initializer. */
-
-#define REGISTER_NAMES \
- { "v0", "t0", "t1", "t2", "t3", "t4", "t5", "t6", \
- "t7", "s0", "s1", "s2", "s3", "s4", "s5", "fp", \
- "a0", "a1", "a2", "a3", "a4", "a5", "t8", "t9", \
- "t10", "t11", "ra", "t12", "at", "gp", "sp", "zero", \
- "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \
- "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \
- "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",\
- "f24", "f25", "f26", "f27", "f28", "f29", "f30", "fpcr",\
- "pc", "vfp", \
- }
+
+/* Return the name of register REGNO. */
+
+#define REGISTER_NAME(regno) alpha_register_name ((regno))
+extern char *alpha_register_name (int);
+
/* Register numbers of various important registers.
Note that most of these values are "real" register numbers,