summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/binutils
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2004-08-23 08:56:30 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2004-08-23 08:56:30 +0000
commit30877fb6847dea7d878a3a6e191432470ff1aaab (patch)
treeceed74af017ae653906e626d60dd39d14a97a98b /gnu/usr.bin/binutils
parent49aca3f3ab46f2abb6481bff706eae1481f7124e (diff)
Shared library support for hppa.
ok mickey@
Diffstat (limited to 'gnu/usr.bin/binutils')
-rw-r--r--gnu/usr.bin/binutils/gdb/config/pa/obsd.mt3
-rw-r--r--gnu/usr.bin/binutils/gdb/config/pa/tm-bsd.h28
-rw-r--r--gnu/usr.bin/binutils/gdb/osabi.c19
3 files changed, 44 insertions, 6 deletions
diff --git a/gnu/usr.bin/binutils/gdb/config/pa/obsd.mt b/gnu/usr.bin/binutils/gdb/config/pa/obsd.mt
index e0a59c7cdd8..1b1df18854a 100644
--- a/gnu/usr.bin/binutils/gdb/config/pa/obsd.mt
+++ b/gnu/usr.bin/binutils/gdb/config/pa/obsd.mt
@@ -1,2 +1,3 @@
# Target: OpenBSD/hppa
-TDEPFILES= hppa-tdep.o corelow.o
+TDEPFILES= hppa-tdep.o hppabsd-tdep.o corelow.o solib.o solib-svr4.o
+TM_FILE= tm-bsd.h
diff --git a/gnu/usr.bin/binutils/gdb/config/pa/tm-bsd.h b/gnu/usr.bin/binutils/gdb/config/pa/tm-bsd.h
new file mode 100644
index 00000000000..ebd5e9f1d16
--- /dev/null
+++ b/gnu/usr.bin/binutils/gdb/config/pa/tm-bsd.h
@@ -0,0 +1,28 @@
+/* Target-dependent definitions for HP PA-RISC BSD's.
+
+ Copyright 2004 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. */
+
+#ifndef TM_BSD_H
+#define TM_BSD_H
+
+/* Shared library support. */
+#include "solib.h"
+
+#endif /* tm-bsd.h */
diff --git a/gnu/usr.bin/binutils/gdb/osabi.c b/gnu/usr.bin/binutils/gdb/osabi.c
index 3acfc703648..ea84456cc7b 100644
--- a/gnu/usr.bin/binutils/gdb/osabi.c
+++ b/gnu/usr.bin/binutils/gdb/osabi.c
@@ -1,5 +1,6 @@
/* OS ABI variant handling for GDB.
- Copyright 2001, 2002, 2003 Free Software Foundation, Inc.
+
+ Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of GDB.
@@ -501,10 +502,11 @@ generic_elf_osabi_sniffer (bfd *abfd)
switch (elfosabi)
{
case ELFOSABI_NONE:
- /* When elfosabi is ELFOSABI_NONE (0), then the ELF structures in the
- file are conforming to the base specification for that machine
- (there are no OS-specific extensions). In order to determine the
- real OS in use we must look for OS notes that have been added. */
+ /* When the EI_OSABI field in the ELF header is ELFOSABI_NONE
+ (0), then the ELF structures in the file are conforming to
+ the base specification for that machine (there are no
+ OS-specific extensions). In order to determine the real OS
+ in use we must look for OS-specific notes. */
bfd_map_over_sections (abfd,
generic_elf_osabi_sniff_abi_tag_sections,
&osabi);
@@ -531,7 +533,14 @@ generic_elf_osabi_sniffer (bfd *abfd)
break;
case ELFOSABI_HPUX:
+ /* For some reason the default value for the EI_OSABI field is
+ ELFOSABI_HPUX for all PA-RISC targets (with the exception of
+ GNU/Linux). We use HP-UX ELF as the default, but let any
+ OS-specific notes override this. */
osabi = GDB_OSABI_HPUX_ELF;
+ bfd_map_over_sections (abfd,
+ generic_elf_osabi_sniff_abi_tag_sections,
+ &osabi);
break;
}