gdbarch_relocate_instruction_ftype *relocate_instruction = nullptr;
gdbarch_overlay_update_ftype *overlay_update = nullptr;
gdbarch_core_read_description_ftype *core_read_description = nullptr;
- int sofun_address_maybe_missing = 0;
gdbarch_process_record_ftype *process_record = nullptr;
gdbarch_process_record_signal_ftype *process_record_signal = nullptr;
gdbarch_gdb_signal_from_target_ftype *gdb_signal_from_target = nullptr;
/* Skip verify of relocate_instruction, invalid_p == 0. */
/* Skip verify of overlay_update, has predicate. */
/* Skip verify of core_read_description, has predicate. */
- /* Skip verify of sofun_address_maybe_missing, invalid_p == 0. */
/* Skip verify of process_record, has predicate. */
/* Skip verify of process_record_signal, has predicate. */
/* Skip verify of gdb_signal_from_target, has predicate. */
gdb_printf (file,
"gdbarch_dump: core_read_description = <%s>\n",
host_address_to_string (gdbarch->core_read_description));
- gdb_printf (file,
- "gdbarch_dump: sofun_address_maybe_missing = %s\n",
- plongest (gdbarch->sofun_address_maybe_missing));
gdb_printf (file,
"gdbarch_dump: gdbarch_process_record_p() = %d\n",
gdbarch_process_record_p (gdbarch));
gdbarch->core_read_description = core_read_description;
}
-int
-gdbarch_sofun_address_maybe_missing (struct gdbarch *gdbarch)
-{
- gdb_assert (gdbarch != NULL);
- /* Skip verify of sofun_address_maybe_missing, invalid_p == 0. */
- if (gdbarch_debug >= 2)
- gdb_printf (gdb_stdlog, "gdbarch_sofun_address_maybe_missing called\n");
- return gdbarch->sofun_address_maybe_missing;
-}
-
-void
-set_gdbarch_sofun_address_maybe_missing (struct gdbarch *gdbarch,
- int sofun_address_maybe_missing)
-{
- gdbarch->sofun_address_maybe_missing = sofun_address_maybe_missing;
-}
-
bool
gdbarch_process_record_p (struct gdbarch *gdbarch)
{
extern const struct target_desc * gdbarch_core_read_description (struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd);
extern void set_gdbarch_core_read_description (struct gdbarch *gdbarch, gdbarch_core_read_description_ftype *core_read_description);
-/* Set if the address in N_SO or N_FUN stabs may be zero. */
-
-extern int gdbarch_sofun_address_maybe_missing (struct gdbarch *gdbarch);
-extern void set_gdbarch_sofun_address_maybe_missing (struct gdbarch *gdbarch, int sofun_address_maybe_missing);
-
/* Parse the instruction at ADDR storing in the record execution log
the registers REGCACHE and memory ranges that will be affected when
the instruction executes, along with their current values.
predicate=True,
)
-Value(
- comment="""
-Set if the address in N_SO or N_FUN stabs may be zero.
-""",
- type="int",
- name="sofun_address_maybe_missing",
- predefault="0",
- invalid=False,
-)
-
Method(
comment="""
Parse the instruction at ADDR storing in the record execution log
tdep->i386_sysenter_record = i386_linux_intx80_sysenter_syscall_record;
tdep->i386_syscall_record = i386_linux_intx80_sysenter_syscall_record;
- /* N_FUN symbols in shared libraries have 0 for their values and need
- to be relocated. */
- set_gdbarch_sofun_address_maybe_missing (gdbarch, 1);
-
/* GNU/Linux uses SVR4-style shared libraries. */
set_gdbarch_skip_trampoline_code (gdbarch, find_solib_trampoline_target);
set_solib_svr4_ops (gdbarch, make_linux_ilp32_svr4_solib_ops);
set_gdbarch_program_breakpoint_here_p (gdbarch,
rs6000_program_breakpoint_here_p);
- /* The value of symbols of type N_SO and N_FUN maybe null when
- it shouldn't be. */
- set_gdbarch_sofun_address_maybe_missing (gdbarch, 1);
-
/* Handles single stepping of atomic sequences. */
set_gdbarch_get_next_pcs (gdbarch, ppc_deal_with_atomic_sequence);
void
sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
- /* The Sun compilers (Sun ONE Studio, Forte Developer, Sun WorkShop, SunPRO)
- compiler puts out 0 instead of the address in N_SO stabs. Starting with
- SunPRO 3.0, the compiler does this for N_FUN stabs too. */
- set_gdbarch_sofun_address_maybe_missing (gdbarch, 1);
-
/* Solaris uses SVR4-style shared libraries. */
set_gdbarch_skip_solib_resolver (gdbarch, sol2_skip_solib_resolver);