mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-07 07:58:54 +08:00
* 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:
@ -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>
|
2007-06-15 Ulrich Weigand <uweigand@de.ibm.com>
|
||||||
|
|
||||||
* mips-tdep.c (deprecated_mips_set_processor_regs_hack): Read from
|
* mips-tdep.c (deprecated_mips_set_processor_regs_hack): Read from
|
||||||
|
974
gdb/sh-tdep.c
974
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 gdbarch_init_ftype sh64_gdbarch_init;
|
||||||
extern void sh64_show_regs (void);
|
extern void sh64_show_regs (struct frame_info *);
|
||||||
|
|
||||||
#endif /* SH_TDEP_H */
|
#endif /* SH_TDEP_H */
|
||||||
|
116
gdb/sh64-tdep.c
116
gdb/sh64-tdep.c
@ -1324,93 +1324,103 @@ sh64_return_value (struct gdbarch *gdbarch, struct type *type,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sh64_show_media_regs (void)
|
sh64_show_media_regs (struct frame_info *frame)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
printf_filtered ("PC=%s SR=%016llx \n",
|
printf_filtered
|
||||||
paddr (read_register (PC_REGNUM)),
|
("PC=%s SR=%016llx \n",
|
||||||
(long long) read_register (SR_REGNUM));
|
paddr (get_frame_register_unsigned (frame, PC_REGNUM)),
|
||||||
|
(long long) get_frame_register_unsigned (frame, SR_REGNUM));
|
||||||
|
|
||||||
printf_filtered ("SSR=%016llx SPC=%016llx \n",
|
printf_filtered
|
||||||
(long long) read_register (SSR_REGNUM),
|
("SSR=%016llx SPC=%016llx \n",
|
||||||
(long long) read_register (SPC_REGNUM));
|
(long long) get_frame_register_unsigned (frame, SSR_REGNUM),
|
||||||
printf_filtered ("FPSCR=%016lx\n ",
|
(long long) get_frame_register_unsigned (frame, SPC_REGNUM));
|
||||||
(long) read_register (FPSCR_REGNUM));
|
printf_filtered
|
||||||
|
("FPSCR=%016lx\n ",
|
||||||
|
(long) get_frame_register_unsigned (frame, FPSCR_REGNUM));
|
||||||
|
|
||||||
for (i = 0; i < 64; i = i + 4)
|
for (i = 0; i < 64; i = i + 4)
|
||||||
printf_filtered ("\nR%d-R%d %016llx %016llx %016llx %016llx\n",
|
printf_filtered
|
||||||
|
("\nR%d-R%d %016llx %016llx %016llx %016llx\n",
|
||||||
i, i + 3,
|
i, i + 3,
|
||||||
(long long) read_register (i + 0),
|
(long long) get_frame_register_unsigned (frame, i + 0),
|
||||||
(long long) read_register (i + 1),
|
(long long) get_frame_register_unsigned (frame, i + 1),
|
||||||
(long long) read_register (i + 2),
|
(long long) get_frame_register_unsigned (frame, i + 2),
|
||||||
(long long) read_register (i + 3));
|
(long long) get_frame_register_unsigned (frame, i + 3));
|
||||||
|
|
||||||
printf_filtered ("\n");
|
printf_filtered ("\n");
|
||||||
|
|
||||||
for (i = 0; i < 64; i = i + 8)
|
for (i = 0; i < 64; i = i + 8)
|
||||||
printf_filtered ("FR%d-FR%d %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n",
|
printf_filtered
|
||||||
|
("FR%d-FR%d %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n",
|
||||||
i, i + 7,
|
i, i + 7,
|
||||||
(long) read_register (FP0_REGNUM + i + 0),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 0),
|
||||||
(long) read_register (FP0_REGNUM + i + 1),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 1),
|
||||||
(long) read_register (FP0_REGNUM + i + 2),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 2),
|
||||||
(long) read_register (FP0_REGNUM + i + 3),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 3),
|
||||||
(long) read_register (FP0_REGNUM + i + 4),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 4),
|
||||||
(long) read_register (FP0_REGNUM + i + 5),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 5),
|
||||||
(long) read_register (FP0_REGNUM + i + 6),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 6),
|
||||||
(long) read_register (FP0_REGNUM + i + 7));
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 7));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
sh64_show_compact_regs (void)
|
sh64_show_compact_regs (struct frame_info *frame)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
printf_filtered ("PC=%s \n",
|
printf_filtered
|
||||||
paddr (read_register (PC_C_REGNUM)));
|
("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",
|
printf_filtered
|
||||||
(long) read_register (GBR_C_REGNUM),
|
("GBR=%08lx MACH=%08lx MACL=%08lx PR=%08lx T=%08lx\n",
|
||||||
(long) read_register (MACH_C_REGNUM),
|
(long) get_frame_register_unsigned (frame, GBR_C_REGNUM),
|
||||||
(long) read_register (MACL_C_REGNUM),
|
(long) get_frame_register_unsigned (frame, MACH_C_REGNUM),
|
||||||
(long) read_register (PR_C_REGNUM),
|
(long) get_frame_register_unsigned (frame, MACL_C_REGNUM),
|
||||||
(long) read_register (T_C_REGNUM));
|
(long) get_frame_register_unsigned (frame, PR_C_REGNUM),
|
||||||
printf_filtered ("FPSCR=%08lx FPUL=%08lx\n",
|
(long) get_frame_register_unsigned (frame, T_C_REGNUM));
|
||||||
(long) read_register (FPSCR_C_REGNUM),
|
printf_filtered
|
||||||
(long) read_register (FPUL_C_REGNUM));
|
("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)
|
for (i = 0; i < 16; i = i + 4)
|
||||||
printf_filtered ("\nR%d-R%d %08lx %08lx %08lx %08lx\n",
|
printf_filtered
|
||||||
|
("\nR%d-R%d %08lx %08lx %08lx %08lx\n",
|
||||||
i, i + 3,
|
i, i + 3,
|
||||||
(long) read_register (i + 0),
|
(long) get_frame_register_unsigned (frame, i + 0),
|
||||||
(long) read_register (i + 1),
|
(long) get_frame_register_unsigned (frame, i + 1),
|
||||||
(long) read_register (i + 2),
|
(long) get_frame_register_unsigned (frame, i + 2),
|
||||||
(long) read_register (i + 3));
|
(long) get_frame_register_unsigned (frame, i + 3));
|
||||||
|
|
||||||
printf_filtered ("\n");
|
printf_filtered ("\n");
|
||||||
|
|
||||||
for (i = 0; i < 16; i = i + 8)
|
for (i = 0; i < 16; i = i + 8)
|
||||||
printf_filtered ("FR%d-FR%d %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n",
|
printf_filtered
|
||||||
|
("FR%d-FR%d %08lx %08lx %08lx %08lx %08lx %08lx %08lx %08lx\n",
|
||||||
i, i + 7,
|
i, i + 7,
|
||||||
(long) read_register (FP0_REGNUM + i + 0),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 0),
|
||||||
(long) read_register (FP0_REGNUM + i + 1),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 1),
|
||||||
(long) read_register (FP0_REGNUM + i + 2),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 2),
|
||||||
(long) read_register (FP0_REGNUM + i + 3),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 3),
|
||||||
(long) read_register (FP0_REGNUM + i + 4),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 4),
|
||||||
(long) read_register (FP0_REGNUM + i + 5),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 5),
|
||||||
(long) read_register (FP0_REGNUM + i + 6),
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 6),
|
||||||
(long) read_register (FP0_REGNUM + i + 7));
|
(long) get_frame_register_unsigned (frame, FP0_REGNUM + i + 7));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME!!! This only shows the registers for shmedia, excluding the
|
/* FIXME!!! This only shows the registers for shmedia, excluding the
|
||||||
pseudo registers. */
|
pseudo registers. */
|
||||||
void
|
void
|
||||||
sh64_show_regs (void)
|
sh64_show_regs (struct frame_info *frame)
|
||||||
{
|
{
|
||||||
if (pc_is_isa32 (get_frame_pc (get_selected_frame (NULL))))
|
if (pc_is_isa32 (get_frame_pc (frame)))
|
||||||
sh64_show_media_regs ();
|
sh64_show_media_regs (frame);
|
||||||
else
|
else
|
||||||
sh64_show_compact_regs ();
|
sh64_show_compact_regs (frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* *INDENT-OFF* */
|
/* *INDENT-OFF* */
|
||||||
|
Reference in New Issue
Block a user