From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12783 invoked by alias); 7 Nov 2002 07:55:32 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 12774 invoked from network); 7 Nov 2002 07:55:30 -0000 Received: from unknown (HELO takamaka.act-europe.fr) (142.179.108.108) by sources.redhat.com with SMTP; 7 Nov 2002 07:55:30 -0000 Received: by takamaka.act-europe.fr (Postfix, from userid 507) id 659C2D2CCB; Wed, 6 Nov 2002 23:58:16 -0800 (PST) Date: Wed, 06 Nov 2002 23:55:00 -0000 From: Joel Brobecker To: gdb-patches@sources.redhat.com Subject: [PATCH] Add multiarch initialization code for hppa targets Message-ID: <20021107075816.GT5164@gnat.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="zgY/UHCnsaNnNXRx" Content-Disposition: inline User-Agent: Mutt/1.4i X-SW-Source: 2002-11/txt/msg00169.txt.bz2 --zgY/UHCnsaNnNXRx Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-length: 854 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 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 --zgY/UHCnsaNnNXRx Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="hppa.diff" Content-length: 1939 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; --zgY/UHCnsaNnNXRx--