diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-06-15 22:39:52 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-06-15 22:39:52 +0000 |
commit | 52f729a7241c0187f9ed31542d7e9a1ec98f63b7 (patch) | |
tree | e657c6a68b7f22d5dcf8f4eea3de2a99d515d7ad /gdb/infrun.c | |
parent | 0b1b3e423ad28731135cdd275522bdf3d2d17570 (diff) | |
download | gdb-52f729a7241c0187f9ed31542d7e9a1ec98f63b7.zip gdb-52f729a7241c0187f9ed31542d7e9a1ec98f63b7.tar.gz gdb-52f729a7241c0187f9ed31542d7e9a1ec98f63b7.tar.bz2 |
* gdbarch.sh (skip_trampoline_code): Add FRAME argument.
* gdbarch.c, gdbarch.h: Regenerate.
* arch-utils.c (generic_skip_trampoline_code): Add FRAME argument.
* arch-utils.h (generic_skip_trampoline_code): Likewise.
* infrun.c (handle_inferior_event): Pass current frame to
gdbarch_skip_trampoline_code and skip_language_trampoline.
* language.c (unk_lang_trampoline): Add FRAME argument.
(skip_language_trampoline): Add FRAME argument. Pass it to
skip_trampoline callback.
* language.h: Add forward declaration of struct frame_info.
(struct language_defn): Add FRAME argument to skip_trampoline.
(skip_language_trampoline): Add FRAME argument.
* cp-abi.c (cplus_skip_trampoline): Add FRAME argument. Pass it
to skip_trampoline callback.
* cp-abi.h: Add forward declaration of struct frame_info.
(cplus_skip_trampoline): Add FRAME argument.
(struct cp_abi_ops): Add FRAME argument to skip_trampoline callback.
* gnu-v3-abi.c (gnuv3_skip_trampoline): Add FRAME argument. Pass it
to gdbarch_skip_trampoline_code.
* objc-lang.c (objc_skip_trampoline): Add FRAME argument. Pass it
to gdbarch_skip_trampoline_code.
* minsyms.c (find_solib_trampoline_target): Add FRAME argument.
* symtab.h (find_solib_trampoline_target): Likewise.
* obsd-tdep.c (obsd_skip_solib_resolver): Pass current frame to
find_solib_trampoline_target.
* arm-tdep.c (arm_skip_stub): Add FRAME argument. Read registers
from FRAME instead of calling read_register.
* hppa-hpux-tdep.c (hppa_hpux_skip_trampoline_code): Add FRAME
argument. Read registers from FRAME instead of using read_register.
* hppa-tdep.c (hppa_skip_trampoline_code): Likewise.
* hppa-tdep.h (hppa_skip_trampoline_code): Add FRAME argument.
* i386-cygwin-tdep.c (i386_cygwin_skip_trampoline_code): Add FRAME
argument.
* m32c-tdep.c (m32c_skip_trampoline_code): Add FRAME argument.
* mips-tdep.c (mips_skip_trampoline_code): Add FRAME argument. Read
registers from FRAME instead of using read_signed_register.
* ppc-linux-tdep.c (ppc_linux_skip_trampoline_code): Add FRAME
argument.
(ppc64_standard_linkage_target): Likewise. Read registers from FRAME
instead of using read_register.
(ppc64_skip_trampoline_code): Add FRAME argument. Pass it to
ppc64_standard_linkage_target.
* rs6000-tdep.c (rs6000_skip_trampoline_code): Add FRAME argument.
Pass it to find_solib_trampoline_target. Read registers from FRAME
instead of using read_register.
* xstormy16-tdep.c (xstormy16_skip_trampoline_code): Add FRAME
argument.
Diffstat (limited to 'gdb/infrun.c')
-rw-r--r-- | gdb/infrun.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/gdb/infrun.c b/gdb/infrun.c index ae530b7..1eea281 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -2456,9 +2456,10 @@ process_event_stop_test: function. That's what tells us (a) whether we want to step into it at all, and (b) what prologue we want to run to the end of, if we do step into it. */ - real_stop_pc = skip_language_trampoline (stop_pc); + real_stop_pc = skip_language_trampoline (get_current_frame (), stop_pc); if (real_stop_pc == 0) - real_stop_pc = gdbarch_skip_trampoline_code (current_gdbarch, stop_pc); + real_stop_pc = gdbarch_skip_trampoline_code + (current_gdbarch, get_current_frame (), stop_pc); if (real_stop_pc != 0) ecs->stop_func_start = real_stop_pc; @@ -2520,8 +2521,9 @@ process_event_stop_test: stop_pc, ecs->stop_func_name)) { /* Determine where this trampoline returns. */ - CORE_ADDR real_stop_pc = gdbarch_skip_trampoline_code - (current_gdbarch, stop_pc); + CORE_ADDR real_stop_pc; + real_stop_pc = gdbarch_skip_trampoline_code + (current_gdbarch, get_current_frame (), stop_pc); if (debug_infrun) fprintf_unfiltered (gdb_stdlog, "infrun: stepped into solib return tramp\n"); |