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/i386-tdep.c | |
parent | 52f729a7241c0187f9ed31542d7e9a1ec98f63b7 (diff) | |
download | gdb-60ade65d49ec4fd35e72823c786daf5043efca0a.zip gdb-60ade65d49ec4fd35e72823c786daf5043efca0a.tar.gz gdb-60ade65d49ec4fd35e72823c786daf5043efca0a.tar.bz2 |
* 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/i386-tdep.c')
-rw-r--r-- | gdb/i386-tdep.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c index 456a2ea..91bce8a 100644 --- a/gdb/i386-tdep.c +++ b/gdb/i386-tdep.c @@ -1266,11 +1266,11 @@ i386_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *next_frame) This function is 64-bit safe. */ static int -i386_get_longjmp_target (CORE_ADDR *pc) +i386_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc) { gdb_byte buf[8]; CORE_ADDR sp, jb_addr; - int jb_pc_offset = gdbarch_tdep (current_gdbarch)->jb_pc_offset; + int jb_pc_offset = gdbarch_tdep (get_frame_arch (frame))->jb_pc_offset; int len = TYPE_LENGTH (builtin_type_void_func_ptr); /* If JB_PC_OFFSET is -1, we have no way to find out where the @@ -1280,7 +1280,7 @@ i386_get_longjmp_target (CORE_ADDR *pc) /* Don't use I386_ESP_REGNUM here, since this function is also used for AMD64. */ - regcache_cooked_read (current_regcache, SP_REGNUM, buf); + get_frame_register (frame, SP_REGNUM, buf); sp = extract_typed_address (buf, builtin_type_void_data_ptr); if (target_read_memory (sp + len, buf, len)) return 0; |