/* Dynamic architecture support for GDB, the GNU debugger.
- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+ Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
This file is part of GDB.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
+ the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
-
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* This file was created with the aid of ``gdbarch.sh''.
gdbarch_unwind_dummy_id_ftype *unwind_dummy_id;
int deprecated_fp_regnum;
gdbarch_push_dummy_call_ftype *push_dummy_call;
- int deprecated_register_size;
int call_dummy_location;
gdbarch_push_dummy_code_ftype *push_dummy_code;
gdbarch_print_registers_info_ftype *print_registers_info;
gdbarch_address_to_pointer_ftype *address_to_pointer;
gdbarch_integer_to_address_ftype *integer_to_address;
gdbarch_return_value_ftype *return_value;
- gdbarch_extract_return_value_ftype *extract_return_value;
- gdbarch_store_return_value_ftype *store_return_value;
- gdbarch_deprecated_use_struct_convention_ftype *deprecated_use_struct_convention;
gdbarch_skip_prologue_ftype *skip_prologue;
gdbarch_inner_than_ftype *inner_than;
gdbarch_breakpoint_from_pc_ftype *breakpoint_from_pc;
gdbarch_unwind_sp_ftype *unwind_sp;
gdbarch_frame_num_args_ftype *frame_num_args;
gdbarch_frame_align_ftype *frame_align;
- gdbarch_deprecated_reg_struct_has_addr_ftype *deprecated_reg_struct_has_addr;
gdbarch_stabs_argument_has_addr_ftype *stabs_argument_has_addr;
int frame_red_zone_size;
gdbarch_convert_from_func_ptr_addr_ftype *convert_from_func_ptr_addr;
gdbarch_register_reggroup_p_ftype *register_reggroup_p;
gdbarch_fetch_pointer_argument_ftype *fetch_pointer_argument;
gdbarch_regset_from_core_section_ftype *regset_from_core_section;
+ gdbarch_core_xfer_shared_libraries_ftype *core_xfer_shared_libraries;
int vtable_function_descriptors;
int vbit_in_delta;
gdbarch_skip_permanent_breakpoint_ftype *skip_permanent_breakpoint;
gdbarch_overlay_update_ftype *overlay_update;
+ gdbarch_core_read_description_ftype *core_read_description;
+ gdbarch_static_transform_name_ftype *static_transform_name;
+ int sofun_address_maybe_missing;
};
1, /* char_signed */
0, /* read_pc */
0, /* write_pc */
- 0, /* virtual_frame_pointer */
+ legacy_virtual_frame_pointer, /* virtual_frame_pointer */
0, /* pseudo_register_read */
0, /* pseudo_register_write */
0, /* num_regs */
-1, /* pc_regnum */
-1, /* ps_regnum */
0, /* fp0_regnum */
- 0, /* stab_reg_to_regnum */
- 0, /* ecoff_reg_to_regnum */
- 0, /* dwarf_reg_to_regnum */
- 0, /* sdb_reg_to_regnum */
- 0, /* dwarf2_reg_to_regnum */
+ no_op_reg_to_regnum, /* stab_reg_to_regnum */
+ no_op_reg_to_regnum, /* ecoff_reg_to_regnum */
+ no_op_reg_to_regnum, /* dwarf_reg_to_regnum */
+ no_op_reg_to_regnum, /* sdb_reg_to_regnum */
+ no_op_reg_to_regnum, /* dwarf2_reg_to_regnum */
0, /* register_name */
0, /* register_type */
0, /* unwind_dummy_id */
-1, /* deprecated_fp_regnum */
0, /* push_dummy_call */
- 0, /* deprecated_register_size */
0, /* call_dummy_location */
0, /* push_dummy_code */
default_print_registers_info, /* print_registers_info */
0, /* print_float_info */
0, /* print_vector_info */
- 0, /* register_sim_regno */
- 0, /* cannot_fetch_register */
- 0, /* cannot_store_register */
+ legacy_register_sim_regno, /* register_sim_regno */
+ cannot_register_not, /* cannot_fetch_register */
+ cannot_register_not, /* cannot_store_register */
0, /* get_longjmp_target */
0, /* believe_pcc_promotion */
- 0, /* convert_register_p */
+ generic_convert_register_p, /* convert_register_p */
0, /* register_to_value */
0, /* value_to_register */
0, /* value_from_register */
0, /* address_to_pointer */
0, /* integer_to_address */
0, /* return_value */
- 0, /* extract_return_value */
- 0, /* store_return_value */
- 0, /* deprecated_use_struct_convention */
0, /* skip_prologue */
0, /* inner_than */
0, /* breakpoint_from_pc */
0, /* unwind_sp */
0, /* frame_num_args */
0, /* frame_align */
- 0, /* deprecated_reg_struct_has_addr */
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 */
default_register_reggroup_p, /* register_reggroup_p */
0, /* fetch_pointer_argument */
0, /* regset_from_core_section */
+ 0, /* core_xfer_shared_libraries */
0, /* vtable_function_descriptors */
0, /* vbit_in_delta */
0, /* skip_permanent_breakpoint */
0, /* overlay_update */
+ 0, /* core_read_description */
+ 0, /* static_transform_name */
+ 0, /* sofun_address_maybe_missing */
/* startup_gdbarch() */
};
gdbarch_alloc (const struct gdbarch_info *info,
struct gdbarch_tdep *tdep)
{
- /* NOTE: The new architecture variable is named ``current_gdbarch''
- so that macros such as TARGET_ARCHITECTURE, when expanded, refer to
- the current local architecture and not the previous global
- architecture. This ensures that the new architectures initial
- values are not influenced by the previous architecture. Once
- everything is parameterised with gdbarch, this will go away. */
- struct gdbarch *current_gdbarch;
+ struct gdbarch *gdbarch;
/* Create an obstack for allocating all the per-architecture memory,
then use that to allocate the architecture vector. */
struct obstack *obstack = XMALLOC (struct obstack);
obstack_init (obstack);
- current_gdbarch = obstack_alloc (obstack, sizeof (*current_gdbarch));
- memset (current_gdbarch, 0, sizeof (*current_gdbarch));
- current_gdbarch->obstack = obstack;
+ gdbarch = obstack_alloc (obstack, sizeof (*gdbarch));
+ memset (gdbarch, 0, sizeof (*gdbarch));
+ gdbarch->obstack = obstack;
- alloc_gdbarch_data (current_gdbarch);
+ alloc_gdbarch_data (gdbarch);
- current_gdbarch->tdep = tdep;
+ gdbarch->tdep = tdep;
- current_gdbarch->bfd_arch_info = info->bfd_arch_info;
- current_gdbarch->byte_order = info->byte_order;
- current_gdbarch->osabi = info->osabi;
- current_gdbarch->target_desc = info->target_desc;
+ gdbarch->bfd_arch_info = info->bfd_arch_info;
+ gdbarch->byte_order = info->byte_order;
+ gdbarch->osabi = info->osabi;
+ gdbarch->target_desc = info->target_desc;
/* Force the explicit initialization of these. */
- current_gdbarch->short_bit = 2*TARGET_CHAR_BIT;
- current_gdbarch->int_bit = 4*TARGET_CHAR_BIT;
- current_gdbarch->long_bit = 4*TARGET_CHAR_BIT;
- current_gdbarch->long_long_bit = 2*current_gdbarch->long_bit;
- current_gdbarch->float_bit = 4*TARGET_CHAR_BIT;
- current_gdbarch->double_bit = 8*TARGET_CHAR_BIT;
- current_gdbarch->long_double_bit = 8*TARGET_CHAR_BIT;
- current_gdbarch->ptr_bit = current_gdbarch->int_bit;
- current_gdbarch->char_signed = -1;
- current_gdbarch->virtual_frame_pointer = legacy_virtual_frame_pointer;
- current_gdbarch->num_regs = -1;
- current_gdbarch->sp_regnum = -1;
- current_gdbarch->pc_regnum = -1;
- current_gdbarch->ps_regnum = -1;
- current_gdbarch->fp0_regnum = -1;
- current_gdbarch->stab_reg_to_regnum = no_op_reg_to_regnum;
- current_gdbarch->ecoff_reg_to_regnum = no_op_reg_to_regnum;
- current_gdbarch->dwarf_reg_to_regnum = no_op_reg_to_regnum;
- current_gdbarch->sdb_reg_to_regnum = no_op_reg_to_regnum;
- current_gdbarch->dwarf2_reg_to_regnum = no_op_reg_to_regnum;
- current_gdbarch->deprecated_fp_regnum = -1;
- current_gdbarch->call_dummy_location = AT_ENTRY_POINT;
- current_gdbarch->print_registers_info = default_print_registers_info;
- current_gdbarch->register_sim_regno = legacy_register_sim_regno;
- current_gdbarch->cannot_fetch_register = cannot_register_not;
- current_gdbarch->cannot_store_register = cannot_register_not;
- current_gdbarch->convert_register_p = generic_convert_register_p;
- current_gdbarch->value_from_register = default_value_from_register;
- current_gdbarch->pointer_to_address = unsigned_pointer_to_address;
- current_gdbarch->address_to_pointer = unsigned_address_to_pointer;
- current_gdbarch->return_value = legacy_return_value;
- current_gdbarch->deprecated_use_struct_convention = generic_use_struct_convention;
- current_gdbarch->memory_insert_breakpoint = default_memory_insert_breakpoint;
- current_gdbarch->memory_remove_breakpoint = default_memory_remove_breakpoint;
- current_gdbarch->remote_register_number = default_remote_register_number;
- current_gdbarch->stabs_argument_has_addr = default_stabs_argument_has_addr;
- current_gdbarch->convert_from_func_ptr_addr = convert_from_func_ptr_addr_identity;
- current_gdbarch->addr_bits_remove = core_addr_identity;
- 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_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;
- current_gdbarch->elf_make_msymbol_special = default_elf_make_msymbol_special;
- current_gdbarch->coff_make_msymbol_special = default_coff_make_msymbol_special;
- current_gdbarch->name_of_malloc = "malloc";
- current_gdbarch->register_reggroup_p = default_register_reggroup_p;
+ gdbarch->short_bit = 2*TARGET_CHAR_BIT;
+ gdbarch->int_bit = 4*TARGET_CHAR_BIT;
+ gdbarch->long_bit = 4*TARGET_CHAR_BIT;
+ gdbarch->long_long_bit = 2*gdbarch->long_bit;
+ gdbarch->float_bit = 4*TARGET_CHAR_BIT;
+ gdbarch->double_bit = 8*TARGET_CHAR_BIT;
+ gdbarch->long_double_bit = 8*TARGET_CHAR_BIT;
+ gdbarch->ptr_bit = gdbarch->int_bit;
+ gdbarch->char_signed = -1;
+ gdbarch->virtual_frame_pointer = legacy_virtual_frame_pointer;
+ gdbarch->num_regs = -1;
+ gdbarch->sp_regnum = -1;
+ gdbarch->pc_regnum = -1;
+ gdbarch->ps_regnum = -1;
+ gdbarch->fp0_regnum = -1;
+ gdbarch->stab_reg_to_regnum = no_op_reg_to_regnum;
+ gdbarch->ecoff_reg_to_regnum = no_op_reg_to_regnum;
+ gdbarch->dwarf_reg_to_regnum = no_op_reg_to_regnum;
+ gdbarch->sdb_reg_to_regnum = no_op_reg_to_regnum;
+ gdbarch->dwarf2_reg_to_regnum = no_op_reg_to_regnum;
+ gdbarch->deprecated_fp_regnum = -1;
+ gdbarch->call_dummy_location = AT_ENTRY_POINT;
+ gdbarch->print_registers_info = default_print_registers_info;
+ gdbarch->register_sim_regno = legacy_register_sim_regno;
+ gdbarch->cannot_fetch_register = cannot_register_not;
+ gdbarch->cannot_store_register = cannot_register_not;
+ gdbarch->convert_register_p = generic_convert_register_p;
+ gdbarch->value_from_register = default_value_from_register;
+ gdbarch->pointer_to_address = unsigned_pointer_to_address;
+ gdbarch->address_to_pointer = unsigned_address_to_pointer;
+ gdbarch->memory_insert_breakpoint = default_memory_insert_breakpoint;
+ gdbarch->memory_remove_breakpoint = default_memory_remove_breakpoint;
+ gdbarch->remote_register_number = default_remote_register_number;
+ gdbarch->stabs_argument_has_addr = default_stabs_argument_has_addr;
+ gdbarch->convert_from_func_ptr_addr = convert_from_func_ptr_addr_identity;
+ gdbarch->addr_bits_remove = core_addr_identity;
+ gdbarch->smash_text_address = core_addr_identity;
+ gdbarch->skip_trampoline_code = generic_skip_trampoline_code;
+ gdbarch->skip_solib_resolver = generic_skip_solib_resolver;
+ gdbarch->in_solib_return_trampoline = generic_in_solib_return_trampoline;
+ gdbarch->in_function_epilogue_p = generic_in_function_epilogue_p;
+ 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_alloc() */
- return current_gdbarch;
+ return gdbarch;
}
/* Ensure that all values in a GDBARCH are reasonable. */
-/* NOTE/WARNING: The parameter is called ``current_gdbarch'' so that it
- just happens to match the global variable ``current_gdbarch''. That
- way macros refering to that variable get the local and not the global
- version - ulgh. Once everything is parameterised with gdbarch, this
- will go away. */
-
static void
-verify_gdbarch (struct gdbarch *current_gdbarch)
+verify_gdbarch (struct gdbarch *gdbarch)
{
struct ui_file *log;
struct cleanup *cleanups;
log = mem_fileopen ();
cleanups = make_cleanup_ui_file_delete (log);
/* fundamental */
- if (current_gdbarch->byte_order == BFD_ENDIAN_UNKNOWN)
+ if (gdbarch->byte_order == BFD_ENDIAN_UNKNOWN)
fprintf_unfiltered (log, "\n\tbyte-order");
- if (current_gdbarch->bfd_arch_info == NULL)
+ if (gdbarch->bfd_arch_info == NULL)
fprintf_unfiltered (log, "\n\tbfd_arch_info");
/* Check those that need to be defined for the given multi-arch level. */
/* Skip verify of short_bit, invalid_p == 0 */
/* Skip verify of long_bit, invalid_p == 0 */
/* Skip verify of long_long_bit, invalid_p == 0 */
/* Skip verify of float_bit, invalid_p == 0 */
- if (current_gdbarch->float_format == 0)
- current_gdbarch->float_format = floatformats_ieee_single;
+ if (gdbarch->float_format == 0)
+ gdbarch->float_format = floatformats_ieee_single;
/* Skip verify of double_bit, invalid_p == 0 */
- if (current_gdbarch->double_format == 0)
- current_gdbarch->double_format = floatformats_ieee_double;
+ if (gdbarch->double_format == 0)
+ gdbarch->double_format = floatformats_ieee_double;
/* Skip verify of long_double_bit, invalid_p == 0 */
- if (current_gdbarch->long_double_format == 0)
- current_gdbarch->long_double_format = floatformats_ieee_double;
+ if (gdbarch->long_double_format == 0)
+ gdbarch->long_double_format = floatformats_ieee_double;
/* Skip verify of ptr_bit, invalid_p == 0 */
- if (current_gdbarch->addr_bit == 0)
- current_gdbarch->addr_bit = gdbarch_ptr_bit (current_gdbarch);
- if (current_gdbarch->char_signed == -1)
- current_gdbarch->char_signed = 1;
+ if (gdbarch->addr_bit == 0)
+ gdbarch->addr_bit = gdbarch_ptr_bit (gdbarch);
+ if (gdbarch->char_signed == -1)
+ gdbarch->char_signed = 1;
/* Skip verify of read_pc, has predicate */
/* Skip verify of write_pc, has predicate */
/* Skip verify of virtual_frame_pointer, invalid_p == 0 */
/* Skip verify of pseudo_register_read, has predicate */
/* Skip verify of pseudo_register_write, has predicate */
- if (current_gdbarch->num_regs == -1)
+ if (gdbarch->num_regs == -1)
fprintf_unfiltered (log, "\n\tnum_regs");
/* Skip verify of num_pseudo_regs, invalid_p == 0 */
/* Skip verify of sp_regnum, invalid_p == 0 */
/* Skip verify of dwarf_reg_to_regnum, invalid_p == 0 */
/* Skip verify of sdb_reg_to_regnum, invalid_p == 0 */
/* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0 */
+ if (gdbarch->register_name == 0)
+ fprintf_unfiltered (log, "\n\tregister_name");
/* Skip verify of register_type, has predicate */
/* Skip verify of unwind_dummy_id, has predicate */
/* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
/* Skip verify of address_to_pointer, invalid_p == 0 */
/* Skip verify of integer_to_address, has predicate */
/* Skip verify of return_value, has predicate */
- /* Skip verify of deprecated_use_struct_convention, invalid_p == 0 */
- if (current_gdbarch->skip_prologue == 0)
+ if (gdbarch->skip_prologue == 0)
fprintf_unfiltered (log, "\n\tskip_prologue");
- if (current_gdbarch->inner_than == 0)
+ if (gdbarch->inner_than == 0)
fprintf_unfiltered (log, "\n\tinner_than");
- if (current_gdbarch->breakpoint_from_pc == 0)
+ if (gdbarch->breakpoint_from_pc == 0)
fprintf_unfiltered (log, "\n\tbreakpoint_from_pc");
/* Skip verify of adjust_breakpoint_address, has predicate */
/* Skip verify of memory_insert_breakpoint, invalid_p == 0 */
/* Skip verify of unwind_sp, has predicate */
/* Skip verify of frame_num_args, has predicate */
/* Skip verify of frame_align, has predicate */
- /* Skip verify of deprecated_reg_struct_has_addr, has predicate */
/* Skip verify of stabs_argument_has_addr, invalid_p == 0 */
/* Skip verify of convert_from_func_ptr_addr, invalid_p == 0 */
/* Skip verify of addr_bits_remove, invalid_p == 0 */
/* Skip verify of smash_text_address, invalid_p == 0 */
/* Skip verify of software_single_step, has predicate */
/* Skip verify of single_step_through_delay, has predicate */
- if (current_gdbarch->print_insn == 0)
+ if (gdbarch->print_insn == 0)
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 register_reggroup_p, invalid_p == 0 */
/* Skip verify of fetch_pointer_argument, has predicate */
/* Skip verify of regset_from_core_section, has predicate */
+ /* Skip verify of core_xfer_shared_libraries, has predicate */
/* Skip verify of vtable_function_descriptors, invalid_p == 0 */
/* Skip verify of vbit_in_delta, invalid_p == 0 */
/* Skip verify of skip_permanent_breakpoint, has predicate */
/* Skip verify of overlay_update, has predicate */
+ /* Skip verify of core_read_description, has predicate */
+ /* Skip verify of static_transform_name, has predicate */
+ /* Skip verify of sofun_address_maybe_missing, invalid_p == 0 */
buf = ui_file_xstrdup (log, &dummy);
make_cleanup (xfree, buf);
if (strlen (buf) > 0)
/* Print out the details of the current architecture. */
-/* NOTE/WARNING: The parameter is called ``current_gdbarch'' so that it
- just happens to match the global variable ``current_gdbarch''. That
- way macros refering to that variable get the local and not the global
- version - ulgh. Once everything is parameterised with gdbarch, this
- will go away. */
-
void
-gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
+gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
{
- const char *gdb_xm_file = "<not-defined>";
const char *gdb_nm_file = "<not-defined>";
- const char *gdb_tm_file = "<not-defined>";
-#if defined (GDB_XM_FILE)
- gdb_xm_file = GDB_XM_FILE;
-#endif
- fprintf_unfiltered (file,
- "gdbarch_dump: GDB_XM_FILE = %s\n",
- gdb_xm_file);
#if defined (GDB_NM_FILE)
gdb_nm_file = GDB_NM_FILE;
#endif
fprintf_unfiltered (file,
"gdbarch_dump: GDB_NM_FILE = %s\n",
gdb_nm_file);
-#if defined (GDB_TM_FILE)
- gdb_tm_file = GDB_TM_FILE;
-#endif
- fprintf_unfiltered (file,
- "gdbarch_dump: GDB_TM_FILE = %s\n",
- gdb_tm_file);
fprintf_unfiltered (file,
"gdbarch_dump: addr_bit = %s\n",
- paddr_d (current_gdbarch->addr_bit));
+ paddr_d (gdbarch->addr_bit));
fprintf_unfiltered (file,
"gdbarch_dump: addr_bits_remove = <0x%lx>\n",
- (long) current_gdbarch->addr_bits_remove);
+ (long) gdbarch->addr_bits_remove);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_address_class_name_to_type_flags_p() = %d\n",
- gdbarch_address_class_name_to_type_flags_p (current_gdbarch));
+ gdbarch_address_class_name_to_type_flags_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: address_class_name_to_type_flags = <0x%lx>\n",
- (long) current_gdbarch->address_class_name_to_type_flags);
+ (long) gdbarch->address_class_name_to_type_flags);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_address_class_type_flags_p() = %d\n",
- gdbarch_address_class_type_flags_p (current_gdbarch));
+ gdbarch_address_class_type_flags_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: address_class_type_flags = <0x%lx>\n",
- (long) current_gdbarch->address_class_type_flags);
+ (long) gdbarch->address_class_type_flags);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_address_class_type_flags_to_name_p() = %d\n",
- gdbarch_address_class_type_flags_to_name_p (current_gdbarch));
+ gdbarch_address_class_type_flags_to_name_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: address_class_type_flags_to_name = <0x%lx>\n",
- (long) current_gdbarch->address_class_type_flags_to_name);
+ (long) gdbarch->address_class_type_flags_to_name);
fprintf_unfiltered (file,
"gdbarch_dump: address_to_pointer = <0x%lx>\n",
- (long) current_gdbarch->address_to_pointer);
+ (long) gdbarch->address_to_pointer);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_adjust_breakpoint_address_p() = %d\n",
- gdbarch_adjust_breakpoint_address_p (current_gdbarch));
+ gdbarch_adjust_breakpoint_address_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: adjust_breakpoint_address = <0x%lx>\n",
- (long) current_gdbarch->adjust_breakpoint_address);
-#ifdef BELIEVE_PCC_PROMOTION
- fprintf_unfiltered (file,
- "gdbarch_dump: BELIEVE_PCC_PROMOTION # %s\n",
- XSTRING (BELIEVE_PCC_PROMOTION));
-#endif
+ (long) gdbarch->adjust_breakpoint_address);
fprintf_unfiltered (file,
"gdbarch_dump: believe_pcc_promotion = %s\n",
- paddr_d (current_gdbarch->believe_pcc_promotion));
+ paddr_d (gdbarch->believe_pcc_promotion));
fprintf_unfiltered (file,
"gdbarch_dump: bfd_arch_info = %s\n",
- gdbarch_bfd_arch_info (current_gdbarch)->printable_name);
+ gdbarch_bfd_arch_info (gdbarch)->printable_name);
fprintf_unfiltered (file,
"gdbarch_dump: breakpoint_from_pc = <0x%lx>\n",
- (long) current_gdbarch->breakpoint_from_pc);
+ (long) gdbarch->breakpoint_from_pc);
fprintf_unfiltered (file,
"gdbarch_dump: byte_order = %s\n",
- paddr_d (current_gdbarch->byte_order));
+ paddr_d (gdbarch->byte_order));
fprintf_unfiltered (file,
"gdbarch_dump: call_dummy_location = %s\n",
- paddr_d (current_gdbarch->call_dummy_location));
+ paddr_d (gdbarch->call_dummy_location));
fprintf_unfiltered (file,
"gdbarch_dump: cannot_fetch_register = <0x%lx>\n",
- (long) current_gdbarch->cannot_fetch_register);
+ (long) gdbarch->cannot_fetch_register);
fprintf_unfiltered (file,
"gdbarch_dump: cannot_step_breakpoint = %s\n",
- paddr_d (current_gdbarch->cannot_step_breakpoint));
+ paddr_d (gdbarch->cannot_step_breakpoint));
fprintf_unfiltered (file,
"gdbarch_dump: cannot_store_register = <0x%lx>\n",
- (long) current_gdbarch->cannot_store_register);
+ (long) gdbarch->cannot_store_register);
fprintf_unfiltered (file,
"gdbarch_dump: char_signed = %s\n",
- paddr_d (current_gdbarch->char_signed));
+ paddr_d (gdbarch->char_signed));
fprintf_unfiltered (file,
"gdbarch_dump: coff_make_msymbol_special = <0x%lx>\n",
- (long) current_gdbarch->coff_make_msymbol_special);
+ (long) gdbarch->coff_make_msymbol_special);
fprintf_unfiltered (file,
"gdbarch_dump: construct_inferior_arguments = <0x%lx>\n",
- (long) current_gdbarch->construct_inferior_arguments);
+ (long) gdbarch->construct_inferior_arguments);
fprintf_unfiltered (file,
"gdbarch_dump: convert_from_func_ptr_addr = <0x%lx>\n",
- (long) current_gdbarch->convert_from_func_ptr_addr);
+ (long) gdbarch->convert_from_func_ptr_addr);
fprintf_unfiltered (file,
"gdbarch_dump: convert_register_p = <0x%lx>\n",
- (long) current_gdbarch->convert_register_p);
+ (long) gdbarch->convert_register_p);
fprintf_unfiltered (file,
- "gdbarch_dump: decr_pc_after_break = 0x%s\n",
- paddr_nz (current_gdbarch->decr_pc_after_break));
-#ifdef DEPRECATED_FP_REGNUM
- fprintf_unfiltered (file,
- "gdbarch_dump: DEPRECATED_FP_REGNUM # %s\n",
- XSTRING (DEPRECATED_FP_REGNUM));
-#endif
- fprintf_unfiltered (file,
- "gdbarch_dump: deprecated_fp_regnum = %s\n",
- paddr_d (current_gdbarch->deprecated_fp_regnum));
- fprintf_unfiltered (file,
- "gdbarch_dump: deprecated_function_start_offset = 0x%s\n",
- paddr_nz (current_gdbarch->deprecated_function_start_offset));
+ "gdbarch_dump: gdbarch_core_read_description_p() = %d\n",
+ gdbarch_core_read_description_p (gdbarch));
fprintf_unfiltered (file,
- "gdbarch_dump: gdbarch_deprecated_reg_struct_has_addr_p() = %d\n",
- gdbarch_deprecated_reg_struct_has_addr_p (current_gdbarch));
+ "gdbarch_dump: core_read_description = <0x%lx>\n",
+ (long) gdbarch->core_read_description);
fprintf_unfiltered (file,
- "gdbarch_dump: deprecated_reg_struct_has_addr = <0x%lx>\n",
- (long) current_gdbarch->deprecated_reg_struct_has_addr);
-#ifdef DEPRECATED_REGISTER_SIZE
+ "gdbarch_dump: gdbarch_core_xfer_shared_libraries_p() = %d\n",
+ gdbarch_core_xfer_shared_libraries_p (gdbarch));
fprintf_unfiltered (file,
- "gdbarch_dump: DEPRECATED_REGISTER_SIZE # %s\n",
- XSTRING (DEPRECATED_REGISTER_SIZE));
-#endif
+ "gdbarch_dump: core_xfer_shared_libraries = <0x%lx>\n",
+ (long) gdbarch->core_xfer_shared_libraries);
fprintf_unfiltered (file,
- "gdbarch_dump: deprecated_register_size = %s\n",
- paddr_d (current_gdbarch->deprecated_register_size));
-#ifdef DEPRECATED_USE_STRUCT_CONVENTION
+ "gdbarch_dump: decr_pc_after_break = 0x%s\n",
+ paddr_nz (gdbarch->decr_pc_after_break));
fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "DEPRECATED_USE_STRUCT_CONVENTION(gcc_p, value_type)",
- XSTRING (DEPRECATED_USE_STRUCT_CONVENTION (gcc_p, value_type)));
-#endif
+ "gdbarch_dump: deprecated_fp_regnum = %s\n",
+ paddr_d (gdbarch->deprecated_fp_regnum));
fprintf_unfiltered (file,
- "gdbarch_dump: deprecated_use_struct_convention = <0x%lx>\n",
- (long) current_gdbarch->deprecated_use_struct_convention);
+ "gdbarch_dump: deprecated_function_start_offset = 0x%s\n",
+ paddr_nz (gdbarch->deprecated_function_start_offset));
fprintf_unfiltered (file,
"gdbarch_dump: double_bit = %s\n",
- paddr_d (current_gdbarch->double_bit));
+ paddr_d (gdbarch->double_bit));
fprintf_unfiltered (file,
"gdbarch_dump: double_format = %s\n",
- pformat (current_gdbarch->double_format));
+ pformat (gdbarch->double_format));
fprintf_unfiltered (file,
"gdbarch_dump: dwarf2_reg_to_regnum = <0x%lx>\n",
- (long) current_gdbarch->dwarf2_reg_to_regnum);
+ (long) gdbarch->dwarf2_reg_to_regnum);
fprintf_unfiltered (file,
"gdbarch_dump: dwarf_reg_to_regnum = <0x%lx>\n",
- (long) current_gdbarch->dwarf_reg_to_regnum);
+ (long) gdbarch->dwarf_reg_to_regnum);
fprintf_unfiltered (file,
"gdbarch_dump: ecoff_reg_to_regnum = <0x%lx>\n",
- (long) current_gdbarch->ecoff_reg_to_regnum);
+ (long) gdbarch->ecoff_reg_to_regnum);
fprintf_unfiltered (file,
"gdbarch_dump: elf_make_msymbol_special = <0x%lx>\n",
- (long) current_gdbarch->elf_make_msymbol_special);
-#ifdef EXTRACT_RETURN_VALUE
- fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "EXTRACT_RETURN_VALUE(type, regcache, valbuf)",
- XSTRING (EXTRACT_RETURN_VALUE (type, regcache, valbuf)));
-#endif
- fprintf_unfiltered (file,
- "gdbarch_dump: extract_return_value = <0x%lx>\n",
- (long) current_gdbarch->extract_return_value);
+ (long) gdbarch->elf_make_msymbol_special);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_fetch_pointer_argument_p() = %d\n",
- gdbarch_fetch_pointer_argument_p (current_gdbarch));
+ gdbarch_fetch_pointer_argument_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: fetch_pointer_argument = <0x%lx>\n",
- (long) current_gdbarch->fetch_pointer_argument);
+ (long) gdbarch->fetch_pointer_argument);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_fetch_tls_load_module_address_p() = %d\n",
- gdbarch_fetch_tls_load_module_address_p (current_gdbarch));
+ gdbarch_fetch_tls_load_module_address_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: fetch_tls_load_module_address = <0x%lx>\n",
- (long) current_gdbarch->fetch_tls_load_module_address);
+ (long) gdbarch->fetch_tls_load_module_address);
fprintf_unfiltered (file,
"gdbarch_dump: float_bit = %s\n",
- paddr_d (current_gdbarch->float_bit));
+ paddr_d (gdbarch->float_bit));
fprintf_unfiltered (file,
"gdbarch_dump: float_format = %s\n",
- pformat (current_gdbarch->float_format));
+ pformat (gdbarch->float_format));
fprintf_unfiltered (file,
"gdbarch_dump: fp0_regnum = %s\n",
- paddr_d (current_gdbarch->fp0_regnum));
+ paddr_d (gdbarch->fp0_regnum));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_frame_align_p() = %d\n",
- gdbarch_frame_align_p (current_gdbarch));
+ gdbarch_frame_align_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: frame_align = <0x%lx>\n",
- (long) current_gdbarch->frame_align);
+ (long) gdbarch->frame_align);
fprintf_unfiltered (file,
"gdbarch_dump: frame_args_skip = 0x%s\n",
- paddr_nz (current_gdbarch->frame_args_skip));
+ paddr_nz (gdbarch->frame_args_skip));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_frame_num_args_p() = %d\n",
- gdbarch_frame_num_args_p (current_gdbarch));
+ gdbarch_frame_num_args_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: frame_num_args = <0x%lx>\n",
- (long) current_gdbarch->frame_num_args);
+ (long) gdbarch->frame_num_args);
fprintf_unfiltered (file,
"gdbarch_dump: frame_red_zone_size = %s\n",
- paddr_d (current_gdbarch->frame_red_zone_size));
+ paddr_d (gdbarch->frame_red_zone_size));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n",
- gdbarch_get_longjmp_target_p (current_gdbarch));
+ gdbarch_get_longjmp_target_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: get_longjmp_target = <0x%lx>\n",
- (long) current_gdbarch->get_longjmp_target);
+ (long) gdbarch->get_longjmp_target);
fprintf_unfiltered (file,
"gdbarch_dump: have_nonsteppable_watchpoint = %s\n",
- paddr_d (current_gdbarch->have_nonsteppable_watchpoint));
+ paddr_d (gdbarch->have_nonsteppable_watchpoint));
fprintf_unfiltered (file,
"gdbarch_dump: in_function_epilogue_p = <0x%lx>\n",
- (long) current_gdbarch->in_function_epilogue_p);
+ (long) gdbarch->in_function_epilogue_p);
fprintf_unfiltered (file,
"gdbarch_dump: in_solib_return_trampoline = <0x%lx>\n",
- (long) current_gdbarch->in_solib_return_trampoline);
+ (long) gdbarch->in_solib_return_trampoline);
fprintf_unfiltered (file,
"gdbarch_dump: inner_than = <0x%lx>\n",
- (long) current_gdbarch->inner_than);
+ (long) gdbarch->inner_than);
fprintf_unfiltered (file,
"gdbarch_dump: int_bit = %s\n",
- paddr_d (current_gdbarch->int_bit));
+ paddr_d (gdbarch->int_bit));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_integer_to_address_p() = %d\n",
- gdbarch_integer_to_address_p (current_gdbarch));
+ gdbarch_integer_to_address_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: integer_to_address = <0x%lx>\n",
- (long) current_gdbarch->integer_to_address);
+ (long) gdbarch->integer_to_address);
fprintf_unfiltered (file,
"gdbarch_dump: long_bit = %s\n",
- paddr_d (current_gdbarch->long_bit));
+ paddr_d (gdbarch->long_bit));
fprintf_unfiltered (file,
"gdbarch_dump: long_double_bit = %s\n",
- paddr_d (current_gdbarch->long_double_bit));
+ paddr_d (gdbarch->long_double_bit));
fprintf_unfiltered (file,
"gdbarch_dump: long_double_format = %s\n",
- pformat (current_gdbarch->long_double_format));
+ pformat (gdbarch->long_double_format));
fprintf_unfiltered (file,
"gdbarch_dump: long_long_bit = %s\n",
- paddr_d (current_gdbarch->long_long_bit));
+ paddr_d (gdbarch->long_long_bit));
fprintf_unfiltered (file,
"gdbarch_dump: memory_insert_breakpoint = <0x%lx>\n",
- (long) current_gdbarch->memory_insert_breakpoint);
+ (long) gdbarch->memory_insert_breakpoint);
fprintf_unfiltered (file,
"gdbarch_dump: memory_remove_breakpoint = <0x%lx>\n",
- (long) current_gdbarch->memory_remove_breakpoint);
+ (long) gdbarch->memory_remove_breakpoint);
fprintf_unfiltered (file,
"gdbarch_dump: name_of_malloc = %s\n",
- current_gdbarch->name_of_malloc);
+ gdbarch->name_of_malloc);
fprintf_unfiltered (file,
"gdbarch_dump: num_pseudo_regs = %s\n",
- paddr_d (current_gdbarch->num_pseudo_regs));
+ paddr_d (gdbarch->num_pseudo_regs));
fprintf_unfiltered (file,
"gdbarch_dump: num_regs = %s\n",
- paddr_d (current_gdbarch->num_regs));
+ paddr_d (gdbarch->num_regs));
fprintf_unfiltered (file,
"gdbarch_dump: osabi = %s\n",
- paddr_d (current_gdbarch->osabi));
+ paddr_d (gdbarch->osabi));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_overlay_update_p() = %d\n",
- gdbarch_overlay_update_p (current_gdbarch));
+ gdbarch_overlay_update_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: overlay_update = <0x%lx>\n",
- (long) current_gdbarch->overlay_update);
+ (long) gdbarch->overlay_update);
fprintf_unfiltered (file,
"gdbarch_dump: pc_regnum = %s\n",
- paddr_d (current_gdbarch->pc_regnum));
+ paddr_d (gdbarch->pc_regnum));
fprintf_unfiltered (file,
"gdbarch_dump: pointer_to_address = <0x%lx>\n",
- (long) current_gdbarch->pointer_to_address);
+ (long) gdbarch->pointer_to_address);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_print_float_info_p() = %d\n",
- gdbarch_print_float_info_p (current_gdbarch));
+ gdbarch_print_float_info_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: print_float_info = <0x%lx>\n",
- (long) current_gdbarch->print_float_info);
-#ifdef TARGET_PRINT_INSN
- fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "TARGET_PRINT_INSN(vma, info)",
- XSTRING (TARGET_PRINT_INSN (vma, info)));
-#endif
+ (long) gdbarch->print_float_info);
fprintf_unfiltered (file,
"gdbarch_dump: print_insn = <0x%lx>\n",
- (long) current_gdbarch->print_insn);
+ (long) gdbarch->print_insn);
fprintf_unfiltered (file,
"gdbarch_dump: print_registers_info = <0x%lx>\n",
- (long) current_gdbarch->print_registers_info);
+ (long) gdbarch->print_registers_info);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_print_vector_info_p() = %d\n",
- gdbarch_print_vector_info_p (current_gdbarch));
+ gdbarch_print_vector_info_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: print_vector_info = <0x%lx>\n",
- (long) current_gdbarch->print_vector_info);
+ (long) gdbarch->print_vector_info);
fprintf_unfiltered (file,
"gdbarch_dump: ps_regnum = %s\n",
- paddr_d (current_gdbarch->ps_regnum));
+ paddr_d (gdbarch->ps_regnum));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_pseudo_register_read_p() = %d\n",
- gdbarch_pseudo_register_read_p (current_gdbarch));
+ gdbarch_pseudo_register_read_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: pseudo_register_read = <0x%lx>\n",
- (long) current_gdbarch->pseudo_register_read);
+ (long) gdbarch->pseudo_register_read);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_pseudo_register_write_p() = %d\n",
- gdbarch_pseudo_register_write_p (current_gdbarch));
+ gdbarch_pseudo_register_write_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: pseudo_register_write = <0x%lx>\n",
- (long) current_gdbarch->pseudo_register_write);
+ (long) gdbarch->pseudo_register_write);
fprintf_unfiltered (file,
"gdbarch_dump: ptr_bit = %s\n",
- paddr_d (current_gdbarch->ptr_bit));
+ paddr_d (gdbarch->ptr_bit));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_push_dummy_call_p() = %d\n",
- gdbarch_push_dummy_call_p (current_gdbarch));
+ gdbarch_push_dummy_call_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: push_dummy_call = <0x%lx>\n",
- (long) current_gdbarch->push_dummy_call);
+ (long) gdbarch->push_dummy_call);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_push_dummy_code_p() = %d\n",
- gdbarch_push_dummy_code_p (current_gdbarch));
+ gdbarch_push_dummy_code_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: push_dummy_code = <0x%lx>\n",
- (long) current_gdbarch->push_dummy_code);
+ (long) gdbarch->push_dummy_code);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_read_pc_p() = %d\n",
- gdbarch_read_pc_p (current_gdbarch));
+ gdbarch_read_pc_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: read_pc = <0x%lx>\n",
- (long) current_gdbarch->read_pc);
+ (long) gdbarch->read_pc);
fprintf_unfiltered (file,
"gdbarch_dump: register_name = <0x%lx>\n",
- (long) current_gdbarch->register_name);
+ (long) gdbarch->register_name);
fprintf_unfiltered (file,
"gdbarch_dump: register_reggroup_p = <0x%lx>\n",
- (long) current_gdbarch->register_reggroup_p);
+ (long) gdbarch->register_reggroup_p);
fprintf_unfiltered (file,
"gdbarch_dump: register_sim_regno = <0x%lx>\n",
- (long) current_gdbarch->register_sim_regno);
+ (long) gdbarch->register_sim_regno);
fprintf_unfiltered (file,
"gdbarch_dump: register_to_value = <0x%lx>\n",
- (long) current_gdbarch->register_to_value);
+ (long) gdbarch->register_to_value);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_register_type_p() = %d\n",
- gdbarch_register_type_p (current_gdbarch));
+ gdbarch_register_type_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: register_type = <0x%lx>\n",
- (long) current_gdbarch->register_type);
+ (long) gdbarch->register_type);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_regset_from_core_section_p() = %d\n",
- gdbarch_regset_from_core_section_p (current_gdbarch));
+ gdbarch_regset_from_core_section_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: regset_from_core_section = <0x%lx>\n",
- (long) current_gdbarch->regset_from_core_section);
+ (long) gdbarch->regset_from_core_section);
fprintf_unfiltered (file,
"gdbarch_dump: remote_register_number = <0x%lx>\n",
- (long) current_gdbarch->remote_register_number);
+ (long) gdbarch->remote_register_number);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_return_value_p() = %d\n",
- gdbarch_return_value_p (current_gdbarch));
+ gdbarch_return_value_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: return_value = <0x%lx>\n",
- (long) current_gdbarch->return_value);
+ (long) gdbarch->return_value);
fprintf_unfiltered (file,
"gdbarch_dump: sdb_reg_to_regnum = <0x%lx>\n",
- (long) current_gdbarch->sdb_reg_to_regnum);
+ (long) gdbarch->sdb_reg_to_regnum);
fprintf_unfiltered (file,
"gdbarch_dump: short_bit = %s\n",
- paddr_d (current_gdbarch->short_bit));
+ paddr_d (gdbarch->short_bit));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_single_step_through_delay_p() = %d\n",
- gdbarch_single_step_through_delay_p (current_gdbarch));
+ gdbarch_single_step_through_delay_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: single_step_through_delay = <0x%lx>\n",
- (long) current_gdbarch->single_step_through_delay);
+ (long) gdbarch->single_step_through_delay);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_skip_permanent_breakpoint_p() = %d\n",
- gdbarch_skip_permanent_breakpoint_p (current_gdbarch));
+ gdbarch_skip_permanent_breakpoint_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: skip_permanent_breakpoint = <0x%lx>\n",
- (long) current_gdbarch->skip_permanent_breakpoint);
+ (long) gdbarch->skip_permanent_breakpoint);
fprintf_unfiltered (file,
"gdbarch_dump: skip_prologue = <0x%lx>\n",
- (long) current_gdbarch->skip_prologue);
+ (long) gdbarch->skip_prologue);
fprintf_unfiltered (file,
"gdbarch_dump: skip_solib_resolver = <0x%lx>\n",
- (long) current_gdbarch->skip_solib_resolver);
+ (long) gdbarch->skip_solib_resolver);
fprintf_unfiltered (file,
"gdbarch_dump: skip_trampoline_code = <0x%lx>\n",
- (long) current_gdbarch->skip_trampoline_code);
+ (long) gdbarch->skip_trampoline_code);
fprintf_unfiltered (file,
"gdbarch_dump: smash_text_address = <0x%lx>\n",
- (long) current_gdbarch->smash_text_address);
-#ifdef SOFTWARE_SINGLE_STEP_P
- fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "SOFTWARE_SINGLE_STEP_P()",
- XSTRING (SOFTWARE_SINGLE_STEP_P ()));
-#endif
+ (long) gdbarch->smash_text_address);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_software_single_step_p() = %d\n",
- gdbarch_software_single_step_p (current_gdbarch));
-#ifdef SOFTWARE_SINGLE_STEP
- fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "SOFTWARE_SINGLE_STEP(frame)",
- XSTRING (SOFTWARE_SINGLE_STEP (frame)));
-#endif
+ gdbarch_software_single_step_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: software_single_step = <0x%lx>\n",
- (long) current_gdbarch->software_single_step);
+ (long) gdbarch->software_single_step);
+ fprintf_unfiltered (file,
+ "gdbarch_dump: sofun_address_maybe_missing = %s\n",
+ paddr_d (gdbarch->sofun_address_maybe_missing));
fprintf_unfiltered (file,
"gdbarch_dump: sp_regnum = %s\n",
- paddr_d (current_gdbarch->sp_regnum));
+ paddr_d (gdbarch->sp_regnum));
fprintf_unfiltered (file,
"gdbarch_dump: stab_reg_to_regnum = <0x%lx>\n",
- (long) current_gdbarch->stab_reg_to_regnum);
+ (long) gdbarch->stab_reg_to_regnum);
fprintf_unfiltered (file,
"gdbarch_dump: stabs_argument_has_addr = <0x%lx>\n",
- (long) current_gdbarch->stabs_argument_has_addr);
-#ifdef STORE_RETURN_VALUE
+ (long) gdbarch->stabs_argument_has_addr);
fprintf_unfiltered (file,
- "gdbarch_dump: %s # %s\n",
- "STORE_RETURN_VALUE(type, regcache, valbuf)",
- XSTRING (STORE_RETURN_VALUE (type, regcache, valbuf)));
-#endif
+ "gdbarch_dump: gdbarch_static_transform_name_p() = %d\n",
+ gdbarch_static_transform_name_p (gdbarch));
fprintf_unfiltered (file,
- "gdbarch_dump: store_return_value = <0x%lx>\n",
- (long) current_gdbarch->store_return_value);
+ "gdbarch_dump: static_transform_name = <0x%lx>\n",
+ (long) gdbarch->static_transform_name);
fprintf_unfiltered (file,
"gdbarch_dump: target_desc = %s\n",
- paddr_d ((long) current_gdbarch->target_desc));
+ paddr_d ((long) gdbarch->target_desc));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_unwind_dummy_id_p() = %d\n",
- gdbarch_unwind_dummy_id_p (current_gdbarch));
+ gdbarch_unwind_dummy_id_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: unwind_dummy_id = <0x%lx>\n",
- (long) current_gdbarch->unwind_dummy_id);
+ (long) gdbarch->unwind_dummy_id);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_unwind_pc_p() = %d\n",
- gdbarch_unwind_pc_p (current_gdbarch));
+ gdbarch_unwind_pc_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: unwind_pc = <0x%lx>\n",
- (long) current_gdbarch->unwind_pc);
+ (long) gdbarch->unwind_pc);
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_unwind_sp_p() = %d\n",
- gdbarch_unwind_sp_p (current_gdbarch));
+ gdbarch_unwind_sp_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: unwind_sp = <0x%lx>\n",
- (long) current_gdbarch->unwind_sp);
+ (long) gdbarch->unwind_sp);
fprintf_unfiltered (file,
"gdbarch_dump: value_from_register = <0x%lx>\n",
- (long) current_gdbarch->value_from_register);
+ (long) gdbarch->value_from_register);
fprintf_unfiltered (file,
"gdbarch_dump: value_to_register = <0x%lx>\n",
- (long) current_gdbarch->value_to_register);
+ (long) gdbarch->value_to_register);
fprintf_unfiltered (file,
"gdbarch_dump: vbit_in_delta = %s\n",
- paddr_d (current_gdbarch->vbit_in_delta));
+ paddr_d (gdbarch->vbit_in_delta));
fprintf_unfiltered (file,
"gdbarch_dump: virtual_frame_pointer = <0x%lx>\n",
- (long) current_gdbarch->virtual_frame_pointer);
+ (long) gdbarch->virtual_frame_pointer);
fprintf_unfiltered (file,
"gdbarch_dump: vtable_function_descriptors = %s\n",
- paddr_d (current_gdbarch->vtable_function_descriptors));
+ paddr_d (gdbarch->vtable_function_descriptors));
fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_write_pc_p() = %d\n",
- gdbarch_write_pc_p (current_gdbarch));
+ gdbarch_write_pc_p (gdbarch));
fprintf_unfiltered (file,
"gdbarch_dump: write_pc = <0x%lx>\n",
- (long) current_gdbarch->write_pc);
- if (current_gdbarch->dump_tdep != NULL)
- current_gdbarch->dump_tdep (current_gdbarch, file);
+ (long) gdbarch->write_pc);
+ if (gdbarch->dump_tdep != NULL)
+ gdbarch->dump_tdep (gdbarch, file);
}
struct gdbarch_tdep *
gdb_assert (gdbarch->virtual_frame_pointer != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_virtual_frame_pointer called\n");
- gdbarch->virtual_frame_pointer (pc, frame_regnum, frame_offset);
+ gdbarch->virtual_frame_pointer (gdbarch, pc, frame_regnum, frame_offset);
}
void
gdb_assert (gdbarch->stab_reg_to_regnum != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_stab_reg_to_regnum called\n");
- return gdbarch->stab_reg_to_regnum (stab_regnr);
+ return gdbarch->stab_reg_to_regnum (gdbarch, stab_regnr);
}
void
gdb_assert (gdbarch->ecoff_reg_to_regnum != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_ecoff_reg_to_regnum called\n");
- return gdbarch->ecoff_reg_to_regnum (ecoff_regnr);
+ return gdbarch->ecoff_reg_to_regnum (gdbarch, ecoff_regnr);
}
void
gdb_assert (gdbarch->dwarf_reg_to_regnum != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_dwarf_reg_to_regnum called\n");
- return gdbarch->dwarf_reg_to_regnum (dwarf_regnr);
+ return gdbarch->dwarf_reg_to_regnum (gdbarch, dwarf_regnr);
}
void
gdb_assert (gdbarch->sdb_reg_to_regnum != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_sdb_reg_to_regnum called\n");
- return gdbarch->sdb_reg_to_regnum (sdb_regnr);
+ return gdbarch->sdb_reg_to_regnum (gdbarch, sdb_regnr);
}
void
gdb_assert (gdbarch->dwarf2_reg_to_regnum != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_dwarf2_reg_to_regnum called\n");
- return gdbarch->dwarf2_reg_to_regnum (dwarf2_regnr);
+ return gdbarch->dwarf2_reg_to_regnum (gdbarch, dwarf2_regnr);
}
void
gdb_assert (gdbarch->register_name != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_register_name called\n");
- return gdbarch->register_name (regnr);
+ return gdbarch->register_name (gdbarch, regnr);
}
void
gdbarch->push_dummy_call = push_dummy_call;
}
-int
-gdbarch_deprecated_register_size (struct gdbarch *gdbarch)
-{
- gdb_assert (gdbarch != NULL);
- if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_size called\n");
- return gdbarch->deprecated_register_size;
-}
-
-void
-set_gdbarch_deprecated_register_size (struct gdbarch *gdbarch,
- int deprecated_register_size)
-{
- gdbarch->deprecated_register_size = deprecated_register_size;
-}
-
int
gdbarch_call_dummy_location (struct gdbarch *gdbarch)
{
}
CORE_ADDR
-gdbarch_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR funaddr, int using_gcc, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr, struct regcache *regcache)
+gdbarch_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR funaddr, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr, struct regcache *regcache)
{
gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->push_dummy_code != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_push_dummy_code called\n");
- return gdbarch->push_dummy_code (gdbarch, sp, funaddr, using_gcc, args, nargs, value_type, real_pc, bp_addr, regcache);
+ return gdbarch->push_dummy_code (gdbarch, sp, funaddr, args, nargs, value_type, real_pc, bp_addr, regcache);
}
void
gdb_assert (gdbarch->register_sim_regno != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_register_sim_regno called\n");
- return gdbarch->register_sim_regno (reg_nr);
+ return gdbarch->register_sim_regno (gdbarch, reg_nr);
}
void
gdb_assert (gdbarch->cannot_fetch_register != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_fetch_register called\n");
- return gdbarch->cannot_fetch_register (regnum);
+ return gdbarch->cannot_fetch_register (gdbarch, regnum);
}
void
gdb_assert (gdbarch->cannot_store_register != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_cannot_store_register called\n");
- return gdbarch->cannot_store_register (regnum);
+ return gdbarch->cannot_store_register (gdbarch, regnum);
}
void
gdb_assert (gdbarch->convert_register_p != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_convert_register_p called\n");
- return gdbarch->convert_register_p (regnum, type);
+ return gdbarch->convert_register_p (gdbarch, regnum, type);
}
void
gdbarch_return_value_p (struct gdbarch *gdbarch)
{
gdb_assert (gdbarch != NULL);
- return gdbarch->return_value != legacy_return_value;
+ return gdbarch->return_value != NULL;
}
enum return_value_convention
{
gdb_assert (gdbarch != NULL);
gdb_assert (gdbarch->return_value != NULL);
- /* Do not check predicate: gdbarch->return_value != legacy_return_value, allow call. */
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_return_value called\n");
return gdbarch->return_value (gdbarch, valtype, regcache, readbuf, writebuf);
gdbarch->return_value = return_value;
}
-void
-gdbarch_extract_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, gdb_byte *valbuf)
-{
- gdb_assert (gdbarch != NULL);
- gdb_assert (gdbarch->extract_return_value != NULL);
- if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_extract_return_value called\n");
- gdbarch->extract_return_value (type, regcache, valbuf);
-}
-
-void
-set_gdbarch_extract_return_value (struct gdbarch *gdbarch,
- gdbarch_extract_return_value_ftype extract_return_value)
-{
- gdbarch->extract_return_value = extract_return_value;
-}
-
-void
-gdbarch_store_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, const gdb_byte *valbuf)
-{
- gdb_assert (gdbarch != NULL);
- gdb_assert (gdbarch->store_return_value != NULL);
- if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_store_return_value called\n");
- gdbarch->store_return_value (type, regcache, valbuf);
-}
-
-void
-set_gdbarch_store_return_value (struct gdbarch *gdbarch,
- gdbarch_store_return_value_ftype store_return_value)
-{
- gdbarch->store_return_value = store_return_value;
-}
-
-int
-gdbarch_deprecated_use_struct_convention (struct gdbarch *gdbarch, int gcc_p, struct type *value_type)
-{
- gdb_assert (gdbarch != NULL);
- gdb_assert (gdbarch->deprecated_use_struct_convention != NULL);
- if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_use_struct_convention called\n");
- return gdbarch->deprecated_use_struct_convention (gcc_p, value_type);
-}
-
-void
-set_gdbarch_deprecated_use_struct_convention (struct gdbarch *gdbarch,
- gdbarch_deprecated_use_struct_convention_ftype deprecated_use_struct_convention)
-{
- gdbarch->deprecated_use_struct_convention = deprecated_use_struct_convention;
-}
-
CORE_ADDR
gdbarch_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip)
{
gdb_assert (gdbarch->skip_prologue != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_skip_prologue called\n");
- return gdbarch->skip_prologue (ip);
+ return gdbarch->skip_prologue (gdbarch, ip);
}
void
gdb_assert (gdbarch->breakpoint_from_pc != NULL);
if (gdbarch_debug >= 2)
fprintf_unfiltered (gdb_stdlog, "gdbarch_breakpoint_from_pc called\n");
- return gdbarch->breakpoint_from_pc (pcptr, lenptr);
+ return gdbarch->breakpoint_from_pc (gdbarch, pcptr, lenptr);
}
void
gdbarch->frame_align = frame_align;
}
-int
-gdbarch_deprecated_reg_struct_has_addr_p (struct gdbarch *gdbarch)
-{
- gdb_assert (gdbarch != NULL);
- return gdbarch->deprecated_reg_struct_has_addr != NULL;
-}
-
-int
-gdbarch_deprecated_reg_struct_has_addr (struct gdbarch *gdbarch, int gcc_p, struct type *type)
-{
- gdb_assert (gdbarch != NULL);
- gdb_assert (gdbarch->deprecated_reg_struct_has_addr != NULL);
- if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_reg_struct_has_addr called\n");
- return gdbarch->deprecated_reg_struct_has_addr (gcc_p, type);
-}
-
-void
-set_gdbarch_deprecated_reg_struct_has_addr (struct gdbarch *gdbarch,
- gdbarch_deprecated_reg_struct_has_addr_ftype deprecated_reg_struct_has_addr)
-{
- gdbarch->deprecated_reg_struct_has_addr = deprecated_reg_struct_has_addr;
-}
-
int
gdbarch_stabs_argument_has_addr (struct gdbarch *gdbarch, struct type *type)
{
gdbarch->regset_from_core_section = regset_from_core_section;
}
+int
+gdbarch_core_xfer_shared_libraries_p (struct gdbarch *gdbarch)
+{
+ gdb_assert (gdbarch != NULL);
+ return gdbarch->core_xfer_shared_libraries != NULL;
+}
+
+LONGEST
+gdbarch_core_xfer_shared_libraries (struct gdbarch *gdbarch, gdb_byte *readbuf, ULONGEST offset, LONGEST len)
+{
+ gdb_assert (gdbarch != NULL);
+ gdb_assert (gdbarch->core_xfer_shared_libraries != NULL);
+ if (gdbarch_debug >= 2)
+ fprintf_unfiltered (gdb_stdlog, "gdbarch_core_xfer_shared_libraries called\n");
+ return gdbarch->core_xfer_shared_libraries (gdbarch, readbuf, offset, len);
+}
+
+void
+set_gdbarch_core_xfer_shared_libraries (struct gdbarch *gdbarch,
+ gdbarch_core_xfer_shared_libraries_ftype core_xfer_shared_libraries)
+{
+ gdbarch->core_xfer_shared_libraries = core_xfer_shared_libraries;
+}
+
int
gdbarch_vtable_function_descriptors (struct gdbarch *gdbarch)
{
gdbarch->overlay_update = overlay_update;
}
+int
+gdbarch_core_read_description_p (struct gdbarch *gdbarch)
+{
+ gdb_assert (gdbarch != NULL);
+ return gdbarch->core_read_description != NULL;
+}
+
+const struct target_desc *
+gdbarch_core_read_description (struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd)
+{
+ gdb_assert (gdbarch != NULL);
+ gdb_assert (gdbarch->core_read_description != NULL);
+ if (gdbarch_debug >= 2)
+ fprintf_unfiltered (gdb_stdlog, "gdbarch_core_read_description called\n");
+ return gdbarch->core_read_description (gdbarch, target, abfd);
+}
+
+void
+set_gdbarch_core_read_description (struct gdbarch *gdbarch,
+ gdbarch_core_read_description_ftype core_read_description)
+{
+ gdbarch->core_read_description = core_read_description;
+}
+
+int
+gdbarch_static_transform_name_p (struct gdbarch *gdbarch)
+{
+ gdb_assert (gdbarch != NULL);
+ return gdbarch->static_transform_name != NULL;
+}
+
+char *
+gdbarch_static_transform_name (struct gdbarch *gdbarch, char *name)
+{
+ gdb_assert (gdbarch != NULL);
+ gdb_assert (gdbarch->static_transform_name != NULL);
+ if (gdbarch_debug >= 2)
+ fprintf_unfiltered (gdb_stdlog, "gdbarch_static_transform_name called\n");
+ return gdbarch->static_transform_name (name);
+}
+
+void
+set_gdbarch_static_transform_name (struct gdbarch *gdbarch,
+ gdbarch_static_transform_name_ftype static_transform_name)
+{
+ gdbarch->static_transform_name = static_transform_name;
+}
+
+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)
+ fprintf_unfiltered (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;
+}
+
/* Keep a registry of per-architecture data-pointers required by GDB
modules. */
}
-
-/* Keep a registry of swapped data required by GDB modules. */
-
-struct gdbarch_swap
-{
- void *swap;
- struct gdbarch_swap_registration *source;
- struct gdbarch_swap *next;
-};
-
-struct gdbarch_swap_registration
-{
- void *data;
- unsigned long sizeof_data;
- gdbarch_swap_ftype *init;
- struct gdbarch_swap_registration *next;
-};
-
-struct gdbarch_swap_registry
-{
- int nr;
- struct gdbarch_swap_registration *registrations;
-};
-
-struct gdbarch_swap_registry gdbarch_swap_registry =
-{
- 0, NULL,
-};
-
-void
-deprecated_register_gdbarch_swap (void *data,
- unsigned long sizeof_data,
- gdbarch_swap_ftype *init)
-{
- struct gdbarch_swap_registration **rego;
- for (rego = &gdbarch_swap_registry.registrations;
- (*rego) != NULL;
- rego = &(*rego)->next);
- (*rego) = XMALLOC (struct gdbarch_swap_registration);
- (*rego)->next = NULL;
- (*rego)->init = init;
- (*rego)->data = data;
- (*rego)->sizeof_data = sizeof_data;
-}
-
-static void
-current_gdbarch_swap_init_hack (void)
-{
- struct gdbarch_swap_registration *rego;
- struct gdbarch_swap **curr = ¤t_gdbarch->swap;
- for (rego = gdbarch_swap_registry.registrations;
- rego != NULL;
- rego = rego->next)
- {
- if (rego->data != NULL)
- {
- (*curr) = GDBARCH_OBSTACK_ZALLOC (current_gdbarch,
- struct gdbarch_swap);
- (*curr)->source = rego;
- (*curr)->swap = gdbarch_obstack_zalloc (current_gdbarch,
- rego->sizeof_data);
- (*curr)->next = NULL;
- curr = &(*curr)->next;
- }
- if (rego->init != NULL)
- rego->init ();
- }
-}
-
-static struct gdbarch *
-current_gdbarch_swap_out_hack (void)
-{
- struct gdbarch *old_gdbarch = current_gdbarch;
- struct gdbarch_swap *curr;
-
- gdb_assert (old_gdbarch != NULL);
- for (curr = old_gdbarch->swap;
- curr != NULL;
- curr = curr->next)
- {
- memcpy (curr->swap, curr->source->data, curr->source->sizeof_data);
- memset (curr->source->data, 0, curr->source->sizeof_data);
- }
- current_gdbarch = NULL;
- return old_gdbarch;
-}
-
-static void
-current_gdbarch_swap_in_hack (struct gdbarch *new_gdbarch)
-{
- struct gdbarch_swap *curr;
-
- gdb_assert (current_gdbarch == NULL);
- for (curr = new_gdbarch->swap;
- curr != NULL;
- curr = curr->next)
- memcpy (curr->source->data, curr->swap, curr->source->sizeof_data);
- current_gdbarch = new_gdbarch;
-}
-
-
/* Keep a registry of the architectures known by GDB. */
struct gdbarch_registration
verify_gdbarch (new_gdbarch);
new_gdbarch->initialized_p = 1;
- /* Initialize any per-architecture swap areas. This phase requires
- a valid global CURRENT_GDBARCH. Set it momentarially, and then
- swap the entire architecture out. */
- current_gdbarch = new_gdbarch;
- current_gdbarch_swap_init_hack ();
- current_gdbarch_swap_out_hack ();
-
if (gdbarch_debug)
gdbarch_dump (new_gdbarch, gdb_stdlog);
struct gdbarch *
gdbarch_find_by_info (struct gdbarch_info info)
{
+ struct gdbarch *new_gdbarch;
+
/* Save the previously selected architecture, setting the global to
NULL. This stops things like gdbarch->init() trying to use the
previous architecture's configuration. The previous architecture
may not even be of the same architecture family. The most recent
architecture of the same family is found at the head of the
rego->arches list. */
- struct gdbarch *old_gdbarch = current_gdbarch_swap_out_hack ();
+ struct gdbarch *old_gdbarch = current_gdbarch;
+ current_gdbarch = NULL;
/* Find the specified architecture. */
- struct gdbarch *new_gdbarch = find_arch_by_info (info);
+ new_gdbarch = find_arch_by_info (info);
/* Restore the existing architecture. */
gdb_assert (current_gdbarch == NULL);
- current_gdbarch_swap_in_hack (old_gdbarch);
+ current_gdbarch = old_gdbarch;
return new_gdbarch;
}
-/* Make the specified architecture current, swapping the existing one
- out. */
+/* Make the specified architecture current. */
void
deprecated_current_gdbarch_select_hack (struct gdbarch *new_gdbarch)
gdb_assert (new_gdbarch != NULL);
gdb_assert (current_gdbarch != NULL);
gdb_assert (new_gdbarch->initialized_p);
- current_gdbarch_swap_out_hack ();
- current_gdbarch_swap_in_hack (new_gdbarch);
+ current_gdbarch = new_gdbarch;
architecture_changed_event ();
reinit_frame_cache ();
}