diff options
author | Baptiste Daroussin <bapt@FreeBSD.org> | 2016-01-27 07:49:45 +0000 |
---|---|---|
committer | Baptiste Daroussin <bapt@FreeBSD.org> | 2016-01-27 07:49:45 +0000 |
commit | e164a344f177b8f435dcbe1a9e3c87033818e445 (patch) | |
tree | 62ae42f4b7004c2ecf9ff7caa0c798fc867c3cb2 /devel/binutils | |
parent | 76c76694face53b3afbc8fb5c2d4c7dfb3056eaf (diff) | |
download | ports-e164a344f177b8f435dcbe1a9e3c87033818e445.tar.gz ports-e164a344f177b8f435dcbe1a9e3c87033818e445.zip |
Notes
Diffstat (limited to 'devel/binutils')
-rw-r--r-- | devel/binutils/Makefile | 6 | ||||
-rw-r--r-- | devel/binutils/distinfo | 4 | ||||
-rw-r--r-- | devel/binutils/files/patch-aarch64.diff | 198 | ||||
-rw-r--r-- | devel/binutils/files/patch-gas_config_tc-arm.c | 17 | ||||
-rw-r--r-- | devel/binutils/pkg-plist | 20 |
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 |