Put in place the framework necessary for multiarching the hppa targets.
authorJoel Brobecker <brobecker@gnat.com>
Thu, 7 Nov 2002 07:47:22 +0000 (07:47 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Thu, 7 Nov 2002 07:47:22 +0000 (07:47 +0000)
       * hppa-tdep.c (hppa_gdbarch_init): New function.
       (hppa_dump_tdep): New function.
       (_initialize_hppa_tdep): Register the hppa gdbarch init function and
       tdep structure dumper.
       * config/pa/tm-hppa.h (GDB_MULTI_ARCH): New macro, defined to 0
       until the multi-arching conversion has partially been completed.

gdb/ChangeLog
gdb/config/pa/tm-hppa.h
gdb/hppa-tdep.c

index 006522662f44999c74cfba9ff7a922aac527d208..aa5280f0f45803a15a40266e99ad592f3324e5bd 100644 (file)
@@ -1,3 +1,13 @@
+2002-11-06  Joel Brobecker  <brobecker@gnat.com>
+
+       Put in place the framework necessary for multiarching the hppa targets.
+       * hppa-tdep.c (hppa_gdbarch_init): New function.
+       (hppa_dump_tdep): New function.
+       (_initialize_hppa_tdep): Register the hppa gdbarch init function and
+       tdep structure dumper.
+       * config/pa/tm-hppa.h (GDB_MULTI_ARCH): New macro, defined to 0
+       until the multi-arching conversion has partially been completed.
+
 2002-11-06  Andrew Cagney  <ac131313@redhat.com>
 
        * valops.c (value_assign): Merge lval_register case into
index 272078fbcb057b039bb5b752563df2ece8952954..83873ecae563d17a2e80d3b3a30b0e08e8a3e752 100644 (file)
@@ -24,6 +24,8 @@
 
 #include "regcache.h"
 
+#define GDB_MULTI_ARCH 0
+
 /* Forward declarations of some types we use in prototypes */
 
 struct frame_info;
index b356a3a819ce22c48e43070edeee3a933994fb2f..c64f6f7a7e6d5984f357978550aecf89060d7d0b 100644 (file)
@@ -4724,6 +4724,28 @@ hppa_extract_return_value (struct type *type, char *regbuf, char *valbuf)
            TYPE_LENGTH (type));
 }
 
+static struct gdbarch *
+hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
+{
+  struct gdbarch *gdbarch;
+
+  /* find a candidate among the list of pre-declared architectures.  */
+  arches = gdbarch_list_lookup_by_info (arches, &info);
+  if (arches != NULL)
+    return (arches->gdbarch);
+
+  /* If none found, then allocate and initialize one.  */
+  gdbarch = gdbarch_alloc (&info, NULL);
+
+  return gdbarch;
+}
+
+static void
+hppa_dump_tdep (struct gdbarch *current_gdbarch, struct ui_file *file)
+{
+   /* Nothing to print for the moment.  */
+}
+
 void
 _initialize_hppa_tdep (void)
 {
@@ -4732,6 +4754,7 @@ _initialize_hppa_tdep (void)
   void tbreak_at_finish_command (char *arg, int from_tty);
   void break_at_finish_at_depth_command (char *arg, int from_tty);
 
+  gdbarch_register (bfd_arch_hppa, hppa_gdbarch_init, hppa_dump_tdep);
   tm_print_insn = print_insn_hppa;
 
   add_cmd ("unwind", class_maintenance, unwind_command,