summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2002-08-11 22:51:49 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2002-08-11 22:51:49 +0000
commita3173771c7a01fa09e5ed87291ec7403d4a48daf (patch)
tree0ed23210a76b702416faeb28801aaba4bbe83127
parent590ca1b87b218fff743ca19c4e3a0558277c102e (diff)
Switch sparc binutils to ELF.
XXX - we might want to improve the version selection logic when feeding those diffs back to FSF, but we can't do that until we bump our version to OpenBSD 3.2 because then the tree wouldn't build.
-rw-r--r--gnu/usr.bin/binutils/Makefile.bsd-wrapper4
-rw-r--r--gnu/usr.bin/binutils/bfd/config.bfd6
-rw-r--r--gnu/usr.bin/binutils/gas/configure2
-rw-r--r--gnu/usr.bin/binutils/gas/configure.in2
-rw-r--r--gnu/usr.bin/binutils/gdb/config/sparc/nm-obsd.h58
-rw-r--r--gnu/usr.bin/binutils/ld/configure.tgt2
6 files changed, 64 insertions, 10 deletions
diff --git a/gnu/usr.bin/binutils/Makefile.bsd-wrapper b/gnu/usr.bin/binutils/Makefile.bsd-wrapper
index 15dc816b48e..6f0e004817b 100644
--- a/gnu/usr.bin/binutils/Makefile.bsd-wrapper
+++ b/gnu/usr.bin/binutils/Makefile.bsd-wrapper
@@ -1,6 +1,6 @@
-# $OpenBSD: Makefile.bsd-wrapper,v 1.47 2002/05/08 19:39:24 espie Exp $
+# $OpenBSD: Makefile.bsd-wrapper,v 1.48 2002/08/11 22:51:48 art Exp $
-NEW_BINUTILS=alpha mips powerpc hppa sparc64
+NEW_BINUTILS=alpha mips powerpc hppa sparc64 sparc
SUBDIRS= opcodes bfd
ALL_X11_MODULES=
diff --git a/gnu/usr.bin/binutils/bfd/config.bfd b/gnu/usr.bin/binutils/bfd/config.bfd
index 3044a08fc97..59cbe66a777 100644
--- a/gnu/usr.bin/binutils/bfd/config.bfd
+++ b/gnu/usr.bin/binutils/bfd/config.bfd
@@ -789,7 +789,7 @@ case "${targ}" in
targ_defvec=sparclynx_coff_vec
targ_selvecs=sparclynx_aout_vec
;;
- sparc-*-netbsdelf*)
+ sparc-*-netbsdelf* | sparc-*-openbsd*)
targ_defvec=bfd_elf32_sparc_vec
targ_selvecs=sparcnetbsd_vec
;;
@@ -798,10 +798,6 @@ case "${targ}" in
targ_selvecs=bfd_elf32_sparc_vec
targ_underscore=yes
;;
- sparc-*-openbsd*)
- targ_defvec=sparcnetbsd_vec
- targ_underscore=yes
- ;;
sparc-*-elf* | sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
targ_defvec=bfd_elf32_sparc_vec
targ_selvecs=sunos_big_vec
diff --git a/gnu/usr.bin/binutils/gas/configure b/gnu/usr.bin/binutils/gas/configure
index 0ecacf76d4a..6f31376108b 100644
--- a/gnu/usr.bin/binutils/gas/configure
+++ b/gnu/usr.bin/binutils/gas/configure
@@ -2537,7 +2537,7 @@ EOF
;;
sparc-*-openbsd*) em=nbsd
case ${cpu} in
- sparc) fmt=aout ;;
+ sparc) fmt=elf ;;
sparc64) fmt=elf ;;
esac
;;
diff --git a/gnu/usr.bin/binutils/gas/configure.in b/gnu/usr.bin/binutils/gas/configure.in
index e3c1c9062ed..03a245b6c6f 100644
--- a/gnu/usr.bin/binutils/gas/configure.in
+++ b/gnu/usr.bin/binutils/gas/configure.in
@@ -423,7 +423,7 @@ changequote([,])dnl
;;
sparc-*-openbsd*) em=nbsd
case ${cpu} in
- sparc) fmt=aout ;;
+ sparc) fmt=elf ;;
sparc64) fmt=elf ;;
esac
;;
diff --git a/gnu/usr.bin/binutils/gdb/config/sparc/nm-obsd.h b/gnu/usr.bin/binutils/gdb/config/sparc/nm-obsd.h
index 001ab3e5554..83db0062a3c 100644
--- a/gnu/usr.bin/binutils/gdb/config/sparc/nm-obsd.h
+++ b/gnu/usr.bin/binutils/gdb/config/sparc/nm-obsd.h
@@ -18,9 +18,67 @@ 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. */
+#define SVR4_SHARED_LIBS
+
/* Get generic OpenBSD native definitions. */
#include "nm-obsd.h"
/* Before storing, read all the registers. (see inftarg.c) */
#define CHILD_PREPARE_TO_STORE() \
read_register_bytes (0, NULL, REGISTER_BYTES)
+
+#include "solib.h" /* Support for shared libraries. */
+
+/* The Net- and OpenBSD link.h structure definitions have different names
+ than the SunOS version, but the structures are very similar,
+ so we can use solib.c by defining the SunOS names. */
+#define link_object sod
+#define lo_name sod_name
+#define lo_library sod_library
+#define lo_unused sod_reserved
+#define lo_major sod_major
+#define lo_minor sod_minor
+#define lo_next sod_next
+
+#define l_addr som_addr
+#define l_name som_path
+#define l_next som_next
+#define lm_lop som_sod
+#define lm_lob som_sodbase
+#define l_prev som_sodbase
+#define lm_rwt som_write
+#define lm_ld som_dynamic
+#define lm_lpd som_spd
+
+#define link_dynamic_2 section_dispatch_table
+#define ld_loaded sdt_loaded
+#define ld_need sdt_sods
+#define ld_rules sdt_rules
+#define ld_got sdt_got
+#define ld_plt sdt_plt
+#define ld_rel sdt_rel
+#define ld_hash sdt_hash
+#define ld_stab sdt_nzlist
+#define ld_stab_hash sdt_filler2
+#define ld_buckets sdt_buckets
+#define ld_symbols sdt_strings
+#define ld_symb_size sdt_str_sz
+#define ld_text sdt_text_sz
+#define ld_plt_sz sdt_plt_sz
+#define rtc_symb rt_symbol
+#define rtc_sp rt_sp
+#define rtc_next rt_next
+
+#define r_debug so_debug
+#define ldd_version dd_version
+#define ldd_in_debugger dd_in_debugger
+#define ldd_sym_loaded dd_sym_loaded
+#define ldd_bp_addr dd_bpt_addr
+#define ldd_bp_inst dd_bpt_shadow
+#define ldd_cp dd_cc
+
+#define link_dynamic _dynamic
+#define ld_version d_version
+#define ldd d_debug
+#define ld_un d_un
+#define ld_2 d_sdt
diff --git a/gnu/usr.bin/binutils/ld/configure.tgt b/gnu/usr.bin/binutils/ld/configure.tgt
index 41919448b6f..a31fd0e6c8b 100644
--- a/gnu/usr.bin/binutils/ld/configure.tgt
+++ b/gnu/usr.bin/binutils/ld/configure.tgt
@@ -71,7 +71,7 @@ sparc64-*-netbsd*) targ_emul=elf64_sparc ;;
sparc64-*-openbsd*) targ_emul=elf64_sparc ;;
sparc*-*-netbsd*elf*) targ_emul=elf32_sparc ;;
sparc*-*-netbsd*) targ_emul=sparcnbsd ;;
-sparc*-*-openbsd*) targ_emul=sparcnbsd ;;
+sparc*-*-openbsd*) targ_emul=elf32_sparc ;;
sparc-*-solaris2.[0-6] | sparc-*-solaris2.[0-6].*)
targ_emul=elf32_sparc ;;
sparc-*-solaris2*) targ_emul=elf32_sparc