forked from Imagelibrary/binutils-gdb
2004-10-31 Andrew Cagney <cagney@gnu.org>
* armnbsd-tdep.c (arm_netbsd_aout_init_abi) (arm_netbsd_aout_in_solib_call_trampoline): Do not set in_solib_call_trampoline, delete corresponding unused function. * vaxnbsd-tdep.c (vaxnbsd_aout_in_solib_call_trampoline) (vaxnbsd_aout_init_abi): Ditto. * sparcnbsd-tdep.c (sparcnbsd_aout_in_solib_call_trampoline) (sparc32nbsd_aout_init_abi): Ditto. * ppc-linux-tdep.c (ppc64_in_solib_call_trampoline) (ppc_linux_init_abi): Ditto. * ns32knbsd-tdep.c (ns32knbsd_aout_in_solib_call_trampoline) (ns32knbsd_init_abi_aout): Ditto. * mips-tdep.c (mips_in_call_stub, mips_gdbarch_init): Ditto. * mips-linux-tdep.c (mips_linux_init_abi): Ditto. * m68kbsd-tdep.c (m68kbsd_aout_in_solib_call_trampoline) (m68kbsd_aout_init_abi): Ditto. * i386-cygwin-tdep.c (i386_cygwin_in_solib_call_trampoline) (i386_cygwin_init_abi): Ditto. * i386bsd-tdep.c (i386bsd_aout_in_solib_call_trampoline) (i386bsd_init_abi): Ditto.
This commit is contained in:
@@ -4537,36 +4537,6 @@ mips_skip_trampoline_code (CORE_ADDR pc)
|
||||
return 0; /* not a stub */
|
||||
}
|
||||
|
||||
|
||||
/* Return non-zero if the PC is inside a call thunk (aka stub or trampoline).
|
||||
This implements the IN_SOLIB_CALL_TRAMPOLINE macro. */
|
||||
|
||||
static int
|
||||
mips_in_call_stub (CORE_ADDR pc, char *name)
|
||||
{
|
||||
CORE_ADDR start_addr;
|
||||
|
||||
/* Find the starting address of the function containing the PC. If the
|
||||
caller didn't give us a name, look it up at the same time. */
|
||||
if (find_pc_partial_function (pc, name ? NULL : &name, &start_addr, NULL) ==
|
||||
0)
|
||||
return 0;
|
||||
|
||||
if (strncmp (name, "__mips16_call_stub_", 19) == 0)
|
||||
{
|
||||
/* If the PC is in __mips16_call_stub_{1..10}, this is a call stub. */
|
||||
if (name[19] >= '0' && name[19] <= '9')
|
||||
return 1;
|
||||
/* If the PC at the start of __mips16_call_stub_{s,d}f_{0..10}, i.e.
|
||||
before the jal instruction, this is effectively a call stub. */
|
||||
else if (name[19] == 's' || name[19] == 'd')
|
||||
return pc == start_addr;
|
||||
}
|
||||
|
||||
return 0; /* not a stub */
|
||||
}
|
||||
|
||||
|
||||
/* Return non-zero if the PC is inside a return thunk (aka stub or
|
||||
trampoline). */
|
||||
|
||||
@@ -5095,10 +5065,7 @@ mips_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
|
||||
that supports both shared libraries and MIPS16, we'll have to find
|
||||
a better place for these. */
|
||||
if (info.osabi == GDB_OSABI_UNKNOWN)
|
||||
{
|
||||
set_gdbarch_in_solib_call_trampoline (gdbarch, mips_in_call_stub);
|
||||
set_gdbarch_in_solib_return_trampoline (gdbarch, mips_in_solib_return_trampoline);
|
||||
}
|
||||
set_gdbarch_in_solib_return_trampoline (gdbarch, mips_in_solib_return_trampoline);
|
||||
|
||||
set_gdbarch_single_step_through_delay (gdbarch, mips_single_step_through_delay);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user