Index: devel/binutils/Makefile =================================================================== --- devel/binutils/Makefile +++ devel/binutils/Makefile @@ -3,6 +3,7 @@ PORTNAME= binutils PORTVERSION= 2.24 +PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_SOURCEWARE} MASTER_SITE_SUBDIR= binutils/releases @@ -23,7 +24,7 @@ LICENSE_FILE_GPLv3= ${WRKSRC}/COPYING3 LICENSE_FILE_LGPL3= ${WRKSRC}/COPYING3.LIB -USES= bison tar:bzip2 gmake +USES= bison gmake libtool tar:bzip2 GNU_CONFIGURE= yes CFLAGS+= -I${LOCALBASE}/include @@ -42,6 +43,10 @@ configure \ ld +OPTIONS_SUB= yes +NLS_USES= gettext +NLS_CONFIGURE_ENABLE= nls + .include # Actual earliest version may differ slightly @@ -52,14 +57,6 @@ PLIST_SUB+= GOLD="@comment " .endif -.if ${PORT_OPTIONS:MNLS} -USES+= gettext -PLIST_SUB+= NLS="" -.else -CONFIGURE_ARGS+= --disable-nls -PLIST_SUB+= NLS="@comment " -.endif - .if ${ARCH} == "amd64" CONFIGURE_TARGET= x86_64-portbld-freebsd${OSREL} .else @@ -75,5 +72,6 @@ @${FIND} -ds ${STAGEDIR}${PREFIX}/${CONFIGURE_TARGET} -type d | \ ${SED} -e 's,^${STAGEDIR}${PREFIX}/,@dirrm ,' >> ${TMPPLIST} ${RM} ${STAGEDIR}${PREFIX}/include/ansidecl.h + ${REINPLACE_CMD} '/#include "ansidecl.h"/d' ${STAGEDIR}${PREFIX}/include/bfd.h .include Index: devel/binutils/files/patch-bfd__config.bfd =================================================================== --- /dev/null +++ devel/binutils/files/patch-bfd__config.bfd @@ -0,0 +1,20 @@ +--- ./bfd/config.bfd.orig 2013-11-04 07:33:37.000000000 -0800 ++++ ./bfd/config.bfd 2014-08-28 21:17:48.234707514 -0700 +@@ -323,7 +323,7 @@ + targ_defvec=bfd_elf32_littlearm_vec + targ_selvecs=bfd_elf32_bigarm_vec + ;; +- armeb-*-elf | arm*b-*-linux-*) ++ armeb-*-elf | arm*b-*-freebsd* | arm*b-*-linux-*) + targ_defvec=bfd_elf32_bigarm_vec + targ_selvecs=bfd_elf32_littlearm_vec + ;; +@@ -331,7 +331,7 @@ + targ_defvec=bfd_elf32_littlearm_vec + targ_selvecs=bfd_elf32_bigarm_vec + ;; +- arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ ++ arm-*-elf | arm*-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ + arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ + arm*-*-eabi* ) + targ_defvec=bfd_elf32_littlearm_vec Index: devel/binutils/files/patch-gas-Makefile.am =================================================================== --- /dev/null +++ devel/binutils/files/patch-gas-Makefile.am @@ -0,0 +1,16 @@ +Index: files/patch-gas-Makefile.am +=================================================================== +--- files/patch-gas-Makefile.am (revision 0) ++++ files/patch-gas-Makefile.am (working copy) +@@ -0,0 +1,11 @@ ++--- gas/Makefile.am.orig 1970-01-01 00:12:34.000000000 +0000 +++++ gas/Makefile.am 1970-01-01 00:13:11.000000000 +0000 ++@@ -296,6 +296,8 @@ ++ config/te-386bsd.h \ ++ config/te-aix5.h \ ++ config/te-armeabi.h \ +++ config/te-armfbsddeabi.h \ +++ config/te-armfbsdvfp.h \ ++ config/te-armlinuxeabi.h \ ++ config/te-dynix.h \ ++ config/te-epoc-pe.h \ Index: devel/binutils/files/patch-gas-Makefile.in =================================================================== --- /dev/null +++ devel/binutils/files/patch-gas-Makefile.in @@ -0,0 +1,16 @@ +Index: files/patch-gas-Makefile.in +=================================================================== +--- files/patch-gas-Makefile.in (revision 0) ++++ files/patch-gas-Makefile.in (working copy) +@@ -0,0 +1,11 @@ ++--- gas/Makefile.in.orig 1970-01-01 00:12:39.000000000 +0000 +++++ gas/Makefile.in 1970-01-01 00:13:39.000000000 +0000 ++@@ -565,6 +565,8 @@ ++ config/te-386bsd.h \ ++ config/te-aix5.h \ ++ config/te-armeabi.h \ +++ config/te-armfbsddeabi.h \ +++ config/te-armfbsdvfp.h \ ++ config/te-armlinuxeabi.h \ ++ config/te-dynix.h \ ++ config/te-epoc-pe.h \ Index: devel/binutils/files/patch-gas-config-te-armfbsdeabi.h =================================================================== --- /dev/null +++ devel/binutils/files/patch-gas-config-te-armfbsdeabi.h @@ -0,0 +1,30 @@ +Index: files/patch-gas-config-te-armfbsdeabi.h +=================================================================== +--- files/patch-gas-config-te-armfbsdeabi.h (revision 0) ++++ files/patch-gas-config-te-armfbsdeabi.h (working copy) +@@ -0,0 +1,25 @@ ++--- gas/config/te-armfbsdeabi.h.orig 1970-01-01 00:14:12.000000000 +0000 +++++ gas/config/te-armfbsdeabi.h 1970-01-01 00:14:37.000000000 +0000 ++@@ -0,0 +1,22 @@ +++/* Copyright (C) 2004-2014 Free Software Foundation, Inc. +++ +++ This file is part of GAS, the GNU Assembler. +++ +++ GAS 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 3, +++ or (at your option) any later version. +++ +++ GAS 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 GAS; see the file COPYING. If not, write to the Free +++ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA +++ 02110-1301, USA. */ +++ +++#include "te-freebsd.h" +++ +++#define EABI_DEFAULT EF_ARM_EABI_VER5 Index: devel/binutils/files/patch-gas-config-te-armfbsdvfp.h =================================================================== --- /dev/null +++ devel/binutils/files/patch-gas-config-te-armfbsdvfp.h @@ -0,0 +1,30 @@ +Index: files/patch-gas-config-te-armfbsdvfp.h +=================================================================== +--- files/patch-gas-config-te-armfbsdvfp.h (revision 0) ++++ files/patch-gas-config-te-armfbsdvfp.h (working copy) +@@ -0,0 +1,25 @@ ++--- gas/config/te-armfbsdvfp.h.orig 1970-01-01 00:14:52.000000000 +0000 +++++ gas/config/te-armfbsdvfp.h 1970-01-01 00:14:41.000000000 +0000 ++@@ -0,0 +1,22 @@ +++/* Copyright (C) 2004-2014 Free Software Foundation, Inc. +++ +++ This file is part of GAS, the GNU Assembler. +++ +++ GAS 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 3, +++ or (at your option) any later version. +++ +++ GAS 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 GAS; see the file COPYING. If not, write to the Free +++ Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA +++ 02110-1301, USA. */ +++ +++#include "te-armfbsdeabi.h" +++ +++#define FPU_DEFAULT FPU_ARCH_VFP Index: devel/binutils/files/patch-gas-configure.tgt =================================================================== --- /dev/null +++ devel/binutils/files/patch-gas-configure.tgt @@ -0,0 +1,17 @@ +Index: files/patch-gas-configure.tgt +=================================================================== +--- files/patch-gas-configure.tgt (revision 0) ++++ files/patch-gas-configure.tgt (working copy) +@@ -0,0 +1,12 @@ ++--- gas/configure.tgt.orig 1970-01-01 00:15:16.000000000 +0000 +++++ gas/configure.tgt 1970-01-01 00:16:31.000000000 +0000 ++@@ -136,6 +136,9 @@ ++ arm-*-symbianelf*) fmt=elf em=symbian ;; ++ arm-*-kaos*) fmt=elf ;; ++ arm-*-conix*) fmt=elf ;; +++ arm-*-freebsd9* | armeb-*-freebsd9*) fmt=elf em=freebsd ;; +++ arm-*-freebsd* | armeb-*-freebsd*) fmt=elf em=armfbsdeabi ;; +++ arm*-*-freebsd*) fmt=elf em=armfbsdvfp ;; ++ arm-*-linux*aout*) fmt=aout em=linux ;; ++ arm-*-linux-*eabi*) fmt=elf em=armlinuxeabi ;; ++ arm-*-linux-*) fmt=elf em=linux ;; Index: devel/binutils/files/patch-ld__Makefile.am =================================================================== --- /dev/null +++ devel/binutils/files/patch-ld__Makefile.am @@ -0,0 +1,22 @@ +--- ./ld/Makefile.am.orig 2013-11-26 03:37:33.000000000 -0800 ++++ ./ld/Makefile.am 2014-08-28 21:20:47.630695433 -0700 +@@ -165,6 +165,7 @@ + earmelf_nbsd.c \ + earmelf_vxworks.c \ + earmelfb.c \ ++ earmelfb_fbsd.c \ + earmelfb_linux.c \ + earmelfb_linux_eabi.c \ + earmelfb_nacl.c \ +@@ -765,6 +766,11 @@ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} armelfb "$(tdir_armelfb)" ++earmelfb_fbsd.c: $(srcdir)/emulparams/armelfb_fbsd.sh \ ++ $(srcdir)/emulparams/armelf_fbsd.sh \ ++ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ ++ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ++ ${GENSCRIPTS} armelfb_fbsd "$(tdir_armelfb_fbsd)" + earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \ + $(srcdir)/emulparams/armelf_linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ Index: devel/binutils/files/patch-ld__Makefile.in =================================================================== --- /dev/null +++ devel/binutils/files/patch-ld__Makefile.in @@ -0,0 +1,30 @@ +--- ./ld/Makefile.in.orig 2013-11-26 03:37:33.000000000 -0800 ++++ ./ld/Makefile.in 2014-08-28 21:21:57.661692326 -0700 +@@ -473,6 +473,7 @@ + earmelf_nbsd.c \ + earmelf_vxworks.c \ + earmelfb.c \ ++ earmelfb_fbsd.c \ + earmelfb_linux.c \ + earmelfb_linux_eabi.c \ + earmelfb_nacl.c \ +@@ -1109,6 +1110,7 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_nbsd.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_vxworks.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb.Po@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_fbsd.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_linux.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_linux_eabi.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelfb_nacl.Po@am__quote@ +@@ -2249,6 +2251,11 @@ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} armelfb "$(tdir_armelfb)" ++earmelfb_fbsd.c: $(srcdir)/emulparams/armelfb_fbsd.sh \ ++ $(srcdir)/emulparams/armelf_fbsd.sh \ ++ $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ ++ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ++ ${GENSCRIPTS} armelfb_fbsd "$(tdir_armelfb_fbsd)" + earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \ + $(srcdir)/emulparams/armelf_linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ Index: devel/binutils/files/patch-ld__configure.tgt =================================================================== --- /dev/null +++ devel/binutils/files/patch-ld__configure.tgt @@ -0,0 +1,16 @@ +--- ./ld/configure.tgt.orig 2013-11-26 03:37:33.000000000 -0800 ++++ ./ld/configure.tgt 2014-08-28 21:17:48.268707356 -0700 +@@ -81,9 +81,11 @@ + arm-*-aout | armel-*-aout) targ_emul=armaoutl ;; + armeb-*-aout) targ_emul=armaoutb ;; + arm-*-coff) targ_emul=armcoff ;; +-arm-*-freebsd* | arm-*-kfreebsd*-gnu) ++arm*b-*-freebsd*) targ_emul=armelfb_fbsd ++ targ_extra_emuls="armelf_fbsd armelf" ;; ++arm*-*-freebsd* | arm-*-kfreebsd*-gnu) + targ_emul=armelf_fbsd +- targ_extra_emuls="armelf" ;; ++ targ_extra_emuls="armelfb_fbsd armelf" ;; + armeb-*-netbsdelf*) targ_emul=armelfb_nbsd; + targ_extra_emuls="armelf_nbsd armelf armnbsd" ;; + arm-*-netbsdelf*) targ_emul=armelf_nbsd; Index: devel/binutils/files/patch-ld__emulparams__armelf_fbsd.sh =================================================================== --- /dev/null +++ devel/binutils/files/patch-ld__emulparams__armelf_fbsd.sh @@ -0,0 +1,11 @@ +--- ./ld/emulparams/armelf_fbsd.sh.orig 2013-11-04 07:33:39.000000000 -0800 ++++ ./ld/emulparams/armelf_fbsd.sh 2014-08-28 21:17:48.270707777 -0700 +@@ -1,3 +1,8 @@ + . ${srcdir}/emulparams/armelf.sh + . ${srcdir}/emulparams/elf_fbsd.sh + TARGET2_TYPE=got-rel ++MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" ++GENERATE_PIE_SCRIPT=yes ++ ++unset STACK_ADDR ++unset EMBEDDED Index: devel/binutils/files/patch-ld__emulparams__armelfb_fbsd.sh =================================================================== --- /dev/null +++ devel/binutils/files/patch-ld__emulparams__armelfb_fbsd.sh @@ -0,0 +1,5 @@ +--- ./ld/emulparams/armelfb_fbsd.sh.orig 2014-08-28 21:17:48.271708869 -0700 ++++ ./ld/emulparams/armelfb_fbsd.sh 2014-08-28 21:17:48.272707469 -0700 +@@ -0,0 +1,2 @@ ++. ${srcdir}/emulparams/armelf_fbsd.sh ++OUTPUT_FORMAT="elf32-bigarm" Index: devel/binutils/files/patch-ld__testsuite__ld-bootstrap__bootstrap.exp =================================================================== --- /dev/null +++ devel/binutils/files/patch-ld__testsuite__ld-bootstrap__bootstrap.exp @@ -0,0 +1,13 @@ +--- ./ld/testsuite/ld-bootstrap/bootstrap.exp.orig 2013-11-04 07:33:39.000000000 -0800 ++++ ./ld/testsuite/ld-bootstrap/bootstrap.exp 2014-08-28 21:17:48.274707563 -0700 +@@ -115,7 +115,9 @@ + + # Plugin support requires linking with libdl. + if { $plugins == "yes" } { +- set extralibs "$extralibs -ldl" ++ if { ![istarget "*-*-freebsd*"]} { ++ set extralibs "$extralibs -ldl" ++ } + } + + # On Irix 5, linking with --static only works if all the files are Index: devel/binutils/files/patch-ld__testsuite__ld-elf__shared.exp =================================================================== --- /dev/null +++ devel/binutils/files/patch-ld__testsuite__ld-elf__shared.exp @@ -0,0 +1,76 @@ +--- ./ld/testsuite/ld-elf/shared.exp.orig 2013-11-04 07:33:39.000000000 -0800 ++++ ./ld/testsuite/ld-elf/shared.exp 2014-08-28 21:17:48.276707546 -0700 +@@ -38,6 +38,11 @@ + return + } + ++# Add -ldl to extralibs if needed ++if { ![istarget *-*-freebsd*]} { ++ set extralibs "-ldl" ++} ++ + set build_tests { + {"Build libfoo.so" + "-shared" "-fPIC" +@@ -252,10 +257,10 @@ + "tmpdir/libbarhfoov.so tmpdir/libfoov.so" "" + {main.c} "hidden" "hidden.out"} + {"Run dl1a with --dynamic-list=dl1.list and dlopen on libdl1.so" +- "--dynamic-list=dl1.list -ldl" "" ++ "--dynamic-list=dl1.list $extralibs" "" + {dl1main.c} "dl1a" "dl1.out"} + {"Run dl1b with --dynamic-list-data and dlopen on libdl1.so" +- "--dynamic-list-data -ldl" "" ++ "--dynamic-list-data $extralibs" "" + {dl1main.c} "dl1b" "dl1.out"} + {"Run with libdl2a.so" + "tmpdir/libdl2a.so" "" +@@ -285,37 +290,37 @@ + "tmpdir/libdl4f.so" "" + {dl4main.c} "dl4f" "dl4a.out"} + {"Run dl6a1 with --dynamic-list-data and dlopen on libdl6a.so" +- "--dynamic-list-data -ldl" "" ++ "--dynamic-list-data $extralibs" "" + {dl6amain.c} "dl6a1" "dl6a.out"} + {"Run dl6a2 with -Bsymbolic-functions and dlopen on libdl6a.so" +- "-Bsymbolic-functions -ldl" "" ++ "-Bsymbolic-functions $extralibs" "" + {dl6amain.c} "dl6a2" "dl6b.out"} + {"Run dl6a3 with -Bsymbolic and dlopen on libdl6a.so" +- "-Bsymbolic -ldl" "" ++ "-Bsymbolic $extralibs" "" + {dl6amain.c} "dl6a3" "dl6b.out"} + {"Run dl6a4 with -Bsymbolic --dynamic-list-data and dlopen on libdl6a.so" +- "-Bsymbolic --dynamic-list-data -ldl" "" ++ "-Bsymbolic --dynamic-list-data $extralibs" "" + {dl6amain.c} "dl6a4" "dl6a.out"} + {"Run dl6a5 with -Bsymbolic-functions --dynamic-list-cpp-new and dlopen on libdl6a.so" +- "-Bsymbolic-functions --dynamic-list-cpp-new -ldl" "" ++ "-Bsymbolic-functions --dynamic-list-cpp-new $extralibs" "" + {dl6amain.c} "dl6a5" "dl6b.out"} + {"Run dl6a6 with --dynamic-list-cpp-new -Bsymbolic-functions and dlopen on libdl6a.so" +- "--dynamic-list-cpp-new -Bsymbolic-functions -ldl" "" ++ "--dynamic-list-cpp-new -Bsymbolic-functions $extralibs" "" + {dl6amain.c} "dl6a6" "dl6b.out"} + {"Run dl6a7 with --dynamic-list-data -Bsymbolic and dlopen on libdl6a.so" +- "--dynamic-list-data -Bsymbolic -ldl" "" ++ "--dynamic-list-data -Bsymbolic $extralibs" "" + {dl6amain.c} "dl6a7" "dl6a.out"} + {"Run dl6b1 with --dynamic-list-data and dlopen on libdl6b.so" +- "--dynamic-list-data -ldl" "" ++ "--dynamic-list-data $extralibs" "" + {dl6bmain.c} "dl6b1" "dl6a.out"} + {"Run dl6b2 with dlopen on libdl6b.so" +- "-ldl" "" ++ "$extralibs" "" + {dl6bmain.c} "dl6b2" "dl6b.out"} + {"Run dl6c1 with --dynamic-list-data and dlopen on libdl6c.so" +- "--dynamic-list-data -ldl" "" ++ "--dynamic-list-data $extralibs" "" + {dl6cmain.c} "dl6c1" "dl6b.out"} + {"Run dl6d1 with --dynamic-list-data and dlopen on libdl6d.so" +- "--dynamic-list-data -ldl" "" ++ "--dynamic-list-data $extralibs" "" + {dl6dmain.c} "dl6d1" "dl6b.out"} + {"Run with libdata1.so" + "tmpdir/libdata1.so" "" Index: devel/binutils/pkg-plist =================================================================== --- devel/binutils/pkg-plist +++ devel/binutils/pkg-plist @@ -22,9 +22,7 @@ %%GOLD%%include/plugin-api.h include/symcat.h lib/libbfd.a -lib/libbfd.la lib/libopcodes.a -lib/libopcodes.la man/man1/addr2line.1.gz man/man1/ar.1.gz man/man1/as.1.gz