diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 98b9cb3139..d2b557ade1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +Fri Jun 6 14:43:23 1997 Keith Seitz + + * config/sh/tm-sh.h: add define for FPSCR_REGNUM + * sh-tdep.c (sh_show_regs): print out all registers for + the current processor + Fri Jun 6 13:01:55 1997 Andrew Cagney * remote-sim.c (gdbsim_kill): Remove call to depreciated function diff --git a/gdb/config/sh/tm-sh.h b/gdb/config/sh/tm-sh.h index 0fe3b5e8c8..0a3c0836dc 100644 --- a/gdb/config/sh/tm-sh.h +++ b/gdb/config/sh/tm-sh.h @@ -149,6 +149,7 @@ extern CORE_ADDR sh_skip_prologue (); #define MACL_REGNUM 21 #define SR_REGNUM 22 #define FPUL_REGNUM 23 +#define FPSCR_REGNUM 24 #define FP0_REGNUM 25 #define FP15_REGNUM 40 #define SSR_REGNUM 41 diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c index dcec846298..57075d9f3a 100644 --- a/gdb/sh-tdep.c +++ b/gdb/sh-tdep.c @@ -638,6 +638,13 @@ sh_show_regs (args, from_tty) char *args; int from_tty; { + int cpu = 0; + + if (strcmp (sh_processor_type, "sh3") == 0) + cpu = 1; + else if (strcmp (sh_processor_type, "sh3e") == 0) + cpu = 2; + printf_filtered ("PC=%08x SR=%08x PR=%08x MACH=%08x MACHL=%08x\n", read_register (PC_REGNUM), read_register (SR_REGNUM), @@ -645,7 +652,23 @@ sh_show_regs (args, from_tty) read_register (MACH_REGNUM), read_register (MACL_REGNUM)); - printf_filtered ("R0-R7 %08x %08x %08x %08x %08x %08x %08x %08x\n", + printf_filtered ("GBR=%08x VBR=%08x", + read_register (GBR_REGNUM), + read_register (VBR_REGNUM)); + if (cpu == 1 || cpu == 2) + { + printf_filtered (" SSR=%08x SPC=%08x", + read_register (SSR_REGNUM), + read_register (SPC_REGNUM)); + if (cpu ==2) + { + printf_filtered (" FPUL=%08x FPSCR=%08x", + read_register (FPUL_REGNUM), + read_register (FPSCR_REGNUM)); + } + } + + printf_filtered ("\nR0-R7 %08x %08x %08x %08x %08x %08x %08x %08x\n", read_register (0), read_register (1), read_register (2), @@ -663,6 +686,27 @@ sh_show_regs (args, from_tty) read_register (13), read_register (14), read_register (15)); + if (cpu == 2) + { + printf_filtered ("FP0-FP7 %08x %08x %08x %08x %08x %08x %08x %08x\n", + read_register (FP0_REGNUM + 0), + read_register (FP0_REGNUM + 1), + read_register (FP0_REGNUM + 2), + read_register (FP0_REGNUM + 3), + read_register (FP0_REGNUM + 4), + read_register (FP0_REGNUM + 5), + read_register (FP0_REGNUM + 6), + read_register (FP0_REGNUM + 7)); + printf_filtered ("FP8-FP15 %08x %08x %08x %08x %08x %08x %08x %08x\n", + read_register (FP0_REGNUM + 8), + read_register (FP0_REGNUM + 9), + read_register (FP0_REGNUM + 10), + read_register (FP0_REGNUM + 11), + read_register (FP0_REGNUM + 12), + read_register (FP0_REGNUM + 13), + read_register (FP0_REGNUM + 14), + read_register (FP0_REGNUM + 15)); + } } /* Function: extract_return_value