2003-11-10 Andrew Cagney <cagney@redhat.com>

* arch-utils.c (deprecated_select_gdbarch_hack): Delete function.
	(gdbarch_from_bfd): Call gdbarch_find_by_info.
	(set_gdbarch_from_file): Call "deprecated_select_gdbarch_hack".
This commit is contained in:
Andrew Cagney
2003-11-10 16:03:26 +00:00
parent db488fc1b2
commit b60eb90d03
2 changed files with 8 additions and 37 deletions

View File

@@ -528,31 +528,6 @@ gdbarch_update_p (struct gdbarch_info info)
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. */
@@ -563,19 +538,9 @@ gdbarch_from_bfd (bfd *abfd)
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,
@@ -589,7 +554,7 @@ set_gdbarch_from_file (bfd *abfd)
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