aboutsummaryrefslogtreecommitdiff
path: root/gdb/i386-tdep.c
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2001-10-31 22:24:06 +0000
committerMark Kettenis <kettenis@gnu.org>2001-10-31 22:24:06 +0000
commitfc633446cdd297e770680b1ec4983c5db4ae59d2 (patch)
tree7ef01f6bb81e501fcc8babaa6ff8e338c249caf4 /gdb/i386-tdep.c
parentaaa68313b8a2c635670eb03130a4d06f195c93c5 (diff)
downloadgdb-fc633446cdd297e770680b1ec4983c5db4ae59d2.zip
gdb-fc633446cdd297e770680b1ec4983c5db4ae59d2.tar.gz
gdb-fc633446cdd297e770680b1ec4983c5db4ae59d2.tar.bz2
* config/i386/tm-i386.h (REGISTER_NAMES): Remove.
(REGISTER_NAME): New define. (i386_register_name): New prototype. * i386-tdep.c (i386_register_names): New variable. (i386_register_name): New function. * config/i386/tm-i386os9k.h, config/i386/tm-ptx.h, config/i386/tm-symmetry.h: Undefine REGISTER_NAME instead of REGISTER_NAMES.
Diffstat (limited to 'gdb/i386-tdep.c')
-rw-r--r--gdb/i386-tdep.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 700ae25..4035e93 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -37,6 +37,23 @@
#include "gdb_assert.h"
+/* Names of the registers. The first 10 registers match the register
+ numbering scheme used by GCC for stabs and DWARF. */
+static char *i386_register_names[] =
+{
+ "eax", "ecx", "edx", "ebx",
+ "esp", "ebp", "esi", "edi",
+ "eip", "eflags", "cs", "ss",
+ "ds", "es", "fs", "gs",
+ "st0", "st1", "st2", "st3",
+ "st4", "st5", "st6", "st7",
+ "fctrl", "fstat", "ftag", "fiseg",
+ "fioff", "foseg", "fooff", "fop",
+ "xmm0", "xmm1", "xmm2", "xmm3",
+ "xmm4", "xmm5", "xmm6", "xmm7",
+ "mxcsr"
+};
+
/* i386_register_byte[i] is the offset into the register file of the
start of register number i. We initialize this from
i386_register_raw_size. */
@@ -62,6 +79,19 @@ int i386_register_raw_size[MAX_NUM_REGS] = {
type of register i. */
int i386_register_virtual_size[MAX_NUM_REGS];
+/* Return the name of register REG. */
+
+char *
+i386_register_name (int reg)
+{
+ if (reg < 0)
+ return NULL;
+ if (reg >= sizeof (i386_register_names) / sizeof (*i386_register_names))
+ return NULL;
+
+ return i386_register_names[reg];
+}
+
/* Convert stabs register number REG to the appropriate register
number used by GDB. */