forked from Imagelibrary/binutils-gdb
* 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.
This commit is contained in:
@@ -1972,7 +1972,7 @@ rs6000_in_solib_return_trampoline (CORE_ADDR pc, char *name)
|
||||
code that should be skipped. */
|
||||
|
||||
CORE_ADDR
|
||||
rs6000_skip_trampoline_code (CORE_ADDR pc)
|
||||
rs6000_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
|
||||
{
|
||||
unsigned int ii, op;
|
||||
int rel;
|
||||
@@ -2009,7 +2009,7 @@ rs6000_skip_trampoline_code (CORE_ADDR pc)
|
||||
}
|
||||
|
||||
/* If pc is in a shared library trampoline, return its target. */
|
||||
solib_target_pc = find_solib_trampoline_target (pc);
|
||||
solib_target_pc = find_solib_trampoline_target (frame, pc);
|
||||
if (solib_target_pc)
|
||||
return solib_target_pc;
|
||||
|
||||
@@ -2019,7 +2019,7 @@ rs6000_skip_trampoline_code (CORE_ADDR pc)
|
||||
if (op != trampoline_code[ii])
|
||||
return 0;
|
||||
}
|
||||
ii = read_register (11); /* r11 holds destination addr */
|
||||
ii = get_frame_register_unsigned (frame, 11); /* r11 holds destination addr */
|
||||
pc = read_memory_addr (ii, gdbarch_tdep (current_gdbarch)->wordsize); /* (r11) value */
|
||||
return pc;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user