aboutsummaryrefslogtreecommitdiff
path: root/devel/binutils
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2016-01-27 07:49:45 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2016-01-27 07:49:45 +0000
commite164a344f177b8f435dcbe1a9e3c87033818e445 (patch)
tree62ae42f4b7004c2ecf9ff7caa0c798fc867c3cb2 /devel/binutils
parent76c76694face53b3afbc8fb5c2d4c7dfb3056eaf (diff)
downloadports-e164a344f177b8f435dcbe1a9e3c87033818e445.tar.gz
ports-e164a344f177b8f435dcbe1a9e3c87033818e445.zip
Notes
Diffstat (limited to 'devel/binutils')
-rw-r--r--devel/binutils/Makefile6
-rw-r--r--devel/binutils/distinfo4
-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-plist20
5 files changed, 228 insertions, 17 deletions
diff --git a/devel/binutils/Makefile b/devel/binutils/Makefile
index 39088b39063f..19274d2d181c 100644
--- a/devel/binutils/Makefile
+++ b/devel/binutils/Makefile
@@ -2,7 +2,8 @@
# $FreeBSD$
PORTNAME= binutils
-PORTVERSION= 2.26
+PORTVERSION= 2.25.1
+PORTEPOCH= 1
PORTREVISION?= 0
CATEGORIES= devel
MASTER_SITES= SOURCEWARE/binutils/releases
@@ -77,9 +78,8 @@ post-install:
${REINPLACE_CMD} '/#include "ansidecl.h"/d' ${STAGEDIR}${PREFIX}/include/bfd.h
.else
.if ${PKGNAMEPREFIX:S/-$//} != ${BUTARGET}
- if [ -d ${STAGEDIR}${PREFIX}/${PKGNAMEPREFIX:S/-$//} ]; then rm -rf ${STAGEDIR}${PREFIX}/${PKGNAMEPREFIX:S/-$//} ; fi
+ ${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
diff --git a/devel/binutils/distinfo b/devel/binutils/distinfo
index 7b78919d849d..6e6df2d6608b 100644
--- a/devel/binutils/distinfo
+++ b/devel/binutils/distinfo
@@ -1,2 +1,2 @@
-SHA256 (binutils-2.26.tar.bz2) = c2ace41809542f5237afc7e3b8f32bb92bc7bc53c6232a84463c423b0714ecd9
-SIZE (binutils-2.26.tar.bz2) = 25543552
+SHA256 (binutils-2.25.1.tar.bz2) = b5b14added7d78a8d1ca70b5cb75fef57ce2197264f4f5835326b0df22ac9f22
+SIZE (binutils-2.25.1.tar.bz2) = 24163561
diff --git a/devel/binutils/files/patch-aarch64.diff b/devel/binutils/files/patch-aarch64.diff
new file mode 100644
index 000000000000..72ecfef2fbb3
--- /dev/null
+++ b/devel/binutils/files/patch-aarch64.diff
@@ -0,0 +1,198 @@
+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
new file mode 100644
index 000000000000..1c599ef88d54
--- /dev/null
+++ b/devel/binutils/files/patch-gas_config_tc-arm.c
@@ -0,0 +1,17 @@
+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 cda382419ac5..963296d84751 100644
--- a/devel/binutils/pkg-plist
+++ b/devel/binutils/pkg-plist
@@ -42,17 +42,9 @@ man/man1/strings.1.gz
man/man1/strip.1.gz
man/man1/windmc.1.gz
man/man1/windres.1.gz
-%%NLS%%%%GOLD%%share/locale/es/LC_MESSAGES/gold.mo
-%%NLS%%%%GOLD%%share/locale/fi/LC_MESSAGES/gold.mo
-%%NLS%%%%GOLD%%share/locale/fr/LC_MESSAGES/gold.mo
-%%NLS%%%%GOLD%%share/locale/id/LC_MESSAGES/gold.mo
-%%NLS%%%%GOLD%%share/locale/it/LC_MESSAGES/gold.mo
-%%NLS%%%%GOLD%%share/locale/vi/LC_MESSAGES/gold.mo
-%%NLS%%%%GOLD%%share/locale/zh_CN/LC_MESSAGES/gold.mo
%%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
@@ -67,6 +59,7 @@ man/man1/windres.1.gz
%%NLS%%share/locale/es/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/es/LC_MESSAGES/ld.mo
%%NLS%%share/locale/es/LC_MESSAGES/opcodes.mo
+%%NLS%%%%GOLD%%share/locale/es/LC_MESSAGES/gold.mo
%%NLS%%share/locale/fi/LC_MESSAGES/bfd.mo
%%NLS%%share/locale/fi/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/fi/LC_MESSAGES/gas.mo
@@ -79,21 +72,24 @@ man/man1/windres.1.gz
%%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%%share/locale/ga/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/ga/LC_MESSAGES/ld.mo
%%NLS%%share/locale/ga/LC_MESSAGES/opcodes.mo
%%NLS%%share/locale/hr/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/hu/LC_MESSAGES/gprof.mo
+%%NLS%%share/locale/id/LC_MESSAGES/gprof.mo
+%%NLS%%share/locale/id/LC_MESSAGES/opcodes.mo
%%NLS%%share/locale/id/LC_MESSAGES/bfd.mo
%%NLS%%share/locale/id/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/id/LC_MESSAGES/gas.mo
-%%NLS%%share/locale/id/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/id/LC_MESSAGES/ld.mo
-%%NLS%%share/locale/id/LC_MESSAGES/opcodes.mo
+%%NLS%%%%GOLD%%share/locale/id/LC_MESSAGES/gold.mo
%%NLS%%share/locale/it/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/it/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/it/LC_MESSAGES/ld.mo
%%NLS%%share/locale/it/LC_MESSAGES/opcodes.mo
+%%NLS%%%%GOLD%%share/locale/it/LC_MESSAGES/gold.mo
%%NLS%%share/locale/ja/LC_MESSAGES/bfd.mo
%%NLS%%share/locale/ja/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/ja/LC_MESSAGES/gas.mo
@@ -117,8 +113,8 @@ 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/binutils.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
%%NLS%%share/locale/sv/LC_MESSAGES/binutils.mo
%%NLS%%share/locale/sv/LC_MESSAGES/gprof.mo
@@ -141,9 +137,9 @@ man/man1/windres.1.gz
%%NLS%%share/locale/vi/LC_MESSAGES/gprof.mo
%%NLS%%share/locale/vi/LC_MESSAGES/ld.mo
%%NLS%%share/locale/vi/LC_MESSAGES/opcodes.mo
+%%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%%share/locale/zh_TW/LC_MESSAGES/binutils.mo