mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-14 11:25:52 +08:00
* gdbarch.sh (get_longjmp_target): Add FRAME argument.
* gdbarch.c, gdbarch.h: Regenerate. * infrun.c (handle_inferior_event): Pass current frame to gdbarch_get_longjmp_target. * alpha-tdep.c (alpha_get_longjmp_target): Add FRAME argument. Read registers from FRAME instead of using read_register. Use get_frame_arch instead of current_gdbarch. * arm-tdep.c (arm_get_longjmp_target): Likewise. * i386-tdep.c (i386_get_longjmp_target): Likewise. * m68k-tdep.c (m68k_get_longjmp_target): Likewise. * mips-linux-tdep.c (mips_linux_get_longjmp_target): Likewise. (mips64_linux_get_longjmp_target): Likewise. * mipsnbsd-tdep.c (mipsnbsd_get_longjmp_target): Likewise.
This commit is contained in:
@ -52,12 +52,12 @@ static struct target_so_ops mips_svr4_so_ops;
|
||||
#define MIPS_LINUX_JB_PC 0
|
||||
|
||||
static int
|
||||
mips_linux_get_longjmp_target (CORE_ADDR *pc)
|
||||
mips_linux_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc)
|
||||
{
|
||||
CORE_ADDR jb_addr;
|
||||
char buf[gdbarch_ptr_bit (current_gdbarch) / TARGET_CHAR_BIT];
|
||||
|
||||
jb_addr = read_register (MIPS_A0_REGNUM);
|
||||
jb_addr = get_frame_register_unsigned (frame, MIPS_A0_REGNUM);
|
||||
|
||||
if (target_read_memory (jb_addr
|
||||
+ MIPS_LINUX_JB_PC * MIPS_LINUX_JB_ELEMENT_SIZE,
|
||||
@ -254,13 +254,13 @@ mips_fill_fpregset (const struct regcache *regcache,
|
||||
#define MIPS64_LINUX_JB_PC 0
|
||||
|
||||
static int
|
||||
mips64_linux_get_longjmp_target (CORE_ADDR *pc)
|
||||
mips64_linux_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc)
|
||||
{
|
||||
CORE_ADDR jb_addr;
|
||||
void *buf = alloca (gdbarch_ptr_bit (current_gdbarch) / TARGET_CHAR_BIT);
|
||||
int element_size = gdbarch_ptr_bit (current_gdbarch) == 32 ? 4 : 8;
|
||||
|
||||
jb_addr = read_register (MIPS_A0_REGNUM);
|
||||
jb_addr = get_frame_register_unsigned (frame, MIPS_A0_REGNUM);
|
||||
|
||||
if (target_read_memory (jb_addr + MIPS64_LINUX_JB_PC * element_size,
|
||||
buf,
|
||||
|
Reference in New Issue
Block a user