aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2016-08-26 22:18:50 +0800
committerbapt <bapt@FreeBSD.org>2016-08-26 22:18:50 +0800
commited6947bed38908d07e419b48e3e251f0d22191a6 (patch)
treecdcb656b7ef1d75fd1b59ac099cfae8206301cad /devel
parent988eb8feb799281b16d3575135e0f0afaaf8b64c (diff)
downloadfreebsd-ports-gnome-ed6947bed38908d07e419b48e3e251f0d22191a6.tar.gz
freebsd-ports-gnome-ed6947bed38908d07e419b48e3e251f0d22191a6.tar.zst
freebsd-ports-gnome-ed6947bed38908d07e419b48e3e251f0d22191a6.zip
Update to 2.27
Remove aarch64 patches which are now upstream Disable new x86 relocation to avoid incompatibilities with the old base binutils Activate all targets on the default binutils (requested by royger@) Add a RELRO option (default off) to be able to define the default behaviour of ld(1) on passing or not -z relro
Diffstat (limited to 'devel')
-rw-r--r--devel/aarch64-binutils/pkg-plist4
-rw-r--r--devel/aarch64-none-elf-binutils/pkg-plist13
-rw-r--r--devel/amd64-binutils/pkg-plist14
-rw-r--r--devel/arm-gnueabi-binutils/pkg-plist1
-rw-r--r--devel/arm-none-eabi-binutils/pkg-plist1
-rw-r--r--devel/avr-binutils/pkg-plist1
-rw-r--r--devel/binutils/Makefile19
-rw-r--r--devel/binutils/distinfo5
-rw-r--r--devel/binutils/files/patch-aarch64.diff198
-rw-r--r--devel/binutils/files/patch-gas_config_tc-arm.c17
-rw-r--r--devel/binutils/pkg-plist15
-rw-r--r--devel/cloudabi-binutils-aarch64/files/patch-cloudabi175
-rw-r--r--devel/cloudabi-binutils-aarch64/pkg-plist1
-rw-r--r--devel/cloudabi-binutils-x86_64/files/patch-cloudabi160
-rw-r--r--devel/cloudabi-binutils-x86_64/pkg-plist1
-rw-r--r--devel/mingw32-binutils/Makefile3
-rw-r--r--devel/mingw32-binutils/pkg-plist1
-rw-r--r--devel/mips-binutils/pkg-plist1
-rw-r--r--devel/mips64-binutils/pkg-plist1
-rw-r--r--devel/powerpc64-binutils/pkg-plist1
-rw-r--r--devel/sparc64-binutils/pkg-plist1
21 files changed, 71 insertions, 562 deletions
diff --git a/devel/aarch64-binutils/pkg-plist b/devel/aarch64-binutils/pkg-plist
index c6c295339175..b1dbfbd060ec 100644
--- a/devel/aarch64-binutils/pkg-plist
+++ b/devel/aarch64-binutils/pkg-plist
@@ -6,11 +6,15 @@ aarch64-freebsd/bin/nm
aarch64-freebsd/bin/objcopy
aarch64-freebsd/bin/objdump
aarch64-freebsd/bin/ranlib
+aarch64-freebsd/bin/readelf
aarch64-freebsd/bin/size
aarch64-freebsd/bin/strip
aarch64-freebsd/lib/ldscripts/aarch64elf.x
aarch64-freebsd/lib/ldscripts/aarch64elf.xbn
aarch64-freebsd/lib/ldscripts/aarch64elf.xc
+aarch64-freebsd/lib/ldscripts/aarch64elf.xd
+aarch64-freebsd/lib/ldscripts/aarch64elf.xdc
+aarch64-freebsd/lib/ldscripts/aarch64elf.xdw
aarch64-freebsd/lib/ldscripts/aarch64elf.xn
aarch64-freebsd/lib/ldscripts/aarch64elf.xr
aarch64-freebsd/lib/ldscripts/aarch64elf.xs
diff --git a/devel/aarch64-none-elf-binutils/pkg-plist b/devel/aarch64-none-elf-binutils/pkg-plist
index af7a099d9e0d..ae9d74f9e827 100644
--- a/devel/aarch64-none-elf-binutils/pkg-plist
+++ b/devel/aarch64-none-elf-binutils/pkg-plist
@@ -6,11 +6,15 @@ aarch64-none-elf/bin/nm
aarch64-none-elf/bin/objcopy
aarch64-none-elf/bin/objdump
aarch64-none-elf/bin/ranlib
+aarch64-none-elf/bin/readelf
aarch64-none-elf/bin/size
aarch64-none-elf/bin/strip
aarch64-none-elf/lib/ldscripts/aarch64elf.x
aarch64-none-elf/lib/ldscripts/aarch64elf.xbn
aarch64-none-elf/lib/ldscripts/aarch64elf.xc
+aarch64-none-elf/lib/ldscripts/aarch64elf.xd
+aarch64-none-elf/lib/ldscripts/aarch64elf.xdc
+aarch64-none-elf/lib/ldscripts/aarch64elf.xdw
aarch64-none-elf/lib/ldscripts/aarch64elf.xn
aarch64-none-elf/lib/ldscripts/aarch64elf.xr
aarch64-none-elf/lib/ldscripts/aarch64elf.xs
@@ -21,6 +25,9 @@ aarch64-none-elf/lib/ldscripts/aarch64elf.xw
aarch64-none-elf/lib/ldscripts/aarch64elf32.x
aarch64-none-elf/lib/ldscripts/aarch64elf32.xbn
aarch64-none-elf/lib/ldscripts/aarch64elf32.xc
+aarch64-none-elf/lib/ldscripts/aarch64elf32.xd
+aarch64-none-elf/lib/ldscripts/aarch64elf32.xdc
+aarch64-none-elf/lib/ldscripts/aarch64elf32.xdw
aarch64-none-elf/lib/ldscripts/aarch64elf32.xn
aarch64-none-elf/lib/ldscripts/aarch64elf32.xr
aarch64-none-elf/lib/ldscripts/aarch64elf32.xs
@@ -31,6 +38,9 @@ aarch64-none-elf/lib/ldscripts/aarch64elf32.xw
aarch64-none-elf/lib/ldscripts/aarch64elf32b.x
aarch64-none-elf/lib/ldscripts/aarch64elf32b.xbn
aarch64-none-elf/lib/ldscripts/aarch64elf32b.xc
+aarch64-none-elf/lib/ldscripts/aarch64elf32b.xd
+aarch64-none-elf/lib/ldscripts/aarch64elf32b.xdc
+aarch64-none-elf/lib/ldscripts/aarch64elf32b.xdw
aarch64-none-elf/lib/ldscripts/aarch64elf32b.xn
aarch64-none-elf/lib/ldscripts/aarch64elf32b.xr
aarch64-none-elf/lib/ldscripts/aarch64elf32b.xs
@@ -41,6 +51,9 @@ aarch64-none-elf/lib/ldscripts/aarch64elf32b.xw
aarch64-none-elf/lib/ldscripts/aarch64elfb.x
aarch64-none-elf/lib/ldscripts/aarch64elfb.xbn
aarch64-none-elf/lib/ldscripts/aarch64elfb.xc
+aarch64-none-elf/lib/ldscripts/aarch64elfb.xd
+aarch64-none-elf/lib/ldscripts/aarch64elfb.xdc
+aarch64-none-elf/lib/ldscripts/aarch64elfb.xdw
aarch64-none-elf/lib/ldscripts/aarch64elfb.xn
aarch64-none-elf/lib/ldscripts/aarch64elfb.xr
aarch64-none-elf/lib/ldscripts/aarch64elfb.xs
diff --git a/devel/amd64-binutils/pkg-plist b/devel/amd64-binutils/pkg-plist
index 80a50d944c4f..78db92d573dc 100644
--- a/devel/amd64-binutils/pkg-plist
+++ b/devel/amd64-binutils/pkg-plist
@@ -41,6 +41,7 @@ x86_64-freebsd/bin/nm
x86_64-freebsd/bin/objcopy
x86_64-freebsd/bin/objdump
x86_64-freebsd/bin/ranlib
+x86_64-freebsd/bin/readelf
x86_64-freebsd/bin/size
x86_64-freebsd/bin/strip
x86_64-freebsd/lib/ldscripts/elf_i386.x
@@ -69,6 +70,19 @@ x86_64-freebsd/lib/ldscripts/elf_i386_fbsd.xsc
x86_64-freebsd/lib/ldscripts/elf_i386_fbsd.xsw
x86_64-freebsd/lib/ldscripts/elf_i386_fbsd.xu
x86_64-freebsd/lib/ldscripts/elf_i386_fbsd.xw
+x86_64-freebsd/lib/ldscripts/elf_iamcu.x
+x86_64-freebsd/lib/ldscripts/elf_iamcu.xbn
+x86_64-freebsd/lib/ldscripts/elf_iamcu.xc
+x86_64-freebsd/lib/ldscripts/elf_iamcu.xd
+x86_64-freebsd/lib/ldscripts/elf_iamcu.xdc
+x86_64-freebsd/lib/ldscripts/elf_iamcu.xdw
+x86_64-freebsd/lib/ldscripts/elf_iamcu.xn
+x86_64-freebsd/lib/ldscripts/elf_iamcu.xr
+x86_64-freebsd/lib/ldscripts/elf_iamcu.xs
+x86_64-freebsd/lib/ldscripts/elf_iamcu.xsc
+x86_64-freebsd/lib/ldscripts/elf_iamcu.xsw
+x86_64-freebsd/lib/ldscripts/elf_iamcu.xu
+x86_64-freebsd/lib/ldscripts/elf_iamcu.xw
x86_64-freebsd/lib/ldscripts/elf_k1om.x
x86_64-freebsd/lib/ldscripts/elf_k1om.xbn
x86_64-freebsd/lib/ldscripts/elf_k1om.xc
diff --git a/devel/arm-gnueabi-binutils/pkg-plist b/devel/arm-gnueabi-binutils/pkg-plist
index 816c91fc906a..5d100fb9eaff 100644
--- a/devel/arm-gnueabi-binutils/pkg-plist
+++ b/devel/arm-gnueabi-binutils/pkg-plist
@@ -6,6 +6,7 @@ arm-gnueabi-freebsd/bin/nm
arm-gnueabi-freebsd/bin/objcopy
arm-gnueabi-freebsd/bin/objdump
arm-gnueabi-freebsd/bin/ranlib
+arm-gnueabi-freebsd/bin/readelf
arm-gnueabi-freebsd/bin/strip
arm-gnueabi-freebsd/bin/size
arm-gnueabi-freebsd/lib/ldscripts/armelf.x
diff --git a/devel/arm-none-eabi-binutils/pkg-plist b/devel/arm-none-eabi-binutils/pkg-plist
index 3441d9bc9321..aaa73d8ba629 100644
--- a/devel/arm-none-eabi-binutils/pkg-plist
+++ b/devel/arm-none-eabi-binutils/pkg-plist
@@ -6,6 +6,7 @@ arm-none-eabi/bin/nm
arm-none-eabi/bin/objcopy
arm-none-eabi/bin/objdump
arm-none-eabi/bin/ranlib
+arm-none-eabi/bin/readelf
arm-none-eabi/bin/strip
arm-none-eabi/bin/size
arm-none-eabi/lib/ldscripts/armelf.x
diff --git a/devel/avr-binutils/pkg-plist b/devel/avr-binutils/pkg-plist
index b2763eda0436..8c0bb343ae24 100644
--- a/devel/avr-binutils/pkg-plist
+++ b/devel/avr-binutils/pkg-plist
@@ -6,6 +6,7 @@ avr/bin/nm
avr/bin/objcopy
avr/bin/objdump
avr/bin/ranlib
+avr/bin/readelf
avr/bin/size
avr/bin/strip
avr/lib/ldscripts/avr1.x
diff --git a/devel/binutils/Makefile b/devel/binutils/Makefile
index 71d8d0f67994..11561e9e6387 100644
--- a/devel/binutils/Makefile
+++ b/devel/binutils/Makefile
@@ -2,9 +2,8 @@
# $FreeBSD$
PORTNAME= binutils
-PORTVERSION= 2.25.1
+PORTVERSION= 2.27
PORTEPOCH= 1
-PORTREVISION?= 3
CATEGORIES= devel
MASTER_SITES= SOURCEWARE/binutils/releases
@@ -19,7 +18,9 @@ BUILD_DEPENDS= ${LOCALBASE}/lib/libgmp.so:math/gmp \
CONFLICTS= libbfd-[0-9]*
-OPTIONS_DEFINE= NLS
+OPTIONS_DEFINE= NLS RELRO
+
+RELRO_DESC= enable -z relro in ELF linker by default
LICENSE_FILE_GPLv3= ${WRKSRC}/COPYING3
LICENSE_FILE_LGPL3= ${WRKSRC}/COPYING3.LIB
@@ -38,7 +39,8 @@ CFLAGS+= -I${LOCALBASE}/include
LDFLAGS+= -L${LOCALBASE}/lib
CONFIGURE_ARGS+= --with-system-zlib \
--with-gmp=${LOCALBASE} \
- --with-mpfr=${LOCALBASE}
+ --with-mpfr=${LOCALBASE} \
+ --enable-targets=all
INFO= as \
binutils \
gprof \
@@ -48,7 +50,10 @@ INFO= as \
CONFIGURE_ARGS+= --disable-werror \
--enable-deterministic-archives \
- --with-sysroot=/
+ --with-sysroot=/ \
+ --enable-x86-relax-relocations=no
+RELRO_CONFIGURE_ON= --enable-relro
+RELRO_CONFIGURE_OFF= --enable-relro=no
MAKE_ENV+= ac_cv_func_sbrk=0
@@ -59,7 +64,7 @@ NLS_CONFIGURE_ENABLE= nls
.include <bsd.port.pre.mk>
# Actual earliest version may differ slightly
-.if ${ARCH} != ia64 && ${ARCH} != mips && ${ARCH} != mips64 && !defined(PKGNAMEPREFIX) && (${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 34 || ${COMPILER_TYPE} == gcc)
+.if ${ARCH} != ia64 && ${ARCH} != i386 && ${ARCH} != mips && ${ARCH} != mips64 && !defined(PKGNAMEPREFIX) && (${COMPILER_TYPE} == clang && ${COMPILER_VERSION} >= 34 || ${COMPILER_TYPE} == gcc)
CONFIGURE_ARGS+= --enable-gold --enable-plugins
PLIST_SUB+= GOLD=""
.else
@@ -83,6 +88,7 @@ post-install:
.if ${PKGNAMEPREFIX:S/-$//} != ${BUTARGET}
${RM} -rf ${STAGEDIR}${PREFIX}/${PKGNAMEPREFIX:S/-$//}
.endif
+ @if [ -d ${STAGEDIR}${PREFIX}/${INFO_PATH} ] ; then rm -rf ${STAGEDIR}${PREFIX}/${INFO_PATH}; fi
${LN} -fs ../../bin/${BUTARGET}-size ${STAGEDIR}${PREFIX}/${BUTARGET}/bin/size
.endif
.for tool in ${BUREMOVE}
@@ -92,6 +98,7 @@ post-install:
.endfor
.if defined(BUREMOVE) && ${BUREMOVE:Mld}
@${RM} -rf ${STAGEDIR}${PREFIX}/${BUTARGET}/lib/ldscripts
+ @${FIND} ${STAGEDIR}${PREFIX}/${BUTARGET}/lib -empty -delete
.endif
.include <bsd.port.post.mk>
diff --git a/devel/binutils/distinfo b/devel/binutils/distinfo
index 6e6df2d6608b..df3342c3fa31 100644
--- a/devel/binutils/distinfo
+++ b/devel/binutils/distinfo
@@ -1,2 +1,3 @@
-SHA256 (binutils-2.25.1.tar.bz2) = b5b14added7d78a8d1ca70b5cb75fef57ce2197264f4f5835326b0df22ac9f22
-SIZE (binutils-2.25.1.tar.bz2) = 24163561
+TIMESTAMP = 1470493107
+SHA256 (binutils-2.27.tar.bz2) = 369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88
+SIZE (binutils-2.27.tar.bz2) = 26099568
diff --git a/devel/binutils/files/patch-aarch64.diff b/devel/binutils/files/patch-aarch64.diff
deleted file mode 100644
index 72ecfef2fbb3..000000000000
--- a/devel/binutils/files/patch-aarch64.diff
+++ /dev/null
@@ -1,198 +0,0 @@
-diff --git bfd/config.bfd bfd/config.bfd
-index 4edcc6a..4c94f69 100644
---- bfd/config.bfd
-+++ bfd/config.bfd
-@@ -173,6 +173,11 @@ case "${targ}" in
- targ_selvecs="bfd_elf64_littleaarch64_vec bfd_elf32_littleaarch64_vec bfd_elf32_bigaarch64_vec bfd_elf32_bigarm_vec bfd_elf32_littlearm_vec"
- want64=true
- ;;
-+ aarch64-*-freebsd*)
-+ targ_defvec=aarch64_elf64_le_vec
-+ targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec"
-+ want64=true
-+ ;;
- aarch64-*-linux*)
- targ_defvec=bfd_elf64_littleaarch64_vec
- targ_selvecs="bfd_elf64_bigaarch64_vec bfd_elf32_littleaarch64_vec bfd_elf32_bigaarch64_vec bfd_elf32_littlearm_vec bfd_elf32_bigarm_vec"
-diff --git bfd/configure bfd/configure
-index bef7295..91156fd 100755
---- bfd/configure
-+++ bfd/configure
-@@ -12158,7 +12158,7 @@ fi
-
-
-
--GCC_WARN_CFLAGS="-W -Wall -Wstrict-prototypes -Wmissing-prototypes"
-+GCC_WARN_CFLAGS="-W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-unused-function"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- __GNUC__
-diff --git gas/config/tc-aarch64.c gas/config/tc-aarch64.c
-index 4b243ce..83e4bb9 100644
---- gas/config/tc-aarch64.c
-+++ gas/config/tc-aarch64.c
-@@ -54,9 +54,6 @@ static const aarch64_feature_set *march_cpu_opt = NULL;
- /* Constants for known architecture features. */
- static const aarch64_feature_set cpu_default = CPU_DEFAULT;
-
--static const aarch64_feature_set aarch64_arch_any = AARCH64_ANY;
--static const aarch64_feature_set aarch64_arch_none = AARCH64_ARCH_NONE;
--
- #ifdef OBJ_ELF
- /* Pre-defined "_GLOBAL_OFFSET_TABLE_" */
- static symbolS *GOT_symbol;
-diff --git gas/configure gas/configure
-index 8a89e4f..a83138e 100755
---- gas/configure
-+++ gas/configure
-@@ -11575,7 +11575,7 @@ fi
- using_cgen=no
-
-
--GCC_WARN_CFLAGS="-W -Wall -Wstrict-prototypes -Wmissing-prototypes"
-+GCC_WARN_CFLAGS="-W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-unused-function"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- __GNUC__
-diff --git ld/Makefile.am ld/Makefile.am
-index 5968668..5ffb2a4 100644
---- ld/Makefile.am
-+++ ld/Makefile.am
-@@ -415,6 +415,8 @@ ALL_64_EMULATION_SOURCES = \
- eaarch64elf32.c \
- eaarch64elfb.c \
- eaarch64elf32b.c \
-+ eaarch64fbsd.c \
-+ eaarch64fbsdb.c \
- eaarch64linux.c \
- eaarch64linuxb.c \
- eaarch64linux32.c \
-@@ -1524,6 +1526,14 @@ eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aar
- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-
-+eaarch64fbsd.c: $(srcdir)/emulparams/aarch64fbsd.sh \
-+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
-+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-+
-+eaarch64fbsdb.c: $(srcdir)/emulparams/aarch64fbsdb.sh $(srcdir)/emulparams/aarch64fbsd.sh \
-+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
-+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-+
- eaarch64linux.c: $(srcdir)/emulparams/aarch64linux.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-diff --git ld/Makefile.in ld/Makefile.in
-index 59cba73..0ed674f 100644
---- ld/Makefile.in
-+++ ld/Makefile.in
-@@ -722,6 +722,8 @@ ALL_64_EMULATION_SOURCES = \
- eaarch64elf32.c \
- eaarch64elfb.c \
- eaarch64elf32b.c \
-+ eaarch64fbsd.c \
-+ eaarch64fbsdb.c \
- eaarch64linux.c \
- eaarch64linuxb.c \
- eaarch64linux32.c \
-@@ -1034,6 +1036,8 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf32.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elf32b.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elfb.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64fbsd.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64fbsdb.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32b.Po@am__quote@
-@@ -2956,6 +2960,14 @@ eaarch64elf32b.c: $(srcdir)/emulparams/aarch64elf32b.sh $(srcdir)/emulparams/aar
- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-
-+eaarch64fbsd.c: $(srcdir)/emulparams/aarch64fbsd.sh \
-+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
-+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-+
-+eaarch64fbsdb.c: $(srcdir)/emulparams/aarch64fbsdb.sh $(srcdir)/emulparams/aarch64fbsd.sh \
-+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
-+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-+
- eaarch64linux.c: $(srcdir)/emulparams/aarch64linux.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-diff --git ld/configure ld/configure
-index 8452a13..9ef7a54 100755
---- ld/configure
-+++ ld/configure
-@@ -4642,7 +4642,7 @@ $as_echo "$ac_cv_path_EGREP" >&6; }
-
-
-
--GCC_WARN_CFLAGS="-W -Wall -Wstrict-prototypes -Wmissing-prototypes"
-+GCC_WARN_CFLAGS="-W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wno-uninitialized"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
- /* end confdefs.h. */
- __GNUC__
-diff --git ld/configure.tgt ld/configure.tgt
-index c2c3eab..36416e3 100644
---- ld/configure.tgt
-+++ ld/configure.tgt
-@@ -49,6 +49,8 @@ aarch64_be-*-elf) targ_emul=aarch64elfb
- targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b armelfb armelf" ;;
- aarch64-*-elf) targ_emul=aarch64elf
- targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" ;;
-+aarch64-*-freebsd*) targ_emul=aarch64fbsd
-+ targ_extra_emuls="aarch64fbsdb aarch64elf" ;;
- aarch64_be-*-linux*) targ_emul=aarch64linuxb
- targ_extra_libpath="aarch64linux aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi"
- targ_extra_emuls="aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb armelf $targ_extra_libpath" ;;
-diff --git ld/emulparams/aarch64fbsd.sh ld/emulparams/aarch64fbsd.sh
-new file mode 100644
-index 0000000..b92bde9
---- /dev/null
-+++ ld/emulparams/aarch64fbsd.sh
-@@ -0,0 +1,37 @@
-+ARCH=aarch64
-+MACHINE=
-+NOP=0
-+
-+SCRIPT_NAME=elf
-+ELFSIZE=64
-+OUTPUT_FORMAT="elf64-littleaarch64"
-+BIG_OUTPUT_FORMAT="elf64-bigaarch64"
-+LITTLE_OUTPUT_FORMAT="elf64-littleaarch64"
-+NO_REL_RELOCS=yes
-+
-+TEMPLATE_NAME=elf32
-+EXTRA_EM_FILE=aarch64elf
-+
-+GENERATE_SHLIB_SCRIPT=yes
-+GENERATE_PIE_SCRIPT=yes
-+
-+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
-+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
-+SEPARATE_GOTPLT=24
-+IREL_IN_PLT=
-+
-+TEXT_START_ADDR=0x400000
-+
-+DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
-+
-+# AArch64 does not support .s* sections.
-+NO_SMALL_DATA=yes
-+
-+OTHER_BSS_SYMBOLS='__bss_start__ = .;'
-+OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
-+OTHER_END_SYMBOLS='__end__ = . ;'
-+
-+OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
-+ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
-+# Ensure each PLT entry is aligned to a cache line.
-+PLT=".plt ${RELOCATING-0} : ALIGN(16) { *(.plt)${IREL_IN_PLT+ *(.iplt)} }"
-diff --git ld/emulparams/aarch64fbsdb.sh ld/emulparams/aarch64fbsdb.sh
-new file mode 100644
-index 0000000..2c55dde
---- /dev/null
-+++ ld/emulparams/aarch64fbsdb.sh
-@@ -0,0 +1,2 @@
-+. ${srcdir}/emulparams/aarch64fbsd.sh
-+OUTPUT_FORMAT="elf64-bigaarch64"
diff --git a/devel/binutils/files/patch-gas_config_tc-arm.c b/devel/binutils/files/patch-gas_config_tc-arm.c
deleted file mode 100644
index 1c599ef88d54..000000000000
--- a/devel/binutils/files/patch-gas_config_tc-arm.c
+++ /dev/null
@@ -1,17 +0,0 @@
-From d840c081f8082e8b9e63fead5306643975a97bb3 Mon Sep 17 00:00:00 2001
-From: Richard Earnshaw <Richard.Earnshaw@arm.com>
-Date: Thu, 20 Nov 2014 17:02:47 +0000
-Subject: [PATCH] * config/tc-arm.c (rotate_left): Avoid undefined behaviour
- when N = 0.
-
---- gas/config/tc-arm.c.orig 2014-10-14 09:32:03.000000000 +0200
-+++ gas/config/tc-arm.c 2015-02-18 21:13:40.720573000 +0100
-@@ -7251,7 +7251,7 @@
-
- /* Functions for operand encoding. ARM, then Thumb. */
-
--#define rotate_left(v, n) (v << n | v >> (32 - n))
-+#define rotate_left(v, n) (v << (n & 31) | v >> ((32 - n) & 31))
-
- /* If VAL can be encoded in the immediate field of an ARM instruction,
- return the encoded form. Otherwise, return FAIL. */
diff --git a/devel/binutils/pkg-plist b/devel/binutils/pkg-plist
index 963296d84751..3dbb6d5773b9 100644
--- a/devel/binutils/pkg-plist
+++ b/devel/binutils/pkg-plist
@@ -2,20 +2,28 @@ bin/addr2line
bin/ar
bin/as
bin/c++filt
+bin/coffdump
+bin/dlltool
+bin/dllwrap
%%GOLD%%bin/dwp
bin/elfedit
bin/gprof
bin/ld
bin/ld.bfd
%%GOLD%%bin/ld.gold
+bin/nlmconv
bin/nm
bin/objcopy
bin/objdump
bin/ranlib
bin/readelf
bin/size
+bin/srconv
bin/strings
bin/strip
+bin/sysdump
+bin/windmc
+bin/windres
include/bfd.h
include/bfdlink.h
include/dis-asm.h
@@ -45,6 +53,7 @@ man/man1/windres.1.gz
%%NLS%%share/locale/bg/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/bg/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/bg/LC_MESSAGES/ld.mo
+%%NLS%%share/locale/ca/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/da/LC_MESSAGES/bfd.mo
%%NLS%%share/locale/da/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/da/LC_MESSAGES/gprof.mo
@@ -66,13 +75,14 @@ man/man1/windres.1.gz
%%NLS%%share/locale/fi/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/fi/LC_MESSAGES/ld.mo
%%NLS%%share/locale/fi/LC_MESSAGES/opcodes.mo
+%%NLS%%%%GOLD%%share/locale/fi/LC_MESSAGES/gold.mo
%%NLS%%share/locale/fr/LC_MESSAGES/bfd.mo
%%NLS%%share/locale/fr/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/fr/LC_MESSAGES/gas.mo
%%NLS%%share/locale/fr/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/fr/LC_MESSAGES/ld.mo
%%NLS%%share/locale/fr/LC_MESSAGES/opcodes.mo
-%%NLS%%%%GOLD%%share/locale/fi/LC_MESSAGES/gold.mo
+%%NLS%%%%GOLD%%share/locale/fr/LC_MESSAGES/gold.mo
%%NLS%%share/locale/ga/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/ga/LC_MESSAGES/ld.mo
%%NLS%%share/locale/ga/LC_MESSAGES/opcodes.mo
@@ -113,6 +123,7 @@ man/man1/windres.1.gz
%%NLS%%share/locale/rw/LC_MESSAGES/gas.mo
%%NLS%%share/locale/rw/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/sk/LC_MESSAGES/binutils.mo
+%%NLS%%share/locale/sr/LC_MESSAGES/bfd.mo
%%NLS%%share/locale/sr/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/sr/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/sv/LC_MESSAGES/bfd.mo
@@ -140,7 +151,9 @@ man/man1/windres.1.gz
%%NLS%%%%GOLD%%share/locale/vi/LC_MESSAGES/gold.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/bfd.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/binutils.mo
+%%NLS%%share/locale/zh_CN/LC_MESSAGES/gas.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/ld.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/opcodes.mo
+%%NLS%%%%GOLD%%share/locale/zh_CN/LC_MESSAGES/gold.mo
%%NLS%%share/locale/zh_TW/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/zh_TW/LC_MESSAGES/ld.mo
diff --git a/devel/cloudabi-binutils-aarch64/files/patch-cloudabi b/devel/cloudabi-binutils-aarch64/files/patch-cloudabi
deleted file mode 100644
index 223e72e19105..000000000000
--- a/devel/cloudabi-binutils-aarch64/files/patch-cloudabi
+++ /dev/null
@@ -1,175 +0,0 @@
---- bfd/config.bfd
-+++ bfd/config.bfd
-@@ -177,6 +177,11 @@
- targ_selvecs="aarch64_elf64_le_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_be_vec arm_elf32_le_vec"
- want64=true
- ;;
-+ aarch64-*-cloudabi*)
-+ targ_defvec=aarch64_elf64_le_cloudabi_vec
-+ targ_selvecs=aarch64_elf64_be_cloudabi_vec
-+ want64=true
-+ ;;
- aarch64-*-linux*)
- targ_defvec=aarch64_elf64_le_vec
- targ_selvecs="aarch64_elf64_be_vec aarch64_elf32_le_vec aarch64_elf32_be_vec arm_elf32_le_vec arm_elf32_be_vec"
---- bfd/configure
-+++ bfd/configure
-@@ -15288,7 +15288,9 @@
- aarch64_elf32_be_vec) tb="$tb elf32-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;;
- aarch64_elf32_le_vec) tb="$tb elf32-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf32.lo $elf"; target_size=64 ;;
- aarch64_elf64_be_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
-+ aarch64_elf64_be_cloudabi_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
- aarch64_elf64_le_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
-+ aarch64_elf64_le_cloudabi_vec) tb="$tb elf64-aarch64.lo elfxx-aarch64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;;
- alpha_ecoff_le_vec) tb="$tb coff-alpha.lo ecoff.lo ecofflink.lo"; target_size=64 ;;
- alpha_elf64_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
- alpha_elf64_fbsd_vec) tb="$tb elf64-alpha.lo elf64.lo $elf"; target_size=64 ;;
---- bfd/elfnn-aarch64.c
-+++ bfd/elfnn-aarch64.c
-@@ -8061,3 +8061,22 @@
- #define elf_backend_obj_attrs_section ".ARM.attributes"
-
- #include "elfNN-target.h"
-+
-+/* CloudABI support. */
-+
-+#undef TARGET_LITTLE_SYM
-+#define TARGET_LITTLE_SYM aarch64_elfNN_le_cloudabi_vec
-+#undef TARGET_LITTLE_NAME
-+#define TARGET_LITTLE_NAME "elfNN-littleaarch64-cloudabi"
-+#undef TARGET_BIG_SYM
-+#define TARGET_BIG_SYM aarch64_elfNN_be_cloudabi_vec
-+#undef TARGET_BIG_NAME
-+#define TARGET_BIG_NAME "elfNN-bigaarch64-cloudabi"
-+
-+#undef ELF_OSABI
-+#define ELF_OSABI ELFOSABI_CLOUDABI
-+
-+#undef elfNN_bed
-+#define elfNN_bed elfNN_aarch64_cloudabi_bed
-+
-+#include "elfNN-target.h"
---- bfd/targets.c
-+++ bfd/targets.c
-@@ -563,7 +563,9 @@
- extern const bfd_target aarch64_elf32_be_vec;
- extern const bfd_target aarch64_elf32_le_vec;
- extern const bfd_target aarch64_elf64_be_vec;
-+extern const bfd_target aarch64_elf64_be_cloudabi_vec;
- extern const bfd_target aarch64_elf64_le_vec;
-+extern const bfd_target aarch64_elf64_le_cloudabi_vec;
- extern const bfd_target alpha_ecoff_le_vec;
- extern const bfd_target alpha_elf64_vec;
- extern const bfd_target alpha_elf64_fbsd_vec;
-@@ -938,7 +940,9 @@
- &aarch64_elf32_be_vec,
- &aarch64_elf32_le_vec,
- &aarch64_elf64_be_vec,
-+ &aarch64_elf64_be_cloudabi_vec,
- &aarch64_elf64_le_vec,
-+ &aarch64_elf64_le_cloudabi_vec,
- #endif
-
- #ifdef BFD64
---- gas/configure.tgt
-+++ gas/configure.tgt
-@@ -470,6 +470,7 @@ case ${generic_target} in
- z8k-*-coff | z8k-*-sim) fmt=coff ;;
-
- *-*-aout | *-*-scout) fmt=aout ;;
-+ *-*-cloudabi*) fmt=elf ;;
- *-*-dragonfly*) fmt=elf em=dragonfly ;;
- *-*-freebsd* | *-*-kfreebsd*-gnu) fmt=elf em=freebsd ;;
- *-*-bsd*) fmt=aout em=sun3 ;;
---- include/elf/common.h
-+++ include/elf/common.h
-@@ -73,6 +73,7 @@
- #define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */
- #define ELFOSABI_AROS 15 /* AROS */
- #define ELFOSABI_FENIXOS 16 /* FenixOS */
-+#define ELFOSABI_CLOUDABI 17 /* Nuxi CloudABI */
- #define ELFOSABI_C6000_ELFABI 64 /* Bare-metal TMS320C6000 */
- #define ELFOSABI_C6000_LINUX 65 /* Linux TMS320C6000 */
- #define ELFOSABI_ARM 97 /* ARM */
---- ld/Makefile.in
-+++ ld/Makefile.in
-@@ -727,6 +727,8 @@
- eaarch64elf32.c \
- eaarch64elfb.c \
- eaarch64elf32b.c \
-+ eaarch64cloudabi.c \
-+ eaarch64cloudabib.c \
- eaarch64linux.c \
- eaarch64linuxb.c \
- eaarch64linux32.c \
-@@ -3001,6 +3003,14 @@
- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-
-+eaarch64cloudabi.c: $(srcdir)/emulparams/aarch64cloudabi.sh \
-+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
-+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-+
-+eaarch64cloudabib.c: $(srcdir)/emulparams/aarch64cloudabib.sh $(srcdir)/emulparams/aarch64cloudabi.sh \
-+ $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
-+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-+
- eaarch64linux.c: $(srcdir)/emulparams/aarch64linux.sh \
- $(ELF_DEPS) $(srcdir)/emultempl/aarch64elf.em \
- $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
---- ld/configure.tgt
-+++ ld/configure.tgt
-@@ -49,6 +49,8 @@
- targ_extra_emuls="aarch64elf aarch64elf32 aarch64elf32b armelfb armelf" ;;
- aarch64-*-elf) targ_emul=aarch64elf
- targ_extra_emuls="aarch64elf32 aarch64elf32b aarch64elfb armelf armelfb" ;;
-+aarch64-*-cloudabi*) targ_emul=aarch64cloudabi
-+ targ_extra_emuls=aarch64cloudabib ;;
- aarch64_be-*-linux*) targ_emul=aarch64linuxb
- targ_extra_libpath="aarch64linux aarch64linux32 aarch64linux32b armelfb_linux_eabi armelf_linux_eabi"
- targ_extra_emuls="aarch64elfb aarch64elf aarch64elf32 aarch64elf32b armelfb armelf $targ_extra_libpath" ;;
---- ld/emulparams/aarch64cloudabi.sh
-+++ ld/emulparams/aarch64cloudabi.sh
-@@ -0,0 +1,37 @@
-+ARCH=aarch64
-+MACHINE=
-+NOP=0
-+
-+SCRIPT_NAME=elf
-+ELFSIZE=64
-+OUTPUT_FORMAT="elf64-littleaarch64-cloudabi"
-+BIG_OUTPUT_FORMAT="elf64-bigaarch64-cloudabi"
-+LITTLE_OUTPUT_FORMAT="elf64-littleaarch64-cloudabi"
-+NO_REL_RELOCS=yes
-+
-+TEMPLATE_NAME=elf32
-+EXTRA_EM_FILE=aarch64elf
-+
-+GENERATE_SHLIB_SCRIPT=yes
-+GENERATE_PIE_SCRIPT=yes
-+
-+MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
-+COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
-+SEPARATE_GOTPLT=24
-+IREL_IN_PLT=
-+
-+TEXT_START_ADDR=0x400000
-+
-+DATA_START_SYMBOLS='PROVIDE (__data_start = .);';
-+
-+# AArch64 does not support .s* sections.
-+NO_SMALL_DATA=yes
-+
-+OTHER_BSS_SYMBOLS='__bss_start__ = .;'
-+OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
-+OTHER_END_SYMBOLS='__end__ = . ;'
-+
-+OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
-+ATTRS_SECTIONS='.ARM.attributes 0 : { KEEP (*(.ARM.attributes)) KEEP (*(.gnu.attributes)) }'
-+# Ensure each PLT entry is aligned to a cache line.
-+PLT=".plt ${RELOCATING-0} : ALIGN(16) { *(.plt)${IREL_IN_PLT+ *(.iplt)} }"
---- ld/emulparams/aarch64cloudabib.sh
-+++ ld/emulparams/aarch64cloudabib.sh
-@@ -0,0 +1,2 @@
-+. ${srcdir}/emulparams/aarch64cloudabi.sh
-+OUTPUT_FORMAT="elf64-bigaarch64-cloudabi"
diff --git a/devel/cloudabi-binutils-aarch64/pkg-plist b/devel/cloudabi-binutils-aarch64/pkg-plist
index 78a771c93770..279f43d5073a 100644
--- a/devel/cloudabi-binutils-aarch64/pkg-plist
+++ b/devel/cloudabi-binutils-aarch64/pkg-plist
@@ -18,4 +18,5 @@ man/man1/aarch64-unknown-cloudabi-strings.1.gz
man/man1/aarch64-unknown-cloudabi-strip.1.gz
aarch64-unknown-cloudabi/bin/as
aarch64-unknown-cloudabi/bin/objcopy
+aarch64-unknown-cloudabi/bin/readelf
aarch64-unknown-cloudabi/bin/strip
diff --git a/devel/cloudabi-binutils-x86_64/files/patch-cloudabi b/devel/cloudabi-binutils-x86_64/files/patch-cloudabi
deleted file mode 100644
index 62fee85f32f4..000000000000
--- a/devel/cloudabi-binutils-x86_64/files/patch-cloudabi
+++ /dev/null
@@ -1,160 +0,0 @@
---- bfd/config.bfd
-+++ bfd/config.bfd
-@@ -645,6 +645,10 @@ case "${targ}" in
- targ_archs="$targ_archs bfd_arm_arch"
- ;;
- #ifdef BFD64
-+ x86_64-*-cloudabi*)
-+ targ_defvec=x86_64_elf64_cloudabi_vec
-+ want64=true
-+ ;;
- x86_64-*-darwin*)
- targ_defvec=x86_64_mach_o_vec
- targ_selvecs="i386_mach_o_vec mach_o_le_vec mach_o_be_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
---- bfd/configure
-+++ bfd/configure
-@@ -15540,6 +15540,7 @@ do
- x86_64_elf32_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
- x86_64_elf32_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
- x86_64_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
-+ x86_64_elf64_cloudabi_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
---- bfd/configure.ac
-+++ bfd/configure.ac
-@@ -1008,6 +1008,7 @@ do
- x86_64_elf32_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
- x86_64_elf32_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;;
- x86_64_elf64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
-+ x86_64_elf64_cloudabi_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_fbsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
- x86_64_elf64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;;
---- bfd/elf64-x86-64.c
-+++ bfd/elf64-x86-64.c
-@@ -5927,6 +5927,21 @@ static const struct bfd_elf_special_section
-
- #include "elf64-target.h"
-
-+/* CloudABI support. */
-+
-+#undef TARGET_LITTLE_SYM
-+#define TARGET_LITTLE_SYM x86_64_elf64_cloudabi_vec
-+#undef TARGET_LITTLE_NAME
-+#define TARGET_LITTLE_NAME "elf64-x86-64-cloudabi"
-+
-+#undef ELF_OSABI
-+#define ELF_OSABI ELFOSABI_CLOUDABI
-+
-+#undef elf64_bed
-+#define elf64_bed elf64_x86_64_cloudabi_bed
-+
-+#include "elf64-target.h"
-+
- /* FreeBSD support. */
-
- #undef TARGET_LITTLE_SYM
---- bfd/targets.c
-+++ bfd/targets.c
-@@ -885,6 +885,7 @@ extern const bfd_target x86_64_coff_vec;
- extern const bfd_target x86_64_elf32_vec;
- extern const bfd_target x86_64_elf32_nacl_vec;
- extern const bfd_target x86_64_elf64_vec;
-+extern const bfd_target x86_64_elf64_cloudabi_vec;
- extern const bfd_target x86_64_elf64_fbsd_vec;
- extern const bfd_target x86_64_elf64_nacl_vec;
- extern const bfd_target x86_64_elf64_sol2_vec;
-@@ -1402,6 +1403,7 @@ static const bfd_target * const _bfd_target_vector[] =
- &x86_64_elf32_vec,
- &x86_64_elf32_nacl_vec,
- &x86_64_elf64_vec,
-+ &x86_64_elf64_cloudabi_vec,
- &x86_64_elf64_fbsd_vec,
- &x86_64_elf64_nacl_vec,
- &x86_64_elf64_sol2_vec,
---- gas/configure.tgt
-+++ gas/configure.tgt
-@@ -470,6 +470,7 @@ case ${generic_target} in
- z8k-*-coff | z8k-*-sim) fmt=coff ;;
-
- *-*-aout | *-*-scout) fmt=aout ;;
-+ *-*-cloudabi*) fmt=elf ;;
- *-*-dragonfly*) fmt=elf em=dragonfly ;;
- *-*-freebsd* | *-*-kfreebsd*-gnu) fmt=elf em=freebsd ;;
- *-*-bsd*) fmt=aout em=sun3 ;;
---- include/elf/common.h
-+++ include/elf/common.h
-@@ -73,6 +73,7 @@
- #define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */
- #define ELFOSABI_AROS 15 /* AROS */
- #define ELFOSABI_FENIXOS 16 /* FenixOS */
-+#define ELFOSABI_CLOUDABI 17 /* Nuxi CloudABI */
- #define ELFOSABI_C6000_ELFABI 64 /* Bare-metal TMS320C6000 */
- #define ELFOSABI_C6000_LINUX 65 /* Linux TMS320C6000 */
- #define ELFOSABI_ARM 97 /* ARM */
---- ld/Makefile.am
-+++ ld/Makefile.am
-@@ -483,6 +483,7 @@ ALL_64_EMULATION_SOURCES = \
- eelf_k1om.c \
- eelf_k1om_fbsd.c \
- eelf_x86_64.c \
-+ eelf_x86_64_cloudabi.c \
- eelf_x86_64_fbsd.c \
- eelf_x86_64_nacl.c \
- eelf_x86_64_sol2.c \
-@@ -1938,6 +1939,10 @@ eelf_k1om_fbsd.c: $(srcdir)/emulparams/elf_k1om_fbsd.sh \
- eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-
-+eelf_x86_64_cloudabi.c: $(srcdir)/emulparams/elf_x86_64_cloudabi.sh \
-+ $(srcdir)/emulparams/elf_x86_64.sh \
-+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-+
- eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \
- $(srcdir)/emulparams/elf_x86_64.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
---- ld/Makefile.in
-+++ ld/Makefile.in
-@@ -808,6 +808,7 @@ ALL_64_EMULATION_SOURCES = \
- eelf_k1om.c \
- eelf_k1om_fbsd.c \
- eelf_x86_64.c \
-+ eelf_x86_64_cloudabi.c \
- eelf_x86_64_fbsd.c \
- eelf_x86_64_nacl.c \
- eelf_x86_64_sol2.c \
-@@ -1269,6 +1270,7 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_l1om_fbsd.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_s390.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64.Po@am__quote@
-+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_cloudabi.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fbsd.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_nacl.Po@am__quote@
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_sol2.Po@am__quote@
-@@ -3429,6 +3431,10 @@ eelf_k1om_fbsd.c: $(srcdir)/emulparams/elf_k1om_fbsd.sh \
- eelf_x86_64.c: $(srcdir)/emulparams/elf_x86_64.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-
-+eelf_x86_64_cloudabi.c: $(srcdir)/emulparams/elf_x86_64_cloudabi.sh \
-+ $(srcdir)/emulparams/elf_x86_64.sh \
-+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
-+
- eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \
- $(srcdir)/emulparams/elf_x86_64.sh \
- $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
---- ld/configure.tgt
-+++ ld/configure.tgt
-@@ -228,6 +228,7 @@ i[3-7]86-*-rtems*) targ_emul=elf_i386 ;;
- i[3-7]86-*-aros*) targ_emul=elf_i386 ;;
- i[3-7]86-*-rdos*) targ_emul=elf_i386 ;;
- x86_64-*-rdos*) targ_emul=elf64rdos ;;
-+x86_64-*-cloudabi*) targ_emul=elf_x86_64_cloudabi ;;
- i[3-7]86-*-bsd) targ_emul=i386bsd ;;
- i[3-7]86-*-bsd386) targ_emul=i386bsd ;;
- i[3-7]86-*-bsdi*) targ_emul=i386bsd ;;
---- /dev/null
-+++ ld/emulparams/elf_x86_64_cloudabi.sh
-@@ -0,0 +1,2 @@
-+. ${srcdir}/emulparams/elf_x86_64.sh
-+OUTPUT_FORMAT="elf64-x86-64-cloudabi"
diff --git a/devel/cloudabi-binutils-x86_64/pkg-plist b/devel/cloudabi-binutils-x86_64/pkg-plist
index 8a34741763b6..f6bde99f18f7 100644
--- a/devel/cloudabi-binutils-x86_64/pkg-plist
+++ b/devel/cloudabi-binutils-x86_64/pkg-plist
@@ -18,4 +18,5 @@ man/man1/x86_64-unknown-cloudabi-strings.1.gz
man/man1/x86_64-unknown-cloudabi-strip.1.gz
x86_64-unknown-cloudabi/bin/as
x86_64-unknown-cloudabi/bin/objcopy
+x86_64-unknown-cloudabi/bin/readelf
x86_64-unknown-cloudabi/bin/strip
diff --git a/devel/mingw32-binutils/Makefile b/devel/mingw32-binutils/Makefile
index bd776c9c2592..9dbb77b5b070 100644
--- a/devel/mingw32-binutils/Makefile
+++ b/devel/mingw32-binutils/Makefile
@@ -12,7 +12,4 @@ PLIST= ${.CURDIR}/pkg-plist
BUTARGET= ${PKGNAMEPREFIX:S/-$//}
-INFO= as bfd binutils gprof ld
-INFO_PATH= ${BUTARGET}/info
-
.include "${MASTERDIR}/Makefile"
diff --git a/devel/mingw32-binutils/pkg-plist b/devel/mingw32-binutils/pkg-plist
index 01b71b9de0d0..c876efa29e6c 100644
--- a/devel/mingw32-binutils/pkg-plist
+++ b/devel/mingw32-binutils/pkg-plist
@@ -26,6 +26,7 @@ mingw32/bin/nm
mingw32/bin/objcopy
mingw32/bin/objdump
mingw32/bin/ranlib
+mingw32/bin/readelf
mingw32/bin/strip
mingw32/bin/size
mingw32/lib/ldscripts/i386pe.x
diff --git a/devel/mips-binutils/pkg-plist b/devel/mips-binutils/pkg-plist
index 4bc6bd252724..2efde96820d0 100644
--- a/devel/mips-binutils/pkg-plist
+++ b/devel/mips-binutils/pkg-plist
@@ -41,6 +41,7 @@ mips-freebsd/bin/nm
mips-freebsd/bin/objcopy
mips-freebsd/bin/objdump
mips-freebsd/bin/ranlib
+mips-freebsd/bin/readelf
mips-freebsd/bin/strip
mips-freebsd/bin/size
mips-freebsd/lib/ldscripts/elf32btsmip.x
diff --git a/devel/mips64-binutils/pkg-plist b/devel/mips64-binutils/pkg-plist
index 9ced43deb912..fbbe98712367 100644
--- a/devel/mips64-binutils/pkg-plist
+++ b/devel/mips64-binutils/pkg-plist
@@ -41,6 +41,7 @@ mips64-freebsd/bin/nm
mips64-freebsd/bin/objcopy
mips64-freebsd/bin/objdump
mips64-freebsd/bin/ranlib
+mips64-freebsd/bin/readelf
mips64-freebsd/bin/strip
mips64-freebsd/bin/size
mips64-freebsd/lib/ldscripts/elf32btsmip.x
diff --git a/devel/powerpc64-binutils/pkg-plist b/devel/powerpc64-binutils/pkg-plist
index 29ad467e184e..a5be6d2b003c 100644
--- a/devel/powerpc64-binutils/pkg-plist
+++ b/devel/powerpc64-binutils/pkg-plist
@@ -41,6 +41,7 @@ powerpc64-freebsd/bin/nm
powerpc64-freebsd/bin/objcopy
powerpc64-freebsd/bin/objdump
powerpc64-freebsd/bin/ranlib
+powerpc64-freebsd/bin/readelf
powerpc64-freebsd/bin/strip
powerpc64-freebsd/bin/size
powerpc64-freebsd/lib/ldscripts/elf32ppc.x
diff --git a/devel/sparc64-binutils/pkg-plist b/devel/sparc64-binutils/pkg-plist
index 2b375d6929e8..d030789f1ad1 100644
--- a/devel/sparc64-binutils/pkg-plist
+++ b/devel/sparc64-binutils/pkg-plist
@@ -41,6 +41,7 @@ sparc64-freebsd/bin/nm
sparc64-freebsd/bin/objcopy
sparc64-freebsd/bin/objdump
sparc64-freebsd/bin/ranlib
+sparc64-freebsd/bin/readelf
sparc64-freebsd/bin/strip
sparc64-freebsd/bin/size
sparc64-freebsd/lib/ldscripts/elf32_sparc.x