aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog7
-rw-r--r--gdb/config/sh/tm-sh.h4
-rw-r--r--gdb/sh-tdep.c13
3 files changed, 16 insertions, 8 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2c012d3..a537ceb 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,12 @@
2000-12-15 Elena Zannoni <ezannoni@kwikemart.cygnus.com>
+ * sh-tdep.c (sh_generic_show_regs, sh3_show_regs, sh3e_show_regs,
+ sh3_dsp_show_regs, sh4_show_regs, sh_dsp_show_regs): SR_REGNUM is
+ now part of gdbarch_tdep structure.
+ (sh_gdbarch_init): Initialize SR_REGNUM.
+
+ * config/sh/tm-sh.h (struct gdbarch_tdep): Add field SR_REGNUM.
+
* sh-tdep.c (sh_do_pseudo_register): Indent properly. Call
do_dr_register_info() only for DR registers.
(sh_sh4_register_name): Add comments with numbers.
diff --git a/gdb/config/sh/tm-sh.h b/gdb/config/sh/tm-sh.h
index 5817c0b..34495e7 100644
--- a/gdb/config/sh/tm-sh.h
+++ b/gdb/config/sh/tm-sh.h
@@ -27,6 +27,7 @@ struct gdbarch_tdep
{
int FPUL_REGNUM; /* sh3e, sh4 */
int FPSCR_REGNUM; /* sh3e, sh4 */
+ int SR_REGNUM; /* sh-dsp, sh3, sh3-dsp, sh3e, sh4 */
int DSR_REGNUM; /* sh-dsp, sh3-dsp */
int FP_LAST_REGNUM; /* sh3e, sh4 */
int A0G_REGNUM; /* sh-dsp, sh3-dsp */
@@ -61,8 +62,7 @@ enum
GBR_REGNUM = 18,
VBR_REGNUM = 19,
MACH_REGNUM = 20,
- MACL_REGNUM = 21,
- SR_REGNUM = 22
+ MACL_REGNUM = 21
};
/* Define DO_REGISTERS_INFO() to do machine-specific formatting
diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
index 013461d..5e89dd9 100644
--- a/gdb/sh-tdep.c
+++ b/gdb/sh-tdep.c
@@ -1096,7 +1096,7 @@ sh_generic_show_regs (void)
{
printf_filtered ("PC=%s SR=%08lx PR=%08lx MACH=%08lx MACHL=%08lx\n",
paddr (read_register (PC_REGNUM)),
- (long) read_register (SR_REGNUM),
+ (long) read_register (gdbarch_tdep (current_gdbarch)->SR_REGNUM),
(long) read_register (PR_REGNUM),
(long) read_register (MACH_REGNUM),
(long) read_register (MACL_REGNUM));
@@ -1130,7 +1130,7 @@ sh3_show_regs (void)
{
printf_filtered ("PC=%s SR=%08lx PR=%08lx MACH=%08lx MACHL=%08lx\n",
paddr (read_register (PC_REGNUM)),
- (long) read_register (SR_REGNUM),
+ (long) read_register (gdbarch_tdep (current_gdbarch)->SR_REGNUM),
(long) read_register (PR_REGNUM),
(long) read_register (MACH_REGNUM),
(long) read_register (MACL_REGNUM));
@@ -1168,7 +1168,7 @@ sh3e_show_regs (void)
{
printf_filtered ("PC=%s SR=%08lx PR=%08lx MACH=%08lx MACHL=%08lx\n",
paddr (read_register (PC_REGNUM)),
- (long) read_register (SR_REGNUM),
+ (long) read_register (gdbarch_tdep (current_gdbarch)->SR_REGNUM),
(long) read_register (PR_REGNUM),
(long) read_register (MACH_REGNUM),
(long) read_register (MACL_REGNUM));
@@ -1227,7 +1227,7 @@ sh3_dsp_show_regs (void)
{
printf_filtered ("PC=%s SR=%08lx PR=%08lx MACH=%08lx MACHL=%08lx\n",
paddr (read_register (PC_REGNUM)),
- (long) read_register (SR_REGNUM),
+ (long) read_register (gdbarch_tdep (current_gdbarch)->SR_REGNUM),
(long) read_register (PR_REGNUM),
(long) read_register (MACH_REGNUM),
(long) read_register (MACL_REGNUM));
@@ -1285,7 +1285,7 @@ sh4_show_regs (void)
int pr = read_register (gdbarch_tdep (current_gdbarch)->FPSCR_REGNUM) & 0x80000;
printf_filtered ("PC=%s SR=%08lx PR=%08lx MACH=%08lx MACHL=%08lx\n",
paddr (read_register (PC_REGNUM)),
- (long) read_register (SR_REGNUM),
+ (long) read_register (gdbarch_tdep (current_gdbarch)->SR_REGNUM),
(long) read_register (PR_REGNUM),
(long) read_register (MACH_REGNUM),
(long) read_register (MACL_REGNUM));
@@ -1348,7 +1348,7 @@ sh_dsp_show_regs (void)
{
printf_filtered ("PC=%s SR=%08lx PR=%08lx MACH=%08lx MACHL=%08lx\n",
paddr (read_register (PC_REGNUM)),
- (long) read_register (SR_REGNUM),
+ (long) read_register (gdbarch_tdep (current_gdbarch)->SR_REGNUM),
(long) read_register (PR_REGNUM),
(long) read_register (MACH_REGNUM),
(long) read_register (MACL_REGNUM));
@@ -1881,6 +1881,7 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
statement below. */
tdep->FPUL_REGNUM = -1;
tdep->FPSCR_REGNUM = -1;
+ tdep->SR_REGNUM = 22;
tdep->DSR_REGNUM = -1;
tdep->FP_LAST_REGNUM = -1;
tdep->A0G_REGNUM = -1;