* hppa-hpux-tdep.c: New file.
authorJoel Brobecker <brobecker@gnat.com>
Mon, 16 Dec 2002 16:51:47 +0000 (16:51 +0000)
committerJoel Brobecker <brobecker@gnat.com>
Mon, 16 Dec 2002 16:51:47 +0000 (16:51 +0000)
        * hppa-tdep.c (hppa_gdbarch_init): call the registered osabi-
        specific initialization routines.
        * Makefile.in (ALLDEPFILES): Add hppa-hpux-tdep.c.
        (hppa-hpux-tdep.o): Add rule.
        * config/pa/hppahpux.mt (TDEPFILES): Add hppa-hpux-tdep.o.
        * config/pa/hppa64.mt (TDEPFILES): Likewise.

gdb/Makefile.in
gdb/config/pa/hppa64.mt
gdb/config/pa/hppahpux.mt
gdb/hppa-hpux-tdep.c [new file with mode: 0644]
gdb/hppa-tdep.c

index 28dca01..b5037d2 100644 (file)
@@ -1377,7 +1377,8 @@ ALLDEPFILES = a68v-nat.c \
        core-sol2.c core-regset.c core-aout.c corelow.c \
        dcache.c delta68-nat.c dpx2-nat.c exec.c fork-child.c \
        go32-nat.c h8300-tdep.c h8500-tdep.c \
-       hp300ux-nat.c hppa-tdep.c hppab-nat.c hppah-nat.c hpread.c \
+       hp300ux-nat.c hppa-tdep.c hppa-hpux-tdep.c \
+       hppab-nat.c hppah-nat.c hpread.c \
        i386-tdep.c i386b-nat.c i386v-nat.c i386-linux-nat.c \
        i386v4-nat.c i386ly-tdep.c \
        i386bsd-nat.c i386bsd-tdep.c i386fbsd-nat.c \
@@ -1759,6 +1760,7 @@ hppa-tdep.o: hppa-tdep.c $(defs_h) $(frame_h) $(bfd_h) $(inferior_h) \
        $(value_h) $(regcache_h) $(completer_h) $(symtab_h) $(a_out_encap_h) \
        $(gdb_stat_h) $(gdb_wait_h) $(gdbcore_h) $(gdbcmd_h) $(target_h) \
        $(symfile_h) $(objfiles_h) $(language_h) $(osabi_h)
+hppa-hpux-tdep.o: hppa-hpux-tdep.c $(defs_h) $(arch_utils_h) $(osabi_h)
 hppab-nat.o: hppab-nat.c $(defs_h) $(inferior_h) $(target_h) $(regcache_h)
 hppah-nat.o: hppah-nat.c $(defs_h) $(inferior_h) $(target_h) $(gdbcore_h) \
        $(gdb_wait_h) $(regcache_h)
index d55da77..9e3e686 100644 (file)
@@ -1,4 +1,4 @@
 # Target: HP PA-RISC 2.0 running HPUX 11.00 in wide mode
-TDEPFILES= hppa-tdep.o
+TDEPFILES= hppa-tdep.o hppa-hpux-tdep.o
 TM_FILE= tm-hppa64.h
 TM_CLIBS=
index dddb3f5..806e91c 100644 (file)
@@ -1,3 +1,3 @@
 # Target: HP PA-RISC running hpux
-TDEPFILES= hppa-tdep.o
+TDEPFILES= hppa-tdep.o hppa-hpux-tdep.o
 TM_FILE= tm-hppah.h
diff --git a/gdb/hppa-hpux-tdep.c b/gdb/hppa-hpux-tdep.c
new file mode 100644 (file)
index 0000000..371cb00
--- /dev/null
@@ -0,0 +1,46 @@
+/* Target-dependent code for HPUX running on PA-RISC, for GDB.
+   Copyright 2002 Free Software Foundation, Inc.
+
+This file is part of GDB.
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+
+#include "defs.h"
+#include "arch-utils.h"
+#include "osabi.h"
+
+/* Forward declarations.  */
+extern void _initialize_hppa_hpux_tdep (void);
+extern initialize_file_ftype _initialize_hppa_hpux_tdep;
+
+static void
+hppa_hpux_som_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+}
+
+static void
+hppa_hpux_elf_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
+{
+}
+
+void
+_initialize_hppa_hpux_tdep (void)
+{
+  gdbarch_register_osabi (bfd_arch_hppa, GDB_OSABI_HPUX_SOM,
+                          hppa_hpux_som_init_abi);
+  gdbarch_register_osabi (bfd_arch_hppa, GDB_OSABI_HPUX_ELF,
+                          hppa_hpux_elf_init_abi);
+}
+
index 477d6af..e928f3f 100644 (file)
@@ -4920,6 +4920,9 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
   /* If none found, then allocate and initialize one.  */
   gdbarch = gdbarch_alloc (&info, NULL);
 
+  /* Hook in ABI-specific overrides, if they have been registered.  */
+  gdbarch_init_osabi (info, gdbarch, osabi);
+
   return gdbarch;
 }