2006-07-29 Vladimir Prus <vladimir@codesourcery.com>
[deliverable/binutils-gdb.git] / gdb / gdbarch.c
index 5e7741b59cceb765e42e2b07945f95e0af7c5f09..6939312d83394278e9e2ab7f2197caa9f9182538 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''.
 
@@ -61,6 +61,21 @@ 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
+    return  format->name;
+}
 
 
 /* Maintain the struct gdbarch object */
@@ -77,6 +92,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,8 +136,11 @@ 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;
@@ -145,22 +164,13 @@ 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;
@@ -169,16 +179,13 @@ struct gdbarch
   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_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;
@@ -187,8 +194,6 @@ struct gdbarch
   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;
@@ -198,32 +203,24 @@ struct gdbarch
   CORE_ADDR decr_pc_after_break;
   CORE_ADDR deprecated_function_start_offset;
   gdbarch_remote_translate_xfer_address_ftype *remote_translate_xfer_address;
+  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;
@@ -254,6 +251,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,8 +262,11 @@ 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 */
@@ -289,22 +290,13 @@ 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 */
@@ -313,16 +305,13 @@ struct gdbarch startup_gdbarch =
   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,  /* 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 */
@@ -331,8 +320,6 @@ struct gdbarch startup_gdbarch =
   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 */
@@ -342,32 +329,24 @@ struct gdbarch startup_gdbarch =
   0,  /* decr_pc_after_break */
   0,  /* deprecated_function_start_offset */
   generic_remote_translate_xfer_address,  /* remote_translate_xfer_address */
+  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 */
@@ -417,6 +396,7 @@ 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;
@@ -442,8 +422,6 @@ gdbarch_alloc (const struct gdbarch_info *info,
   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;
@@ -460,15 +438,12 @@ gdbarch_alloc (const struct gdbarch_info *info,
   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->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,8 +514,14 @@ 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 = default_float_format (current_gdbarch);
   /* Skip verify of double_bit, invalid_p == 0 */
+  if (current_gdbarch->double_format == 0)
+    current_gdbarch->double_format = default_double_format (current_gdbarch);
   /* Skip verify of long_double_bit, invalid_p == 0 */
+  if (current_gdbarch->long_double_format == 0)
+    current_gdbarch->long_double_format = default_double_format (current_gdbarch);
   /* Skip verify of ptr_bit, invalid_p == 0 */
   if (current_gdbarch->addr_bit == 0)
     current_gdbarch->addr_bit = TARGET_PTR_BIT;
@@ -553,8 +534,7 @@ verify_gdbarch (struct gdbarch *current_gdbarch)
   /* 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,21 +547,12 @@ 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 */
@@ -590,29 +561,21 @@ verify_gdbarch (struct gdbarch *current_gdbarch)
   /* 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 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 */
@@ -620,36 +583,24 @@ verify_gdbarch (struct gdbarch *current_gdbarch)
   /* 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 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 */
@@ -668,7 +619,7 @@ verify_gdbarch (struct gdbarch *current_gdbarch)
   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,9 +636,27 @@ 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_XM_FILE = %s\n",
+                      gdb_xm_file);
+#if defined (GDB_NM_FILE)
+  gdb_nm_file = GDB_NM_FILE;
+#endif
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: GDB_NM_FILE = %s\n",
+                      gdb_nm_file);
+#if defined (GDB_TM_FILE)
+  gdb_tm_file = GDB_TM_FILE;
+#endif
   fprintf_unfiltered (file,
-                      "gdbarch_dump: GDB_MULTI_ARCH = %d\n",
-                      GDB_MULTI_ARCH);
+                      "gdbarch_dump: GDB_TM_FILE = %s\n",
+                      gdb_tm_file);
 #ifdef TARGET_ADDR_BIT
   fprintf_unfiltered (file,
                       "gdbarch_dump: TARGET_ADDR_BIT # %s\n",
@@ -865,42 +834,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_DO_REGISTERS_INFO(reg_nr, fpregs)",
-                      XSTRING (DEPRECATED_DO_REGISTERS_INFO (reg_nr, fpregs)));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_DUMMY_WRITE_SP_P()",
-                      XSTRING (DEPRECATED_DUMMY_WRITE_SP_P ()));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_DUMMY_WRITE_SP(val)",
-                      XSTRING (DEPRECATED_DUMMY_WRITE_SP (val)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_dummy_write_sp = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_dummy_write_sp);
 #ifdef DEPRECATED_EXTRACT_RETURN_VALUE
   fprintf_unfiltered (file,
                       "gdbarch_dump: %s # %s\n",
@@ -936,114 +869,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: deprecated_fp_regnum = %s\n",
                       paddr_d (current_gdbarch->deprecated_fp_regnum));
-#ifdef DEPRECATED_FRAME_ARGS_ADDRESS_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_ARGS_ADDRESS_P()",
-                      XSTRING (DEPRECATED_FRAME_ARGS_ADDRESS_P ()));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_ARGS_ADDRESS(fi)",
-                      XSTRING (DEPRECATED_FRAME_ARGS_ADDRESS (fi)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_frame_args_address = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_frame_args_address);
-#ifdef DEPRECATED_FRAME_CHAIN_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_CHAIN_P()",
-                      XSTRING (DEPRECATED_FRAME_CHAIN_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_frame_chain_p() = %d\n",
-                      gdbarch_deprecated_frame_chain_p (current_gdbarch));
-#ifdef DEPRECATED_FRAME_CHAIN
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_CHAIN(frame)",
-                      XSTRING (DEPRECATED_FRAME_CHAIN (frame)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_frame_chain = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_frame_chain);
-#ifdef DEPRECATED_FRAME_CHAIN_VALID_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_CHAIN_VALID_P()",
-                      XSTRING (DEPRECATED_FRAME_CHAIN_VALID_P ()));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_CHAIN_VALID(chain, thisframe)",
-                      XSTRING (DEPRECATED_FRAME_CHAIN_VALID (chain, thisframe)));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_INIT_SAVED_REGS_P()",
-                      XSTRING (DEPRECATED_FRAME_INIT_SAVED_REGS_P ()));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_INIT_SAVED_REGS(frame)",
-                      XSTRING (DEPRECATED_FRAME_INIT_SAVED_REGS (frame)));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_LOCALS_ADDRESS_P()",
-                      XSTRING (DEPRECATED_FRAME_LOCALS_ADDRESS_P ()));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_LOCALS_ADDRESS(fi)",
-                      XSTRING (DEPRECATED_FRAME_LOCALS_ADDRESS (fi)));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_SAVED_PC_P()",
-                      XSTRING (DEPRECATED_FRAME_SAVED_PC_P ()));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_FRAME_SAVED_PC(fi)",
-                      XSTRING (DEPRECATED_FRAME_SAVED_PC (fi)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_frame_saved_pc = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_frame_saved_pc);
 #ifdef DEPRECATED_FUNCTION_START_OFFSET
   fprintf_unfiltered (file,
                       "gdbarch_dump: DEPRECATED_FUNCTION_START_OFFSET # %s\n",
@@ -1052,114 +877,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_GET_SAVED_REGISTER_P()",
-                      XSTRING (DEPRECATED_GET_SAVED_REGISTER_P ()));
-#endif
-  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
-  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
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_INIT_EXTRA_FRAME_INFO_P()",
-                      XSTRING (DEPRECATED_INIT_EXTRA_FRAME_INFO_P ()));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_INIT_EXTRA_FRAME_INFO(fromleaf, frame)",
-                      XSTRING (DEPRECATED_INIT_EXTRA_FRAME_INFO (fromleaf, frame)));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_INIT_FRAME_PC_P()",
-                      XSTRING (DEPRECATED_INIT_FRAME_PC_P ()));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_INIT_FRAME_PC(fromleaf, prev)",
-                      XSTRING (DEPRECATED_INIT_FRAME_PC (fromleaf, prev)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_init_frame_pc = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_init_frame_pc);
-#ifdef DEPRECATED_POP_FRAME_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_POP_FRAME_P()",
-                      XSTRING (DEPRECATED_POP_FRAME_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_pop_frame_p() = %d\n",
-                      gdbarch_deprecated_pop_frame_p (current_gdbarch));
-#ifdef DEPRECATED_POP_FRAME
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_POP_FRAME(-)",
-                      XSTRING (DEPRECATED_POP_FRAME (-)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_pop_frame = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_pop_frame);
-#ifdef DEPRECATED_PUSH_ARGUMENTS_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_PUSH_ARGUMENTS_P()",
-                      XSTRING (DEPRECATED_PUSH_ARGUMENTS_P ()));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: gdbarch_deprecated_push_arguments_p() = %d\n",
-                      gdbarch_deprecated_push_arguments_p (current_gdbarch));
-#ifdef DEPRECATED_PUSH_ARGUMENTS
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_push_arguments = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_push_arguments);
-#ifdef DEPRECATED_PUSH_RETURN_ADDRESS_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_PUSH_RETURN_ADDRESS_P()",
-                      XSTRING (DEPRECATED_PUSH_RETURN_ADDRESS_P ()));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_PUSH_RETURN_ADDRESS(pc, sp)",
-                      XSTRING (DEPRECATED_PUSH_RETURN_ADDRESS (pc, sp)));
-#endif
-  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
   fprintf_unfiltered (file,
                       "gdbarch_dump: %s # %s\n",
@@ -1196,24 +913,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: deprecated_register_byte = <0x%lx>\n",
                       (long) current_gdbarch->deprecated_register_byte);
-#ifdef DEPRECATED_REGISTER_RAW_SIZE_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REGISTER_RAW_SIZE_P()",
-                      XSTRING (DEPRECATED_REGISTER_RAW_SIZE_P ()));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REGISTER_RAW_SIZE(reg_nr)",
-                      XSTRING (DEPRECATED_REGISTER_RAW_SIZE (reg_nr)));
-#endif
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: deprecated_register_raw_size = <0x%lx>\n",
-                      (long) current_gdbarch->deprecated_register_raw_size);
 #ifdef DEPRECATED_REGISTER_SIZE
   fprintf_unfiltered (file,
                       "gdbarch_dump: DEPRECATED_REGISTER_SIZE # %s\n",
@@ -1222,78 +921,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: deprecated_register_size = %s\n",
                       paddr_d (current_gdbarch->deprecated_register_size));
-#ifdef DEPRECATED_REGISTER_VIRTUAL_SIZE_P
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REGISTER_VIRTUAL_SIZE_P()",
-                      XSTRING (DEPRECATED_REGISTER_VIRTUAL_SIZE_P ()));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REGISTER_VIRTUAL_SIZE(reg_nr)",
-                      XSTRING (DEPRECATED_REGISTER_VIRTUAL_SIZE (reg_nr)));
-#endif
-  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
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "DEPRECATED_REGISTER_VIRTUAL_TYPE_P()",
-                      XSTRING (DEPRECATED_REGISTER_VIRTUAL_TYPE_P ()));
-#endif
-  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",
@@ -1339,24 +966,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   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",
@@ -1381,7 +990,7 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
 #endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: double_format = %s\n",
-                      (TARGET_DOUBLE_FORMAT)->name);
+                      pformat (current_gdbarch->double_format));
 #ifdef DWARF2_REG_TO_REGNUM
   fprintf_unfiltered (file,
                       "gdbarch_dump: %s # %s\n",
@@ -1445,6 +1054,24 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: fetch_pointer_argument = <0x%lx>\n",
                       (long) current_gdbarch->fetch_pointer_argument);
+#ifdef FETCH_TLS_LOAD_MODULE_ADDRESS_P
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: %s # %s\n",
+                      "FETCH_TLS_LOAD_MODULE_ADDRESS_P()",
+                      XSTRING (FETCH_TLS_LOAD_MODULE_ADDRESS_P ()));
+#endif
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: gdbarch_fetch_tls_load_module_address_p() = %d\n",
+                      gdbarch_fetch_tls_load_module_address_p (current_gdbarch));
+#ifdef FETCH_TLS_LOAD_MODULE_ADDRESS
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: %s # %s\n",
+                      "FETCH_TLS_LOAD_MODULE_ADDRESS(objfile)",
+                      XSTRING (FETCH_TLS_LOAD_MODULE_ADDRESS (objfile)));
+#endif
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: fetch_tls_load_module_address = <0x%lx>\n",
+                      (long) current_gdbarch->fetch_tls_load_module_address);
 #ifdef TARGET_FLOAT_BIT
   fprintf_unfiltered (file,
                       "gdbarch_dump: TARGET_FLOAT_BIT # %s\n",
@@ -1460,7 +1087,7 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
 #endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: float_format = %s\n",
-                      (TARGET_FLOAT_FORMAT)->name);
+                      pformat (current_gdbarch->float_format));
 #ifdef FP0_REGNUM
   fprintf_unfiltered (file,
                       "gdbarch_dump: FP0_REGNUM # %s\n",
@@ -1538,15 +1165,6 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   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",
@@ -1573,21 +1191,9 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   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);
@@ -1614,7 +1220,7 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
 #endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: long_double_format = %s\n",
-                      (TARGET_LONG_DOUBLE_FORMAT)->name);
+                      pformat (current_gdbarch->long_double_format));
 #ifdef TARGET_LONG_LONG_BIT
   fprintf_unfiltered (file,
                       "gdbarch_dump: TARGET_LONG_LONG_BIT # %s\n",
@@ -1626,8 +1232,8 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
 #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)));
+                      "MEMORY_INSERT_BREAKPOINT(bp_tgt)",
+                      XSTRING (MEMORY_INSERT_BREAKPOINT (bp_tgt)));
 #endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: memory_insert_breakpoint = <0x%lx>\n",
@@ -1635,8 +1241,8 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
 #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)));
+                      "MEMORY_REMOVE_BREAKPOINT(bp_tgt)",
+                      XSTRING (MEMORY_REMOVE_BREAKPOINT (bp_tgt)));
 #endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: memory_remove_breakpoint = <0x%lx>\n",
@@ -1876,6 +1482,12 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   fprintf_unfiltered (file,
                       "gdbarch_dump: short_bit = %s\n",
                       paddr_d (current_gdbarch->short_bit));
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: gdbarch_single_step_through_delay_p() = %d\n",
+                      gdbarch_single_step_through_delay_p (current_gdbarch));
+  fprintf_unfiltered (file,
+                      "gdbarch_dump: single_step_through_delay = <0x%lx>\n",
+                      (long) current_gdbarch->single_step_through_delay);
 #ifdef SKIP_PROLOGUE
   fprintf_unfiltered (file,
                       "gdbarch_dump: %s # %s\n",
@@ -1953,6 +1565,9 @@ gdbarch_dump (struct gdbarch *current_gdbarch, struct ui_file *file)
   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));
@@ -2038,6 +1653,15 @@ gdbarch_osabi (struct gdbarch *gdbarch)
   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_target_desc called\n");
+  return gdbarch->target_desc;
+}
+
 int
 gdbarch_short_bit (struct gdbarch *gdbarch)
 {
@@ -2123,6 +1747,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 +1780,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,9 +1813,25 @@ set_gdbarch_long_double_bit (struct gdbarch *gdbarch,
   gdbarch->long_double_bit = long_double_bit;
 }
 
-int
-gdbarch_ptr_bit (struct gdbarch *gdbarch)
-{
+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)
+{
   gdb_assert (gdbarch != NULL);
   /* Skip verify of ptr_bit, invalid_p == 0 */
   if (gdbarch_debug >= 2)
@@ -2317,7 +1989,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 +2013,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);
@@ -2586,30 +2258,6 @@ set_gdbarch_register_type (struct gdbarch *gdbarch,
   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)
 {
@@ -2635,56 +2283,6 @@ set_gdbarch_deprecated_register_byte (struct gdbarch *gdbarch,
   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)
 {
@@ -2709,30 +2307,6 @@ set_gdbarch_unwind_dummy_id (struct gdbarch *gdbarch,
   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)
 {
@@ -2750,30 +2324,6 @@ set_gdbarch_deprecated_fp_regnum (struct gdbarch *gdbarch,
   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)
 {
@@ -2798,78 +2348,6 @@ set_gdbarch_push_dummy_call (struct gdbarch *gdbarch,
   gdbarch->push_dummy_call = push_dummy_call;
 }
 
-int
-gdbarch_deprecated_push_arguments_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_push_arguments != 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)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_push_arguments != 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);
-}
-
-void
-set_gdbarch_deprecated_push_arguments (struct gdbarch *gdbarch,
-                                       gdbarch_deprecated_push_arguments_ftype deprecated_push_arguments)
-{
-  gdbarch->deprecated_push_arguments = deprecated_push_arguments;
-}
-
-int
-gdbarch_deprecated_push_return_address_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_push_return_address != NULL;
-}
-
-CORE_ADDR
-gdbarch_deprecated_push_return_address (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR sp)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_push_return_address != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_push_return_address called\n");
-  return gdbarch->deprecated_push_return_address (pc, sp);
-}
-
-void
-set_gdbarch_deprecated_push_return_address (struct gdbarch *gdbarch,
-                                            gdbarch_deprecated_push_return_address_ftype deprecated_push_return_address)
-{
-  gdbarch->deprecated_push_return_address = deprecated_push_return_address;
-}
-
-int
-gdbarch_deprecated_dummy_write_sp_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_dummy_write_sp != NULL;
-}
-
-void
-gdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch, CORE_ADDR val)
-{
-  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);
-}
-
-void
-set_gdbarch_deprecated_dummy_write_sp (struct gdbarch *gdbarch,
-                                       gdbarch_deprecated_dummy_write_sp_ftype deprecated_dummy_write_sp)
-{
-  gdbarch->deprecated_dummy_write_sp = deprecated_dummy_write_sp;
-}
-
 int
 gdbarch_deprecated_register_size (struct gdbarch *gdbarch)
 {
@@ -2927,30 +2405,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)
 {
@@ -3115,30 +2569,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 +2585,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 +2603,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 +2620,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);
@@ -3231,7 +2637,7 @@ set_gdbarch_value_to_register (struct gdbarch *gdbarch,
 }
 
 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 +2654,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 +2678,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,30 +2694,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)
 {
@@ -3344,7 +2726,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 +2744,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 +2761,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);
@@ -3396,7 +2778,7 @@ set_gdbarch_store_return_value (struct gdbarch *gdbarch,
 }
 
 void
-gdbarch_deprecated_extract_return_value (struct gdbarch *gdbarch, struct type *type, char *regbuf, char *valbuf)
+gdbarch_deprecated_extract_return_value (struct gdbarch *gdbarch, struct type *type, gdb_byte *regbuf, gdb_byte *valbuf)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->deprecated_extract_return_value != NULL);
@@ -3413,7 +2795,7 @@ set_gdbarch_deprecated_extract_return_value (struct gdbarch *gdbarch,
 }
 
 void
-gdbarch_deprecated_store_return_value (struct gdbarch *gdbarch, struct type *type, char *valbuf)
+gdbarch_deprecated_store_return_value (struct gdbarch *gdbarch, struct type *type, gdb_byte *valbuf)
 {
   gdb_assert (gdbarch != NULL);
   gdb_assert (gdbarch->deprecated_store_return_value != NULL);
@@ -3470,54 +2852,6 @@ set_gdbarch_deprecated_extract_struct_value_address (struct gdbarch *gdbarch,
   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 +2886,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 +2928,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 +2945,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
@@ -3678,93 +3012,45 @@ set_gdbarch_remote_translate_xfer_address (struct gdbarch *gdbarch,
   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;
-}
-
 int
-gdbarch_deprecated_frame_chain_p (struct gdbarch *gdbarch)
+gdbarch_fetch_tls_load_module_address_p (struct gdbarch *gdbarch)
 {
   gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_frame_chain != NULL;
+  return gdbarch->fetch_tls_load_module_address != NULL;
 }
 
 CORE_ADDR
-gdbarch_deprecated_frame_chain (struct gdbarch *gdbarch, struct frame_info *frame)
+gdbarch_fetch_tls_load_module_address (struct gdbarch *gdbarch, struct objfile *objfile)
 {
   gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_frame_chain != NULL);
+  gdb_assert (gdbarch->fetch_tls_load_module_address != 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_fetch_tls_load_module_address called\n");
+  return gdbarch->fetch_tls_load_module_address (objfile);
 }
 
 void
-set_gdbarch_deprecated_frame_chain (struct gdbarch *gdbarch,
-                                    gdbarch_deprecated_frame_chain_ftype deprecated_frame_chain)
+set_gdbarch_fetch_tls_load_module_address (struct gdbarch *gdbarch,
+                                           gdbarch_fetch_tls_load_module_address_ftype fetch_tls_load_module_address)
 {
-  gdbarch->deprecated_frame_chain = deprecated_frame_chain;
-}
-
-int
-gdbarch_deprecated_frame_chain_valid_p (struct gdbarch *gdbarch)
-{
-  gdb_assert (gdbarch != NULL);
-  return gdbarch->deprecated_frame_chain_valid != NULL;
-}
-
-int
-gdbarch_deprecated_frame_chain_valid (struct gdbarch *gdbarch, CORE_ADDR chain, struct frame_info *thisframe)
-{
-  gdb_assert (gdbarch != NULL);
-  gdb_assert (gdbarch->deprecated_frame_chain_valid != NULL);
-  if (gdbarch_debug >= 2)
-    fprintf_unfiltered (gdb_stdlog, "gdbarch_deprecated_frame_chain_valid called\n");
-  return gdbarch->deprecated_frame_chain_valid (chain, thisframe);
-}
-
-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)
-{
-  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 +3101,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)
 {
@@ -4018,54 +3230,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)
 {
@@ -4141,6 +3305,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)
 {
@@ -4192,23 +3380,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)
 {
@@ -4745,7 +3916,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 +3941,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 +3951,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 +3976,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 +3990,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 +4003,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 +4013,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);
@@ -4974,7 +4146,7 @@ gdbarch_find_by_info (struct gdbarch_info info)
   struct gdbarch *old_gdbarch = current_gdbarch_swap_out_hack ();
 
   /* Find the specified architecture.  */
-  struct gdbarch *new_gdbarch = find_arch_by_info (old_gdbarch, info);
+  struct gdbarch *new_gdbarch = find_arch_by_info (info);
 
   /* Restore the existing architecture.  */
   gdb_assert (current_gdbarch == NULL);
@@ -4995,6 +4167,7 @@ deprecated_current_gdbarch_select_hack (struct gdbarch *new_gdbarch)
   current_gdbarch_swap_out_hack ();
   current_gdbarch_swap_in_hack (new_gdbarch);
   architecture_changed_event ();
+  flush_cached_frames ();
 }
 
 extern void _initialize_gdbarch (void);
@@ -5004,21 +4177,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.052194 seconds and 4 git commands to generate.