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 @@ -75,5 +76,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-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" ""