summaryrefslogtreecommitdiff
path: root/gdb/parse.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2002-04-09 03:06:14 +0000
committerAndrew Cagney <cagney@redhat.com>2002-04-09 03:06:14 +0000
commitadc542866a37461a5366c774bf170e56e1272d7e (patch)
treea0a818262bd1e496d3c7f1947af8284ef4438417 /gdb/parse.c
parent27a98294bcc34807e3d91f5467297e2b4b2b5ea3 (diff)
downloadgdb-adc542866a37461a5366c774bf170e56e1272d7e.tar.gz
* findvar.c: Include "builtin-regs.h".
(value_of_register): Call value_of_builtin_reg when applicable. * parse.c: Include "builtin-regs.h" and "gdb_assert.h". (target_map_name_to_register): Call builtin_reg_map_name_to_regnum. * Makefile.in (SFILES): Add builtin-regs.c and std-regs.c. (COMMON_OBS): Add builtin-regs.o and std-regs.o. (builtin_regs_h): Define. (builtin-regs.o): New target. (findvar.o): Add $(builtin_regs_h). * builtin-regs.c, builtin-regs.h: New files. * std-regs.c: New file. Partial fix for PR gdb/251.
Diffstat (limited to 'gdb/parse.c')
-rw-r--r--gdb/parse.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/gdb/parse.c b/gdb/parse.c
index 40491cfb381..eae55865f28 100644
--- a/gdb/parse.c
+++ b/gdb/parse.c
@@ -47,6 +47,8 @@
#include "inferior.h" /* for NUM_PSEUDO_REGS. NOTE: replace
with "gdbarch.h" when appropriate. */
#include "doublest.h"
+#include "builtin-regs.h"
+#include "gdb_assert.h"
/* Symbols which architectures can redefine. */
@@ -133,6 +135,14 @@ target_map_name_to_register (char *str, int len)
return std_regs[i].regnum;
}
+ /* Try builtin registers. */
+ i = builtin_reg_map_name_to_regnum (str, len);
+ if (i >= 0)
+ {
+ gdb_assert (i >= NUM_REGS + NUM_PSEUDO_REGS);
+ return i;
+ }
+
return -1;
}