return 1;
 }
 
-/* FIXME: kettenis/20031124: Of the functions that follow, only
-   gdbarch_from_bfd is supposed to survive.  The others will
-   dissappear since in the future GDB will (hopefully) be truly
-   multi-arch.  However, for now we're still stuck with the concept of
-   a single active architecture.  */
-
-/* Make GDBARCH the currently selected architecture.  */
-
-static void
-deprecated_select_gdbarch_hack (struct gdbarch *gdbarch)
-{
-  struct gdbarch_info info;
-
-  /* FIXME: kettenis/20031024: The only way to select a specific
-     architecture is to clone its `struct gdbarch_info', and update
-     according to that copy.  This is gross, but significant work will
-     need to be done before we can take a more sane approach.  */
-  gdbarch_info_init (&info);
-  info.bfd_arch_info = gdbarch_bfd_arch_info (gdbarch);
-  info.byte_order = gdbarch_byte_order (gdbarch);
-  info.osabi = gdbarch_osabi (gdbarch);
-  gdbarch_update_p (info);
-  gdb_assert (gdbarch == current_gdbarch);
-}
-
 /* Return the architecture for ABFD.  If no suitable architecture
    could be find, return NULL.  */
 
   struct gdbarch *new_gdbarch;
   struct gdbarch_info info;
 
-  /* FIXME: kettenis/20031024: The only way to find the architecture
-     for a certain BFD is by doing an architecture update.  This
-     activates the architecture, so we need to reactivate the old
-     architecture.  This is gross, but significant work will need to
-     be done before we can take a more sane approach.  */
   gdbarch_info_init (&info);
   info.abfd = abfd;
-  if (! gdbarch_update_p (info))
-    return NULL;
-
-  new_gdbarch = current_gdbarch;
-  deprecated_select_gdbarch_hack (old_gdbarch);
-  return new_gdbarch;
+  return gdbarch_find_by_info (info);
 }
 
 /* Set the dynamic target-system-dependent parameters (architecture,
   gdbarch = gdbarch_from_bfd (abfd);
   if (gdbarch == NULL)
     error ("Architecture of file not recognized.\n");
-  deprecated_select_gdbarch_hack (gdbarch);
+  deprecated_current_gdbarch_select_hack (gdbarch);
 }
 
 /* Initialize the current architecture.  Update the ``set