diff options
-rw-r--r-- | gnu/usr.bin/binutils/Makefile.bsd-wrapper | 4 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/bfd/config.bfd | 6 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/configure | 2 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gas/configure.in | 2 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/gdb/config/sparc/nm-obsd.h | 58 | ||||
-rw-r--r-- | gnu/usr.bin/binutils/ld/configure.tgt | 2 |
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 |