gdbarch_construct_inferior_arguments_ftype *construct_inferior_arguments;
gdbarch_elf_make_msymbol_special_ftype *elf_make_msymbol_special;
gdbarch_coff_make_msymbol_special_ftype *coff_make_msymbol_special;
- const char * name_of_malloc;
int cannot_step_breakpoint;
int have_nonsteppable_watchpoint;
gdbarch_address_class_type_flags_ftype *address_class_type_flags;
gdbarch_target_signal_from_host_ftype *target_signal_from_host;
gdbarch_target_signal_to_host_ftype *target_signal_to_host;
gdbarch_record_special_symbol_ftype *record_special_symbol;
+ int has_global_solist;
};
default_stabs_argument_has_addr, /* stabs_argument_has_addr */
0, /* frame_red_zone_size */
convert_from_func_ptr_addr_identity, /* convert_from_func_ptr_addr */
- 0, /* addr_bits_remove */
- 0, /* smash_text_address */
+ core_addr_identity, /* addr_bits_remove */
+ core_addr_identity, /* smash_text_address */
0, /* software_single_step */
0, /* single_step_through_delay */
0, /* print_insn */
construct_inferior_arguments, /* construct_inferior_arguments */
0, /* elf_make_msymbol_special */
0, /* coff_make_msymbol_special */
- "malloc", /* name_of_malloc */
0, /* cannot_step_breakpoint */
0, /* have_nonsteppable_watchpoint */
0, /* address_class_type_flags */
default_target_signal_from_host, /* target_signal_from_host */
default_target_signal_to_host, /* target_signal_to_host */
0, /* record_special_symbol */
+ 0, /* has_global_solist */
/* startup_gdbarch() */
};
struct gdbarch *current_gdbarch = &startup_gdbarch;
+struct gdbarch *target_gdbarch = &startup_gdbarch;
/* Create a new ``struct gdbarch'' based on information provided by
``struct gdbarch_info''. */
gdbarch->construct_inferior_arguments = construct_inferior_arguments;
gdbarch->elf_make_msymbol_special = default_elf_make_msymbol_special;
gdbarch->coff_make_msymbol_special = default_coff_make_msymbol_special;
- gdbarch->name_of_malloc = "malloc";
gdbarch->register_reggroup_p = default_register_reggroup_p;
gdbarch->displaced_step_fixup = NULL;
gdbarch->displaced_step_free_closure = NULL;
/* Skip verify of construct_inferior_arguments, invalid_p == 0 */
/* Skip verify of elf_make_msymbol_special, invalid_p == 0 */
/* Skip verify of coff_make_msymbol_special, invalid_p == 0 */
- /* Skip verify of name_of_malloc, invalid_p == 0 */
/* Skip verify of cannot_step_breakpoint, invalid_p == 0 */
/* Skip verify of have_nonsteppable_watchpoint, invalid_p == 0 */
/* Skip verify of address_class_type_flags, has predicate */
/* Skip verify of target_signal_from_host, invalid_p == 0 */
/* Skip verify of target_signal_to_host, invalid_p == 0 */
/* Skip verify of record_special_symbol, has predicate */
+ /* Skip verify of has_global_solist, invalid_p == 0 */
buf = ui_file_xstrdup (log, &dummy);
make_cleanup (xfree, buf);
if (strlen (buf) > 0)
gdb_nm_file);
fprintf_unfiltered (file,
"gdbarch_dump: addr_bit = %s\n",
- paddr_d (gdbarch->addr_bit));
+ plongest (gdbarch->addr_bit));
fprintf_unfiltered (file,
"gdbarch_dump: addr_bits_remove = <0x%lx>\n",
(long) gdbarch->addr_bits_remove);
(long) gdbarch->adjust_breakpoint_address);
fprintf_unfiltered (file,
"gdbarch_dump: believe_pcc_promotion = %s\n",
- paddr_d (gdbarch->believe_pcc_promotion));
+ plongest (gdbarch->believe_pcc_promotion));
fprintf_unfiltered (file,
"gdbarch_dump: bfd_arch_info = %s\n",
gdbarch_bfd_arch_info (gdbarch)->printable_name);
fprintf_unfiltered (file,
"gdbarch_dump: bits_big_endian = %s\n",
- paddr_d (gdbarch->bits_big_endian));
+ plongest (gdbarch->bits_big_endian));
fprintf_unfiltered (file,
"gdbarch_dump: breakpoint_from_pc = <0x%lx>\n",
(long) gdbarch->breakpoint_from_pc);
fprintf_unfiltered (file,
"gdbarch_dump: byte_order = %s\n",
- paddr_d (gdbarch->byte_order));
+ plongest (gdbarch->byte_order));
fprintf_unfiltered (file,
"gdbarch_dump: byte_order_for_code = %s\n",
- paddr_d (gdbarch->byte_order_for_code));
+ plongest (gdbarch->byte_order_for_code));
fprintf_unfiltered (file,
"gdbarch_dump: call_dummy_location = %s\n",
- paddr_d (gdbarch->call_dummy_location));
+ plongest (gdbarch->call_dummy_location));
fprintf_unfiltered (file,
"gdbarch_dump: cannot_fetch_register = <0x%lx>\n",
(long) gdbarch->cannot_fetch_register);
fprintf_unfiltered (file,
"gdbarch_dump: cannot_step_breakpoint = %s\n",
- paddr_d (gdbarch->cannot_step_breakpoint));
+ plongest (gdbarch->cannot_step_breakpoint));
fprintf_unfiltered (file,
"gdbarch_dump: cannot_store_register = <0x%lx>\n",
(long) gdbarch->cannot_store_register);
fprintf_unfiltered (file,
"gdbarch_dump: char_signed = %s\n",
- paddr_d (gdbarch->char_signed));
+ plongest (gdbarch->char_signed));
fprintf_unfiltered (file,
"gdbarch_dump: coff_make_msymbol_special = <0x%lx>\n",
(long) gdbarch->coff_make_msymbol_special);
"gdbarch_dump: core_xfer_shared_libraries = <0x%lx>\n",
(long) gdbarch->core_xfer_shared_libraries);
fprintf_unfiltered (file,
- "gdbarch_dump: decr_pc_after_break = 0x%s\n",
- paddr_nz (gdbarch->decr_pc_after_break));
+ "gdbarch_dump: decr_pc_after_break = %s\n",
+ core_addr_to_string_nz (gdbarch->decr_pc_after_break));
fprintf_unfiltered (file,
"gdbarch_dump: deprecated_fp_regnum = %s\n",
- paddr_d (gdbarch->deprecated_fp_regnum));
+ plongest (gdbarch->deprecated_fp_regnum));
fprintf_unfiltered (file,
- "gdbarch_dump: deprecated_function_start_offset = 0x%s\n",
- paddr_nz (gdbarch->deprecated_function_start_offset));
+ "gdbarch_dump: deprecated_function_start_offset = %s\n",
+ core_addr_to_string_nz (gdbarch->deprecated_function_start_offset));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_displaced_step_copy_insn_p() = %d\n",
gdbarch_displaced_step_copy_insn_p (gdbarch));
(long) gdbarch->displaced_step_location);
fprintf_unfiltered (file,
"gdbarch_dump: double_bit = %s\n",
- paddr_d (gdbarch->double_bit));
+ plongest (gdbarch->double_bit));
fprintf_unfiltered (file,
"gdbarch_dump: double_format = %s\n",
pformat (gdbarch->double_format));
(long) gdbarch->fetch_tls_load_module_address);
fprintf_unfiltered (file,
"gdbarch_dump: float_bit = %s\n",
- paddr_d (gdbarch->float_bit));
+ plongest (gdbarch->float_bit));
fprintf_unfiltered (file,
"gdbarch_dump: float_format = %s\n",
pformat (gdbarch->float_format));
fprintf_unfiltered (file,
"gdbarch_dump: fp0_regnum = %s\n",
- paddr_d (gdbarch->fp0_regnum));
+ plongest (gdbarch->fp0_regnum));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_frame_align_p() = %d\n",
gdbarch_frame_align_p (gdbarch));
"gdbarch_dump: frame_align = <0x%lx>\n",
(long) gdbarch->frame_align);
fprintf_unfiltered (file,
- "gdbarch_dump: frame_args_skip = 0x%s\n",
- paddr_nz (gdbarch->frame_args_skip));
+ "gdbarch_dump: frame_args_skip = %s\n",
+ core_addr_to_string_nz (gdbarch->frame_args_skip));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_frame_num_args_p() = %d\n",
gdbarch_frame_num_args_p (gdbarch));
(long) gdbarch->frame_num_args);
fprintf_unfiltered (file,
"gdbarch_dump: frame_red_zone_size = %s\n",
- paddr_d (gdbarch->frame_red_zone_size));
+ plongest (gdbarch->frame_red_zone_size));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n",
gdbarch_get_longjmp_target_p (gdbarch));
"gdbarch_dump: get_longjmp_target = <0x%lx>\n",
(long) gdbarch->get_longjmp_target);
fprintf_unfiltered (file,
+ "gdbarch_dump: has_global_solist = %s\n",
+ plongest (gdbarch->has_global_solist));
+ fprintf_unfiltered (file,
"gdbarch_dump: have_nonsteppable_watchpoint = %s\n",
- paddr_d (gdbarch->have_nonsteppable_watchpoint));
+ plongest (gdbarch->have_nonsteppable_watchpoint));
fprintf_unfiltered (file,
"gdbarch_dump: in_function_epilogue_p = <0x%lx>\n",
(long) gdbarch->in_function_epilogue_p);
(long) gdbarch->inner_than);
fprintf_unfiltered (file,
"gdbarch_dump: int_bit = %s\n",
- paddr_d (gdbarch->int_bit));
+ plongest (gdbarch->int_bit));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_integer_to_address_p() = %d\n",
gdbarch_integer_to_address_p (gdbarch));
(long) gdbarch->integer_to_address);
fprintf_unfiltered (file,
"gdbarch_dump: long_bit = %s\n",
- paddr_d (gdbarch->long_bit));
+ plongest (gdbarch->long_bit));
fprintf_unfiltered (file,
"gdbarch_dump: long_double_bit = %s\n",
- paddr_d (gdbarch->long_double_bit));
+ plongest (gdbarch->long_double_bit));
fprintf_unfiltered (file,
"gdbarch_dump: long_double_format = %s\n",
pformat (gdbarch->long_double_format));
fprintf_unfiltered (file,
"gdbarch_dump: long_long_bit = %s\n",
- paddr_d (gdbarch->long_long_bit));
+ plongest (gdbarch->long_long_bit));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_max_insn_length_p() = %d\n",
gdbarch_max_insn_length_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: max_insn_length = %s\n",
- paddr_d (gdbarch->max_insn_length));
+ plongest (gdbarch->max_insn_length));
fprintf_unfiltered (file,
"gdbarch_dump: memory_insert_breakpoint = <0x%lx>\n",
(long) gdbarch->memory_insert_breakpoint);
"gdbarch_dump: memory_remove_breakpoint = <0x%lx>\n",
(long) gdbarch->memory_remove_breakpoint);
fprintf_unfiltered (file,
- "gdbarch_dump: name_of_malloc = %s\n",
- gdbarch->name_of_malloc);
- fprintf_unfiltered (file,
"gdbarch_dump: num_pseudo_regs = %s\n",
- paddr_d (gdbarch->num_pseudo_regs));
+ plongest (gdbarch->num_pseudo_regs));
fprintf_unfiltered (file,
"gdbarch_dump: num_regs = %s\n",
- paddr_d (gdbarch->num_regs));
+ plongest (gdbarch->num_regs));
fprintf_unfiltered (file,
"gdbarch_dump: osabi = %s\n",
- paddr_d (gdbarch->osabi));
+ plongest (gdbarch->osabi));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_overlay_update_p() = %d\n",
gdbarch_overlay_update_p (gdbarch));
(long) gdbarch->overlay_update);
fprintf_unfiltered (file,
"gdbarch_dump: pc_regnum = %s\n",
- paddr_d (gdbarch->pc_regnum));
+ plongest (gdbarch->pc_regnum));
fprintf_unfiltered (file,
"gdbarch_dump: pointer_to_address = <0x%lx>\n",
(long) gdbarch->pointer_to_address);
(long) gdbarch->print_vector_info);
fprintf_unfiltered (file,
"gdbarch_dump: ps_regnum = %s\n",
- paddr_d (gdbarch->ps_regnum));
+ plongest (gdbarch->ps_regnum));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_pseudo_register_read_p() = %d\n",
gdbarch_pseudo_register_read_p (gdbarch));
(long) gdbarch->pseudo_register_write);
fprintf_unfiltered (file,
"gdbarch_dump: ptr_bit = %s\n",
- paddr_d (gdbarch->ptr_bit));
+ plongest (gdbarch->ptr_bit));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_push_dummy_call_p() = %d\n",
gdbarch_push_dummy_call_p (gdbarch));
(long) gdbarch->sdb_reg_to_regnum);
fprintf_unfiltered (file,
"gdbarch_dump: short_bit = %s\n",
- paddr_d (gdbarch->short_bit));
+ plongest (gdbarch->short_bit));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_single_step_through_delay_p() = %d\n",
gdbarch_single_step_through_delay_p (gdbarch));
(long) gdbarch->software_single_step);
fprintf_unfiltered (file,
"gdbarch_dump: sofun_address_maybe_missing = %s\n",
- paddr_d (gdbarch->sofun_address_maybe_missing));
+ plongest (gdbarch->sofun_address_maybe_missing));
fprintf_unfiltered (file,
"gdbarch_dump: sp_regnum = %s\n",
- paddr_d (gdbarch->sp_regnum));
+ plongest (gdbarch->sp_regnum));
fprintf_unfiltered (file,
"gdbarch_dump: stab_reg_to_regnum = <0x%lx>\n",
(long) gdbarch->stab_reg_to_regnum);
(long) gdbarch->static_transform_name);
fprintf_unfiltered (file,
"gdbarch_dump: target_desc = %s\n",
- paddr_d ((long) gdbarch->target_desc));
+ plongest ((long) gdbarch->target_desc));
fprintf_unfiltered (file,
"gdbarch_dump: target_signal_from_host = <0x%lx>\n",
(long) gdbarch->target_signal_from_host);
(long) gdbarch->value_to_register);
fprintf_unfiltered (file,
"gdbarch_dump: vbit_in_delta = %s\n",
- paddr_d (gdbarch->vbit_in_delta));
+ plongest (gdbarch->vbit_in_delta));
fprintf_unfiltered (file,
"gdbarch_dump: virtual_frame_pointer = <0x%lx>\n",
(long) gdbarch->virtual_frame_pointer);
fprintf_unfiltered (file,
"gdbarch_dump: vtable_function_descriptors = %s\n",
- paddr_d (gdbarch->vtable_function_descriptors));
+ plongest (gdbarch->vtable_function_descriptors));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_write_pc_p() = %d\n",
gdbarch_write_pc_p (gdbarch));
gdb_assert (gdbarch->addr_bits_remove != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_addr_bits_remove called\n");
- return gdbarch->addr_bits_remove (addr);
+ return gdbarch->addr_bits_remove (gdbarch, addr);
}
void
gdb_assert (gdbarch->smash_text_address != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_smash_text_address called\n");
- return gdbarch->smash_text_address (addr);
+ return gdbarch->smash_text_address (gdbarch, addr);
}
void
gdbarch->coff_make_msymbol_special = coff_make_msymbol_special;
}
-const char *
-gdbarch_name_of_malloc (struct gdbarch *gdbarch)
-{
- gdb_assert (gdbarch != NULL);
- /* Skip verify of name_of_malloc, invalid_p == 0 */
- if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_name_of_malloc called\n");
- return gdbarch->name_of_malloc;
-}
-
-void
-set_gdbarch_name_of_malloc (struct gdbarch *gdbarch,
- const char * name_of_malloc)
-{
- gdbarch->name_of_malloc = name_of_malloc;
-}
-
int
gdbarch_cannot_step_breakpoint (struct gdbarch *gdbarch)
{
gdbarch->record_special_symbol = record_special_symbol;
}
+int
+gdbarch_has_global_solist (struct gdbarch *gdbarch)
+{
+ gdb_assert (gdbarch != NULL);
+ /* Skip verify of has_global_solist, invalid_p == 0 */
+ if (gdbarch_debug >= 2)
+ fprintf_unfiltered (gdb_stdlog, "gdbarch_has_global_solist called\n");
+ return gdbarch->has_global_solist;
+}
+
+void
+set_gdbarch_has_global_solist (struct gdbarch *gdbarch,
+ int has_global_solist)
+{
+ gdbarch->has_global_solist = has_global_solist;
+}
+
/* Keep a registry of per-architecture data-pointers required by GDB
modules. */
gdb_assert (current_gdbarch != NULL);
gdb_assert (new_gdbarch->initialized_p);
current_gdbarch = new_gdbarch;
+ target_gdbarch = new_gdbarch;
observer_notify_architecture_changed (new_gdbarch);
registers_changed ();
}