diff options
Diffstat (limited to 'gdb/gdbarch.c')
-rw-r--r-- | gdb/gdbarch.c | 59 |
1 files changed, 38 insertions, 21 deletions
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c index 46dc08f..0e8f1fe 100644 --- a/gdb/gdbarch.c +++ b/gdb/gdbarch.c @@ -245,7 +245,7 @@ struct gdbarch 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_pc_in_sigtramp_ftype *pc_in_sigtramp; + gdbarch_deprecated_pc_in_sigtramp_ftype *deprecated_pc_in_sigtramp; gdbarch_sigtramp_start_ftype *sigtramp_start; gdbarch_sigtramp_end_ftype *sigtramp_end; gdbarch_in_function_epilogue_p_ftype *in_function_epilogue_p; @@ -412,7 +412,7 @@ struct gdbarch startup_gdbarch = generic_skip_solib_resolver, /* skip_solib_resolver */ 0, /* in_solib_call_trampoline */ 0, /* in_solib_return_trampoline */ - 0, /* pc_in_sigtramp */ + 0, /* deprecated_pc_in_sigtramp */ 0, /* sigtramp_start */ 0, /* sigtramp_end */ generic_in_function_epilogue_p, /* in_function_epilogue_p */ @@ -522,7 +522,7 @@ gdbarch_alloc (const struct gdbarch_info *info, 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->pc_in_sigtramp = legacy_pc_in_sigtramp; + current_gdbarch->deprecated_pc_in_sigtramp = legacy_pc_in_sigtramp; current_gdbarch->in_function_epilogue_p = generic_in_function_epilogue_p; current_gdbarch->construct_inferior_arguments = construct_inferior_arguments; current_gdbarch->elf_make_msymbol_special = default_elf_make_msymbol_special; @@ -720,7 +720,7 @@ verify_gdbarch (struct gdbarch *current_gdbarch) /* 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 pc_in_sigtramp, invalid_p == 0 */ + /* Skip verify of deprecated_pc_in_sigtramp, has predicate */ /* Skip verify of sigtramp_start, has predicate */ /* Skip verify of sigtramp_end, has predicate */ /* Skip verify of in_function_epilogue_p, invalid_p == 0 */ @@ -1340,6 +1340,25 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file) (long) current_gdbarch->deprecated_pc_in_call_dummy /*DEPRECATED_PC_IN_CALL_DUMMY ()*/); #endif +#ifdef DEPRECATED_PC_IN_SIGTRAMP_P + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_PC_IN_SIGTRAMP_P()", + XSTRING (DEPRECATED_PC_IN_SIGTRAMP_P ())); + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_PC_IN_SIGTRAMP_P() = %d\n", + DEPRECATED_PC_IN_SIGTRAMP_P ()); +#endif +#ifdef DEPRECATED_PC_IN_SIGTRAMP + fprintf_unfiltered (file, + "gdbarch_dump: %s # %s\n", + "DEPRECATED_PC_IN_SIGTRAMP(pc, name)", + XSTRING (DEPRECATED_PC_IN_SIGTRAMP (pc, name))); + fprintf_unfiltered (file, + "gdbarch_dump: DEPRECATED_PC_IN_SIGTRAMP = <0x%08lx>\n", + (long) current_gdbarch->deprecated_pc_in_sigtramp + /*DEPRECATED_PC_IN_SIGTRAMP ()*/); +#endif #ifdef DEPRECATED_POP_FRAME_P fprintf_unfiltered (file, "gdbarch_dump: %s # %s\n", @@ -1935,16 +1954,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file) "gdbarch_dump: PARM_BOUNDARY = %d\n", PARM_BOUNDARY); #endif -#ifdef PC_IN_SIGTRAMP - fprintf_unfiltered (file, - "gdbarch_dump: %s # %s\n", - "PC_IN_SIGTRAMP(pc, name)", - XSTRING (PC_IN_SIGTRAMP (pc, name))); - fprintf_unfiltered (file, - "gdbarch_dump: PC_IN_SIGTRAMP = <0x%08lx>\n", - (long) current_gdbarch->pc_in_sigtramp - /*PC_IN_SIGTRAMP ()*/); -#endif #ifdef PC_REGNUM fprintf_unfiltered (file, "gdbarch_dump: PC_REGNUM # %s\n", @@ -5054,20 +5063,28 @@ set_gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch, } int -gdbarch_pc_in_sigtramp (struct gdbarch *gdbarch, CORE_ADDR pc, char *name) +gdbarch_deprecated_pc_in_sigtramp_p (struct gdbarch *gdbarch) +{ + gdb_assert (gdbarch != NULL); + return gdbarch->deprecated_pc_in_sigtramp != legacy_pc_in_sigtramp; +} + +int +gdbarch_deprecated_pc_in_sigtramp (struct gdbarch *gdbarch, CORE_ADDR pc, char *name) { gdb_assert (gdbarch != NULL); - gdb_assert (gdbarch->pc_in_sigtramp != NULL); + gdb_assert (gdbarch->deprecated_pc_in_sigtramp != NULL); + /* Do not check predicate: gdbarch->deprecated_pc_in_sigtramp != legacy_pc_in_sigtramp, allow call. */ if (gdbarch_debug >= 2) - fprintf_unfiltered (gdb_stdlog, "gdbarch_pc_in_sigtramp called\n"); - return gdbarch->pc_in_sigtramp (pc, name); + fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_pc_in_sigtramp called\n"); + return gdbarch->deprecated_pc_in_sigtramp (pc, name); } void -set_gdbarch_pc_in_sigtramp (struct gdbarch *gdbarch, - gdbarch_pc_in_sigtramp_ftype pc_in_sigtramp) +set_gdbarch_deprecated_pc_in_sigtramp (struct gdbarch *gdbarch, + gdbarch_deprecated_pc_in_sigtramp_ftype deprecated_pc_in_sigtramp) { - gdbarch->pc_in_sigtramp = pc_in_sigtramp; + gdbarch->deprecated_pc_in_sigtramp = deprecated_pc_in_sigtramp; } int |