From 273f84299e5c9d87fae959920f2f3b728d553e75 Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Mon, 16 Dec 2002 16:51:47 +0000 Subject: [PATCH] * hppa-hpux-tdep.c: New file. * 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 | 4 +++- gdb/config/pa/hppa64.mt | 2 +- gdb/config/pa/hppahpux.mt | 2 +- gdb/hppa-hpux-tdep.c | 46 +++++++++++++++++++++++++++++++++++++++ gdb/hppa-tdep.c | 3 +++ 5 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 gdb/hppa-hpux-tdep.c diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 28dca01ece6..b5037d2c7d7 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -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) diff --git a/gdb/config/pa/hppa64.mt b/gdb/config/pa/hppa64.mt index d55da773422..9e3e6863a33 100644 --- a/gdb/config/pa/hppa64.mt +++ b/gdb/config/pa/hppa64.mt @@ -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= diff --git a/gdb/config/pa/hppahpux.mt b/gdb/config/pa/hppahpux.mt index dddb3f569a2..806e91c7f4d 100644 --- a/gdb/config/pa/hppahpux.mt +++ b/gdb/config/pa/hppahpux.mt @@ -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 index 00000000000..371cb00d5af --- /dev/null +++ b/gdb/hppa-hpux-tdep.c @@ -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); +} + diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c index 477d6af88ce..e928f3f5719 100644 --- a/gdb/hppa-tdep.c +++ b/gdb/hppa-tdep.c @@ -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; } -- 2.30.2