* sh-tdep.h (sh_show_regs): Add FRAME parameter.
* sh-tdep.c (sh_show_regs): Likewise. (sh_show_regs_command): Pass current frame to sh_show_regs routine. (sh_generic_show_regs): Add FRAME parameter. Use register values from that frame instead of calling read_register. (sh3_show_regs, sh2e_show_regs, sh2a_show_regs, sh2a_nofpu_show_regs, sh3e_show_regs, sh3_dsp_show_regs, sh4_show_regs, sh4_nofpu_show_regs, sh_dsp_show_regs): Likewise. * sh64-tdep.c (sh64_show_media_regs, sh64_show_compact_regs, sh64_show_regs): Likewise.
This commit is contained in:
parent
a961495892
commit
c458d6db4b
4 changed files with 638 additions and 491 deletions
|
@ -1,3 +1,16 @@
|
|||
2007-06-15 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* sh-tdep.h (sh_show_regs): Add FRAME parameter.
|
||||
* sh-tdep.c (sh_show_regs): Likewise.
|
||||
(sh_show_regs_command): Pass current frame to sh_show_regs routine.
|
||||
(sh_generic_show_regs): Add FRAME parameter. Use register
|
||||
values from that frame instead of calling read_register.
|
||||
(sh3_show_regs, sh2e_show_regs, sh2a_show_regs, sh2a_nofpu_show_regs,
|
||||
sh3e_show_regs, sh3_dsp_show_regs, sh4_show_regs, sh4_nofpu_show_regs,
|
||||
sh_dsp_show_regs): Likewise.
|
||||
* sh64-tdep.c (sh64_show_media_regs, sh64_show_compact_regs,
|
||||
sh64_show_regs): Likewise.
|
||||
|
||||
2007-06-15 Ulrich Weigand <uweigand@de.ibm.com>
|
||||
|
||||
* mips-tdep.c (deprecated_mips_set_processor_regs_hack): Read from
|
||||
|
|
990
gdb/sh-tdep.c
990
gdb/sh-tdep.c
File diff suppressed because it is too large
Load diff
|
@ -85,6 +85,6 @@ enum
|
|||
};
|
||||
|
||||
extern gdbarch_init_ftype sh64_gdbarch_init;
|
||||
extern void sh64_show_regs (void);
|
||||
extern void sh64_show_regs (struct frame_info *);
|
||||
|
||||
#endif /* SH_TDEP_H */
|
||||
|
|
124
gdb/sh64-tdep.c
124
gdb/sh64-tdep.c
|
@ -1324,93 +1324,103 @@ sh64_return_value (struct gdbarch *gdbarch, struct type *type,
|
|||
}
|
||||
|
||||
static void
|
||||
sh64_show_media_regs (void)
|
||||
sh64_show_media_regs (struct frame_info *frame)
|
||||
{
|
||||
int i;
|
||||
|
||||
printf_filtered ("PC=%s SR=%016llx \n",
|
||||
paddr (read_register (PC_REGNUM)),
|
||||
(long long) read_register (SR_REGNUM));
|
||||
printf_filtered
|
||||
("PC=%s SR=%016llx \n",
|
||||
paddr (get_frame_register_unsigned (frame, PC_REGNUM)),
|
||||
(long long) get_frame_register_unsigned (frame, SR_REGNUM));
|
||||
|
||||
printf_filtered ("SSR=%016llx SPC=%016llx \n",
|
||||
(long long) read_register (SSR_REGNUM),
|
||||
(long long) read_register (SPC_REGNUM));
|
||||
printf_filtered ("FPSCR=%016lx\n ",
|
||||
(long) read_register (FPSCR_REGNUM));
|
||||
printf_filtered
|
||||
("SSR=%016llx SPC=%016llx \n",
|
||||
(long long) get_frame_register_unsigned (frame, SSR_REGNUM),
|
||||
(long long) get_frame_register_unsigned (frame, SPC_REGNUM));
|
||||
printf_filtered
|
||||
("FPSCR=%016lx\n ",
|
||||
(long) get_frame_register_unsigned (frame, FPSCR_REGNUM));
|
||||
|
||||
for (i = 0; i < 64; i = i + 4)
|
||||
printf_filtered ("\nR%d-R%d %016llx %016llx %016llx %016llx\n",
|
||||
i, i + 3,
|
||||
(long long) read_register (i + 0),
|
||||
(long long) read_register (i + 1),
|
||||
(long long) read_register (i + 2),
|
||||
(long long) read_register (i + 3));
|
||||
printf_filtered
|
||||
("\nR%d-R%d %016llx %016llx %016llx %016llx\n",
|
||||
i, i + 3,
|
||||
(long long) get_frame_register_unsigned (frame, i + 0),
|
||||
(long long) get_frame_register_unsigned (frame, i + 1),
|
||||
(long long) get_frame_register_unsigned (frame, i + 2),
|
||||
(long long) get_frame_register_unsigned (frame, i + 3));
|
||||
|
||||
printf_filtered ("\n");
|
||||
|
||||
for (i = 0; i < 64; i = i + 8)
|
||||
printf_filtered ("FR%d-FR%d %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n",
|
||||
i, i + 7,
|
||||
(long) read_register (FP0_REGNUM + i + 0),
|
||||
(long) read_register (FP0_REGNUM + i + 1),
|
||||
(long) read_register (FP0_REGNUM + i + 2),
|
||||
(long) read_register (FP0_REGNUM + i + 3),
|
||||
(long) read_register (FP0_REGNUM + i + 4),
|
||||
(long) read_register (FP0_REGNUM + i + 5),
|
||||
(long) read_register (FP0_REGNUM + i + 6),
|
||||
(long) read_register (FP0_REGNUM + i + 7));
|
||||
printf_filtered
|
||||
("FR%d-FR%d %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n",
|
||||
i, i + 7,
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 0),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 1),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 2),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 3),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 4),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 5),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 6),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 7));
|
||||
}
|
||||
|
||||
static void
|
||||
sh64_show_compact_regs (void)
|
||||
sh64_show_compact_regs (struct frame_info *frame)
|
||||
{
|
||||
int i;
|
||||
|
||||
printf_filtered ("PC=%s \n",
|
||||
paddr (read_register (PC_C_REGNUM)));
|
||||
printf_filtered
|
||||
("PC=%s \n",
|
||||
paddr (get_frame_register_unsigned (frame, PC_C_REGNUM)));
|
||||
|
||||
printf_filtered ("GBR=%08lx MACH=%08lx MACL=%08lx PR=%08lx T=%08lx\n",
|
||||
(long) read_register (GBR_C_REGNUM),
|
||||
(long) read_register (MACH_C_REGNUM),
|
||||
(long) read_register (MACL_C_REGNUM),
|
||||
(long) read_register (PR_C_REGNUM),
|
||||
(long) read_register (T_C_REGNUM));
|
||||
printf_filtered ("FPSCR=%08lx FPUL=%08lx\n",
|
||||
(long) read_register (FPSCR_C_REGNUM),
|
||||
(long) read_register (FPUL_C_REGNUM));
|
||||
printf_filtered
|
||||
("GBR=%08lx MACH=%08lx MACL=%08lx PR=%08lx T=%08lx\n",
|
||||
(long) get_frame_register_unsigned (frame, GBR_C_REGNUM),
|
||||
(long) get_frame_register_unsigned (frame, MACH_C_REGNUM),
|
||||
(long) get_frame_register_unsigned (frame, MACL_C_REGNUM),
|
||||
(long) get_frame_register_unsigned (frame, PR_C_REGNUM),
|
||||
(long) get_frame_register_unsigned (frame, T_C_REGNUM));
|
||||
printf_filtered
|
||||
("FPSCR=%08lx FPUL=%08lx\n",
|
||||
(long) get_frame_register_unsigned (frame, FPSCR_C_REGNUM),
|
||||
(long) get_frame_register_unsigned (frame, FPUL_C_REGNUM));
|
||||
|
||||
for (i = 0; i < 16; i = i + 4)
|
||||
printf_filtered ("\nR%d-R%d %08lx %08lx %08lx %08lx\n",
|
||||
i, i + 3,
|
||||
(long) read_register (i + 0),
|
||||
(long) read_register (i + 1),
|
||||
(long) read_register (i + 2),
|
||||
(long) read_register (i + 3));
|
||||
printf_filtered
|
||||
("\nR%d-R%d %08lx %08lx %08lx %08lx\n",
|
||||
i, i + 3,
|
||||
(long) get_frame_register_unsigned (frame, i + 0),
|
||||
(long) get_frame_register_unsigned (frame, i + 1),
|
||||
(long) get_frame_register_unsigned (frame, i + 2),
|
||||
(long) get_frame_register_unsigned (frame, i + 3));
|
||||
|
||||
printf_filtered ("\n");
|
||||
|
||||
for (i = 0; i < 16; i = i + 8)
|
||||
printf_filtered ("FR%d-FR%d %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n",
|
||||
i, i + 7,
|
||||
(long) read_register (FP0_REGNUM + i + 0),
|
||||
(long) read_register (FP0_REGNUM + i + 1),
|
||||
(long) read_register (FP0_REGNUM + i + 2),
|
||||
(long) read_register (FP0_REGNUM + i + 3),
|
||||
(long) read_register (FP0_REGNUM + i + 4),
|
||||
(long) read_register (FP0_REGNUM + i + 5),
|
||||
(long) read_register (FP0_REGNUM + i + 6),
|
||||
(long) read_register (FP0_REGNUM + i + 7));
|
||||
printf_filtered
|
||||
("FR%d-FR%d %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n",
|
||||
i, i + 7,
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 0),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 1),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 2),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 3),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 4),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 5),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 6),
|
||||
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 7));
|
||||
}
|
||||
|
||||
/* FIXME!!! This only shows the registers for shmedia, excluding the
|
||||
pseudo registers. */
|
||||
void
|
||||
sh64_show_regs (void)
|
||||
sh64_show_regs (struct frame_info *frame)
|
||||
{
|
||||
if (pc_is_isa32 (get_frame_pc (get_selected_frame (NULL))))
|
||||
sh64_show_media_regs ();
|
||||
if (pc_is_isa32 (get_frame_pc (frame)))
|
||||
sh64_show_media_regs (frame);
|
||||
else
|
||||
sh64_show_compact_regs ();
|
||||
sh64_show_compact_regs (frame);
|
||||
}
|
||||
|
||||
/* *INDENT-OFF* */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue