2007-08-08 Michael Snyder <msnyder@access-company.com>
[deliverable/binutils-gdb.git] / gdb / gdbarch.c
index 5e7741b59cceb765e42e2b07945f95e0af7c5f09..825ce1c124e297009cc6414bb721e55e9069afaa 100644 (file)
@@ -2,8 +2,8 @@
 
 /* Dynamic architecture support for GDB, the GNU debugger.
 
-   Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free
-   Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
+   Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -19,8 +19,8 @@
 
    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., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
+   Foundation, Inc., 51 Franklin Street, Fifth Floor,
+   Boston, MA 02110-1301, USA.  */
 
 /* This file was created with the aid of ``gdbarch.sh''.
 
@@ -39,7 +39,7 @@
 #include "arch-utils.h"
 
 #include "gdbcmd.h"
-#include "inferior.h" /* enum CALL_DUMMY_LOCATION et.al. */
+#include "inferior.h" 
 #include "symcat.h"
 
 #include "floatformat.h"
@@ -61,6 +61,22 @@ static void alloc_gdbarch_data (struct gdbarch *);
 #define GDBARCH_DEBUG 0
 #endif
 int gdbarch_debug = GDBARCH_DEBUG;
+static void
+show_gdbarch_debug (struct ui_file *file, int from_tty,
+                    struct cmd_list_element *c, const char *value)
+{
+  fprintf_filtered (file, _("Architecture debugging is %s.\n"), value);
+}
+
+static const char *
+pformat (const struct floatformat **format)
+{
+  if (format == NULL)
+    return "(null)";
+  else
+    /* Just print out one of them - this is only for diagnostics.  */
+    return format[0]->name;
+}
 
 
 /* Maintain the struct gdbarch object */
@@ -77,6 +93,7 @@ struct gdbarch
   const struct bfd_arch_info * bfd_arch_info;
   int byte_order;
   enum gdb_osabi osabi;
+  const struct target_desc * target_desc;
 
   /* target specific vector. */
   struct gdbarch_tdep *tdep;
@@ -120,15 +137,16 @@ struct gdbarch
   int long_bit;
   int long_long_bit;
   int float_bit;
+  const struct floatformat ** float_format;
   int double_bit;
+  const struct floatformat ** double_format;
   int long_double_bit;
+  const struct floatformat ** long_double_format;
   int ptr_bit;
   int addr_bit;
-  int bfd_vma_bit;
   int char_signed;
   gdbarch_read_pc_ftype *read_pc;
   gdbarch_write_pc_ftype *write_pc;
-  gdbarch_read_sp_ftype *read_sp;
   gdbarch_virtual_frame_pointer_ftype *virtual_frame_pointer;
   gdbarch_pseudo_register_read_ftype *pseudo_register_read;
   gdbarch_pseudo_register_write_ftype *pseudo_register_write;
@@ -145,50 +163,30 @@ struct gdbarch
   gdbarch_dwarf2_reg_to_regnum_ftype *dwarf2_reg_to_regnum;
   gdbarch_register_name_ftype *register_name;
   gdbarch_register_type_ftype *register_type;
-  gdbarch_deprecated_register_virtual_type_ftype *deprecated_register_virtual_type;
-  gdbarch_deprecated_register_byte_ftype *deprecated_register_byte;
-  gdbarch_deprecated_register_raw_size_ftype *deprecated_register_raw_size;
-  gdbarch_deprecated_register_virtual_size_ftype *deprecated_register_virtual_size;
   gdbarch_unwind_dummy_id_ftype *unwind_dummy_id;
-  gdbarch_deprecated_save_dummy_frame_tos_ftype *deprecated_save_dummy_frame_tos;
   int deprecated_fp_regnum;
-  gdbarch_deprecated_target_read_fp_ftype *deprecated_target_read_fp;
   gdbarch_push_dummy_call_ftype *push_dummy_call;
-  gdbarch_deprecated_push_arguments_ftype *deprecated_push_arguments;
-  gdbarch_deprecated_push_return_address_ftype *deprecated_push_return_address;
-  gdbarch_deprecated_dummy_write_sp_ftype *deprecated_dummy_write_sp;
-  int deprecated_register_size;
   int call_dummy_location;
   gdbarch_push_dummy_code_ftype *push_dummy_code;
-  gdbarch_deprecated_do_registers_info_ftype *deprecated_do_registers_info;
   gdbarch_print_registers_info_ftype *print_registers_info;
   gdbarch_print_float_info_ftype *print_float_info;
   gdbarch_print_vector_info_ftype *print_vector_info;
   gdbarch_register_sim_regno_ftype *register_sim_regno;
-  gdbarch_register_bytes_ok_ftype *register_bytes_ok;
   gdbarch_cannot_fetch_register_ftype *cannot_fetch_register;
   gdbarch_cannot_store_register_ftype *cannot_store_register;
   gdbarch_get_longjmp_target_ftype *get_longjmp_target;
-  gdbarch_deprecated_init_frame_pc_ftype *deprecated_init_frame_pc;
   int believe_pcc_promotion;
-  gdbarch_deprecated_get_saved_register_ftype *deprecated_get_saved_register;
   gdbarch_convert_register_p_ftype *convert_register_p;
   gdbarch_register_to_value_ftype *register_to_value;
   gdbarch_value_to_register_ftype *value_to_register;
+  gdbarch_value_from_register_ftype *value_from_register;
   gdbarch_pointer_to_address_ftype *pointer_to_address;
   gdbarch_address_to_pointer_ftype *address_to_pointer;
   gdbarch_integer_to_address_ftype *integer_to_address;
-  gdbarch_deprecated_pop_frame_ftype *deprecated_pop_frame;
-  gdbarch_deprecated_store_struct_return_ftype *deprecated_store_struct_return;
   gdbarch_return_value_ftype *return_value;
   gdbarch_extract_return_value_ftype *extract_return_value;
   gdbarch_store_return_value_ftype *store_return_value;
-  gdbarch_deprecated_extract_return_value_ftype *deprecated_extract_return_value;
-  gdbarch_deprecated_store_return_value_ftype *deprecated_store_return_value;
   gdbarch_deprecated_use_struct_convention_ftype *deprecated_use_struct_convention;
-  gdbarch_deprecated_extract_struct_value_address_ftype *deprecated_extract_struct_value_address;
-  gdbarch_deprecated_frame_init_saved_regs_ftype *deprecated_frame_init_saved_regs;
-  gdbarch_deprecated_init_extra_frame_info_ftype *deprecated_init_extra_frame_info;
   gdbarch_skip_prologue_ftype *skip_prologue;
   gdbarch_inner_than_ftype *inner_than;
   gdbarch_breakpoint_from_pc_ftype *breakpoint_from_pc;
@@ -197,33 +195,24 @@ struct gdbarch
   gdbarch_memory_remove_breakpoint_ftype *memory_remove_breakpoint;
   CORE_ADDR decr_pc_after_break;
   CORE_ADDR deprecated_function_start_offset;
-  gdbarch_remote_translate_xfer_address_ftype *remote_translate_xfer_address;
+  gdbarch_remote_register_number_ftype *remote_register_number;
+  gdbarch_fetch_tls_load_module_address_ftype *fetch_tls_load_module_address;
   CORE_ADDR frame_args_skip;
-  gdbarch_deprecated_frame_chain_ftype *deprecated_frame_chain;
-  gdbarch_deprecated_frame_chain_valid_ftype *deprecated_frame_chain_valid;
-  gdbarch_deprecated_frame_saved_pc_ftype *deprecated_frame_saved_pc;
   gdbarch_unwind_pc_ftype *unwind_pc;
   gdbarch_unwind_sp_ftype *unwind_sp;
-  gdbarch_deprecated_frame_args_address_ftype *deprecated_frame_args_address;
-  gdbarch_deprecated_frame_locals_address_ftype *deprecated_frame_locals_address;
-  gdbarch_deprecated_saved_pc_after_call_ftype *deprecated_saved_pc_after_call;
   gdbarch_frame_num_args_ftype *frame_num_args;
-  gdbarch_deprecated_stack_align_ftype *deprecated_stack_align;
   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;
-  const struct floatformat * float_format;
-  const struct floatformat * double_format;
-  const struct floatformat * long_double_format;
   gdbarch_convert_from_func_ptr_addr_ftype *convert_from_func_ptr_addr;
   gdbarch_addr_bits_remove_ftype *addr_bits_remove;
   gdbarch_smash_text_address_ftype *smash_text_address;
   gdbarch_software_single_step_ftype *software_single_step;
+  gdbarch_single_step_through_delay_ftype *single_step_through_delay;
   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;
@@ -238,6 +227,10 @@ struct gdbarch
   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;
+  int vtable_function_descriptors;
+  int vbit_in_delta;
+  gdbarch_skip_permanent_breakpoint_ftype *skip_permanent_breakpoint;
+  gdbarch_overlay_update_ftype *overlay_update;
 };
 
 
@@ -254,6 +247,7 @@ struct gdbarch startup_gdbarch =
   &bfd_default_arch_struct,  /* bfd_arch_info */
   BFD_ENDIAN_BIG,  /* byte_order */
   GDB_OSABI_UNKNOWN,  /* osabi */
+  0,  /* target_desc */
   /* target specific vector and its dump routine */
   NULL, NULL,
   /*per-architecture data-pointers and swap regions */
@@ -264,15 +258,16 @@ struct gdbarch startup_gdbarch =
   8 * sizeof (long),  /* long_bit */
   8 * sizeof (LONGEST),  /* long_long_bit */
   8 * sizeof (float),  /* float_bit */
+  0,  /* float_format */
   8 * sizeof (double),  /* double_bit */
+  0,  /* double_format */
   8 * sizeof (long double),  /* long_double_bit */
+  0,  /* long_double_format */
   8 * sizeof (void*),  /* ptr_bit */
   8 * sizeof (void*),  /* addr_bit */
-  8 * sizeof (void*),  /* bfd_vma_bit */
   1,  /* char_signed */
   0,  /* read_pc */
   0,  /* write_pc */
-  0,  /* read_sp */
   0,  /* virtual_frame_pointer */
   0,  /* pseudo_register_read */
   0,  /* pseudo_register_write */
@@ -289,50 +284,30 @@ struct gdbarch startup_gdbarch =
   0,  /* dwarf2_reg_to_regnum */
   0,  /* register_name */
   0,  /* register_type */
-  0,  /* deprecated_register_virtual_type */
-  generic_register_byte,  /* deprecated_register_byte */
-  generic_register_size,  /* deprecated_register_raw_size */
-  generic_register_size,  /* deprecated_register_virtual_size */
   0,  /* unwind_dummy_id */
-  0,  /* deprecated_save_dummy_frame_tos */
   -1,  /* deprecated_fp_regnum */
-  0,  /* deprecated_target_read_fp */
   0,  /* push_dummy_call */
-  0,  /* deprecated_push_arguments */
-  0,  /* deprecated_push_return_address */
-  0,  /* deprecated_dummy_write_sp */
-  0,  /* deprecated_register_size */
   0,  /* call_dummy_location */
   0,  /* push_dummy_code */
-  0,  /* deprecated_do_registers_info */
   default_print_registers_info,  /* print_registers_info */
   0,  /* print_float_info */
   0,  /* print_vector_info */
   0,  /* register_sim_regno */
-  0,  /* register_bytes_ok */
   0,  /* cannot_fetch_register */
   0,  /* cannot_store_register */
   0,  /* get_longjmp_target */
-  0,  /* deprecated_init_frame_pc */
   0,  /* believe_pcc_promotion */
-  0,  /* deprecated_get_saved_register */
   0,  /* convert_register_p */
   0,  /* register_to_value */
   0,  /* value_to_register */
+  0,  /* value_from_register */
   0,  /* pointer_to_address */
   0,  /* address_to_pointer */
   0,  /* integer_to_address */
-  0,  /* deprecated_pop_frame */
-  0,  /* deprecated_store_struct_return */
   0,  /* return_value */
   0,  /* extract_return_value */
   0,  /* store_return_value */
-  0,  /* deprecated_extract_return_value */
-  0,  /* deprecated_store_return_value */
   0,  /* deprecated_use_struct_convention */
-  0,  /* deprecated_extract_struct_value_address */
-  0,  /* deprecated_frame_init_saved_regs */
-  0,  /* deprecated_init_extra_frame_info */
   0,  /* skip_prologue */
   0,  /* inner_than */
   0,  /* breakpoint_from_pc */
@@ -341,33 +316,24 @@ struct gdbarch startup_gdbarch =
   0,  /* memory_remove_breakpoint */
   0,  /* decr_pc_after_break */
   0,  /* deprecated_function_start_offset */
-  generic_remote_translate_xfer_address,  /* remote_translate_xfer_address */
+  default_remote_register_number,  /* remote_register_number */
+  0,  /* fetch_tls_load_module_address */
   0,  /* frame_args_skip */
-  0,  /* deprecated_frame_chain */
-  0,  /* deprecated_frame_chain_valid */
-  0,  /* deprecated_frame_saved_pc */
   0,  /* unwind_pc */
   0,  /* unwind_sp */
-  get_frame_base,  /* deprecated_frame_args_address */
-  get_frame_base,  /* deprecated_frame_locals_address */
-  0,  /* deprecated_saved_pc_after_call */
   0,  /* frame_num_args */
-  0,  /* deprecated_stack_align */
   0,  /* frame_align */
   0,  /* deprecated_reg_struct_has_addr */
   default_stabs_argument_has_addr,  /* stabs_argument_has_addr */
   0,  /* frame_red_zone_size */
-  0,  /* float_format */
-  0,  /* double_format */
-  0,  /* long_double_format */
   convert_from_func_ptr_addr_identity,  /* convert_from_func_ptr_addr */
   0,  /* addr_bits_remove */
   0,  /* smash_text_address */
   0,  /* software_single_step */
+  0,  /* single_step_through_delay */
   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 */
@@ -382,6 +348,10 @@ struct gdbarch startup_gdbarch =
   default_register_reggroup_p,  /* register_reggroup_p */
   0,  /* fetch_pointer_argument */
   0,  /* regset_from_core_section */
+  0,  /* vtable_function_descriptors */
+  0,  /* vbit_in_delta */
+  0,  /* skip_permanent_breakpoint */
+  0,  /* overlay_update */
   /* startup_gdbarch() */
 };
 
@@ -395,7 +365,7 @@ 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_DOUBLE_BIT, when expanded, refer to
+     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
@@ -417,19 +387,18 @@ gdbarch_alloc (const struct gdbarch_info *info,
   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;
 
   /* 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*TARGET_LONG_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 = TARGET_INT_BIT;
-  current_gdbarch->bfd_vma_bit = TARGET_ARCHITECTURE->bits_per_address;
+  current_gdbarch->ptr_bit = current_gdbarch->int_bit;
   current_gdbarch->char_signed = -1;
-  current_gdbarch->write_pc = generic_target_write_pc;
   current_gdbarch->virtual_frame_pointer = legacy_virtual_frame_pointer;
   current_gdbarch->num_regs = -1;
   current_gdbarch->sp_regnum = -1;
@@ -441,9 +410,6 @@ gdbarch_alloc (const struct gdbarch_info *info,
   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_register_byte = generic_register_byte;
-  current_gdbarch->deprecated_register_raw_size = generic_register_size;
-  current_gdbarch->deprecated_register_virtual_size = generic_register_size;
   current_gdbarch->deprecated_fp_regnum = -1;
   current_gdbarch->call_dummy_location = AT_ENTRY_POINT;
   current_gdbarch->print_registers_info = default_print_registers_info;
@@ -451,24 +417,20 @@ gdbarch_alloc (const struct gdbarch_info *info,
   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->extract_return_value = legacy_extract_return_value;
-  current_gdbarch->store_return_value = legacy_store_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_translate_xfer_address = generic_remote_translate_xfer_address;
-  current_gdbarch->deprecated_frame_args_address = get_frame_base;
-  current_gdbarch->deprecated_frame_locals_address = get_frame_base;
+  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_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;
@@ -539,22 +501,25 @@ verify_gdbarch (struct gdbarch *current_gdbarch)
   /* 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;
   /* Skip verify of double_bit, invalid_p == 0 */
+  if (current_gdbarch->double_format == 0)
+    current_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;
   /* Skip verify of ptr_bit, invalid_p == 0 */
   if (current_gdbarch->addr_bit == 0)
-    current_gdbarch->addr_bit = TARGET_PTR_BIT;
-  /* Skip verify of bfd_vma_bit, invalid_p == 0 */
+    current_gdbarch->addr_bit = gdbarch_ptr_bit (current_gdbarch);
   if (current_gdbarch->char_signed == -1)
     current_gdbarch->char_signed = 1;
   /* Skip verify of read_pc, has predicate */
-  /* Skip verify of write_pc, invalid_p == 0 */
-  /* Skip verify of read_sp, 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 ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
-      && (current_gdbarch->num_regs == -1))
+  if (current_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 */
@@ -567,89 +532,54 @@ verify_gdbarch (struct gdbarch *current_gdbarch)
   /* Skip verify of sdb_reg_to_regnum, invalid_p == 0 */
   /* Skip verify of dwarf2_reg_to_regnum, invalid_p == 0 */
   /* Skip verify of register_type, has predicate */
-  /* Skip verify of deprecated_register_virtual_type, has predicate */
-  /* Skip verify of deprecated_register_byte, has predicate */
-  /* Skip verify of deprecated_register_raw_size, has predicate */
-  /* Skip verify of deprecated_register_virtual_size, has predicate */
   /* Skip verify of unwind_dummy_id, has predicate */
-  /* Skip verify of deprecated_save_dummy_frame_tos, has predicate */
   /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
-  /* Skip verify of deprecated_target_read_fp, has predicate */
   /* Skip verify of push_dummy_call, has predicate */
-  /* Skip verify of deprecated_push_arguments, has predicate */
-  /* Skip verify of deprecated_push_return_address, has predicate */
-  /* Skip verify of deprecated_dummy_write_sp, has predicate */
   /* Skip verify of call_dummy_location, invalid_p == 0 */
   /* Skip verify of push_dummy_code, has predicate */
-  /* Skip verify of deprecated_do_registers_info, has predicate */
   /* Skip verify of print_registers_info, invalid_p == 0 */
   /* Skip verify of print_float_info, has predicate */
   /* Skip verify of print_vector_info, has predicate */
   /* Skip verify of register_sim_regno, invalid_p == 0 */
-  /* Skip verify of register_bytes_ok, has predicate */
   /* Skip verify of cannot_fetch_register, invalid_p == 0 */
   /* Skip verify of cannot_store_register, invalid_p == 0 */
   /* Skip verify of get_longjmp_target, has predicate */
-  /* Skip verify of deprecated_init_frame_pc, has predicate */
-  /* Skip verify of deprecated_get_saved_register, has predicate */
   /* Skip verify of convert_register_p, invalid_p == 0 */
+  /* Skip verify of value_from_register, invalid_p == 0 */
   /* Skip verify of pointer_to_address, invalid_p == 0 */
   /* Skip verify of address_to_pointer, invalid_p == 0 */
   /* Skip verify of integer_to_address, has predicate */
-  /* Skip verify of deprecated_pop_frame, has predicate */
-  /* Skip verify of deprecated_store_struct_return, has predicate */
   /* Skip verify of return_value, has predicate */
-  /* Skip verify of extract_return_value, invalid_p == 0 */
-  /* Skip verify of store_return_value, invalid_p == 0 */
   /* Skip verify of deprecated_use_struct_convention, invalid_p == 0 */
-  /* Skip verify of deprecated_extract_struct_value_address, has predicate */
-  /* Skip verify of deprecated_frame_init_saved_regs, has predicate */
-  /* Skip verify of deprecated_init_extra_frame_info, has predicate */
-  if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
-      && (current_gdbarch->skip_prologue == 0))
+  if (current_gdbarch->skip_prologue == 0)
     fprintf_unfiltered (log, "\n\tskip_prologue");
-  if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
-      && (current_gdbarch->inner_than == 0))
+  if (current_gdbarch->inner_than == 0)
     fprintf_unfiltered (log, "\n\tinner_than");
-  if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
-      && (current_gdbarch->breakpoint_from_pc == 0))
+  if (current_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 memory_remove_breakpoint, invalid_p == 0 */
   /* Skip verify of decr_pc_after_break, invalid_p == 0 */
   /* Skip verify of deprecated_function_start_offset, invalid_p == 0 */
-  /* Skip verify of remote_translate_xfer_address, invalid_p == 0 */
+  /* Skip verify of remote_register_number, invalid_p == 0 */
+  /* Skip verify of fetch_tls_load_module_address, has predicate */
   /* Skip verify of frame_args_skip, invalid_p == 0 */
-  /* Skip verify of deprecated_frame_chain, has predicate */
-  /* Skip verify of deprecated_frame_chain_valid, has predicate */
-  /* Skip verify of deprecated_frame_saved_pc, has predicate */
   /* Skip verify of unwind_pc, has predicate */
   /* Skip verify of unwind_sp, has predicate */
-  /* Skip verify of deprecated_frame_args_address, has predicate */
-  /* Skip verify of deprecated_frame_locals_address, has predicate */
-  /* Skip verify of deprecated_saved_pc_after_call, has predicate */
   /* Skip verify of frame_num_args, has predicate */
-  /* Skip verify of deprecated_stack_align, 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 */
-  if (current_gdbarch->float_format == 0)
-    current_gdbarch->float_format = default_float_format (current_gdbarch);
-  if (current_gdbarch->double_format == 0)
-    current_gdbarch->double_format = default_double_format (current_gdbarch);
-  if (current_gdbarch->long_double_format == 0)
-    current_gdbarch->long_double_format = default_double_format (current_gdbarch);
   /* 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 */
-  if ((GDB_MULTI_ARCH > GDB_MULTI_ARCH_PARTIAL)
-      && (current_gdbarch->print_insn == 0))
+  /* Skip verify of single_step_through_delay, has predicate */
+  if (current_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 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 */
@@ -664,11 +594,15 @@ verify_gdbarch (struct gdbarch *current_gdbarch)
   /* 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 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 */
   buf = ui_file_xstrdup (log, &dummy);
   make_cleanup (xfree, buf);
   if (strlen (buf) > 0)
     internal_error (__FILE__, __LINE__,
-                    "verify_gdbarch: the following are invalid ...%s",
+                    _("verify_gdbarch: the following are invalid ...%s"),
                     buf);
   do_cleanups (cleanups);
 }
@@ -685,23 +619,30 @@ verify_gdbarch (struct gdbarch *current_gdbarch)
 void
 gdbarch_dump (struct gdbarch *current_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_MULTI_ARCH = %d\n",
-                      GDB_MULTI_ARCH);
-#ifdef TARGET_ADDR_BIT
+                      "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: TARGET_ADDR_BIT # %s\n",
-                      XSTRING (TARGET_ADDR_BIT));
+                      "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));
-#ifdef ADDR_BITS_REMOVE
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "ADDR_BITS_REMOVE(addr)",
-                      XSTRING (ADDR_BITS_REMOVE (addr)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: addr_bits_remove = <0x%lx>\n",
                       (long) current_gdbarch->addr_bits_remove);
@@ -711,21 +652,9 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: address_class_name_to_type_flags = <0x%lx>\n",
                       (long) current_gdbarch->address_class_name_to_type_flags);
-#ifdef ADDRESS_CLASS_TYPE_FLAGS_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "ADDRESS_CLASS_TYPE_FLAGS_P()",
-                      XSTRING (ADDRESS_CLASS_TYPE_FLAGS_P ()));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: gdbarch_address_class_type_flags_p() = %d\n",
                       gdbarch_address_class_type_flags_p (current_gdbarch));
-#ifdef ADDRESS_CLASS_TYPE_FLAGS
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "ADDRESS_CLASS_TYPE_FLAGS(byte_size, dwarf2_addr_class)",
-                      XSTRING (ADDRESS_CLASS_TYPE_FLAGS (byte_size, dwarf2_addr_class)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: address_class_type_flags = <0x%lx>\n",
                       (long) current_gdbarch->address_class_type_flags);
@@ -735,12 +664,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: address_class_type_flags_to_name = <0x%lx>\n",
                       (long) current_gdbarch->address_class_type_flags_to_name);
-#ifdef ADDRESS_TO_POINTER
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "ADDRESS_TO_POINTER(type, buf, addr)",
-                      XSTRING (ADDRESS_TO_POINTER (type, buf, addr)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: address_to_pointer = <0x%lx>\n",
                       (long) current_gdbarch->address_to_pointer);
@@ -750,95 +673,33 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   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
   fprintf_unfiltered (file,
                       "gdbarch_dump: believe_pcc_promotion = %s\n",
                       paddr_d (current_gdbarch->believe_pcc_promotion));
-#ifdef TARGET_ARCHITECTURE
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_ARCHITECTURE # %s\n",
-                      XSTRING (TARGET_ARCHITECTURE));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: bfd_arch_info = %s\n",
-                      TARGET_ARCHITECTURE->printable_name);
-#ifdef TARGET_BFD_VMA_BIT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_BFD_VMA_BIT # %s\n",
-                      XSTRING (TARGET_BFD_VMA_BIT));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: bfd_vma_bit = %s\n",
-                      paddr_d (current_gdbarch->bfd_vma_bit));
-#ifdef BREAKPOINT_FROM_PC
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "BREAKPOINT_FROM_PC(pcptr, lenptr)",
-                      XSTRING (BREAKPOINT_FROM_PC (pcptr, lenptr)));
-#endif
+                      gdbarch_bfd_arch_info (current_gdbarch)->printable_name);
   fprintf_unfiltered (file,
                       "gdbarch_dump: breakpoint_from_pc = <0x%lx>\n",
                       (long) current_gdbarch->breakpoint_from_pc);
-#ifdef TARGET_BYTE_ORDER
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_BYTE_ORDER # %s\n",
-                      XSTRING (TARGET_BYTE_ORDER));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: byte_order = %s\n",
                       paddr_d (current_gdbarch->byte_order));
-#ifdef CALL_DUMMY_LOCATION
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: CALL_DUMMY_LOCATION # %s\n",
-                      XSTRING (CALL_DUMMY_LOCATION));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: call_dummy_location = %s\n",
                       paddr_d (current_gdbarch->call_dummy_location));
-#ifdef CANNOT_FETCH_REGISTER
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "CANNOT_FETCH_REGISTER(regnum)",
-                      XSTRING (CANNOT_FETCH_REGISTER (regnum)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: cannot_fetch_register = <0x%lx>\n",
                       (long) current_gdbarch->cannot_fetch_register);
-#ifdef CANNOT_STEP_BREAKPOINT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: CANNOT_STEP_BREAKPOINT # %s\n",
-                      XSTRING (CANNOT_STEP_BREAKPOINT));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: cannot_step_breakpoint = %s\n",
                       paddr_d (current_gdbarch->cannot_step_breakpoint));
-#ifdef CANNOT_STORE_REGISTER
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "CANNOT_STORE_REGISTER(regnum)",
-                      XSTRING (CANNOT_STORE_REGISTER (regnum)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: cannot_store_register = <0x%lx>\n",
                       (long) current_gdbarch->cannot_store_register);
-#ifdef TARGET_CHAR_SIGNED
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_CHAR_SIGNED # %s\n",
-                      XSTRING (TARGET_CHAR_SIGNED));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: char_signed = %s\n",
                       paddr_d (current_gdbarch->char_signed));
-#ifdef COFF_MAKE_MSYMBOL_SPECIAL
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "COFF_MAKE_MSYMBOL_SPECIAL(val, msym)",
-                      XSTRING (COFF_MAKE_MSYMBOL_SPECIAL (val, msym)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: coff_make_msymbol_special = <0x%lx>\n",
                       (long) current_gdbarch->coff_make_msymbol_special);
@@ -848,1111 +709,294 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: convert_from_func_ptr_addr = <0x%lx>\n",
                       (long) current_gdbarch->convert_from_func_ptr_addr);
-#ifdef CONVERT_REGISTER_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "CONVERT_REGISTER_P(regnum, type)",
-                      XSTRING (CONVERT_REGISTER_P (regnum, type)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: convert_register_p = <0x%lx>\n",
                       (long) current_gdbarch->convert_register_p);
-#ifdef DECR_PC_AFTER_BREAK
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: DECR_PC_AFTER_BREAK # %s\n",
-                      XSTRING (DECR_PC_AFTER_BREAK));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: decr_pc_after_break = 0x%s\n",
                       paddr_nz (current_gdbarch->decr_pc_after_break));
-#ifdef DEPRECATED_DO_REGISTERS_INFO_P
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_DO_REGISTERS_INFO_P()",
-                      XSTRING (DEPRECATED_DO_REGISTERS_INFO_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_do_registers_info_p() = %d\n",
-                      gdbarch_deprecated_do_registers_info_p (current_gdbarch));
-#ifdef DEPRECATED_DO_REGISTERS_INFO
+                      "gdbarch_dump: deprecated_fp_regnum = %s\n",
+                      paddr_d (current_gdbarch->deprecated_fp_regnum));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_DO_REGISTERS_INFO(reg_nr, fpregs)",
-                      XSTRING (DEPRECATED_DO_REGISTERS_INFO (reg_nr, fpregs)));
-#endif
+                      "gdbarch_dump: deprecated_function_start_offset = 0x%s\n",
+                      paddr_nz (current_gdbarch->deprecated_function_start_offset));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_do_registers_info = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_do_registers_info);
-#ifdef DEPRECATED_DUMMY_WRITE_SP_P
+                      "gdbarch_dump: gdbarch_deprecated_reg_struct_has_addr_p() = %d\n",
+                      gdbarch_deprecated_reg_struct_has_addr_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_DUMMY_WRITE_SP_P()",
-                      XSTRING (DEPRECATED_DUMMY_WRITE_SP_P ()));
-#endif
+                      "gdbarch_dump: deprecated_reg_struct_has_addr = <0x%lx>\n",
+                      (long) current_gdbarch->deprecated_reg_struct_has_addr);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_dummy_write_sp_p() = %d\n",
-                      gdbarch_deprecated_dummy_write_sp_p (current_gdbarch));
-#ifdef DEPRECATED_DUMMY_WRITE_SP
+                      "gdbarch_dump: deprecated_use_struct_convention = <0x%lx>\n",
+                      (long) current_gdbarch->deprecated_use_struct_convention);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_DUMMY_WRITE_SP(val)",
-                      XSTRING (DEPRECATED_DUMMY_WRITE_SP (val)));
-#endif
+                      "gdbarch_dump: double_bit = %s\n",
+                      paddr_d (current_gdbarch->double_bit));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_dummy_write_sp = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_dummy_write_sp);
-#ifdef DEPRECATED_EXTRACT_RETURN_VALUE
+                      "gdbarch_dump: double_format = %s\n",
+                      pformat (current_gdbarch->double_format));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_EXTRACT_RETURN_VALUE(type, regbuf, valbuf)",
-                      XSTRING (DEPRECATED_EXTRACT_RETURN_VALUE (type, regbuf, valbuf)));
-#endif
+                      "gdbarch_dump: dwarf2_reg_to_regnum = <0x%lx>\n",
+                      (long) current_gdbarch->dwarf2_reg_to_regnum);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_extract_return_value = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_extract_return_value);
-#ifdef DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P
+                      "gdbarch_dump: dwarf_reg_to_regnum = <0x%lx>\n",
+                      (long) current_gdbarch->dwarf_reg_to_regnum);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P()",
-                      XSTRING (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS_P ()));
-#endif
+                      "gdbarch_dump: ecoff_reg_to_regnum = <0x%lx>\n",
+                      (long) current_gdbarch->ecoff_reg_to_regnum);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_extract_struct_value_address_p() = %d\n",
-                      gdbarch_deprecated_extract_struct_value_address_p (current_gdbarch));
-#ifdef DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS
+                      "gdbarch_dump: elf_make_msymbol_special = <0x%lx>\n",
+                      (long) current_gdbarch->elf_make_msymbol_special);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS(regcache)",
-                      XSTRING (DEPRECATED_EXTRACT_STRUCT_VALUE_ADDRESS (regcache)));
-#endif
+                      "gdbarch_dump: extract_return_value = <0x%lx>\n",
+                      (long) current_gdbarch->extract_return_value);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_extract_struct_value_address = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_extract_struct_value_address);
-#ifdef DEPRECATED_FP_REGNUM
+                      "gdbarch_dump: gdbarch_fetch_pointer_argument_p() = %d\n",
+                      gdbarch_fetch_pointer_argument_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: DEPRECATED_FP_REGNUM # %s\n",
-                      XSTRING (DEPRECATED_FP_REGNUM));
-#endif
+                      "gdbarch_dump: fetch_pointer_argument = <0x%lx>\n",
+                      (long) current_gdbarch->fetch_pointer_argument);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_fp_regnum = %s\n",
-                      paddr_d (current_gdbarch->deprecated_fp_regnum));
-#ifdef DEPRECATED_FRAME_ARGS_ADDRESS_P
+                      "gdbarch_dump: gdbarch_fetch_tls_load_module_address_p() = %d\n",
+                      gdbarch_fetch_tls_load_module_address_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_ARGS_ADDRESS_P()",
-                      XSTRING (DEPRECATED_FRAME_ARGS_ADDRESS_P ()));
-#endif
+                      "gdbarch_dump: fetch_tls_load_module_address = <0x%lx>\n",
+                      (long) current_gdbarch->fetch_tls_load_module_address);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_frame_args_address_p() = %d\n",
-                      gdbarch_deprecated_frame_args_address_p (current_gdbarch));
-#ifdef DEPRECATED_FRAME_ARGS_ADDRESS
+                      "gdbarch_dump: float_bit = %s\n",
+                      paddr_d (current_gdbarch->float_bit));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_ARGS_ADDRESS(fi)",
-                      XSTRING (DEPRECATED_FRAME_ARGS_ADDRESS (fi)));
-#endif
+                      "gdbarch_dump: float_format = %s\n",
+                      pformat (current_gdbarch->float_format));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_frame_args_address = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_frame_args_address);
-#ifdef DEPRECATED_FRAME_CHAIN_P
+                      "gdbarch_dump: fp0_regnum = %s\n",
+                      paddr_d (current_gdbarch->fp0_regnum));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_CHAIN_P()",
-                      XSTRING (DEPRECATED_FRAME_CHAIN_P ()));
-#endif
+                      "gdbarch_dump: gdbarch_frame_align_p() = %d\n",
+                      gdbarch_frame_align_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_frame_chain_p() = %d\n",
-                      gdbarch_deprecated_frame_chain_p (current_gdbarch));
-#ifdef DEPRECATED_FRAME_CHAIN
+                      "gdbarch_dump: frame_align = <0x%lx>\n",
+                      (long) current_gdbarch->frame_align);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_CHAIN(frame)",
-                      XSTRING (DEPRECATED_FRAME_CHAIN (frame)));
-#endif
+                      "gdbarch_dump: frame_args_skip = 0x%s\n",
+                      paddr_nz (current_gdbarch->frame_args_skip));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_frame_chain = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_frame_chain);
-#ifdef DEPRECATED_FRAME_CHAIN_VALID_P
+                      "gdbarch_dump: gdbarch_frame_num_args_p() = %d\n",
+                      gdbarch_frame_num_args_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_CHAIN_VALID_P()",
-                      XSTRING (DEPRECATED_FRAME_CHAIN_VALID_P ()));
-#endif
+                      "gdbarch_dump: frame_num_args = <0x%lx>\n",
+                      (long) current_gdbarch->frame_num_args);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_frame_chain_valid_p() = %d\n",
-                      gdbarch_deprecated_frame_chain_valid_p (current_gdbarch));
-#ifdef DEPRECATED_FRAME_CHAIN_VALID
+                      "gdbarch_dump: frame_red_zone_size = %s\n",
+                      paddr_d (current_gdbarch->frame_red_zone_size));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_CHAIN_VALID(chain, thisframe)",
-                      XSTRING (DEPRECATED_FRAME_CHAIN_VALID (chain, thisframe)));
-#endif
+                      "gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n",
+                      gdbarch_get_longjmp_target_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_frame_chain_valid = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_frame_chain_valid);
-#ifdef DEPRECATED_FRAME_INIT_SAVED_REGS_P
+                      "gdbarch_dump: get_longjmp_target = <0x%lx>\n",
+                      (long) current_gdbarch->get_longjmp_target);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_INIT_SAVED_REGS_P()",
-                      XSTRING (DEPRECATED_FRAME_INIT_SAVED_REGS_P ()));
-#endif
+                      "gdbarch_dump: have_nonsteppable_watchpoint = %s\n",
+                      paddr_d (current_gdbarch->have_nonsteppable_watchpoint));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_frame_init_saved_regs_p() = %d\n",
-                      gdbarch_deprecated_frame_init_saved_regs_p (current_gdbarch));
-#ifdef DEPRECATED_FRAME_INIT_SAVED_REGS
+                      "gdbarch_dump: in_function_epilogue_p = <0x%lx>\n",
+                      (long) current_gdbarch->in_function_epilogue_p);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_INIT_SAVED_REGS(frame)",
-                      XSTRING (DEPRECATED_FRAME_INIT_SAVED_REGS (frame)));
-#endif
+                      "gdbarch_dump: in_solib_return_trampoline = <0x%lx>\n",
+                      (long) current_gdbarch->in_solib_return_trampoline);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_frame_init_saved_regs = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_frame_init_saved_regs);
-#ifdef DEPRECATED_FRAME_LOCALS_ADDRESS_P
+                      "gdbarch_dump: inner_than = <0x%lx>\n",
+                      (long) current_gdbarch->inner_than);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_LOCALS_ADDRESS_P()",
-                      XSTRING (DEPRECATED_FRAME_LOCALS_ADDRESS_P ()));
-#endif
+                      "gdbarch_dump: int_bit = %s\n",
+                      paddr_d (current_gdbarch->int_bit));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_frame_locals_address_p() = %d\n",
-                      gdbarch_deprecated_frame_locals_address_p (current_gdbarch));
-#ifdef DEPRECATED_FRAME_LOCALS_ADDRESS
+                      "gdbarch_dump: gdbarch_integer_to_address_p() = %d\n",
+                      gdbarch_integer_to_address_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_LOCALS_ADDRESS(fi)",
-                      XSTRING (DEPRECATED_FRAME_LOCALS_ADDRESS (fi)));
-#endif
+                      "gdbarch_dump: integer_to_address = <0x%lx>\n",
+                      (long) current_gdbarch->integer_to_address);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_frame_locals_address = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_frame_locals_address);
-#ifdef DEPRECATED_FRAME_SAVED_PC_P
+                      "gdbarch_dump: long_bit = %s\n",
+                      paddr_d (current_gdbarch->long_bit));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_SAVED_PC_P()",
-                      XSTRING (DEPRECATED_FRAME_SAVED_PC_P ()));
-#endif
+                      "gdbarch_dump: long_double_bit = %s\n",
+                      paddr_d (current_gdbarch->long_double_bit));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_frame_saved_pc_p() = %d\n",
-                      gdbarch_deprecated_frame_saved_pc_p (current_gdbarch));
-#ifdef DEPRECATED_FRAME_SAVED_PC
+                      "gdbarch_dump: long_double_format = %s\n",
+                      pformat (current_gdbarch->long_double_format));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_SAVED_PC(fi)",
-                      XSTRING (DEPRECATED_FRAME_SAVED_PC (fi)));
-#endif
+                      "gdbarch_dump: long_long_bit = %s\n",
+                      paddr_d (current_gdbarch->long_long_bit));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_frame_saved_pc = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_frame_saved_pc);
-#ifdef DEPRECATED_FUNCTION_START_OFFSET
+                      "gdbarch_dump: memory_insert_breakpoint = <0x%lx>\n",
+                      (long) current_gdbarch->memory_insert_breakpoint);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: DEPRECATED_FUNCTION_START_OFFSET # %s\n",
-                      XSTRING (DEPRECATED_FUNCTION_START_OFFSET));
-#endif
+                      "gdbarch_dump: memory_remove_breakpoint = <0x%lx>\n",
+                      (long) current_gdbarch->memory_remove_breakpoint);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_function_start_offset = 0x%s\n",
-                      paddr_nz (current_gdbarch->deprecated_function_start_offset));
-#ifdef DEPRECATED_GET_SAVED_REGISTER_P
+                      "gdbarch_dump: name_of_malloc = %s\n",
+                      current_gdbarch->name_of_malloc);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_GET_SAVED_REGISTER_P()",
-                      XSTRING (DEPRECATED_GET_SAVED_REGISTER_P ()));
-#endif
+                      "gdbarch_dump: num_pseudo_regs = %s\n",
+                      paddr_d (current_gdbarch->num_pseudo_regs));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_get_saved_register_p() = %d\n",
-                      gdbarch_deprecated_get_saved_register_p (current_gdbarch));
-#ifdef DEPRECATED_GET_SAVED_REGISTER
+                      "gdbarch_dump: num_regs = %s\n",
+                      paddr_d (current_gdbarch->num_regs));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_GET_SAVED_REGISTER(raw_buffer, optimized, addrp, frame, regnum, lval)",
-                      XSTRING (DEPRECATED_GET_SAVED_REGISTER (raw_buffer, optimized, addrp, frame, regnum, lval)));
-#endif
+                      "gdbarch_dump: osabi = %s\n",
+                      paddr_d (current_gdbarch->osabi));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_get_saved_register = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_get_saved_register);
-#ifdef DEPRECATED_INIT_EXTRA_FRAME_INFO_P
+                      "gdbarch_dump: gdbarch_overlay_update_p() = %d\n",
+                      gdbarch_overlay_update_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_INIT_EXTRA_FRAME_INFO_P()",
-                      XSTRING (DEPRECATED_INIT_EXTRA_FRAME_INFO_P ()));
-#endif
+                      "gdbarch_dump: overlay_update = <0x%lx>\n",
+                      (long) current_gdbarch->overlay_update);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_init_extra_frame_info_p() = %d\n",
-                      gdbarch_deprecated_init_extra_frame_info_p (current_gdbarch));
-#ifdef DEPRECATED_INIT_EXTRA_FRAME_INFO
+                      "gdbarch_dump: pc_regnum = %s\n",
+                      paddr_d (current_gdbarch->pc_regnum));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_INIT_EXTRA_FRAME_INFO(fromleaf, frame)",
-                      XSTRING (DEPRECATED_INIT_EXTRA_FRAME_INFO (fromleaf, frame)));
-#endif
+                      "gdbarch_dump: pointer_to_address = <0x%lx>\n",
+                      (long) current_gdbarch->pointer_to_address);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_init_extra_frame_info = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_init_extra_frame_info);
-#ifdef DEPRECATED_INIT_FRAME_PC_P
+                      "gdbarch_dump: gdbarch_print_float_info_p() = %d\n",
+                      gdbarch_print_float_info_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_INIT_FRAME_PC_P()",
-                      XSTRING (DEPRECATED_INIT_FRAME_PC_P ()));
-#endif
+                      "gdbarch_dump: print_float_info = <0x%lx>\n",
+                      (long) current_gdbarch->print_float_info);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_init_frame_pc_p() = %d\n",
-                      gdbarch_deprecated_init_frame_pc_p (current_gdbarch));
-#ifdef DEPRECATED_INIT_FRAME_PC
+                      "gdbarch_dump: print_insn = <0x%lx>\n",
+                      (long) current_gdbarch->print_insn);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_INIT_FRAME_PC(fromleaf, prev)",
-                      XSTRING (DEPRECATED_INIT_FRAME_PC (fromleaf, prev)));
-#endif
+                      "gdbarch_dump: print_registers_info = <0x%lx>\n",
+                      (long) current_gdbarch->print_registers_info);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_init_frame_pc = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_init_frame_pc);
-#ifdef DEPRECATED_POP_FRAME_P
+                      "gdbarch_dump: gdbarch_print_vector_info_p() = %d\n",
+                      gdbarch_print_vector_info_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_POP_FRAME_P()",
-                      XSTRING (DEPRECATED_POP_FRAME_P ()));
-#endif
+                      "gdbarch_dump: print_vector_info = <0x%lx>\n",
+                      (long) current_gdbarch->print_vector_info);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_pop_frame_p() = %d\n",
-                      gdbarch_deprecated_pop_frame_p (current_gdbarch));
-#ifdef DEPRECATED_POP_FRAME
+                      "gdbarch_dump: ps_regnum = %s\n",
+                      paddr_d (current_gdbarch->ps_regnum));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_POP_FRAME(-)",
-                      XSTRING (DEPRECATED_POP_FRAME (-)));
-#endif
+                      "gdbarch_dump: gdbarch_pseudo_register_read_p() = %d\n",
+                      gdbarch_pseudo_register_read_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_pop_frame = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_pop_frame);
-#ifdef DEPRECATED_PUSH_ARGUMENTS_P
+                      "gdbarch_dump: pseudo_register_read = <0x%lx>\n",
+                      (long) current_gdbarch->pseudo_register_read);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_PUSH_ARGUMENTS_P()",
-                      XSTRING (DEPRECATED_PUSH_ARGUMENTS_P ()));
-#endif
+                      "gdbarch_dump: gdbarch_pseudo_register_write_p() = %d\n",
+                      gdbarch_pseudo_register_write_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_push_arguments_p() = %d\n",
-                      gdbarch_deprecated_push_arguments_p (current_gdbarch));
-#ifdef DEPRECATED_PUSH_ARGUMENTS
+                      "gdbarch_dump: pseudo_register_write = <0x%lx>\n",
+                      (long) current_gdbarch->pseudo_register_write);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_PUSH_ARGUMENTS(nargs, args, sp, struct_return, struct_addr)",
-                      XSTRING (DEPRECATED_PUSH_ARGUMENTS (nargs, args, sp, struct_return, struct_addr)));
-#endif
+                      "gdbarch_dump: ptr_bit = %s\n",
+                      paddr_d (current_gdbarch->ptr_bit));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_push_arguments = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_push_arguments);
-#ifdef DEPRECATED_PUSH_RETURN_ADDRESS_P
+                      "gdbarch_dump: gdbarch_push_dummy_call_p() = %d\n",
+                      gdbarch_push_dummy_call_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_PUSH_RETURN_ADDRESS_P()",
-                      XSTRING (DEPRECATED_PUSH_RETURN_ADDRESS_P ()));
-#endif
+                      "gdbarch_dump: push_dummy_call = <0x%lx>\n",
+                      (long) current_gdbarch->push_dummy_call);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_push_return_address_p() = %d\n",
-                      gdbarch_deprecated_push_return_address_p (current_gdbarch));
-#ifdef DEPRECATED_PUSH_RETURN_ADDRESS
+                      "gdbarch_dump: gdbarch_push_dummy_code_p() = %d\n",
+                      gdbarch_push_dummy_code_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_PUSH_RETURN_ADDRESS(pc, sp)",
-                      XSTRING (DEPRECATED_PUSH_RETURN_ADDRESS (pc, sp)));
-#endif
+                      "gdbarch_dump: push_dummy_code = <0x%lx>\n",
+                      (long) current_gdbarch->push_dummy_code);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_push_return_address = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_push_return_address);
-#ifdef DEPRECATED_REG_STRUCT_HAS_ADDR_P
+                      "gdbarch_dump: gdbarch_read_pc_p() = %d\n",
+                      gdbarch_read_pc_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REG_STRUCT_HAS_ADDR_P()",
-                      XSTRING (DEPRECATED_REG_STRUCT_HAS_ADDR_P ()));
-#endif
+                      "gdbarch_dump: read_pc = <0x%lx>\n",
+                      (long) current_gdbarch->read_pc);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_reg_struct_has_addr_p() = %d\n",
-                      gdbarch_deprecated_reg_struct_has_addr_p (current_gdbarch));
-#ifdef DEPRECATED_REG_STRUCT_HAS_ADDR
+                      "gdbarch_dump: register_name = <0x%lx>\n",
+                      (long) current_gdbarch->register_name);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REG_STRUCT_HAS_ADDR(gcc_p, type)",
-                      XSTRING (DEPRECATED_REG_STRUCT_HAS_ADDR (gcc_p, type)));
-#endif
+                      "gdbarch_dump: register_reggroup_p = <0x%lx>\n",
+                      (long) current_gdbarch->register_reggroup_p);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_reg_struct_has_addr = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_reg_struct_has_addr);
-#ifdef DEPRECATED_REGISTER_BYTE_P
+                      "gdbarch_dump: register_sim_regno = <0x%lx>\n",
+                      (long) current_gdbarch->register_sim_regno);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REGISTER_BYTE_P()",
-                      XSTRING (DEPRECATED_REGISTER_BYTE_P ()));
-#endif
+                      "gdbarch_dump: register_to_value = <0x%lx>\n",
+                      (long) current_gdbarch->register_to_value);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_register_byte_p() = %d\n",
-                      gdbarch_deprecated_register_byte_p (current_gdbarch));
-#ifdef DEPRECATED_REGISTER_BYTE
+                      "gdbarch_dump: gdbarch_register_type_p() = %d\n",
+                      gdbarch_register_type_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REGISTER_BYTE(reg_nr)",
-                      XSTRING (DEPRECATED_REGISTER_BYTE (reg_nr)));
-#endif
+                      "gdbarch_dump: register_type = <0x%lx>\n",
+                      (long) current_gdbarch->register_type);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_register_byte = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_register_byte);
-#ifdef DEPRECATED_REGISTER_RAW_SIZE_P
+                      "gdbarch_dump: gdbarch_regset_from_core_section_p() = %d\n",
+                      gdbarch_regset_from_core_section_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REGISTER_RAW_SIZE_P()",
-                      XSTRING (DEPRECATED_REGISTER_RAW_SIZE_P ()));
-#endif
+                      "gdbarch_dump: regset_from_core_section = <0x%lx>\n",
+                      (long) current_gdbarch->regset_from_core_section);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_register_raw_size_p() = %d\n",
-                      gdbarch_deprecated_register_raw_size_p (current_gdbarch));
-#ifdef DEPRECATED_REGISTER_RAW_SIZE
+                      "gdbarch_dump: remote_register_number = <0x%lx>\n",
+                      (long) current_gdbarch->remote_register_number);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REGISTER_RAW_SIZE(reg_nr)",
-                      XSTRING (DEPRECATED_REGISTER_RAW_SIZE (reg_nr)));
-#endif
+                      "gdbarch_dump: gdbarch_return_value_p() = %d\n",
+                      gdbarch_return_value_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_register_raw_size = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_register_raw_size);
-#ifdef DEPRECATED_REGISTER_SIZE
+                      "gdbarch_dump: return_value = <0x%lx>\n",
+                      (long) current_gdbarch->return_value);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: DEPRECATED_REGISTER_SIZE # %s\n",
-                      XSTRING (DEPRECATED_REGISTER_SIZE));
-#endif
+                      "gdbarch_dump: sdb_reg_to_regnum = <0x%lx>\n",
+                      (long) current_gdbarch->sdb_reg_to_regnum);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_register_size = %s\n",
-                      paddr_d (current_gdbarch->deprecated_register_size));
-#ifdef DEPRECATED_REGISTER_VIRTUAL_SIZE_P
+                      "gdbarch_dump: short_bit = %s\n",
+                      paddr_d (current_gdbarch->short_bit));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REGISTER_VIRTUAL_SIZE_P()",
-                      XSTRING (DEPRECATED_REGISTER_VIRTUAL_SIZE_P ()));
-#endif
+                      "gdbarch_dump: gdbarch_single_step_through_delay_p() = %d\n",
+                      gdbarch_single_step_through_delay_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_register_virtual_size_p() = %d\n",
-                      gdbarch_deprecated_register_virtual_size_p (current_gdbarch));
-#ifdef DEPRECATED_REGISTER_VIRTUAL_SIZE
+                      "gdbarch_dump: single_step_through_delay = <0x%lx>\n",
+                      (long) current_gdbarch->single_step_through_delay);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REGISTER_VIRTUAL_SIZE(reg_nr)",
-                      XSTRING (DEPRECATED_REGISTER_VIRTUAL_SIZE (reg_nr)));
-#endif
+                      "gdbarch_dump: gdbarch_skip_permanent_breakpoint_p() = %d\n",
+                      gdbarch_skip_permanent_breakpoint_p (current_gdbarch));
   fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_register_virtual_size = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_register_virtual_size);
-#ifdef DEPRECATED_REGISTER_VIRTUAL_TYPE_P
+                      "gdbarch_dump: skip_permanent_breakpoint = <0x%lx>\n",
+                      (long) current_gdbarch->skip_permanent_breakpoint);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REGISTER_VIRTUAL_TYPE_P()",
-                      XSTRING (DEPRECATED_REGISTER_VIRTUAL_TYPE_P ()));
-#endif
+                      "gdbarch_dump: skip_prologue = <0x%lx>\n",
+                      (long) current_gdbarch->skip_prologue);
   fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_register_virtual_type_p() = %d\n",
-                      gdbarch_deprecated_register_virtual_type_p (current_gdbarch));
-#ifdef DEPRECATED_REGISTER_VIRTUAL_TYPE
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REGISTER_VIRTUAL_TYPE(reg_nr)",
-                      XSTRING (DEPRECATED_REGISTER_VIRTUAL_TYPE (reg_nr)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_register_virtual_type = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_register_virtual_type);
-#ifdef DEPRECATED_SAVE_DUMMY_FRAME_TOS_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_SAVE_DUMMY_FRAME_TOS_P()",
-                      XSTRING (DEPRECATED_SAVE_DUMMY_FRAME_TOS_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_save_dummy_frame_tos_p() = %d\n",
-                      gdbarch_deprecated_save_dummy_frame_tos_p (current_gdbarch));
-#ifdef DEPRECATED_SAVE_DUMMY_FRAME_TOS
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_SAVE_DUMMY_FRAME_TOS(sp)",
-                      XSTRING (DEPRECATED_SAVE_DUMMY_FRAME_TOS (sp)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_save_dummy_frame_tos = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_save_dummy_frame_tos);
-#ifdef DEPRECATED_SAVED_PC_AFTER_CALL_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_SAVED_PC_AFTER_CALL_P()",
-                      XSTRING (DEPRECATED_SAVED_PC_AFTER_CALL_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_saved_pc_after_call_p() = %d\n",
-                      gdbarch_deprecated_saved_pc_after_call_p (current_gdbarch));
-#ifdef DEPRECATED_SAVED_PC_AFTER_CALL
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_SAVED_PC_AFTER_CALL(frame)",
-                      XSTRING (DEPRECATED_SAVED_PC_AFTER_CALL (frame)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_saved_pc_after_call = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_saved_pc_after_call);
-#ifdef DEPRECATED_STACK_ALIGN_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_STACK_ALIGN_P()",
-                      XSTRING (DEPRECATED_STACK_ALIGN_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_stack_align_p() = %d\n",
-                      gdbarch_deprecated_stack_align_p (current_gdbarch));
-#ifdef DEPRECATED_STACK_ALIGN
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_STACK_ALIGN(sp)",
-                      XSTRING (DEPRECATED_STACK_ALIGN (sp)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_stack_align = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_stack_align);
-#ifdef DEPRECATED_STORE_RETURN_VALUE
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_STORE_RETURN_VALUE(type, valbuf)",
-                      XSTRING (DEPRECATED_STORE_RETURN_VALUE (type, valbuf)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_store_return_value = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_store_return_value);
-#ifdef DEPRECATED_STORE_STRUCT_RETURN_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_STORE_STRUCT_RETURN_P()",
-                      XSTRING (DEPRECATED_STORE_STRUCT_RETURN_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_store_struct_return_p() = %d\n",
-                      gdbarch_deprecated_store_struct_return_p (current_gdbarch));
-#ifdef DEPRECATED_STORE_STRUCT_RETURN
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_STORE_STRUCT_RETURN(addr, sp)",
-                      XSTRING (DEPRECATED_STORE_STRUCT_RETURN (addr, sp)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_store_struct_return = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_store_struct_return);
-#ifdef DEPRECATED_TARGET_READ_FP_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_TARGET_READ_FP_P()",
-                      XSTRING (DEPRECATED_TARGET_READ_FP_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_target_read_fp_p() = %d\n",
-                      gdbarch_deprecated_target_read_fp_p (current_gdbarch));
-#ifdef DEPRECATED_TARGET_READ_FP
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_TARGET_READ_FP()",
-                      XSTRING (DEPRECATED_TARGET_READ_FP ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_target_read_fp = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_target_read_fp);
-#ifdef DEPRECATED_USE_STRUCT_CONVENTION
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_use_struct_convention = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_use_struct_convention);
-#ifdef TARGET_DOUBLE_BIT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_DOUBLE_BIT # %s\n",
-                      XSTRING (TARGET_DOUBLE_BIT));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: double_bit = %s\n",
-                      paddr_d (current_gdbarch->double_bit));
-#ifdef TARGET_DOUBLE_FORMAT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_DOUBLE_FORMAT # %s\n",
-                      XSTRING (TARGET_DOUBLE_FORMAT));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: double_format = %s\n",
-                      (TARGET_DOUBLE_FORMAT)->name);
-#ifdef DWARF2_REG_TO_REGNUM
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DWARF2_REG_TO_REGNUM(dwarf2_regnr)",
-                      XSTRING (DWARF2_REG_TO_REGNUM (dwarf2_regnr)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: dwarf2_reg_to_regnum = <0x%lx>\n",
-                      (long) current_gdbarch->dwarf2_reg_to_regnum);
-#ifdef DWARF_REG_TO_REGNUM
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DWARF_REG_TO_REGNUM(dwarf_regnr)",
-                      XSTRING (DWARF_REG_TO_REGNUM (dwarf_regnr)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: dwarf_reg_to_regnum = <0x%lx>\n",
-                      (long) current_gdbarch->dwarf_reg_to_regnum);
-#ifdef ECOFF_REG_TO_REGNUM
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "ECOFF_REG_TO_REGNUM(ecoff_regnr)",
-                      XSTRING (ECOFF_REG_TO_REGNUM (ecoff_regnr)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: ecoff_reg_to_regnum = <0x%lx>\n",
-                      (long) current_gdbarch->ecoff_reg_to_regnum);
-#ifdef ELF_MAKE_MSYMBOL_SPECIAL
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "ELF_MAKE_MSYMBOL_SPECIAL(sym, msym)",
-                      XSTRING (ELF_MAKE_MSYMBOL_SPECIAL (sym, msym)));
-#endif
-  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);
-#ifdef FETCH_POINTER_ARGUMENT_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "FETCH_POINTER_ARGUMENT_P()",
-                      XSTRING (FETCH_POINTER_ARGUMENT_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_fetch_pointer_argument_p() = %d\n",
-                      gdbarch_fetch_pointer_argument_p (current_gdbarch));
-#ifdef FETCH_POINTER_ARGUMENT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "FETCH_POINTER_ARGUMENT(frame, argi, type)",
-                      XSTRING (FETCH_POINTER_ARGUMENT (frame, argi, type)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: fetch_pointer_argument = <0x%lx>\n",
-                      (long) current_gdbarch->fetch_pointer_argument);
-#ifdef TARGET_FLOAT_BIT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_FLOAT_BIT # %s\n",
-                      XSTRING (TARGET_FLOAT_BIT));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: float_bit = %s\n",
-                      paddr_d (current_gdbarch->float_bit));
-#ifdef TARGET_FLOAT_FORMAT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_FLOAT_FORMAT # %s\n",
-                      XSTRING (TARGET_FLOAT_FORMAT));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: float_format = %s\n",
-                      (TARGET_FLOAT_FORMAT)->name);
-#ifdef FP0_REGNUM
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: FP0_REGNUM # %s\n",
-                      XSTRING (FP0_REGNUM));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: fp0_regnum = %s\n",
-                      paddr_d (current_gdbarch->fp0_regnum));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_frame_align_p() = %d\n",
-                      gdbarch_frame_align_p (current_gdbarch));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: frame_align = <0x%lx>\n",
-                      (long) current_gdbarch->frame_align);
-#ifdef FRAME_ARGS_SKIP
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: FRAME_ARGS_SKIP # %s\n",
-                      XSTRING (FRAME_ARGS_SKIP));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: frame_args_skip = 0x%s\n",
-                      paddr_nz (current_gdbarch->frame_args_skip));
-#ifdef FRAME_NUM_ARGS_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "FRAME_NUM_ARGS_P()",
-                      XSTRING (FRAME_NUM_ARGS_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_frame_num_args_p() = %d\n",
-                      gdbarch_frame_num_args_p (current_gdbarch));
-#ifdef FRAME_NUM_ARGS
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "FRAME_NUM_ARGS(frame)",
-                      XSTRING (FRAME_NUM_ARGS (frame)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: frame_num_args = <0x%lx>\n",
-                      (long) current_gdbarch->frame_num_args);
-#ifdef FRAME_RED_ZONE_SIZE
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: FRAME_RED_ZONE_SIZE # %s\n",
-                      XSTRING (FRAME_RED_ZONE_SIZE));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: frame_red_zone_size = %s\n",
-                      paddr_d (current_gdbarch->frame_red_zone_size));
-#ifdef GET_LONGJMP_TARGET_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "GET_LONGJMP_TARGET_P()",
-                      XSTRING (GET_LONGJMP_TARGET_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_get_longjmp_target_p() = %d\n",
-                      gdbarch_get_longjmp_target_p (current_gdbarch));
-#ifdef GET_LONGJMP_TARGET
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "GET_LONGJMP_TARGET(pc)",
-                      XSTRING (GET_LONGJMP_TARGET (pc)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: get_longjmp_target = <0x%lx>\n",
-                      (long) current_gdbarch->get_longjmp_target);
-#ifdef HAVE_NONSTEPPABLE_WATCHPOINT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: HAVE_NONSTEPPABLE_WATCHPOINT # %s\n",
-                      XSTRING (HAVE_NONSTEPPABLE_WATCHPOINT));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: have_nonsteppable_watchpoint = %s\n",
-                      paddr_d (current_gdbarch->have_nonsteppable_watchpoint));
-  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",
-                      "IN_SOLIB_RETURN_TRAMPOLINE(pc, name)",
-                      XSTRING (IN_SOLIB_RETURN_TRAMPOLINE (pc, name)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: in_solib_return_trampoline = <0x%lx>\n",
-                      (long) current_gdbarch->in_solib_return_trampoline);
-#ifdef INNER_THAN
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "INNER_THAN(lhs, rhs)",
-                      XSTRING (INNER_THAN (lhs, rhs)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: inner_than = <0x%lx>\n",
-                      (long) current_gdbarch->inner_than);
-#ifdef TARGET_INT_BIT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_INT_BIT # %s\n",
-                      XSTRING (TARGET_INT_BIT));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: int_bit = %s\n",
-                      paddr_d (current_gdbarch->int_bit));
-#ifdef INTEGER_TO_ADDRESS_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "INTEGER_TO_ADDRESS_P()",
-                      XSTRING (INTEGER_TO_ADDRESS_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_integer_to_address_p() = %d\n",
-                      gdbarch_integer_to_address_p (current_gdbarch));
-#ifdef INTEGER_TO_ADDRESS
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "INTEGER_TO_ADDRESS(type, buf)",
-                      XSTRING (INTEGER_TO_ADDRESS (type, buf)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: integer_to_address = <0x%lx>\n",
-                      (long) current_gdbarch->integer_to_address);
-#ifdef TARGET_LONG_BIT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_LONG_BIT # %s\n",
-                      XSTRING (TARGET_LONG_BIT));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: long_bit = %s\n",
-                      paddr_d (current_gdbarch->long_bit));
-#ifdef TARGET_LONG_DOUBLE_BIT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_LONG_DOUBLE_BIT # %s\n",
-                      XSTRING (TARGET_LONG_DOUBLE_BIT));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: long_double_bit = %s\n",
-                      paddr_d (current_gdbarch->long_double_bit));
-#ifdef TARGET_LONG_DOUBLE_FORMAT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_LONG_DOUBLE_FORMAT # %s\n",
-                      XSTRING (TARGET_LONG_DOUBLE_FORMAT));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: long_double_format = %s\n",
-                      (TARGET_LONG_DOUBLE_FORMAT)->name);
-#ifdef TARGET_LONG_LONG_BIT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_LONG_LONG_BIT # %s\n",
-                      XSTRING (TARGET_LONG_LONG_BIT));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: long_long_bit = %s\n",
-                      paddr_d (current_gdbarch->long_long_bit));
-#ifdef MEMORY_INSERT_BREAKPOINT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "MEMORY_INSERT_BREAKPOINT(addr, contents_cache)",
-                      XSTRING (MEMORY_INSERT_BREAKPOINT (addr, contents_cache)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: memory_insert_breakpoint = <0x%lx>\n",
-                      (long) current_gdbarch->memory_insert_breakpoint);
-#ifdef MEMORY_REMOVE_BREAKPOINT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "MEMORY_REMOVE_BREAKPOINT(addr, contents_cache)",
-                      XSTRING (MEMORY_REMOVE_BREAKPOINT (addr, contents_cache)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: memory_remove_breakpoint = <0x%lx>\n",
-                      (long) current_gdbarch->memory_remove_breakpoint);
-#ifdef NAME_OF_MALLOC
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: NAME_OF_MALLOC # %s\n",
-                      XSTRING (NAME_OF_MALLOC));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: name_of_malloc = %s\n",
-                      NAME_OF_MALLOC);
-#ifdef NUM_PSEUDO_REGS
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: NUM_PSEUDO_REGS # %s\n",
-                      XSTRING (NUM_PSEUDO_REGS));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: num_pseudo_regs = %s\n",
-                      paddr_d (current_gdbarch->num_pseudo_regs));
-#ifdef NUM_REGS
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: NUM_REGS # %s\n",
-                      XSTRING (NUM_REGS));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: num_regs = %s\n",
-                      paddr_d (current_gdbarch->num_regs));
-#ifdef TARGET_OSABI
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_OSABI # %s\n",
-                      XSTRING (TARGET_OSABI));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: osabi = %s\n",
-                      paddr_d (current_gdbarch->osabi));
-#ifdef PC_REGNUM
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: PC_REGNUM # %s\n",
-                      XSTRING (PC_REGNUM));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: pc_regnum = %s\n",
-                      paddr_d (current_gdbarch->pc_regnum));
-#ifdef POINTER_TO_ADDRESS
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "POINTER_TO_ADDRESS(type, buf)",
-                      XSTRING (POINTER_TO_ADDRESS (type, buf)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: pointer_to_address = <0x%lx>\n",
-                      (long) current_gdbarch->pointer_to_address);
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_print_float_info_p() = %d\n",
-                      gdbarch_print_float_info_p (current_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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: print_insn = <0x%lx>\n",
-                      (long) current_gdbarch->print_insn);
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: print_registers_info = <0x%lx>\n",
-                      (long) current_gdbarch->print_registers_info);
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_print_vector_info_p() = %d\n",
-                      gdbarch_print_vector_info_p (current_gdbarch));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: print_vector_info = <0x%lx>\n",
-                      (long) current_gdbarch->print_vector_info);
-#ifdef PS_REGNUM
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: PS_REGNUM # %s\n",
-                      XSTRING (PS_REGNUM));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: ps_regnum = %s\n",
-                      paddr_d (current_gdbarch->ps_regnum));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_pseudo_register_read_p() = %d\n",
-                      gdbarch_pseudo_register_read_p (current_gdbarch));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: pseudo_register_read = <0x%lx>\n",
-                      (long) current_gdbarch->pseudo_register_read);
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_pseudo_register_write_p() = %d\n",
-                      gdbarch_pseudo_register_write_p (current_gdbarch));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: pseudo_register_write = <0x%lx>\n",
-                      (long) current_gdbarch->pseudo_register_write);
-#ifdef TARGET_PTR_BIT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_PTR_BIT # %s\n",
-                      XSTRING (TARGET_PTR_BIT));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: ptr_bit = %s\n",
-                      paddr_d (current_gdbarch->ptr_bit));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_push_dummy_call_p() = %d\n",
-                      gdbarch_push_dummy_call_p (current_gdbarch));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: push_dummy_call = <0x%lx>\n",
-                      (long) current_gdbarch->push_dummy_call);
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_push_dummy_code_p() = %d\n",
-                      gdbarch_push_dummy_code_p (current_gdbarch));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: push_dummy_code = <0x%lx>\n",
-                      (long) current_gdbarch->push_dummy_code);
-#ifdef TARGET_READ_PC_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "TARGET_READ_PC_P()",
-                      XSTRING (TARGET_READ_PC_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_read_pc_p() = %d\n",
-                      gdbarch_read_pc_p (current_gdbarch));
-#ifdef TARGET_READ_PC
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "TARGET_READ_PC(ptid)",
-                      XSTRING (TARGET_READ_PC (ptid)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: read_pc = <0x%lx>\n",
-                      (long) current_gdbarch->read_pc);
-#ifdef TARGET_READ_SP_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "TARGET_READ_SP_P()",
-                      XSTRING (TARGET_READ_SP_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_read_sp_p() = %d\n",
-                      gdbarch_read_sp_p (current_gdbarch));
-#ifdef TARGET_READ_SP
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "TARGET_READ_SP()",
-                      XSTRING (TARGET_READ_SP ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: read_sp = <0x%lx>\n",
-                      (long) current_gdbarch->read_sp);
-#ifdef REGISTER_BYTES_OK_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "REGISTER_BYTES_OK_P()",
-                      XSTRING (REGISTER_BYTES_OK_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_register_bytes_ok_p() = %d\n",
-                      gdbarch_register_bytes_ok_p (current_gdbarch));
-#ifdef REGISTER_BYTES_OK
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "REGISTER_BYTES_OK(nr_bytes)",
-                      XSTRING (REGISTER_BYTES_OK (nr_bytes)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: register_bytes_ok = <0x%lx>\n",
-                      (long) current_gdbarch->register_bytes_ok);
-#ifdef REGISTER_NAME
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "REGISTER_NAME(regnr)",
-                      XSTRING (REGISTER_NAME (regnr)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: register_name = <0x%lx>\n",
-                      (long) current_gdbarch->register_name);
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: register_reggroup_p = <0x%lx>\n",
-                      (long) current_gdbarch->register_reggroup_p);
-#ifdef REGISTER_SIM_REGNO
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "REGISTER_SIM_REGNO(reg_nr)",
-                      XSTRING (REGISTER_SIM_REGNO (reg_nr)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: register_sim_regno = <0x%lx>\n",
-                      (long) current_gdbarch->register_sim_regno);
-#ifdef REGISTER_TO_VALUE
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "REGISTER_TO_VALUE(frame, regnum, type, buf)",
-                      XSTRING (REGISTER_TO_VALUE (frame, regnum, type, buf)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: register_to_value = <0x%lx>\n",
-                      (long) current_gdbarch->register_to_value);
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_register_type_p() = %d\n",
-                      gdbarch_register_type_p (current_gdbarch));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: register_type = <0x%lx>\n",
-                      (long) current_gdbarch->register_type);
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_regset_from_core_section_p() = %d\n",
-                      gdbarch_regset_from_core_section_p (current_gdbarch));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: regset_from_core_section = <0x%lx>\n",
-                      (long) current_gdbarch->regset_from_core_section);
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: remote_translate_xfer_address = <0x%lx>\n",
-                      (long) current_gdbarch->remote_translate_xfer_address);
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_return_value_p() = %d\n",
-                      gdbarch_return_value_p (current_gdbarch));
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: return_value = <0x%lx>\n",
-                      (long) current_gdbarch->return_value);
-#ifdef SDB_REG_TO_REGNUM
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "SDB_REG_TO_REGNUM(sdb_regnr)",
-                      XSTRING (SDB_REG_TO_REGNUM (sdb_regnr)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: sdb_reg_to_regnum = <0x%lx>\n",
-                      (long) current_gdbarch->sdb_reg_to_regnum);
-#ifdef TARGET_SHORT_BIT
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: TARGET_SHORT_BIT # %s\n",
-                      XSTRING (TARGET_SHORT_BIT));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: short_bit = %s\n",
-                      paddr_d (current_gdbarch->short_bit));
-#ifdef SKIP_PROLOGUE
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "SKIP_PROLOGUE(ip)",
-                      XSTRING (SKIP_PROLOGUE (ip)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: skip_prologue = <0x%lx>\n",
-                      (long) current_gdbarch->skip_prologue);
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: skip_solib_resolver = <0x%lx>\n",
-                      (long) current_gdbarch->skip_solib_resolver);
-#ifdef SKIP_TRAMPOLINE_CODE
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "SKIP_TRAMPOLINE_CODE(pc)",
-                      XSTRING (SKIP_TRAMPOLINE_CODE (pc)));
-#endif
+                      "gdbarch_dump: skip_solib_resolver = <0x%lx>\n",
+                      (long) current_gdbarch->skip_solib_resolver);
   fprintf_unfiltered (file,
                       "gdbarch_dump: skip_trampoline_code = <0x%lx>\n",
                       (long) current_gdbarch->skip_trampoline_code);
-#ifdef SMASH_TEXT_ADDRESS
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "SMASH_TEXT_ADDRESS(addr)",
-                      XSTRING (SMASH_TEXT_ADDRESS (addr)));
-#endif
   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
   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(sig, insert_breakpoints_p)",
-                      XSTRING (SOFTWARE_SINGLE_STEP (sig, insert_breakpoints_p)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: software_single_step = <0x%lx>\n",
                       (long) current_gdbarch->software_single_step);
-#ifdef SP_REGNUM
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: SP_REGNUM # %s\n",
-                      XSTRING (SP_REGNUM));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: sp_regnum = %s\n",
                       paddr_d (current_gdbarch->sp_regnum));
-#ifdef STAB_REG_TO_REGNUM
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "STAB_REG_TO_REGNUM(stab_regnr)",
-                      XSTRING (STAB_REG_TO_REGNUM (stab_regnr)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: stab_reg_to_regnum = <0x%lx>\n",
                       (long) current_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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "STORE_RETURN_VALUE(type, regcache, valbuf)",
-                      XSTRING (STORE_RETURN_VALUE (type, regcache, valbuf)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: store_return_value = <0x%lx>\n",
                       (long) current_gdbarch->store_return_value);
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: target_desc = %s\n",
+                      paddr_d ((long) current_gdbarch->target_desc));
   fprintf_unfiltered (file,
                       "gdbarch_dump: gdbarch_unwind_dummy_id_p() = %d\n",
                       gdbarch_unwind_dummy_id_p (current_gdbarch));
@@ -1971,30 +1015,24 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: unwind_sp = <0x%lx>\n",
                       (long) current_gdbarch->unwind_sp);
-#ifdef VALUE_TO_REGISTER
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "VALUE_TO_REGISTER(frame, regnum, type, buf)",
-                      XSTRING (VALUE_TO_REGISTER (frame, regnum, type, buf)));
-#endif
+                      "gdbarch_dump: value_from_register = <0x%lx>\n",
+                      (long) current_gdbarch->value_from_register);
   fprintf_unfiltered (file,
                       "gdbarch_dump: value_to_register = <0x%lx>\n",
                       (long) current_gdbarch->value_to_register);
-#ifdef TARGET_VIRTUAL_FRAME_POINTER
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "TARGET_VIRTUAL_FRAME_POINTER(pc, frame_regnum, frame_offset)",
-                      XSTRING (TARGET_VIRTUAL_FRAME_POINTER (pc, frame_regnum, frame_offset)));
-#endif
+                      "gdbarch_dump: vbit_in_delta = %s\n",
+                      paddr_d (current_gdbarch->vbit_in_delta));
   fprintf_unfiltered (file,
                       "gdbarch_dump: virtual_frame_pointer = <0x%lx>\n",
                       (long) current_gdbarch->virtual_frame_pointer);
-#ifdef TARGET_WRITE_PC
   fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "TARGET_WRITE_PC(val, ptid)",
-                      XSTRING (TARGET_WRITE_PC (val, ptid)));
-#endif
+                      "gdbarch_dump: vtable_function_descriptors = %s\n",
+                      paddr_d (current_gdbarch->vtable_function_descriptors));
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: gdbarch_write_pc_p() = %d\n",
+                      gdbarch_write_pc_p (current_gdbarch));
   fprintf_unfiltered (file,
                       "gdbarch_dump: write_pc = <0x%lx>\n",
                       (long) current_gdbarch->write_pc);
@@ -2029,13 +1067,22 @@ gdbarch_byte_order (struct gdbarch *gdbarch)
   return gdbarch->byte_order;
 }
 
-enum gdb_osabi
-gdbarch_osabi (struct gdbarch *gdbarch)
+enum gdb_osabi
+gdbarch_osabi (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_osabi called\n");
+  return gdbarch->osabi;
+}
+
+const struct target_desc *
+gdbarch_target_desc (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
   if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_osabi called\n");
-  return gdbarch->osabi;
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_target_desc called\n");
+  return gdbarch->target_desc;
 }
 
 int
@@ -2123,6 +1170,22 @@ set_gdbarch_float_bit (struct gdbarch *gdbarch,
   gdbarch->float_bit = float_bit;
 }
 
+const struct floatformat **
+gdbarch_float_format (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_float_format called\n");
+  return gdbarch->float_format;
+}
+
+void
+set_gdbarch_float_format (struct gdbarch *gdbarch,
+                          const struct floatformat ** float_format)
+{
+  gdbarch->float_format = float_format;
+}
+
 int
 gdbarch_double_bit (struct gdbarch *gdbarch)
 {
@@ -2140,6 +1203,22 @@ set_gdbarch_double_bit (struct gdbarch *gdbarch,
   gdbarch->double_bit = double_bit;
 }
 
+const struct floatformat **
+gdbarch_double_format (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_double_format called\n");
+  return gdbarch->double_format;
+}
+
+void
+set_gdbarch_double_format (struct gdbarch *gdbarch,
+                           const struct floatformat ** double_format)
+{
+  gdbarch->double_format = double_format;
+}
+
 int
 gdbarch_long_double_bit (struct gdbarch *gdbarch)
 {
@@ -2157,6 +1236,22 @@ set_gdbarch_long_double_bit (struct gdbarch *gdbarch,
   gdbarch->long_double_bit = long_double_bit;
 }
 
+const struct floatformat **
+gdbarch_long_double_format (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_long_double_format called\n");
+  return gdbarch->long_double_format;
+}
+
+void
+set_gdbarch_long_double_format (struct gdbarch *gdbarch,
+                                const struct floatformat ** long_double_format)
+{
+  gdbarch->long_double_format = long_double_format;
+}
+
 int
 gdbarch_ptr_bit (struct gdbarch *gdbarch)
 {
@@ -2192,23 +1287,6 @@ set_gdbarch_addr_bit (struct gdbarch *gdbarch,
   gdbarch->addr_bit = addr_bit;
 }
 
-int
-gdbarch_bfd_vma_bit (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  /* Skip verify of bfd_vma_bit, invalid_p == 0 */
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_bfd_vma_bit called\n");
-  return gdbarch->bfd_vma_bit;
-}
-
-void
-set_gdbarch_bfd_vma_bit (struct gdbarch *gdbarch,
-                         int bfd_vma_bit)
-{
-  gdbarch->bfd_vma_bit = bfd_vma_bit;
-}
-
 int
 gdbarch_char_signed (struct gdbarch *gdbarch)
 {
@@ -2235,13 +1313,13 @@ gdbarch_read_pc_p (struct gdbarch *gdbarch)
 }
 
 CORE_ADDR
-gdbarch_read_pc (struct gdbarch *gdbarch, ptid_t ptid)
+gdbarch_read_pc (struct gdbarch *gdbarch, struct regcache *regcache)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->read_pc != NULL);
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_read_pc called\n");
-  return gdbarch->read_pc (ptid);
+  return gdbarch->read_pc (regcache);
 }
 
 void
@@ -2251,14 +1329,21 @@ set_gdbarch_read_pc (struct gdbarch *gdbarch,
   gdbarch->read_pc = read_pc;
 }
 
+int
+gdbarch_write_pc_p (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  return gdbarch->write_pc != NULL;
+}
+
 void
-gdbarch_write_pc (struct gdbarch *gdbarch, CORE_ADDR val, ptid_t ptid)
+gdbarch_write_pc (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR val)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->write_pc != NULL);
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_write_pc called\n");
-  gdbarch->write_pc (val, ptid);
+  gdbarch->write_pc (regcache, val);
 }
 
 void
@@ -2268,30 +1353,6 @@ set_gdbarch_write_pc (struct gdbarch *gdbarch,
   gdbarch->write_pc = write_pc;
 }
 
-int
-gdbarch_read_sp_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->read_sp != NULL;
-}
-
-CORE_ADDR
-gdbarch_read_sp (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->read_sp != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_read_sp called\n");
-  return gdbarch->read_sp ();
-}
-
-void
-set_gdbarch_read_sp (struct gdbarch *gdbarch,
-                     gdbarch_read_sp_ftype read_sp)
-{
-  gdbarch->read_sp = read_sp;
-}
-
 void
 gdbarch_virtual_frame_pointer (struct gdbarch *gdbarch, CORE_ADDR pc, int *frame_regnum, LONGEST *frame_offset)
 {
@@ -2317,7 +1378,7 @@ gdbarch_pseudo_register_read_p (struct gdbarch *gdbarch)
 }
 
 void
-gdbarch_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, void *buf)
+gdbarch_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, gdb_byte *buf)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->pseudo_register_read != NULL);
@@ -2341,7 +1402,7 @@ gdbarch_pseudo_register_write_p (struct gdbarch *gdbarch)
 }
 
 void
-gdbarch_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const void *buf)
+gdbarch_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const gdb_byte *buf)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->pseudo_register_write != NULL);
@@ -2549,341 +1610,106 @@ const char *
 gdbarch_register_name (struct gdbarch *gdbarch, int regnr)
 {
   gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->register_name != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_register_name called\n");
-  return gdbarch->register_name (regnr);
-}
-
-void
-set_gdbarch_register_name (struct gdbarch *gdbarch,
-                           gdbarch_register_name_ftype register_name)
-{
-  gdbarch->register_name = register_name;
-}
-
-int
-gdbarch_register_type_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->register_type != NULL;
-}
-
-struct type *
-gdbarch_register_type (struct gdbarch *gdbarch, int reg_nr)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->register_type != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_register_type called\n");
-  return gdbarch->register_type (gdbarch, reg_nr);
-}
-
-void
-set_gdbarch_register_type (struct gdbarch *gdbarch,
-                           gdbarch_register_type_ftype register_type)
-{
-  gdbarch->register_type = register_type;
-}
-
-int
-gdbarch_deprecated_register_virtual_type_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_register_virtual_type != NULL;
-}
-
-struct type *
-gdbarch_deprecated_register_virtual_type (struct gdbarch *gdbarch, int reg_nr)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_register_virtual_type != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_virtual_type called\n");
-  return gdbarch->deprecated_register_virtual_type (reg_nr);
-}
-
-void
-set_gdbarch_deprecated_register_virtual_type (struct gdbarch *gdbarch,
-                                              gdbarch_deprecated_register_virtual_type_ftype deprecated_register_virtual_type)
-{
-  gdbarch->deprecated_register_virtual_type = deprecated_register_virtual_type;
-}
-
-int
-gdbarch_deprecated_register_byte_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_register_byte != generic_register_byte;
-}
-
-int
-gdbarch_deprecated_register_byte (struct gdbarch *gdbarch, int reg_nr)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_register_byte != NULL);
-  /* Do not check predicate: gdbarch->deprecated_register_byte != generic_register_byte, allow call.  */
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_byte called\n");
-  return gdbarch->deprecated_register_byte (reg_nr);
-}
-
-void
-set_gdbarch_deprecated_register_byte (struct gdbarch *gdbarch,
-                                      gdbarch_deprecated_register_byte_ftype deprecated_register_byte)
-{
-  gdbarch->deprecated_register_byte = deprecated_register_byte;
-}
-
-int
-gdbarch_deprecated_register_raw_size_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_register_raw_size != generic_register_size;
-}
-
-int
-gdbarch_deprecated_register_raw_size (struct gdbarch *gdbarch, int reg_nr)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_register_raw_size != NULL);
-  /* Do not check predicate: gdbarch->deprecated_register_raw_size != generic_register_size, allow call.  */
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_raw_size called\n");
-  return gdbarch->deprecated_register_raw_size (reg_nr);
-}
-
-void
-set_gdbarch_deprecated_register_raw_size (struct gdbarch *gdbarch,
-                                          gdbarch_deprecated_register_raw_size_ftype deprecated_register_raw_size)
-{
-  gdbarch->deprecated_register_raw_size = deprecated_register_raw_size;
-}
-
-int
-gdbarch_deprecated_register_virtual_size_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_register_virtual_size != generic_register_size;
-}
-
-int
-gdbarch_deprecated_register_virtual_size (struct gdbarch *gdbarch, int reg_nr)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_register_virtual_size != NULL);
-  /* Do not check predicate: gdbarch->deprecated_register_virtual_size != generic_register_size, allow call.  */
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_virtual_size called\n");
-  return gdbarch->deprecated_register_virtual_size (reg_nr);
-}
-
-void
-set_gdbarch_deprecated_register_virtual_size (struct gdbarch *gdbarch,
-                                              gdbarch_deprecated_register_virtual_size_ftype deprecated_register_virtual_size)
-{
-  gdbarch->deprecated_register_virtual_size = deprecated_register_virtual_size;
-}
-
-int
-gdbarch_unwind_dummy_id_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->unwind_dummy_id != NULL;
-}
-
-struct frame_id
-gdbarch_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *info)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->unwind_dummy_id != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_dummy_id called\n");
-  return gdbarch->unwind_dummy_id (gdbarch, info);
-}
-
-void
-set_gdbarch_unwind_dummy_id (struct gdbarch *gdbarch,
-                             gdbarch_unwind_dummy_id_ftype unwind_dummy_id)
-{
-  gdbarch->unwind_dummy_id = unwind_dummy_id;
-}
-
-int
-gdbarch_deprecated_save_dummy_frame_tos_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_save_dummy_frame_tos != NULL;
-}
-
-void
-gdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch, CORE_ADDR sp)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_save_dummy_frame_tos != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_save_dummy_frame_tos called\n");
-  gdbarch->deprecated_save_dummy_frame_tos (sp);
-}
-
-void
-set_gdbarch_deprecated_save_dummy_frame_tos (struct gdbarch *gdbarch,
-                                             gdbarch_deprecated_save_dummy_frame_tos_ftype deprecated_save_dummy_frame_tos)
-{
-  gdbarch->deprecated_save_dummy_frame_tos = deprecated_save_dummy_frame_tos;
-}
-
-int
-gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_fp_regnum called\n");
-  return gdbarch->deprecated_fp_regnum;
-}
-
-void
-set_gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch,
-                                  int deprecated_fp_regnum)
-{
-  gdbarch->deprecated_fp_regnum = deprecated_fp_regnum;
-}
-
-int
-gdbarch_deprecated_target_read_fp_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_target_read_fp != NULL;
-}
-
-CORE_ADDR
-gdbarch_deprecated_target_read_fp (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_target_read_fp != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_target_read_fp called\n");
-  return gdbarch->deprecated_target_read_fp ();
-}
-
-void
-set_gdbarch_deprecated_target_read_fp (struct gdbarch *gdbarch,
-                                       gdbarch_deprecated_target_read_fp_ftype deprecated_target_read_fp)
-{
-  gdbarch->deprecated_target_read_fp = deprecated_target_read_fp;
-}
-
-int
-gdbarch_push_dummy_call_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->push_dummy_call != NULL;
-}
-
-CORE_ADDR
-gdbarch_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->push_dummy_call != NULL);
+  gdb_assert (gdbarch->register_name != NULL);
   if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_push_dummy_call called\n");
-  return gdbarch->push_dummy_call (gdbarch, function, regcache, bp_addr, nargs, args, sp, struct_return, struct_addr);
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_register_name called\n");
+  return gdbarch->register_name (regnr);
 }
 
 void
-set_gdbarch_push_dummy_call (struct gdbarch *gdbarch,
-                             gdbarch_push_dummy_call_ftype push_dummy_call)
+set_gdbarch_register_name (struct gdbarch *gdbarch,
+                           gdbarch_register_name_ftype register_name)
 {
-  gdbarch->push_dummy_call = push_dummy_call;
+  gdbarch->register_name = register_name;
 }
 
 int
-gdbarch_deprecated_push_arguments_p (struct gdbarch *gdbarch)
+gdbarch_register_type_p (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_push_arguments != NULL;
+  return gdbarch->register_type != NULL;
 }
 
-CORE_ADDR
-gdbarch_deprecated_push_arguments (struct gdbarch *gdbarch, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
+struct type *
+gdbarch_register_type (struct gdbarch *gdbarch, int reg_nr)
 {
   gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_push_arguments != NULL);
+  gdb_assert (gdbarch->register_type != NULL);
   if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_arguments called\n");
-  return gdbarch->deprecated_push_arguments (nargs, args, sp, struct_return, struct_addr);
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_register_type called\n");
+  return gdbarch->register_type (gdbarch, reg_nr);
 }
 
 void
-set_gdbarch_deprecated_push_arguments (struct gdbarch *gdbarch,
-                                       gdbarch_deprecated_push_arguments_ftype deprecated_push_arguments)
+set_gdbarch_register_type (struct gdbarch *gdbarch,
+                           gdbarch_register_type_ftype register_type)
 {
-  gdbarch->deprecated_push_arguments = deprecated_push_arguments;
+  gdbarch->register_type = register_type;
 }
 
 int
-gdbarch_deprecated_push_return_address_p (struct gdbarch *gdbarch)
+gdbarch_unwind_dummy_id_p (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_push_return_address != NULL;
+  return gdbarch->unwind_dummy_id != NULL;
 }
 
-CORE_ADDR
-gdbarch_deprecated_push_return_address (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR sp)
+struct frame_id
+gdbarch_unwind_dummy_id (struct gdbarch *gdbarch, struct frame_info *info)
 {
   gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_push_return_address != NULL);
+  gdb_assert (gdbarch->unwind_dummy_id != NULL);
   if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_return_address called\n");
-  return gdbarch->deprecated_push_return_address (pc, sp);
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_unwind_dummy_id called\n");
+  return gdbarch->unwind_dummy_id (gdbarch, info);
 }
 
 void
-set_gdbarch_deprecated_push_return_address (struct gdbarch *gdbarch,
-                                            gdbarch_deprecated_push_return_address_ftype deprecated_push_return_address)
+set_gdbarch_unwind_dummy_id (struct gdbarch *gdbarch,
+                             gdbarch_unwind_dummy_id_ftype unwind_dummy_id)
 {
-  gdbarch->deprecated_push_return_address = deprecated_push_return_address;
+  gdbarch->unwind_dummy_id = unwind_dummy_id;
 }
 
 int
-gdbarch_deprecated_dummy_write_sp_p (struct gdbarch *gdbarch)
+gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_dummy_write_sp != NULL;
+  /* Skip verify of deprecated_fp_regnum, invalid_p == 0 */
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_fp_regnum called\n");
+  return gdbarch->deprecated_fp_regnum;
 }
 
 void
-gdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch, CORE_ADDR val)
+set_gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch,
+                                  int deprecated_fp_regnum)
 {
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_dummy_write_sp != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_dummy_write_sp called\n");
-  gdbarch->deprecated_dummy_write_sp (val);
+  gdbarch->deprecated_fp_regnum = deprecated_fp_regnum;
 }
 
-void
-set_gdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch,
-                                       gdbarch_deprecated_dummy_write_sp_ftype deprecated_dummy_write_sp)
+int
+gdbarch_push_dummy_call_p (struct gdbarch *gdbarch)
 {
-  gdbarch->deprecated_dummy_write_sp = deprecated_dummy_write_sp;
+  gdb_assert (gdbarch != NULL);
+  return gdbarch->push_dummy_call != NULL;
 }
 
-int
-gdbarch_deprecated_register_size (struct gdbarch *gdbarch)
+CORE_ADDR
+gdbarch_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
 {
   gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->push_dummy_call != NULL);
   if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_register_size called\n");
-  return gdbarch->deprecated_register_size;
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_push_dummy_call called\n");
+  return gdbarch->push_dummy_call (gdbarch, function, regcache, bp_addr, nargs, args, sp, struct_return, struct_addr);
 }
 
 void
-set_gdbarch_deprecated_register_size (struct gdbarch *gdbarch,
-                                      int deprecated_register_size)
+set_gdbarch_push_dummy_call (struct gdbarch *gdbarch,
+                             gdbarch_push_dummy_call_ftype push_dummy_call)
 {
-  gdbarch->deprecated_register_size = deprecated_register_size;
+  gdbarch->push_dummy_call = push_dummy_call;
 }
 
 int
@@ -2911,13 +1737,13 @@ gdbarch_push_dummy_code_p (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)
+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)
 {
   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);
+  return gdbarch->push_dummy_code (gdbarch, sp, funaddr, using_gcc, args, nargs, value_type, real_pc, bp_addr, regcache);
 }
 
 void
@@ -2927,30 +1753,6 @@ set_gdbarch_push_dummy_code (struct gdbarch *gdbarch,
   gdbarch->push_dummy_code = push_dummy_code;
 }
 
-int
-gdbarch_deprecated_do_registers_info_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_do_registers_info != NULL;
-}
-
-void
-gdbarch_deprecated_do_registers_info (struct gdbarch *gdbarch, int reg_nr, int fpregs)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_do_registers_info != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_do_registers_info called\n");
-  gdbarch->deprecated_do_registers_info (reg_nr, fpregs);
-}
-
-void
-set_gdbarch_deprecated_do_registers_info (struct gdbarch *gdbarch,
-                                          gdbarch_deprecated_do_registers_info_ftype deprecated_do_registers_info)
-{
-  gdbarch->deprecated_do_registers_info = deprecated_do_registers_info;
-}
-
 void
 gdbarch_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all)
 {
@@ -3033,30 +1835,6 @@ set_gdbarch_register_sim_regno (struct gdbarch *gdbarch,
   gdbarch->register_sim_regno = register_sim_regno;
 }
 
-int
-gdbarch_register_bytes_ok_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->register_bytes_ok != NULL;
-}
-
-int
-gdbarch_register_bytes_ok (struct gdbarch *gdbarch, long nr_bytes)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->register_bytes_ok != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_register_bytes_ok called\n");
-  return gdbarch->register_bytes_ok (nr_bytes);
-}
-
-void
-set_gdbarch_register_bytes_ok (struct gdbarch *gdbarch,
-                               gdbarch_register_bytes_ok_ftype register_bytes_ok)
-{
-  gdbarch->register_bytes_ok = register_bytes_ok;
-}
-
 int
 gdbarch_cannot_fetch_register (struct gdbarch *gdbarch, int regnum)
 {
@@ -3099,13 +1877,13 @@ gdbarch_get_longjmp_target_p (struct gdbarch *gdbarch)
 }
 
 int
-gdbarch_get_longjmp_target (struct gdbarch *gdbarch, CORE_ADDR *pc)
+gdbarch_get_longjmp_target (struct gdbarch *gdbarch, struct frame_info *frame, CORE_ADDR *pc)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->get_longjmp_target != NULL);
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_get_longjmp_target called\n");
-  return gdbarch->get_longjmp_target (pc);
+  return gdbarch->get_longjmp_target (frame, pc);
 }
 
 void
@@ -3115,30 +1893,6 @@ set_gdbarch_get_longjmp_target (struct gdbarch *gdbarch,
   gdbarch->get_longjmp_target = get_longjmp_target;
 }
 
-int
-gdbarch_deprecated_init_frame_pc_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_init_frame_pc != NULL;
-}
-
-CORE_ADDR
-gdbarch_deprecated_init_frame_pc (struct gdbarch *gdbarch, int fromleaf, struct frame_info *prev)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_init_frame_pc != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_init_frame_pc called\n");
-  return gdbarch->deprecated_init_frame_pc (fromleaf, prev);
-}
-
-void
-set_gdbarch_deprecated_init_frame_pc (struct gdbarch *gdbarch,
-                                      gdbarch_deprecated_init_frame_pc_ftype deprecated_init_frame_pc)
-{
-  gdbarch->deprecated_init_frame_pc = deprecated_init_frame_pc;
-}
-
 int
 gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch)
 {
@@ -3155,30 +1909,6 @@ set_gdbarch_believe_pcc_promotion (struct gdbarch *gdbarch,
   gdbarch->believe_pcc_promotion = believe_pcc_promotion;
 }
 
-int
-gdbarch_deprecated_get_saved_register_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_get_saved_register != NULL;
-}
-
-void
-gdbarch_deprecated_get_saved_register (struct gdbarch *gdbarch, char *raw_buffer, int *optimized, CORE_ADDR *addrp, struct frame_info *frame, int regnum, enum lval_type *lval)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_get_saved_register != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_get_saved_register called\n");
-  gdbarch->deprecated_get_saved_register (raw_buffer, optimized, addrp, frame, regnum, lval);
-}
-
-void
-set_gdbarch_deprecated_get_saved_register (struct gdbarch *gdbarch,
-                                           gdbarch_deprecated_get_saved_register_ftype deprecated_get_saved_register)
-{
-  gdbarch->deprecated_get_saved_register = deprecated_get_saved_register;
-}
-
 int
 gdbarch_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type)
 {
@@ -3197,7 +1927,7 @@ set_gdbarch_convert_register_p (struct gdbarch *gdbarch,
 }
 
 void
-gdbarch_register_to_value (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, void *buf)
+gdbarch_register_to_value (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, gdb_byte *buf)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->register_to_value != NULL);
@@ -3214,7 +1944,7 @@ set_gdbarch_register_to_value (struct gdbarch *gdbarch,
 }
 
 void
-gdbarch_value_to_register (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, const void *buf)
+gdbarch_value_to_register (struct gdbarch *gdbarch, struct frame_info *frame, int regnum, struct type *type, const gdb_byte *buf)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->value_to_register != NULL);
@@ -3230,8 +1960,25 @@ set_gdbarch_value_to_register (struct gdbarch *gdbarch,
   gdbarch->value_to_register = value_to_register;
 }
 
+struct value *
+gdbarch_value_from_register (struct gdbarch *gdbarch, struct type *type, int regnum, struct frame_info *frame)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->value_from_register != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_value_from_register called\n");
+  return gdbarch->value_from_register (type, regnum, frame);
+}
+
+void
+set_gdbarch_value_from_register (struct gdbarch *gdbarch,
+                                 gdbarch_value_from_register_ftype value_from_register)
+{
+  gdbarch->value_from_register = value_from_register;
+}
+
 CORE_ADDR
-gdbarch_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const void *buf)
+gdbarch_pointer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->pointer_to_address != NULL);
@@ -3248,7 +1995,7 @@ set_gdbarch_pointer_to_address (struct gdbarch *gdbarch,
 }
 
 void
-gdbarch_address_to_pointer (struct gdbarch *gdbarch, struct type *type, void *buf, CORE_ADDR addr)
+gdbarch_address_to_pointer (struct gdbarch *gdbarch, struct type *type, gdb_byte *buf, CORE_ADDR addr)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->address_to_pointer != NULL);
@@ -3272,13 +2019,13 @@ gdbarch_integer_to_address_p (struct gdbarch *gdbarch)
 }
 
 CORE_ADDR
-gdbarch_integer_to_address (struct gdbarch *gdbarch, struct type *type, void *buf)
+gdbarch_integer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->integer_to_address != NULL);
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_integer_to_address called\n");
-  return gdbarch->integer_to_address (type, buf);
+  return gdbarch->integer_to_address (gdbarch, type, buf);
 }
 
 void
@@ -3288,54 +2035,6 @@ set_gdbarch_integer_to_address (struct gdbarch *gdbarch,
   gdbarch->integer_to_address = integer_to_address;
 }
 
-int
-gdbarch_deprecated_pop_frame_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_pop_frame != NULL;
-}
-
-void
-gdbarch_deprecated_pop_frame (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_pop_frame != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_pop_frame called\n");
-  gdbarch->deprecated_pop_frame ();
-}
-
-void
-set_gdbarch_deprecated_pop_frame (struct gdbarch *gdbarch,
-                                  gdbarch_deprecated_pop_frame_ftype deprecated_pop_frame)
-{
-  gdbarch->deprecated_pop_frame = deprecated_pop_frame;
-}
-
-int
-gdbarch_deprecated_store_struct_return_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_store_struct_return != NULL;
-}
-
-void
-gdbarch_deprecated_store_struct_return (struct gdbarch *gdbarch, CORE_ADDR addr, CORE_ADDR sp)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_store_struct_return != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_store_struct_return called\n");
-  gdbarch->deprecated_store_struct_return (addr, sp);
-}
-
-void
-set_gdbarch_deprecated_store_struct_return (struct gdbarch *gdbarch,
-                                            gdbarch_deprecated_store_struct_return_ftype deprecated_store_struct_return)
-{
-  gdbarch->deprecated_store_struct_return = deprecated_store_struct_return;
-}
-
 int
 gdbarch_return_value_p (struct gdbarch *gdbarch)
 {
@@ -3344,7 +2043,7 @@ gdbarch_return_value_p (struct gdbarch *gdbarch)
 }
 
 enum return_value_convention
-gdbarch_return_value (struct gdbarch *gdbarch, struct type *valtype, struct regcache *regcache, void *readbuf, const void *writebuf)
+gdbarch_return_value (struct gdbarch *gdbarch, struct type *valtype, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->return_value != NULL);
@@ -3362,7 +2061,7 @@ set_gdbarch_return_value (struct gdbarch *gdbarch,
 }
 
 void
-gdbarch_extract_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, void *valbuf)
+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);
@@ -3379,7 +2078,7 @@ set_gdbarch_extract_return_value (struct gdbarch *gdbarch,
 }
 
 void
-gdbarch_store_return_value (struct gdbarch *gdbarch, struct type *type, struct regcache *regcache, const void *valbuf)
+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);
@@ -3395,40 +2094,6 @@ set_gdbarch_store_return_value (struct gdbarch *gdbarch,
   gdbarch->store_return_value = store_return_value;
 }
 
-void
-gdbarch_deprecated_extract_return_value (struct gdbarch *gdbarch, struct type *type, char *regbuf, char *valbuf)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_extract_return_value != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_extract_return_value called\n");
-  gdbarch->deprecated_extract_return_value (type, regbuf, valbuf);
-}
-
-void
-set_gdbarch_deprecated_extract_return_value (struct gdbarch *gdbarch,
-                                             gdbarch_deprecated_extract_return_value_ftype deprecated_extract_return_value)
-{
-  gdbarch->deprecated_extract_return_value = deprecated_extract_return_value;
-}
-
-void
-gdbarch_deprecated_store_return_value (struct gdbarch *gdbarch, struct type *type, char *valbuf)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_store_return_value != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_store_return_value called\n");
-  gdbarch->deprecated_store_return_value (type, valbuf);
-}
-
-void
-set_gdbarch_deprecated_store_return_value (struct gdbarch *gdbarch,
-                                           gdbarch_deprecated_store_return_value_ftype deprecated_store_return_value)
-{
-  gdbarch->deprecated_store_return_value = deprecated_store_return_value;
-}
-
 int
 gdbarch_deprecated_use_struct_convention (struct gdbarch *gdbarch, int gcc_p, struct type *value_type)
 {
@@ -3446,78 +2111,6 @@ set_gdbarch_deprecated_use_struct_convention (struct gdbarch *gdbarch,
   gdbarch->deprecated_use_struct_convention = deprecated_use_struct_convention;
 }
 
-int
-gdbarch_deprecated_extract_struct_value_address_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_extract_struct_value_address != NULL;
-}
-
-CORE_ADDR
-gdbarch_deprecated_extract_struct_value_address (struct gdbarch *gdbarch, struct regcache *regcache)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_extract_struct_value_address != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_extract_struct_value_address called\n");
-  return gdbarch->deprecated_extract_struct_value_address (regcache);
-}
-
-void
-set_gdbarch_deprecated_extract_struct_value_address (struct gdbarch *gdbarch,
-                                                     gdbarch_deprecated_extract_struct_value_address_ftype deprecated_extract_struct_value_address)
-{
-  gdbarch->deprecated_extract_struct_value_address = deprecated_extract_struct_value_address;
-}
-
-int
-gdbarch_deprecated_frame_init_saved_regs_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_frame_init_saved_regs != NULL;
-}
-
-void
-gdbarch_deprecated_frame_init_saved_regs (struct gdbarch *gdbarch, struct frame_info *frame)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_frame_init_saved_regs != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_init_saved_regs called\n");
-  gdbarch->deprecated_frame_init_saved_regs (frame);
-}
-
-void
-set_gdbarch_deprecated_frame_init_saved_regs (struct gdbarch *gdbarch,
-                                              gdbarch_deprecated_frame_init_saved_regs_ftype deprecated_frame_init_saved_regs)
-{
-  gdbarch->deprecated_frame_init_saved_regs = deprecated_frame_init_saved_regs;
-}
-
-int
-gdbarch_deprecated_init_extra_frame_info_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_init_extra_frame_info != NULL;
-}
-
-void
-gdbarch_deprecated_init_extra_frame_info (struct gdbarch *gdbarch, int fromleaf, struct frame_info *frame)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_init_extra_frame_info != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_init_extra_frame_info called\n");
-  gdbarch->deprecated_init_extra_frame_info (fromleaf, frame);
-}
-
-void
-set_gdbarch_deprecated_init_extra_frame_info (struct gdbarch *gdbarch,
-                                              gdbarch_deprecated_init_extra_frame_info_ftype deprecated_init_extra_frame_info)
-{
-  gdbarch->deprecated_init_extra_frame_info = deprecated_init_extra_frame_info;
-}
-
 CORE_ADDR
 gdbarch_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR ip)
 {
@@ -3552,7 +2145,7 @@ set_gdbarch_inner_than (struct gdbarch *gdbarch,
   gdbarch->inner_than = inner_than;
 }
 
-const unsigned char *
+const gdb_byte *
 gdbarch_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr)
 {
   gdb_assert (gdbarch != NULL);
@@ -3594,13 +2187,13 @@ set_gdbarch_adjust_breakpoint_address (struct gdbarch *gdbarch,
 }
 
 int
-gdbarch_memory_insert_breakpoint (struct gdbarch *gdbarch, CORE_ADDR addr, char *contents_cache)
+gdbarch_memory_insert_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->memory_insert_breakpoint != NULL);
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_memory_insert_breakpoint called\n");
-  return gdbarch->memory_insert_breakpoint (addr, contents_cache);
+  return gdbarch->memory_insert_breakpoint (bp_tgt);
 }
 
 void
@@ -3611,13 +2204,13 @@ set_gdbarch_memory_insert_breakpoint (struct gdbarch *gdbarch,
 }
 
 int
-gdbarch_memory_remove_breakpoint (struct gdbarch *gdbarch, CORE_ADDR addr, char *contents_cache)
+gdbarch_memory_remove_breakpoint (struct gdbarch *gdbarch, struct bp_target_info *bp_tgt)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->memory_remove_breakpoint != NULL);
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_memory_remove_breakpoint called\n");
-  return gdbarch->memory_remove_breakpoint (addr, contents_cache);
+  return gdbarch->memory_remove_breakpoint (bp_tgt);
 }
 
 void
@@ -3651,120 +2244,72 @@ gdbarch_deprecated_function_start_offset (struct gdbarch *gdbarch)
   /* Skip verify of deprecated_function_start_offset, invalid_p == 0 */
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_function_start_offset called\n");
-  return gdbarch->deprecated_function_start_offset;
-}
-
-void
-set_gdbarch_deprecated_function_start_offset (struct gdbarch *gdbarch,
-                                              CORE_ADDR deprecated_function_start_offset)
-{
-  gdbarch->deprecated_function_start_offset = deprecated_function_start_offset;
-}
-
-void
-gdbarch_remote_translate_xfer_address (struct gdbarch *gdbarch, struct regcache *regcache, CORE_ADDR gdb_addr, int gdb_len, CORE_ADDR *rem_addr, int *rem_len)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->remote_translate_xfer_address != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_remote_translate_xfer_address called\n");
-  gdbarch->remote_translate_xfer_address (gdbarch, regcache, gdb_addr, gdb_len, rem_addr, rem_len);
-}
-
-void
-set_gdbarch_remote_translate_xfer_address (struct gdbarch *gdbarch,
-                                           gdbarch_remote_translate_xfer_address_ftype remote_translate_xfer_address)
-{
-  gdbarch->remote_translate_xfer_address = remote_translate_xfer_address;
-}
-
-CORE_ADDR
-gdbarch_frame_args_skip (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  /* Skip verify of frame_args_skip, invalid_p == 0 */
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_args_skip called\n");
-  return gdbarch->frame_args_skip;
-}
-
-void
-set_gdbarch_frame_args_skip (struct gdbarch *gdbarch,
-                             CORE_ADDR frame_args_skip)
-{
-  gdbarch->frame_args_skip = frame_args_skip;
+  return gdbarch->deprecated_function_start_offset;
 }
 
-int
-gdbarch_deprecated_frame_chain_p (struct gdbarch *gdbarch)
+void
+set_gdbarch_deprecated_function_start_offset (struct gdbarch *gdbarch,
+                                              CORE_ADDR deprecated_function_start_offset)
 {
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_frame_chain != NULL;
+  gdbarch->deprecated_function_start_offset = deprecated_function_start_offset;
 }
 
-CORE_ADDR
-gdbarch_deprecated_frame_chain (struct gdbarch *gdbarch, struct frame_info *frame)
+int
+gdbarch_remote_register_number (struct gdbarch *gdbarch, int regno)
 {
   gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_frame_chain != NULL);
+  gdb_assert (gdbarch->remote_register_number != NULL);
   if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_chain called\n");
-  return gdbarch->deprecated_frame_chain (frame);
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_remote_register_number called\n");
+  return gdbarch->remote_register_number (gdbarch, regno);
 }
 
 void
-set_gdbarch_deprecated_frame_chain (struct gdbarch *gdbarch,
-                                    gdbarch_deprecated_frame_chain_ftype deprecated_frame_chain)
+set_gdbarch_remote_register_number (struct gdbarch *gdbarch,
+                                    gdbarch_remote_register_number_ftype remote_register_number)
 {
-  gdbarch->deprecated_frame_chain = deprecated_frame_chain;
+  gdbarch->remote_register_number = remote_register_number;
 }
 
 int
-gdbarch_deprecated_frame_chain_valid_p (struct gdbarch *gdbarch)
+gdbarch_fetch_tls_load_module_address_p (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_frame_chain_valid != NULL;
+  return gdbarch->fetch_tls_load_module_address != NULL;
 }
 
-int
-gdbarch_deprecated_frame_chain_valid (struct gdbarch *gdbarch, CORE_ADDR chain, struct frame_info *thisframe)
+CORE_ADDR
+gdbarch_fetch_tls_load_module_address (struct gdbarch *gdbarch, struct objfile *objfile)
 {
   gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_frame_chain_valid != NULL);
+  gdb_assert (gdbarch->fetch_tls_load_module_address != NULL);
   if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_chain_valid called\n");
-  return gdbarch->deprecated_frame_chain_valid (chain, thisframe);
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_fetch_tls_load_module_address called\n");
+  return gdbarch->fetch_tls_load_module_address (objfile);
 }
 
 void
-set_gdbarch_deprecated_frame_chain_valid (struct gdbarch *gdbarch,
-                                          gdbarch_deprecated_frame_chain_valid_ftype deprecated_frame_chain_valid)
-{
-  gdbarch->deprecated_frame_chain_valid = deprecated_frame_chain_valid;
-}
-
-int
-gdbarch_deprecated_frame_saved_pc_p (struct gdbarch *gdbarch)
+set_gdbarch_fetch_tls_load_module_address (struct gdbarch *gdbarch,
+                                           gdbarch_fetch_tls_load_module_address_ftype fetch_tls_load_module_address)
 {
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_frame_saved_pc != NULL;
+  gdbarch->fetch_tls_load_module_address = fetch_tls_load_module_address;
 }
 
 CORE_ADDR
-gdbarch_deprecated_frame_saved_pc (struct gdbarch *gdbarch, struct frame_info *fi)
+gdbarch_frame_args_skip (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_frame_saved_pc != NULL);
+  /* Skip verify of frame_args_skip, invalid_p == 0 */
   if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_saved_pc called\n");
-  return gdbarch->deprecated_frame_saved_pc (fi);
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_frame_args_skip called\n");
+  return gdbarch->frame_args_skip;
 }
 
 void
-set_gdbarch_deprecated_frame_saved_pc (struct gdbarch *gdbarch,
-                                       gdbarch_deprecated_frame_saved_pc_ftype deprecated_frame_saved_pc)
+set_gdbarch_frame_args_skip (struct gdbarch *gdbarch,
+                             CORE_ADDR frame_args_skip)
 {
-  gdbarch->deprecated_frame_saved_pc = deprecated_frame_saved_pc;
+  gdbarch->frame_args_skip = frame_args_skip;
 }
 
 int
@@ -3815,80 +2360,6 @@ set_gdbarch_unwind_sp (struct gdbarch *gdbarch,
   gdbarch->unwind_sp = unwind_sp;
 }
 
-int
-gdbarch_deprecated_frame_args_address_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_frame_args_address != get_frame_base;
-}
-
-CORE_ADDR
-gdbarch_deprecated_frame_args_address (struct gdbarch *gdbarch, struct frame_info *fi)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_frame_args_address != NULL);
-  /* Do not check predicate: gdbarch->deprecated_frame_args_address != get_frame_base, allow call.  */
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_args_address called\n");
-  return gdbarch->deprecated_frame_args_address (fi);
-}
-
-void
-set_gdbarch_deprecated_frame_args_address (struct gdbarch *gdbarch,
-                                           gdbarch_deprecated_frame_args_address_ftype deprecated_frame_args_address)
-{
-  gdbarch->deprecated_frame_args_address = deprecated_frame_args_address;
-}
-
-int
-gdbarch_deprecated_frame_locals_address_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_frame_locals_address != get_frame_base;
-}
-
-CORE_ADDR
-gdbarch_deprecated_frame_locals_address (struct gdbarch *gdbarch, struct frame_info *fi)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_frame_locals_address != NULL);
-  /* Do not check predicate: gdbarch->deprecated_frame_locals_address != get_frame_base, allow call.  */
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_locals_address called\n");
-  return gdbarch->deprecated_frame_locals_address (fi);
-}
-
-void
-set_gdbarch_deprecated_frame_locals_address (struct gdbarch *gdbarch,
-                                             gdbarch_deprecated_frame_locals_address_ftype deprecated_frame_locals_address)
-{
-  gdbarch->deprecated_frame_locals_address = deprecated_frame_locals_address;
-}
-
-int
-gdbarch_deprecated_saved_pc_after_call_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_saved_pc_after_call != NULL;
-}
-
-CORE_ADDR
-gdbarch_deprecated_saved_pc_after_call (struct gdbarch *gdbarch, struct frame_info *frame)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_saved_pc_after_call != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_saved_pc_after_call called\n");
-  return gdbarch->deprecated_saved_pc_after_call (frame);
-}
-
-void
-set_gdbarch_deprecated_saved_pc_after_call (struct gdbarch *gdbarch,
-                                            gdbarch_deprecated_saved_pc_after_call_ftype deprecated_saved_pc_after_call)
-{
-  gdbarch->deprecated_saved_pc_after_call = deprecated_saved_pc_after_call;
-}
-
 int
 gdbarch_frame_num_args_p (struct gdbarch *gdbarch)
 {
@@ -3913,30 +2384,6 @@ set_gdbarch_frame_num_args (struct gdbarch *gdbarch,
   gdbarch->frame_num_args = frame_num_args;
 }
 
-int
-gdbarch_deprecated_stack_align_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_stack_align != NULL;
-}
-
-CORE_ADDR
-gdbarch_deprecated_stack_align (struct gdbarch *gdbarch, CORE_ADDR sp)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_stack_align != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_stack_align called\n");
-  return gdbarch->deprecated_stack_align (sp);
-}
-
-void
-set_gdbarch_deprecated_stack_align (struct gdbarch *gdbarch,
-                                    gdbarch_deprecated_stack_align_ftype deprecated_stack_align)
-{
-  gdbarch->deprecated_stack_align = deprecated_stack_align;
-}
-
 int
 gdbarch_frame_align_p (struct gdbarch *gdbarch)
 {
@@ -4018,54 +2465,6 @@ set_gdbarch_frame_red_zone_size (struct gdbarch *gdbarch,
   gdbarch->frame_red_zone_size = frame_red_zone_size;
 }
 
-const struct floatformat *
-gdbarch_float_format (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_float_format called\n");
-  return gdbarch->float_format;
-}
-
-void
-set_gdbarch_float_format (struct gdbarch *gdbarch,
-                          const struct floatformat * float_format)
-{
-  gdbarch->float_format = float_format;
-}
-
-const struct floatformat *
-gdbarch_double_format (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_double_format called\n");
-  return gdbarch->double_format;
-}
-
-void
-set_gdbarch_double_format (struct gdbarch *gdbarch,
-                           const struct floatformat * double_format)
-{
-  gdbarch->double_format = double_format;
-}
-
-const struct floatformat *
-gdbarch_long_double_format (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_long_double_format called\n");
-  return gdbarch->long_double_format;
-}
-
-void
-set_gdbarch_long_double_format (struct gdbarch *gdbarch,
-                                const struct floatformat * long_double_format)
-{
-  gdbarch->long_double_format = long_double_format;
-}
-
 CORE_ADDR
 gdbarch_convert_from_func_ptr_addr (struct gdbarch *gdbarch, CORE_ADDR addr, struct target_ops *targ)
 {
@@ -4124,14 +2523,14 @@ gdbarch_software_single_step_p (struct gdbarch *gdbarch)
   return gdbarch->software_single_step != NULL;
 }
 
-void
-gdbarch_software_single_step (struct gdbarch *gdbarch, enum target_signal sig, int insert_breakpoints_p)
+int
+gdbarch_software_single_step (struct gdbarch *gdbarch, struct frame_info *frame)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->software_single_step != NULL);
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_software_single_step called\n");
-  gdbarch->software_single_step (sig, insert_breakpoints_p);
+  return gdbarch->software_single_step (frame);
 }
 
 void
@@ -4141,6 +2540,30 @@ set_gdbarch_software_single_step (struct gdbarch *gdbarch,
   gdbarch->software_single_step = software_single_step;
 }
 
+int
+gdbarch_single_step_through_delay_p (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  return gdbarch->single_step_through_delay != NULL;
+}
+
+int
+gdbarch_single_step_through_delay (struct gdbarch *gdbarch, struct frame_info *frame)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->single_step_through_delay != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_single_step_through_delay called\n");
+  return gdbarch->single_step_through_delay (gdbarch, frame);
+}
+
+void
+set_gdbarch_single_step_through_delay (struct gdbarch *gdbarch,
+                                       gdbarch_single_step_through_delay_ftype single_step_through_delay)
+{
+  gdbarch->single_step_through_delay = single_step_through_delay;
+}
+
 int
 gdbarch_print_insn (struct gdbarch *gdbarch, bfd_vma vma, struct disassemble_info *info)
 {
@@ -4159,13 +2582,13 @@ set_gdbarch_print_insn (struct gdbarch *gdbarch,
 }
 
 CORE_ADDR
-gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, CORE_ADDR pc)
+gdbarch_skip_trampoline_code (struct gdbarch *gdbarch, struct frame_info *frame, CORE_ADDR pc)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->skip_trampoline_code != NULL);
   if (gdbarch_debug >= 2)
     fprintf_unfiltered (gdb_stdlog, "gdbarch_skip_trampoline_code called\n");
-  return gdbarch->skip_trampoline_code (pc);
+  return gdbarch->skip_trampoline_code (frame, pc);
 }
 
 void
@@ -4192,23 +2615,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)
 {
@@ -4482,6 +2888,88 @@ set_gdbarch_regset_from_core_section (struct gdbarch *gdbarch,
   gdbarch->regset_from_core_section = regset_from_core_section;
 }
 
+int
+gdbarch_vtable_function_descriptors (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  /* Skip verify of vtable_function_descriptors, invalid_p == 0 */
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_vtable_function_descriptors called\n");
+  return gdbarch->vtable_function_descriptors;
+}
+
+void
+set_gdbarch_vtable_function_descriptors (struct gdbarch *gdbarch,
+                                         int vtable_function_descriptors)
+{
+  gdbarch->vtable_function_descriptors = vtable_function_descriptors;
+}
+
+int
+gdbarch_vbit_in_delta (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  /* Skip verify of vbit_in_delta, invalid_p == 0 */
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_vbit_in_delta called\n");
+  return gdbarch->vbit_in_delta;
+}
+
+void
+set_gdbarch_vbit_in_delta (struct gdbarch *gdbarch,
+                           int vbit_in_delta)
+{
+  gdbarch->vbit_in_delta = vbit_in_delta;
+}
+
+int
+gdbarch_skip_permanent_breakpoint_p (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  return gdbarch->skip_permanent_breakpoint != NULL;
+}
+
+void
+gdbarch_skip_permanent_breakpoint (struct gdbarch *gdbarch, struct regcache *regcache)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->skip_permanent_breakpoint != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_skip_permanent_breakpoint called\n");
+  gdbarch->skip_permanent_breakpoint (regcache);
+}
+
+void
+set_gdbarch_skip_permanent_breakpoint (struct gdbarch *gdbarch,
+                                       gdbarch_skip_permanent_breakpoint_ftype skip_permanent_breakpoint)
+{
+  gdbarch->skip_permanent_breakpoint = skip_permanent_breakpoint;
+}
+
+int
+gdbarch_overlay_update_p (struct gdbarch *gdbarch)
+{
+  gdb_assert (gdbarch != NULL);
+  return gdbarch->overlay_update != NULL;
+}
+
+void
+gdbarch_overlay_update (struct gdbarch *gdbarch, struct obj_section *osect)
+{
+  gdb_assert (gdbarch != NULL);
+  gdb_assert (gdbarch->overlay_update != NULL);
+  if (gdbarch_debug >= 2)
+    fprintf_unfiltered (gdb_stdlog, "gdbarch_overlay_update called\n");
+  gdbarch->overlay_update (osect);
+}
+
+void
+set_gdbarch_overlay_update (struct gdbarch *gdbarch,
+                            gdbarch_overlay_update_ftype overlay_update)
+{
+  gdbarch->overlay_update = overlay_update;
+}
+
 
 /* Keep a registry of per-architecture data-pointers required by GDB
    modules. */
@@ -4606,107 +3094,6 @@ gdbarch_data (struct gdbarch *gdbarch, struct gdbarch_data *data)
 }
 
 
-
-/* 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 = &current_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
@@ -4745,7 +3132,7 @@ gdbarch_printable_names (void)
       ap = bfd_lookup_arch (rego->bfd_architecture, 0);
       if (ap == NULL)
         internal_error (__FILE__, __LINE__,
-                        "gdbarch_architecture_names: multi-arch unknown");
+                        _("gdbarch_architecture_names: multi-arch unknown"));
       do
         {
           append_name (&arches, &nr_arches, ap->printable_name);
@@ -4770,7 +3157,7 @@ gdbarch_register (enum bfd_architecture bfd_architecture,
   if (bfd_arch_info == NULL)
     {
       internal_error (__FILE__, __LINE__,
-                      "gdbarch: Attempt to register unknown architecture (%d)",
+                      _("gdbarch: Attempt to register unknown architecture (%d)"),
                       bfd_architecture);
     }
   /* Check that we haven't seen this architecture before */
@@ -4780,7 +3167,7 @@ gdbarch_register (enum bfd_architecture bfd_architecture,
     {
       if (bfd_architecture == (*curr)->bfd_architecture)
        internal_error (__FILE__, __LINE__,
-                        "gdbarch: Duplicate registraration of architecture (%s)",
+                        _("gdbarch: Duplicate registraration of architecture (%s)"),
                        bfd_arch_info->printable_name);
     }
   /* log it */
@@ -4805,8 +3192,7 @@ register_gdbarch_init (enum bfd_architecture bfd_architecture,
 }
 
 
-/* Look for an architecture using gdbarch_info.  Base search on only
-   BFD_ARCH_INFO and BYTE_ORDER. */
+/* Look for an architecture using gdbarch_info.  */
 
 struct gdbarch_list *
 gdbarch_list_lookup_by_info (struct gdbarch_list *arches,
@@ -4820,6 +3206,8 @@ gdbarch_list_lookup_by_info (struct gdbarch_list *arches,
        continue;
       if (info->osabi != arches->gdbarch->osabi)
        continue;
+      if (info->target_desc != arches->gdbarch->target_desc)
+       continue;
       return arches;
     }
   return NULL;
@@ -4831,7 +3219,7 @@ gdbarch_list_lookup_by_info (struct gdbarch_list *arches,
    that there is no current architecture.  */
 
 static struct gdbarch *
-find_arch_by_info (struct gdbarch *old_gdbarch, struct gdbarch_info info)
+find_arch_by_info (struct gdbarch_info info)
 {
   struct gdbarch *new_gdbarch;
   struct gdbarch_registration *rego;
@@ -4841,9 +3229,9 @@ find_arch_by_info (struct gdbarch *old_gdbarch, struct gdbarch_info info)
   gdb_assert (current_gdbarch == NULL);
 
   /* Fill in missing parts of the INFO struct using a number of
-     sources: "set ..."; INFOabfd supplied; and the existing
-     architecture.  */
-  gdbarch_info_fill (old_gdbarch, &info);
+     sources: "set ..."; INFOabfd supplied; and the global
+     defaults.  */
+  gdbarch_info_fill (&info);
 
   /* Must have found some sort of architecture. */
   gdb_assert (info.bfd_arch_info != NULL);
@@ -4949,13 +3337,6 @@ find_arch_by_info (struct gdbarch *old_gdbarch, struct gdbarch_info info)
   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);
 
@@ -4965,26 +3346,28 @@ find_arch_by_info (struct gdbarch *old_gdbarch, struct gdbarch_info info)
 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 (old_gdbarch, 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)
@@ -4992,9 +3375,9 @@ 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 ();
 }
 
 extern void _initialize_gdbarch (void);
@@ -5004,21 +3387,11 @@ _initialize_gdbarch (void)
 {
   struct cmd_list_element *c;
 
-  deprecated_add_show_from_set
-    (add_set_cmd ("arch",
-                 class_maintenance,
-                 var_zinteger,
-                 (char *)&gdbarch_debug,
-                 "Set architecture debugging.\n\
-When non-zero, architecture debugging is enabled.", &setdebuglist),
-     &showdebuglist);
-  c = add_set_cmd ("archdebug",
-                  class_maintenance,
-                  var_zinteger,
-                  (char *)&gdbarch_debug,
-                  "Set architecture debugging.\n\
-When non-zero, architecture debugging is enabled.", &setlist);
-
-  deprecate_cmd (c, "set debug arch");
-  deprecate_cmd (deprecated_add_show_from_set (c, &showlist), "show debug arch");
+  add_setshow_zinteger_cmd ("arch", class_maintenance, &gdbarch_debug, _("\
+Set architecture debugging."), _("\
+Show architecture debugging."), _("\
+When non-zero, architecture debugging is enabled."),
+                            NULL,
+                            show_gdbarch_debug,
+                            &setdebuglist, &showdebuglist);
 }
This page took 0.067238 seconds and 4 git commands to generate.