mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-25 19:14:52 +08:00
2004-10-31 Andrew Cagney <cagney@gnu.org>
* gdbarch.sh (in_solib_call_trampoline): Delete. * gdbarch.h, gdbarch.c: Re-generate.
This commit is contained in:
parent
84674fe179
commit
b22e8f02be
@ -1,5 +1,8 @@
|
||||
2004-10-31 Andrew Cagney <cagney@gnu.org>
|
||||
|
||||
* gdbarch.sh (in_solib_call_trampoline): Delete.
|
||||
* gdbarch.h, gdbarch.c: Re-generate.
|
||||
|
||||
* hppa-tdep.c (hppa_stub_unwind_sniffer): Replace
|
||||
IN_SOLIB_CALL_TRAMPOLINE with tdep.in_solib_call_trampoline.
|
||||
* hppa-tdep.h (struct gdbarch_tdep): Add in_solib_call_trampoline.
|
||||
|
@ -215,7 +215,6 @@ struct gdbarch
|
||||
gdbarch_print_insn_ftype *print_insn;
|
||||
gdbarch_skip_trampoline_code_ftype *skip_trampoline_code;
|
||||
gdbarch_skip_solib_resolver_ftype *skip_solib_resolver;
|
||||
gdbarch_in_solib_call_trampoline_ftype *in_solib_call_trampoline;
|
||||
gdbarch_in_solib_return_trampoline_ftype *in_solib_return_trampoline;
|
||||
gdbarch_in_function_epilogue_p_ftype *in_function_epilogue_p;
|
||||
gdbarch_construct_inferior_arguments_ftype *construct_inferior_arguments;
|
||||
@ -342,7 +341,6 @@ struct gdbarch startup_gdbarch =
|
||||
0, /* print_insn */
|
||||
0, /* skip_trampoline_code */
|
||||
generic_skip_solib_resolver, /* skip_solib_resolver */
|
||||
0, /* in_solib_call_trampoline */
|
||||
0, /* in_solib_return_trampoline */
|
||||
generic_in_function_epilogue_p, /* in_function_epilogue_p */
|
||||
construct_inferior_arguments, /* construct_inferior_arguments */
|
||||
@ -439,7 +437,6 @@ gdbarch_alloc (const struct gdbarch_info *info,
|
||||
current_gdbarch->smash_text_address = core_addr_identity;
|
||||
current_gdbarch->skip_trampoline_code = generic_skip_trampoline_code;
|
||||
current_gdbarch->skip_solib_resolver = generic_skip_solib_resolver;
|
||||
current_gdbarch->in_solib_call_trampoline = generic_in_solib_call_trampoline;
|
||||
current_gdbarch->in_solib_return_trampoline = generic_in_solib_return_trampoline;
|
||||
current_gdbarch->in_function_epilogue_p = generic_in_function_epilogue_p;
|
||||
current_gdbarch->construct_inferior_arguments = construct_inferior_arguments;
|
||||
@ -598,7 +595,6 @@ verify_gdbarch (struct gdbarch *current_gdbarch)
|
||||
fprintf_unfiltered (log, "\n\tprint_insn");
|
||||
/* Skip verify of skip_trampoline_code, invalid_p == 0 */
|
||||
/* Skip verify of skip_solib_resolver, invalid_p == 0 */
|
||||
/* Skip verify of in_solib_call_trampoline, invalid_p == 0 */
|
||||
/* Skip verify of in_solib_return_trampoline, invalid_p == 0 */
|
||||
/* Skip verify of in_function_epilogue_p, invalid_p == 0 */
|
||||
/* Skip verify of construct_inferior_arguments, invalid_p == 0 */
|
||||
@ -1181,15 +1177,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
|
||||
fprintf_unfiltered (file,
|
||||
"gdbarch_dump: in_function_epilogue_p = <0x%lx>\n",
|
||||
(long) current_gdbarch->in_function_epilogue_p);
|
||||
#ifdef IN_SOLIB_CALL_TRAMPOLINE
|
||||
fprintf_unfiltered (file,
|
||||
"gdbarch_dump: %s # %s\n",
|
||||
"IN_SOLIB_CALL_TRAMPOLINE(pc, name)",
|
||||
XSTRING (IN_SOLIB_CALL_TRAMPOLINE (pc, name)));
|
||||
#endif
|
||||
fprintf_unfiltered (file,
|
||||
"gdbarch_dump: in_solib_call_trampoline = <0x%lx>\n",
|
||||
(long) current_gdbarch->in_solib_call_trampoline);
|
||||
#ifdef IN_SOLIB_RETURN_TRAMPOLINE
|
||||
fprintf_unfiltered (file,
|
||||
"gdbarch_dump: %s # %s\n",
|
||||
@ -3429,23 +3416,6 @@ set_gdbarch_skip_solib_resolver (struct gdbarch *gdbarch,
|
||||
gdbarch->skip_solib_resolver = skip_solib_resolver;
|
||||
}
|
||||
|
||||
int
|
||||
gdbarch_in_solib_call_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, char *name)
|
||||
{
|
||||
gdb_assert (gdbarch != NULL);
|
||||
gdb_assert (gdbarch->in_solib_call_trampoline != NULL);
|
||||
if (gdbarch_debug >= 2)
|
||||
fprintf_unfiltered (gdb_stdlog, "gdbarch_in_solib_call_trampoline called\n");
|
||||
return gdbarch->in_solib_call_trampoline (pc, name);
|
||||
}
|
||||
|
||||
void
|
||||
set_gdbarch_in_solib_call_trampoline (struct gdbarch *gdbarch,
|
||||
gdbarch_in_solib_call_trampoline_ftype in_solib_call_trampoline)
|
||||
{
|
||||
gdbarch->in_solib_call_trampoline = in_solib_call_trampoline;
|
||||
}
|
||||
|
||||
int
|
||||
gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, char *name)
|
||||
{
|
||||
|
@ -1258,20 +1258,6 @@ typedef CORE_ADDR (gdbarch_skip_solib_resolver_ftype) (struct gdbarch *gdbarch,
|
||||
extern CORE_ADDR gdbarch_skip_solib_resolver (struct gdbarch *gdbarch, CORE_ADDR pc);
|
||||
extern void set_gdbarch_skip_solib_resolver (struct gdbarch *gdbarch, gdbarch_skip_solib_resolver_ftype *skip_solib_resolver);
|
||||
|
||||
/* For SVR4 shared libraries, each call goes through a small piece of
|
||||
trampoline code in the ".plt" section. IN_SOLIB_CALL_TRAMPOLINE evaluates
|
||||
to nonzero if we are currently stopped in one of these. */
|
||||
|
||||
typedef int (gdbarch_in_solib_call_trampoline_ftype) (CORE_ADDR pc, char *name);
|
||||
extern int gdbarch_in_solib_call_trampoline (struct gdbarch *gdbarch, CORE_ADDR pc, char *name);
|
||||
extern void set_gdbarch_in_solib_call_trampoline (struct gdbarch *gdbarch, gdbarch_in_solib_call_trampoline_ftype *in_solib_call_trampoline);
|
||||
#if !defined (GDB_TM_FILE) && defined (IN_SOLIB_CALL_TRAMPOLINE)
|
||||
#error "Non multi-arch definition of IN_SOLIB_CALL_TRAMPOLINE"
|
||||
#endif
|
||||
#if !defined (IN_SOLIB_CALL_TRAMPOLINE)
|
||||
#define IN_SOLIB_CALL_TRAMPOLINE(pc, name) (gdbarch_in_solib_call_trampoline (current_gdbarch, pc, name))
|
||||
#endif
|
||||
|
||||
/* Some systems also have trampoline code for returning from shared libs. */
|
||||
|
||||
typedef int (gdbarch_in_solib_return_trampoline_ftype) (CORE_ADDR pc, char *name);
|
||||
|
@ -624,11 +624,6 @@ f:=:CORE_ADDR:skip_trampoline_code:CORE_ADDR pc:pc::generic_skip_trampoline_code
|
||||
# evaluates non-zero, this is the address where the debugger will place
|
||||
# a step-resume breakpoint to get us past the dynamic linker.
|
||||
m::CORE_ADDR:skip_solib_resolver:CORE_ADDR pc:pc::generic_skip_solib_resolver::0
|
||||
# For SVR4 shared libraries, each call goes through a small piece of
|
||||
# trampoline code in the ".plt" section. IN_SOLIB_CALL_TRAMPOLINE evaluates
|
||||
# to nonzero if we are currently stopped in one of these.
|
||||
f:=:int:in_solib_call_trampoline:CORE_ADDR pc, char *name:pc, name::generic_in_solib_call_trampoline::0
|
||||
|
||||
# Some systems also have trampoline code for returning from shared libs.
|
||||
f:=:int:in_solib_return_trampoline:CORE_ADDR pc, char *name:pc, name::generic_in_solib_return_trampoline::0
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user