diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-06-15 22:41:13 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-06-15 22:41:13 +0000 |
commit | 60ade65d49ec4fd35e72823c786daf5043efca0a (patch) | |
tree | 82c064002563137d7ddd0242258732e7d09997e0 /gdb/mips-linux-tdep.c | |
parent | 52f729a7241c0187f9ed31542d7e9a1ec98f63b7 (diff) | |
download | ppe42-binutils-60ade65d49ec4fd35e72823c786daf5043efca0a.tar.gz ppe42-binutils-60ade65d49ec4fd35e72823c786daf5043efca0a.zip |
* 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.
Diffstat (limited to 'gdb/mips-linux-tdep.c')
-rw-r--r-- | gdb/mips-linux-tdep.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c index b16fc5322f..b7d8dad2bf 100644 --- a/gdb/mips-linux-tdep.c +++ b/gdb/mips-linux-tdep.c @@ -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, |