This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[commit] Replace deprecated_select_gdbarch_hack with another
- From: Andrew Cagney <ac131313 at redhat dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Mon, 10 Nov 2003 11:06:36 -0500
- Subject: [commit] Replace deprecated_select_gdbarch_hack with another
Hello,
This patch replaces the deprecated_select_gdbarch_hack with
deprecated_current_gdbarch_select_hack (the latter being more robust)
and gdbarch_find_by_info.
committed,
Andrew
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".
Index: arch-utils.c
===================================================================
RCS file: /cvs/src/src/gdb/arch-utils.c,v
retrieving revision 1.104
diff -u -r1.104 arch-utils.c
--- arch-utils.c 10 Nov 2003 04:39:17 -0000 1.104
+++ arch-utils.c 10 Nov 2003 16:02:31 -0000
@@ -528,31 +528,6 @@
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 @@
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 @@
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