Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [PATCH] Add multiarch initialization code for hppa targets
@ 2002-11-06 23:55 Joel Brobecker
  2002-11-07  7:10 ` Andrew Cagney
  0 siblings, 1 reply; 2+ messages in thread
From: Joel Brobecker @ 2002-11-06 23:55 UTC (permalink / raw)
  To: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 854 bytes --]

I committed the following patch to the trunk. I am not quite sure that I
used the right mechanism to search through the list of gdbarches, but
the patch is pretty harmless anyway. So I went ahead an applied the
multiarch-changes-are-obvious rules. I would appreciate if a multiarch
guru had a look and told me this is ok or not.

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.

This has been tested on hppa2.0w-hp-hpux11.00.

-- 
Joel

[-- Attachment #2: hppa.diff --]
[-- Type: text/plain, Size: 1939 bytes --]

Index: hppa-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/hppa-tdep.c,v
retrieving revision 1.30
diff -c -3 -p -r1.30 hppa-tdep.c
*** hppa-tdep.c	7 Nov 2002 02:19:56 -0000	1.30
--- hppa-tdep.c	7 Nov 2002 07:37:23 -0000
*************** hppa_extract_return_value (struct type *
*** 4724,4729 ****
--- 4724,4751 ----
  	    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)
  {
*************** _initialize_hppa_tdep (void)
*** 4732,4737 ****
--- 4754,4760 ----
    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,
Index: config/pa/tm-hppa.h
===================================================================
RCS file: /cvs/src/src/gdb/config/pa/tm-hppa.h,v
retrieving revision 1.19
diff -c -3 -p -r1.19 tm-hppa.h
*** config/pa/tm-hppa.h	26 Oct 2002 17:19:28 -0000	1.19
--- config/pa/tm-hppa.h	7 Nov 2002 07:37:24 -0000
***************
*** 24,29 ****
--- 24,31 ----
  
  #include "regcache.h"
  
+ #define GDB_MULTI_ARCH 0
+ 
  /* Forward declarations of some types we use in prototypes */
  
  struct frame_info;

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2002-11-07 15:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-11-06 23:55 [PATCH] Add multiarch initialization code for hppa targets Joel Brobecker
2002-11-07  7:10 ` Andrew Cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox