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/gnulibiberty/Makefile =================================================================== --- devel/gnulibiberty/Makefile +++ devel/gnulibiberty/Makefile @@ -2,8 +2,7 @@ # $FreeBSD$ PORTNAME= gnulibiberty -PORTVERSION= 2.19.1 -PORTREVISION= 2 +PORTVERSION= 2.24 CATEGORIES= devel MASTER_SITES= ${MASTER_SITE_SOURCEWARE} MASTER_SITE_SUBDIR= binutils/releases @@ -16,7 +15,7 @@ USES= gmake tar:bzip2 -CONFIGURE_ARGS= --enable-install-libiberty +CONFIGURE_ARGS= --enable-install-libiberty=${PREFIX}/include GNU_CONFIGURE= yes CONFLICTS= freelibiberty-[0-9]* Index: devel/gnulibiberty/distinfo =================================================================== --- devel/gnulibiberty/distinfo +++ devel/gnulibiberty/distinfo @@ -1,2 +1,2 @@ -SHA256 (binutils-2.19.1.tar.bz2) = 3e8225b4d7ace0a2039de752e11fd6922d3b89a7259a292c347391c4788739f6 -SIZE (binutils-2.19.1.tar.bz2) = 16245771 +SHA256 (binutils-2.24.tar.bz2) = e5e8c5be9664e7f7f96e0d09919110ab5ad597794f5b1809871177a0f0f14137 +SIZE (binutils-2.24.tar.bz2) = 22716802 Index: devel/gnulibiberty/files/binutils-gdb.git-1804dbce5a7c0298a98dcedde14ab4d432fad754.patch =================================================================== --- /dev/null +++ devel/gnulibiberty/files/binutils-gdb.git-1804dbce5a7c0298a98dcedde14ab4d432fad754.patch @@ -0,0 +1,140 @@ +From 1804dbce5a7c0298a98dcedde14ab4d432fad754 Mon Sep 17 00:00:00 2001 +From: Andreas Tobler +Date: Wed, 18 Jun 2014 21:58:19 +0200 +Subject: [PATCH] ld/ARM: Add target arm*b-*-freebsd*, update target arm*-*-freebsd*. + +ld/ChangeLog: + +2014-06-18 Andreas Tobler + + * configure.tgt (arm*-*-freebsd*): Update targ_extra_emuls. + (arm*b-*-freebsd*): Add target. + * emulparams/armelfb_fbsd.sh: Added. + * emulparams/armelf_fbsd.sh: Updated. + * Makefile.am (ALL_EMULATION_SOURCES): Add earmelfb_fbsd.c. + * Makefile.in: Regenerate. +--- + ld/ChangeLog | 9 +++++++++ + ld/Makefile.am | 6 ++++++ + ld/Makefile.in | 7 +++++++ + ld/configure.tgt | 6 ++++-- + ld/emulparams/armelf_fbsd.sh | 5 +++++ + ld/emulparams/armelfb_fbsd.sh | 2 ++ + 6 files changed, 33 insertions(+), 2 deletions(-) + create mode 100644 ld/emulparams/armelfb_fbsd.sh + +diff --git a/ld/ChangeLog b/ld/ChangeLog +index ef8234e..c3c2906 100644 +--- a/ld/ChangeLog ++++ b/ld/ChangeLog +@@ -1,3 +1,12 @@ ++2014-06-18 Andreas Tobler ++ ++ * configure.tgt (arm*-*-freebsd*): Update targ_extra_emuls. ++ (arm*b-*-freebsd*): Add target. ++ * emulparams/armelfb_fbsd.sh: Added. ++ * emulparams/armelf_fbsd.sh: Updated. ++ * Makefile.am (ALL_EMULATION_SOURCES): Add earmelfb_fbsd.c. ++ * Makefile.in: Regenerate. ++ + 2014-06-16 Alan Modra + + * scripttempl/elf.sc: Edit out __rela_iplt symbol assignments from +diff --git a/ld/Makefile.am b/ld/Makefile.am +index a22006c..c537fa7 100644 +--- a/ld/Makefile.am ++++ b/ld/Makefile.am +@@ -167,6 +167,7 @@ ALL_EMULATION_SOURCES = \ + earmelf_nbsd.c \ + earmelf_vxworks.c \ + earmelfb.c \ ++ earmelfb_fbsd.c \ + earmelfb_linux.c \ + earmelfb_linux_eabi.c \ + earmelfb_nacl.c \ +@@ -732,6 +733,11 @@ earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ++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} ++ + earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \ + $(srcdir)/emulparams/armelf_linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ +diff --git a/ld/Makefile.in b/ld/Makefile.in +index 1c43066..370a5a5 100644 +--- a/ld/Makefile.in ++++ b/ld/Makefile.in +@@ -474,6 +474,7 @@ ALL_EMULATION_SOURCES = \ + earmelf_nbsd.c \ + earmelf_vxworks.c \ + earmelfb.c \ ++ earmelfb_fbsd.c \ + earmelfb_linux.c \ + earmelfb_linux_eabi.c \ + earmelfb_nacl.c \ +@@ -1065,6 +1066,7 @@ distclean-compile: + @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@ +@@ -2170,6 +2172,11 @@ earmelfb.c: $(srcdir)/emulparams/armelfb.sh $(srcdir)/emulparams/armelf.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ + $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ++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} ++ + earmelfb_linux.c: $(srcdir)/emulparams/armelfb_linux.sh \ + $(srcdir)/emulparams/armelf_linux.sh \ + $(ELF_DEPS) $(srcdir)/emultempl/armelf.em \ +diff --git a/ld/configure.tgt b/ld/configure.tgt +index 0eb743d..a230207 100644 +--- a/ld/configure.tgt ++++ b/ld/configure.tgt +@@ -81,9 +81,11 @@ arm-*-pe) targ_emul=armpe ; targ_extra_ofiles="deffilep.o pe-dll.o" ;; + 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; +diff --git a/ld/emulparams/armelf_fbsd.sh b/ld/emulparams/armelf_fbsd.sh +index ee9520d..5b3ccc6 100644 +--- a/ld/emulparams/armelf_fbsd.sh ++++ b/ld/emulparams/armelf_fbsd.sh +@@ -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 +diff --git a/ld/emulparams/armelfb_fbsd.sh b/ld/emulparams/armelfb_fbsd.sh +new file mode 100644 +index 0000000..a28b476 +--- /dev/null ++++ b/ld/emulparams/armelfb_fbsd.sh +@@ -0,0 +1,2 @@ ++. ${srcdir}/emulparams/armelf_fbsd.sh ++OUTPUT_FORMAT="elf32-bigarm" +-- +1.7.1 + Index: devel/gnulibiberty/files/binutils-gdb.git-e59bc75b6546db04b0f3e1d760567f83ffc801f3.patch =================================================================== --- /dev/null +++ devel/gnulibiberty/files/binutils-gdb.git-e59bc75b6546db04b0f3e1d760567f83ffc801f3.patch @@ -0,0 +1,47 @@ +From e59bc75b6546db04b0f3e1d760567f83ffc801f3 Mon Sep 17 00:00:00 2001 +From: Andreas Tobler +Date: Wed, 7 May 2014 22:52:51 +0200 +Subject: [PATCH] Add proper arm config for *-*-freebsd*. + +--- + bfd/ChangeLog | 4 ++++ + bfd/config.bfd | 4 ++-- + 2 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/bfd/ChangeLog b/bfd/ChangeLog +index fd62c28..0766b7c 100644 +--- a/bfd/ChangeLog ++++ b/bfd/ChangeLog +@@ -1,3 +1,7 @@ ++2014-05-07 Andreas Tobler ++ ++ * config.bfd: Add proper arm config for *-*-freebsd*. ++ + 2014-05-07 Andrew Bennett + + * aoutx.h (NAME (aout, machine_type)): Add mips32r3, mips64r3, +diff --git a/bfd/config.bfd b/bfd/config.bfd +index b58d54f..9407e9c 100644 +--- a/bfd/config.bfd ++++ b/bfd/config.bfd +@@ -329,7 +329,7 @@ case "${targ}" in + targ_defvec=arm_elf32_le_vec + targ_selvecs=arm_elf32_be_vec + ;; +- armeb-*-elf | arm*b-*-linux-*) ++ armeb-*-elf | arm*b-*-freebsd* | arm*b-*-linux-*) + targ_defvec=arm_elf32_be_vec + targ_selvecs=arm_elf32_le_vec + ;; +@@ -337,7 +337,7 @@ case "${targ}" in + targ_defvec=arm_elf32_le_vec + targ_selvecs=arm_elf32_be_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=arm_elf32_le_vec +-- +1.7.1 + Index: devel/gnulibiberty/files/binutils-gdb.git-fb2c6e43b8699da2057e9e33fda09007f112393a.patch =================================================================== --- /dev/null +++ devel/gnulibiberty/files/binutils-gdb.git-fb2c6e43b8699da2057e9e33fda09007f112393a.patch @@ -0,0 +1,128 @@ +From fb2c6e43b8699da2057e9e33fda09007f112393a Mon Sep 17 00:00:00 2001 +From: Andreas Tobler +Date: Mon, 19 May 2014 08:49:55 +0200 +Subject: [PATCH] Don't link FreeBSD tests with -ldl. + + * ld-elf/shared.exp: Introduce the extralibs variable to control + the libraries to be linked. Don't link -ldl on *-*-freebsd*. + + * ld-bootstrap/bootstrap.exp: Do not add -ldl to the extralibs on + *-*-freebsd*. +--- + ld/testsuite/ChangeLog | 8 ++++++++ + ld/testsuite/ld-bootstrap/bootstrap.exp | 4 +++- + ld/testsuite/ld-elf/shared.exp | 31 ++++++++++++++++++------------- + 3 files changed, 29 insertions(+), 14 deletions(-) + +diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog +index 021d17c..b4157ef 100644 +--- a/ld/testsuite/ChangeLog ++++ b/ld/testsuite/ChangeLog +@@ -1,3 +1,11 @@ ++2014-05-19 Andreas Tobler ++ ++ * ld-elf/shared.exp: Introduce the extralibs variable to control ++ the libraries to be linked. Don't link -ldl on *-*-freebsd*. ++ ++ * ld-bootstrap/bootstrap.exp: Do not add -ldl to the extralibs on ++ *-*-freebsd*. ++ + 2014-05-10 Hans-Peter Nilsson + + * ld-mmix/wrap1.d, ld-mmix/wrap1a.s, ld-mmix/wrap1b.s, +diff --git a/ld/testsuite/ld-bootstrap/bootstrap.exp b/ld/testsuite/ld-bootstrap/bootstrap.exp +index 27eb5d0..bbd4fd8 100644 +--- a/ld/testsuite/ld-bootstrap/bootstrap.exp ++++ b/ld/testsuite/ld-bootstrap/bootstrap.exp +@@ -122,7 +122,9 @@ foreach flags $test_flags { + + # 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 +diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp +index 9a17953..0763cd4 100644 +--- a/ld/testsuite/ld-elf/shared.exp ++++ b/ld/testsuite/ld-elf/shared.exp +@@ -37,6 +37,11 @@ if { [which $CC] == 0 } { + return + } + ++# Add -ldl to extralibs if needed ++if { ![istarget *-*-freebsd*]} { ++ set extralibs "-ldl" ++} ++ + set build_tests { + {"Build libfoo.so" + "-shared" "-fPIC" +@@ -275,10 +280,10 @@ set run_tests { + "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" "" +@@ -308,37 +313,37 @@ set run_tests { + "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" "" +-- +1.7.1 + Index: devel/gnulibiberty/files/patch-Makefile.in =================================================================== --- devel/gnulibiberty/files/patch-Makefile.in +++ devel/gnulibiberty/files/patch-Makefile.in @@ -1,19 +1,28 @@ ---- Makefile.in.orig Thu Jul 24 15:51:49 2008 -+++ Makefile.in Mon Apr 6 09:05:19 2009 -@@ -348,11 +348,15 @@ - INSTALL_DEST = @INSTALL_DEST@ - install: install_to_$(INSTALL_DEST) install-subdir +--- Makefile.in.orig 2013-11-04 10:33:40.000000000 -0500 ++++ Makefile.in 2014-06-24 10:22:37.000000000 -0400 +@@ -349,11 +349,15 @@ + + .PHONY: install install-strip +## FreeBSD port removed this: otherwise, FreeBSD 6.x would end up installing +## in ${prefix}/lib/elf rather than ${prefix}/lib +## # This is tricky. Even though CC in the Makefile contains # multilib-specific flags, it's overridden by FLAGS_TO_PASS from the - # default multilib, so we have to take LIBCFLAGS into account as well, + # default multilib, so we have to take CFLAGS into account as well, # since it will be passed the multilib flags. --MULTIOSDIR = `$(CC) $(LIBCFLAGS) -print-multi-os-directory` -+##MULTIOSDIR = `$(CC) $(LIBCFLAGS) -print-multi-os-directory` +-MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory` ++##MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory` +MULTIOSDIR = . install_to_libdir: all - ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR) - $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n + if test -n "${target_header_dir}"; then \ + ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \ +@@ -361,7 +365,7 @@ + ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \ + mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \ + case "${target_header_dir}" in \ +- /*) thd=${target_header_dir};; \ ++ /*) thd=${target_header_dir}/libiberty;; \ + *) thd=${includedir}/${target_header_dir};; \ + esac; \ + ${mkinstalldirs} $(DESTDIR)$${thd}; \ Index: devel/gnulibiberty/files/patch-configure =================================================================== --- devel/gnulibiberty/files/patch-configure +++ devel/gnulibiberty/files/patch-configure @@ -1,31 +1,11 @@ ---- configure.orig Fri Apr 7 02:01:25 2006 -+++ configure Tue Oct 10 13:00:57 2006 -@@ -5679,6 +5679,14 @@ - - fi - -+ -+else -+ -+ # Not a target library, so we set things up to run the test suite. -+ CHECK=really-check -+ -+fi -+ - # We may wish to install the target headers somewhere. - # Check whether --enable-install-libiberty or --disable-install-libiberty was given. - if test "${enable_install_libiberty+set}" = set; then -@@ -5701,13 +5709,6 @@ - ;; - esac - -- --else -- -- # Not a target library, so we set things up to run the test suite. -- CHECK=really-check -- --fi - - +--- configure.orig 2013-11-08 05:13:49.000000000 -0500 ++++ configure 2014-06-24 10:08:53.000000000 -0400 +@@ -5507,7 +5507,7 @@ + + setobjs= + CHECK= +-target_header_dir= ++# target_header_dir= + if test -n "${with_target_subdir}"; then + # We are being configured as a target library. AC_REPLACE_FUNCS