summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/usr.bin/binutils/bfd/config.bfd3
-rw-r--r--gnu/usr.bin/binutils/bfd/configure1
-rw-r--r--gnu/usr.bin/binutils/bfd/configure.in1
-rw-r--r--gnu/usr.bin/binutils/bfd/ecoff.c3
-rw-r--r--gnu/usr.bin/binutils/gas/config/tc-alpha.h2
-rw-r--r--gnu/usr.bin/binutils/ld/Makefile.in4
-rw-r--r--gnu/usr.bin/binutils/ld/configure.host5
-rw-r--r--gnu/usr.bin/binutils/ld/configure.tgt1
-rw-r--r--gnu/usr.bin/binutils/ld/emulparams/alphabsd.sh2
9 files changed, 19 insertions, 3 deletions
diff --git a/gnu/usr.bin/binutils/bfd/config.bfd b/gnu/usr.bin/binutils/bfd/config.bfd
index d70207ec9c7..ff5d118fd82 100644
--- a/gnu/usr.bin/binutils/bfd/config.bfd
+++ b/gnu/usr.bin/binutils/bfd/config.bfd
@@ -73,6 +73,9 @@ case "${targ}" in
targ_defvec=bfd_elf64_alpha_vec
targ_selvecs=ecoffalpha_little_vec
;;
+ alpha*-*-openbsd*)
+ targ_defvec=ecoffalpha_little_vec
+ ;;
alpha*-*-*vms*)
targ_defvec=vms_alpha_vec
;;
diff --git a/gnu/usr.bin/binutils/bfd/configure b/gnu/usr.bin/binutils/bfd/configure
index 532ea5539a1..a2a761bdfd3 100644
--- a/gnu/usr.bin/binutils/bfd/configure
+++ b/gnu/usr.bin/binutils/bfd/configure
@@ -4434,6 +4434,7 @@ if test "${target}" = "${host}"; then
TRAD_HEADER='"hosts/alphalinux.h"'
;;
alpha*-*-netbsd*) COREFILE=netbsd-core.lo ;;
+ alpha*-*-openbsd*) COREFILE=netbsd-core.lo ;;
alpha*-*-freebsd*) ;;
alpha*-*-*) COREFILE=osf-core.lo ;;
arm-*-riscix) COREFILE=trad-core.lo ;;
diff --git a/gnu/usr.bin/binutils/bfd/configure.in b/gnu/usr.bin/binutils/bfd/configure.in
index 1b48c2520b5..56487b0b146 100644
--- a/gnu/usr.bin/binutils/bfd/configure.in
+++ b/gnu/usr.bin/binutils/bfd/configure.in
@@ -119,6 +119,7 @@ if test "${target}" = "${host}"; then
TRAD_HEADER='"hosts/alphalinux.h"'
;;
alpha*-*-netbsd*) COREFILE=netbsd-core.lo ;;
+ alpha*-*-openbsd*) COREFILE=netbsd-core.lo ;;
alpha*-*-freebsd*) ;;
alpha*-*-*) COREFILE=osf-core.lo ;;
arm-*-riscix) COREFILE=trad-core.lo ;;
diff --git a/gnu/usr.bin/binutils/bfd/ecoff.c b/gnu/usr.bin/binutils/bfd/ecoff.c
index 4b136ee1f88..29e6c63f551 100644
--- a/gnu/usr.bin/binutils/bfd/ecoff.c
+++ b/gnu/usr.bin/binutils/bfd/ecoff.c
@@ -226,6 +226,7 @@ _bfd_ecoff_set_arch_mach_hook (abfd, filehdr)
break;
case ALPHA_MAGIC:
+ case ALPHA_MAGIC_BSD:
arch = bfd_arch_alpha;
mach = 0;
break;
@@ -274,7 +275,7 @@ ecoff_get_magic (abfd)
return bfd_big_endian (abfd) ? big : little;
case bfd_arch_alpha:
- return ALPHA_MAGIC;
+ return ALPHA_MAGIC_BSD;
default:
abort ();
diff --git a/gnu/usr.bin/binutils/gas/config/tc-alpha.h b/gnu/usr.bin/binutils/gas/config/tc-alpha.h
index 632b04ebc3c..9a8ed4ed861 100644
--- a/gnu/usr.bin/binutils/gas/config/tc-alpha.h
+++ b/gnu/usr.bin/binutils/gas/config/tc-alpha.h
@@ -106,7 +106,7 @@ extern void alpha_frob_file_before_adjust PARAMS ((void));
/* Whether to add support for explict !relocation_op!sequence_number. At the
moment, only do this for ELF, though ECOFF could use it as well. */
-#ifdef OBJ_ELF
+#if defined(OBJ_ELF) || defined(OBJ_ECOFF)
#define RELOC_OP_P
#endif
diff --git a/gnu/usr.bin/binutils/ld/Makefile.in b/gnu/usr.bin/binutils/ld/Makefile.in
index cd13c52e042..922a637469b 100644
--- a/gnu/usr.bin/binutils/ld/Makefile.in
+++ b/gnu/usr.bin/binutils/ld/Makefile.in
@@ -203,6 +203,7 @@ ALL_EMULATIONS = \
eaixppc.o \
eaixrs6.o \
ealpha.o \
+ ealphabsd.o \
earcelf.o \
earmelf.o \
earmelf_oabi.o \
@@ -999,6 +1000,9 @@ eaixrs6.c: $(srcdir)/emulparams/aixrs6.sh \
ealpha.c: $(srcdir)/emulparams/alpha.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/alpha.sc ${GEN_DEPENDS}
${GENSCRIPTS} alpha "$(tdir_alpha)"
+ealphabsd.c: $(srcdir)/emulparams/alphabsd.sh \
+ $(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/alphabsd.sc ${GEN_DEPENDS}
+ ${GENSCRIPTS} alphabsd "$(tdir_alphabsd)"
earcelf.c: $(srcdir)/emulparams/arcelf.sh \
$(srcdir)/emultempl/generic.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} arcelf "$(tdir_arcelf)"
diff --git a/gnu/usr.bin/binutils/ld/configure.host b/gnu/usr.bin/binutils/ld/configure.host
index 38ad347218c..2b2f28b9d30 100644
--- a/gnu/usr.bin/binutils/ld/configure.host
+++ b/gnu/usr.bin/binutils/ld/configure.host
@@ -30,6 +30,11 @@ alpha*-*-netbsd*)
HOSTING_CRT0=/usr/lib/crt0.o
;;
+alpha*-*-openbsd*)
+ NATIVE_LIB_DIRS=/usr/lib
+ HOSTING_CRT0=/usr/lib/crt0.o
+ ;;
+
alpha*-*-*)
HOSTING_CRT0=/usr/ccs/lib/crt0.o
NATIVE_LIB_DIRS=/usr/ccs/lib
diff --git a/gnu/usr.bin/binutils/ld/configure.tgt b/gnu/usr.bin/binutils/ld/configure.tgt
index 904f016fc02..4cef891ffa0 100644
--- a/gnu/usr.bin/binutils/ld/configure.tgt
+++ b/gnu/usr.bin/binutils/ld/configure.tgt
@@ -264,6 +264,7 @@ alpha*-*-osf*) targ_emul=alpha ;;
alpha*-*-gnu*) targ_emul=elf64alpha ;;
alpha*-*-netware*) targ_emul=alpha ;;
alpha*-*-netbsd*) targ_emul=elf64alpha ;;
+alpha*-*-openbsd*) targ_emul=alphabsd ;;
z8k-*-coff) targ_emul=z8002; targ_extra_emuls=z8001 ;;
ns32k-pc532-mach* | ns32k-pc532-ux*) targ_emul=pc532macha ;;
ns32k-pc532-netbsd* | ns32k-pc532-lites*) targ_emul=ns32knbsd ;;
diff --git a/gnu/usr.bin/binutils/ld/emulparams/alphabsd.sh b/gnu/usr.bin/binutils/ld/emulparams/alphabsd.sh
index dac53137e58..29b9d3ab940 100644
--- a/gnu/usr.bin/binutils/ld/emulparams/alphabsd.sh
+++ b/gnu/usr.bin/binutils/ld/emulparams/alphabsd.sh
@@ -1,3 +1,3 @@
SCRIPT_NAME=alphabsd
-OUTPUT_FORMAT="bsd-ecoff-littlealpha"
+OUTPUT_FORMAT="ecoff-littlealpha"
ARCH=alpha