aboutsummaryrefslogtreecommitdiff
path: root/gdb/hppa-tdep.c
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2002-12-02 23:30:34 +0000
committerJoel Brobecker <brobecker@gnat.com>2002-12-02 23:30:34 +0000
commit59623e2707f69ccf3c47d15a4c719074891bfe13 (patch)
treee1319997172830537bdde85b0d597f08a20a27e8 /gdb/hppa-tdep.c
parenta09a320d6fc865fa15bebf6d492550a70fcc8c89 (diff)
downloadgdb-59623e2707f69ccf3c47d15a4c719074891bfe13.zip
gdb-59623e2707f69ccf3c47d15a4c719074891bfe13.tar.gz
gdb-59623e2707f69ccf3c47d15a4c719074891bfe13.tar.bz2
* hppa-tdep.c: Add #include "osabi.h" (for hppa_gdbarch_init).
(hppa_gdbarch_init): Detect osabi from objfile. Will be needed later to set the proper gdbarch methods depending on the osabi. * Makefile.in (hppa-tdep.o): Add dependency on osabi.h.
Diffstat (limited to 'gdb/hppa-tdep.c')
-rw-r--r--gdb/hppa-tdep.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index 9d90312..2ea7906 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -31,6 +31,7 @@
#include "regcache.h"
#include "completer.h"
#include "language.h"
+#include "osabi.h"
/* For argument passing to the inferior */
#include "symtab.h"
@@ -4895,6 +4896,20 @@ static struct gdbarch *
hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
{
struct gdbarch *gdbarch;
+ enum gdb_osabi osabi = GDB_OSABI_UNKNOWN;
+
+ /* Try to determine the ABI of the object we are loading. */
+
+ if (info.abfd != NULL)
+ {
+ osabi = gdbarch_lookup_osabi (info.abfd);
+ if (osabi == GDB_OSABI_UNKNOWN)
+ {
+ /* If it's a SOM file, assume it's HP/UX SOM. */
+ if (bfd_get_flavour (info.abfd) == bfd_target_som_flavour)
+ osabi = GDB_OSABI_HPUX_SOM;
+ }
+ }
/* find a candidate among the list of pre-declared architectures. */
arches = gdbarch_list_lookup_by_info (arches, &info);