diff options
author | Mark Alexander <marka@cygnus> | 1999-01-20 23:54:03 +0000 |
---|---|---|
committer | Mark Alexander <marka@cygnus> | 1999-01-20 23:54:03 +0000 |
commit | 7363ff9083bcd53b539c1688704d186f7aff53b1 (patch) | |
tree | 0117a160503798317c72a3a2b21e92156cf5ac5c /gdb/h8300-tdep.c | |
parent | caf8b76ba26837676347a906132fcc3217894468 (diff) | |
download | gdb-7363ff9083bcd53b539c1688704d186f7aff53b1.zip gdb-7363ff9083bcd53b539c1688704d186f7aff53b1.tar.gz gdb-7363ff9083bcd53b539c1688704d186f7aff53b1.tar.bz2 |
Changes for PR 8996:
* h8300-tdep.c (original_register_names, h8300h_register_names,
h8300_register_names): Define new variables.
(set_register_names): New function to set register names based on
current CPU type.
(h8300_command, h8300h_command, h8300s_command): Call
set_register_names.
* config/h8300/tm-h8300.h (h8300_register_names): Declare.
(REGISTER_NAME): Define to refer to h8300_register_names.
Diffstat (limited to 'gdb/h8300-tdep.c')
-rw-r--r-- | gdb/h8300-tdep.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/gdb/h8300-tdep.c b/gdb/h8300-tdep.c index 984f6c4..3fbe9e1 100644 --- a/gdb/h8300-tdep.c +++ b/gdb/h8300-tdep.c @@ -50,6 +50,19 @@ extern int h8300hmode, h8300smode; #define IS_MOVK_R5(x) (x==0x7905) #define IS_SUB_R5SP(x) (x==0x1957) + +/* The register names change depending on whether the h8300h processor + type is selected. */ + +static char *original_register_names[] = REGISTER_NAMES; + +static char *h8300h_register_names[] = + {"er0", "er1", "er2", "er3", "er4", "er5", "er6", + "sp", "ccr","pc","cycles","tick","inst" }; + +char **h8300_register_names = original_register_names; + + /* Local function declarations. */ static CORE_ADDR examine_prologue (); @@ -756,11 +769,21 @@ get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval) struct cmd_list_element *setmemorylist; static void +set_register_names () +{ + if (h8300hmode != 0) + h8300_register_names = h8300h_register_names; + else + h8300_register_names = original_register_names; +} + +static void h8300_command(args, from_tty) { extern int h8300hmode; h8300hmode = 0; h8300smode = 0; + set_register_names (); } static void @@ -769,7 +792,9 @@ h8300h_command(args, from_tty) extern int h8300hmode; h8300hmode = 1; h8300smode = 0; + set_register_names (); } + static void h8300s_command(args, from_tty) { @@ -777,6 +802,7 @@ h8300s_command(args, from_tty) extern int h8300hmode; h8300smode = 1; h8300hmode = 1; + set_register_names (); } @@ -816,6 +842,7 @@ set_machine_hook (filename) h8300smode = 0; h8300hmode = 0; } + set_register_names (); } void |