summaryrefslogtreecommitdiff
path: root/system/binutils
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2018-10-12 03:45:25 +0000
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2018-10-12 03:45:25 +0000
commit2eee79ea09767d7a0bf61cba883ecefe9f9766e2 (patch)
tree0b304782df844d13c95241d3fd83b25d06b7a2d7 /system/binutils
parentbf6afdd93b7cc4978a3952e3da757826273442ce (diff)
downloadpackages-2eee79ea09767d7a0bf61cba883ecefe9f9766e2.tar.gz
packages-2eee79ea09767d7a0bf61cba883ecefe9f9766e2.tar.bz2
packages-2eee79ea09767d7a0bf61cba883ecefe9f9766e2.tar.xz
packages-2eee79ea09767d7a0bf61cba883ecefe9f9766e2.zip
system/binutils: major bugfix bump to 2.31.1
Diffstat (limited to 'system/binutils')
-rw-r--r--system/binutils/APKBUILD10
-rw-r--r--system/binutils/CVE-2017-7614.patch84
-rw-r--r--system/binutils/disable-ifunc-tests.patch18
-rw-r--r--system/binutils/hash-style-configure-flag.patch348
-rw-r--r--system/binutils/mips-illegal-memcpy.patch11
5 files changed, 13 insertions, 458 deletions
diff --git a/system/binutils/APKBUILD b/system/binutils/APKBUILD
index 57eb9688c..d8fc3e7c5 100644
--- a/system/binutils/APKBUILD
+++ b/system/binutils/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Adelie Platform Group <adelie-devel@lists.adelielinux.org>
pkgname=binutils
-pkgver=2.30
-pkgrel=2
+pkgver=2.31.1
+pkgrel=0
pkgdesc="Tools necessary to build programs"
url="http://www.gnu.org/software/binutils/"
depends=""
@@ -19,7 +19,6 @@ source="http://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz
disable-gnu-mbind.patch
disable-ifunc-tests.patch
disable-preinit-array-tests.patch
- mips-illegal-memcpy.patch
remove-no-static-plt-test.patch
remove-pr2404-tests.patch
remove-pr19719-test.patch
@@ -111,12 +110,11 @@ libs() {
mv "$pkgdir"/usr/lib/lib*.so "$subpkgdir"/usr/lib/
}
-sha512sums="e747ea20d8d79fcd21b9d9f6695059caa7189d60f19256da398e34b789fea9a133c32b192e9693b5828d27683739b0198431bf8b3e39fb3b04884cf89d9aa839 binutils-2.30.tar.xz
+sha512sums="0fca326feb1d5f5fe505a827b20237fe3ec9c13eaf7ec7e35847fd71184f605ba1cefe1314b1b8f8a29c0aa9d88162849ee1c1a3e70c2f7407d88339b17edb30 binutils-2.31.1.tar.xz
ecee33b0e435aa704af1c334e560f201638ff79e199aa11ed78a72f7c9b46f85fbb227af5748e735fd681d1965fcc42ac81b0c8824e540430ce0c706c81e8b49 binutils-ld-fix-static-linking.patch
d378fdf1964f8f2bd0b1e62827ac5884bdf943aa435ec89c29fc84bb045d406b733fffaff8fdd8bd1cba8ddea7701c4cf6ccf3ed76a8a3df9c72b447737575a6 disable-gnu-mbind.patch
-ba2b5c8cdfa95db7a1f05da8a2c1ffc3bcb35300abf7061e52249d9b29037e3fdef1aed830686bca2df74b9f5d48684e9c8e2f49715455bf90dca6e3bfc077eb disable-ifunc-tests.patch
+474ab24097bbb5b24433620549e5234fe65c547824c1342f693c718ffbc81e2d968259cce2d650b55200dd1ec89da207ea2db10c551cd9941285c4600b4297b2 disable-ifunc-tests.patch
3537752e63cef0b5ef136d003ff7e814ba66b12624d817430112d0f291a792e8960fa69a78036f526af835441b3ee483d6a53d55c7b3dd8ee96f0399682dbcbe disable-preinit-array-tests.patch
-06422157349abf02e79a5ef8bd9f51100e7e996aab65250d518e0cf0d7ac8ed922d3bf1603c4f5b4fd8fb179266b7b4c41db32dcb241d60a7f1c21d1df0c36dd mips-illegal-memcpy.patch
b40f9a3841a7af8fc12e8a4044cd672df5614bfda8461b0ca45efa57a42c3bc8490e491ea490c6c05d319a52d69993c4fca33a0aeb044090e7b7f4e4e30c6517 remove-no-static-plt-test.patch
32ab4215669c728648179c124632467573a3d4675e79f0f0d221c22eb2ec1ca5488b79910bd09142f90a1e0d0b81d99ca4846297f4f9561f158db63745facb66 remove-pr2404-tests.patch
a193d1fa7f42d91915960460a15e4d24e0df529d81e23014bcf45d283fae76bb7b300fdcb0d0a9d521cdb9137322efa1dc357112596d6ae7a7fd05988ac359b9 remove-pr19719-test.patch
diff --git a/system/binutils/CVE-2017-7614.patch b/system/binutils/CVE-2017-7614.patch
deleted file mode 100644
index 5f3b550f2..000000000
--- a/system/binutils/CVE-2017-7614.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-From ad32986fdf9da1c8748e47b8b45100398223dba8 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc@redhat.com>
-Date: Tue, 4 Apr 2017 11:23:36 +0100
-Subject: [PATCH] Fix null pointer dereferences when using a link built with
- clang.
-
- PR binutils/21342
- * elflink.c (_bfd_elf_define_linkage_sym): Prevent null pointer
- dereference.
- (bfd_elf_final_link): Only initialize the extended symbol index
- section if there are extended symbol tables to list.
----
- bfd/elflink.c | 35 +++++++++++++++++++++--------------
- 2 files changed, 29 insertions(+), 14 deletions(-)
-
-diff --git a/bfd/elflink.c b/bfd/elflink.c
-index 776357f..9bf75c8 100644
---- a/bfd/elflink.c
-+++ b/bfd/elflink.c
-@@ -119,15 +119,18 @@ _bfd_elf_define_linkage_sym (bfd *abfd,
- defined in shared libraries can't be overridden, because we
- lose the link to the bfd which is via the symbol section. */
- h->root.type = bfd_link_hash_new;
-+ bh = &h->root;
- }
-+ else
-+ bh = NULL;
-
-- bh = &h->root;
- bed = get_elf_backend_data (abfd);
- if (!_bfd_generic_link_add_one_symbol (info, abfd, name, BSF_GLOBAL,
- sec, 0, NULL, FALSE, bed->collect,
- &bh))
- return NULL;
- h = (struct elf_link_hash_entry *) bh;
-+ BFD_ASSERT (h != NULL);
- h->def_regular = 1;
- h->non_elf = 0;
- h->root.linker_def = 1;
-@@ -12038,24 +12041,28 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
- {
- /* Finish up and write out the symbol string table (.strtab)
- section. */
-- Elf_Internal_Shdr *symstrtab_hdr;
-+ Elf_Internal_Shdr *symstrtab_hdr = NULL;
- file_ptr off = symtab_hdr->sh_offset + symtab_hdr->sh_size;
-
-- symtab_shndx_hdr = & elf_symtab_shndx_list (abfd)->hdr;
-- if (symtab_shndx_hdr != NULL && symtab_shndx_hdr->sh_name != 0)
-+ if (elf_symtab_shndx_list (abfd))
- {
-- symtab_shndx_hdr->sh_type = SHT_SYMTAB_SHNDX;
-- symtab_shndx_hdr->sh_entsize = sizeof (Elf_External_Sym_Shndx);
-- symtab_shndx_hdr->sh_addralign = sizeof (Elf_External_Sym_Shndx);
-- amt = bfd_get_symcount (abfd) * sizeof (Elf_External_Sym_Shndx);
-- symtab_shndx_hdr->sh_size = amt;
-+ symtab_shndx_hdr = & elf_symtab_shndx_list (abfd)->hdr;
-
-- off = _bfd_elf_assign_file_position_for_section (symtab_shndx_hdr,
-- off, TRUE);
-+ if (symtab_shndx_hdr != NULL && symtab_shndx_hdr->sh_name != 0)
-+ {
-+ symtab_shndx_hdr->sh_type = SHT_SYMTAB_SHNDX;
-+ symtab_shndx_hdr->sh_entsize = sizeof (Elf_External_Sym_Shndx);
-+ symtab_shndx_hdr->sh_addralign = sizeof (Elf_External_Sym_Shndx);
-+ amt = bfd_get_symcount (abfd) * sizeof (Elf_External_Sym_Shndx);
-+ symtab_shndx_hdr->sh_size = amt;
-
-- if (bfd_seek (abfd, symtab_shndx_hdr->sh_offset, SEEK_SET) != 0
-- || (bfd_bwrite (flinfo.symshndxbuf, amt, abfd) != amt))
-- return FALSE;
-+ off = _bfd_elf_assign_file_position_for_section (symtab_shndx_hdr,
-+ off, TRUE);
-+
-+ if (bfd_seek (abfd, symtab_shndx_hdr->sh_offset, SEEK_SET) != 0
-+ || (bfd_bwrite (flinfo.symshndxbuf, amt, abfd) != amt))
-+ return FALSE;
-+ }
- }
-
- symstrtab_hdr = &elf_tdata (abfd)->strtab_hdr;
---
-2.9.3
-
diff --git a/system/binutils/disable-ifunc-tests.patch b/system/binutils/disable-ifunc-tests.patch
index 6fbc5c874..b50d20b0e 100644
--- a/system/binutils/disable-ifunc-tests.patch
+++ b/system/binutils/disable-ifunc-tests.patch
@@ -1,12 +1,12 @@
---- binutils-2.30/ld/testsuite/ld-ifunc/ifunc.exp.old 2018-01-13 07:31:16.000000000 -0600
-+++ binutils-2.30/ld/testsuite/ld-ifunc/ifunc.exp 2018-02-27 14:46:07.596544780 -0600
-@@ -36,7 +36,8 @@
- || (([istarget "*-*-linux*"]
- || [istarget "*-*-gnu*"])
- && ![istarget "*-*-*aout*"]
-- && ![istarget "*-*-*oldld*"]))) } {
-+ && ![istarget "*-*-*oldld*"]
-+ && ![istarget "*-*-*musl*"]))) } {
+--- binutils-2.31.1/ld/testsuite/ld-ifunc/ifunc.exp.old 2018-06-27 07:55:16.000000000 +0000
++++ binutils-2.31.1/ld/testsuite/ld-ifunc/ifunc.exp 2018-10-12 03:23:09.240000000 +0000
+@@ -34,7 +34,8 @@
+ && ([istarget "*-*-elf*"]
+ || [istarget "*-*-nacl*"]
+ || [istarget "*-*-linux*"]
+- || [istarget "*-*-gnu*"])) } {
++ || [istarget "*-*-gnu*"])
++ && ![istarget "*-*-musl*"]) } {
verbose "IFUNC tests not run - target does not support IFUNC"
return
}
diff --git a/system/binutils/hash-style-configure-flag.patch b/system/binutils/hash-style-configure-flag.patch
deleted file mode 100644
index 6d4db4bca..000000000
--- a/system/binutils/hash-style-configure-flag.patch
+++ /dev/null
@@ -1,348 +0,0 @@
-From 2760f24c4942853eac7b921e4b8843d57a602654 Mon Sep 17 00:00:00 2001
-From: Romain Geissler <romain.geissler@gmail.com>
-Date: Tue, 8 Aug 2017 07:25:39 +0930
-Subject: [PATCH] Add configure flag to enable gnu hash style by default.
-
-ld/
- * configure.ac: Add --enable-default-hash-style option.
- * ldmain.c (main): Set link_info.emit_hash to DEFAULT_EMIT_SYSV_HASH.
- Set link_info.emit_gnu_hash to DEFAULT_EMIT_GNU_HASH.
- * configure: Regenerate.
- * config.in: Regenerate.
-
-gold/
- * configure.ac: Add --enable-default-hash-style option.
- * options.h (hash_style): Use DEFAULT_HASH_STYLE as default value.
- * configure: Regenerate.
- * config.in: Regenerate.
----
- gold/ChangeLog | 8 ++++++++
- gold/config.in | 3 +++
- gold/configure | 27 +++++++++++++++++++++++++++
- gold/configure.ac | 20 ++++++++++++++++++++
- gold/options.h | 2 +-
- ld/ChangeLog | 9 +++++++++
- ld/config.in | 6 ++++++
- ld/configure | 42 ++++++++++++++++++++++++++++++++++++++----
- ld/configure.ac | 34 ++++++++++++++++++++++++++++++++++
- ld/ldmain.c | 3 ++-
- 10 files changed, 148 insertions(+), 6 deletions(-)
-
-diff --git a/gold/ChangeLog b/gold/ChangeLog
-index d598386..93836dd 100644
---- a/gold/ChangeLog
-+++ b/gold/ChangeLog
-@@ -1,3 +1,11 @@
-+2017-08-08 Romain Geissler <romain.geissler@gmail.com>
-+ Alan Modra <amodra@gmail.com>
-+
-+ * configure.ac: Add --enable-default-hash-style option.
-+ * options.h (hash_style): Use DEFAULT_HASH_STYLE as default value.
-+ * configure: Regenerate.
-+ * config.in: Regenerate.
-+
- 2017-02-22 Alan Modra <amodra@gmail.com>
-
- * powerpc.cc (Target_powerpc::make_iplt_section): Check that
-diff --git a/gold/config.in b/gold/config.in
-index d9f7b76..5855fca 100644
---- a/gold/config.in
-+++ b/gold/config.in
-@@ -10,6 +10,9 @@
- /* Define if building universal (internal helper macro) */
- #undef AC_APPLE_UNIVERSAL_BUILD
-
-+/* Set the default --hash-style value */
-+#undef DEFAULT_HASH_STYLE
-+
- /* Define to 1 if you want to enable -z relro in ELF linker by default. */
- #undef DEFAULT_LD_Z_RELRO
-
-diff --git a/gold/configure b/gold/configure
-index cb020be..90a706d 100755
---- a/gold/configure
-+++ b/gold/configure
-@@ -797,6 +797,7 @@ enable_threads
- enable_plugins
- enable_relro
- enable_targets
-+enable_default_hash_style
- with_lib_path
- enable_dependency_tracking
- enable_nls
-@@ -1447,6 +1448,8 @@ Optional Features:
- --enable-plugins linker plugins
- --enable-relro enable -z relro in ELF linker by default
- --enable-targets alternative target configurations
-+ --enable-default-hash-style={sysv,gnu,both}
-+ use this default hash style
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
- --disable-nls do not use Native Language Support
-@@ -3410,6 +3413,30 @@ if test -n "$enable_targets"; then
- done
- fi
-
-+# Decide which "--hash-style" to use by default
-+# Provide a configure time option to override our default.
-+# Check whether --enable-default-hash-style was given.
-+if test "${enable_default_hash_style+set}" = set; then :
-+ enableval=$enable_default_hash_style; case "${enable_default_hash_style}" in
-+ sysv | gnu | both) ;;
-+ *) as_fn_error "bad value ${enable_default_hash_style} for enable-default-hash-style option" "$LINENO" 5 ;;
-+esac
-+else
-+ case "${target}" in
-+ # Enable gnu hash only on GNU targets, but not mips
-+ mips*-*-*) enable_default_hash_style=sysv ;;
-+ *-*-gnu* | *-*-linux* | *-*-nacl*) enable_default_hash_style=both ;;
-+ *) enable_default_hash_style=sysv ;;
-+esac
-+fi
-+
-+
-+
-+cat >>confdefs.h <<_ACEOF
-+#define DEFAULT_HASH_STYLE "${enable_default_hash_style}"
-+_ACEOF
-+
-+
- # See which specific instantiations we need.
- targetobjs=
- all_targets=
-diff --git a/gold/configure.ac b/gold/configure.ac
-index cbe3380..d7fa1f8 100644
---- a/gold/configure.ac
-+++ b/gold/configure.ac
-@@ -161,6 +161,26 @@ if test -n "$enable_targets"; then
- done
- fi
-
-+# Decide which "--hash-style" to use by default
-+# Provide a configure time option to override our default.
-+AC_ARG_ENABLE([default-hash-style],
-+AS_HELP_STRING([--enable-default-hash-style={sysv,gnu,both}],
-+ [use this default hash style]),
-+[case "${enable_default_hash_style}" in
-+ sysv | gnu | both) ;;
-+ *) AC_MSG_ERROR([bad value ${enable_default_hash_style} for enable-default-hash-style option]) ;;
-+esac],
-+[case "${target}" in
-+ # Enable gnu hash only on GNU targets, but not mips
-+ mips*-*-*) enable_default_hash_style=sysv ;;
-+ *-*-gnu* | *-*-linux* | *-*-nacl*) enable_default_hash_style=both ;;
-+ *) enable_default_hash_style=sysv ;;
-+esac])
-+
-+AC_DEFINE_UNQUOTED([DEFAULT_HASH_STYLE],
-+ ["${enable_default_hash_style}"],
-+ [Set the default --hash-style value])
-+
- # See which specific instantiations we need.
- targetobjs=
- all_targets=
-diff --git a/gold/options.h b/gold/options.h
-index a8b1d46..ce21a42 100644
---- a/gold/options.h
-+++ b/gold/options.h
-@@ -921,7 +921,7 @@ class General_options
- N_("Min fraction of empty buckets in dynamic hash"),
- N_("FRACTION"));
-
-- DEFINE_enum(hash_style, options::TWO_DASHES, '\0', "sysv",
-+ DEFINE_enum(hash_style, options::TWO_DASHES, '\0', DEFAULT_HASH_STYLE,
- N_("Dynamic hash style"), N_("[sysv,gnu,both]"),
- {"sysv", "gnu", "both"});
-
-diff --git a/ld/ChangeLog b/ld/ChangeLog
-index ba7d1d4..cf91d55 100644
---- a/ld/ChangeLog
-+++ b/ld/ChangeLog
-@@ -1,3 +1,12 @@
-+2017-08-08 Romain Geissler <romain.geissler@gmail.com>
-+ Alan Modra <amodra@gmail.com>
-+
-+ * configure.ac: Add --enable-default-hash-style option.
-+ * ldmain.c (main): Set link_info.emit_hash to DEFAULT_EMIT_SYSV_HASH.
-+ Set link_info.emit_gnu_hash to DEFAULT_EMIT_GNU_HASH.
-+ * configure: Regenerate.
-+ * config.in: Regenerate.
-+
- 2017-03-02 Tristan Gingold <gingold@adacore.com>
-
- * configure: Regenerate.
-diff --git a/ld/config.in b/ld/config.in
-index 2c6d698..b2318e1 100644
---- a/ld/config.in
-+++ b/ld/config.in
-@@ -7,6 +7,12 @@
- #endif
- #define __CONFIG_H__ 1
-
-+/* Define to 1 if you want to emit gnu hash in the ELF linker by default. */
-+#undef DEFAULT_EMIT_GNU_HASH
-+
-+/* Define to 1 if you want to emit sysv hash in the ELF linker by default. */
-+#undef DEFAULT_EMIT_SYSV_HASH
-+
- /* Define if you want compressed debug sections by default. */
- #undef DEFAULT_FLAG_COMPRESS_DEBUG
-
-diff --git a/ld/configure b/ld/configure
-index 36af969..40c67fd 100755
---- a/ld/configure
-+++ b/ld/configure
-@@ -793,6 +793,7 @@ enable_gold
- enable_got
- enable_compressed_debug_sections
- enable_relro
-+enable_default_hash_style
- enable_werror
- enable_build_warnings
- enable_nls
-@@ -1452,6 +1453,8 @@ Optional Features:
- --enable-compressed-debug-sections={all,ld,none}
- compress debug sections by default]
- --enable-relro enable -z relro in ELF linker by default
-+ --enable-default-hash-style={sysv,gnu,both}
-+ use this default hash style
- --enable-werror treat compile warnings as errors
- --enable-build-warnings enable build-time compiler warnings
- --disable-nls do not use Native Language Support
-@@ -11724,7 +11727,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 11727 "configure"
-+#line 11730 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -11830,7 +11833,7 @@ else
- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
- lt_status=$lt_dlunknown
- cat > conftest.$ac_ext <<_LT_EOF
--#line 11833 "configure"
-+#line 11836 "configure"
- #include "confdefs.h"
-
- #if HAVE_DLFCN_H
-@@ -15555,6 +15558,33 @@ if test "${enable_relro+set}" = set; then :
- esac
- fi
-
-+# Decide which "--hash-style" to use by default
-+# Provide a configure time option to override our default.
-+# Check whether --enable-default-hash-style was given.
-+if test "${enable_default_hash_style+set}" = set; then :
-+ enableval=$enable_default_hash_style; case "${enable_default_hash_style}" in
-+ sysv | gnu | both) ;;
-+ *) as_fn_error "bad value ${enable_default_hash_style} for enable-default-hash-style option" "$LINENO" 5 ;;
-+esac
-+else
-+ case "${target}" in
-+ # Enable gnu hash only on GNU targets, but not mips
-+ mips*-*-*) enable_default_hash_style=sysv ;;
-+ *-*-gnu* | *-*-linux* | *-*-nacl*) enable_default_hash_style=both ;;
-+ *) enable_default_hash_style=sysv ;;
-+esac
-+fi
-+
-+
-+case "${enable_default_hash_style}" in
-+ sysv | both) ac_default_emit_sysv_hash=1 ;;
-+ *) ac_default_emit_sysv_hash=0 ;;
-+esac
-+
-+case "${enable_default_hash_style}" in
-+ gnu | both) ac_default_emit_gnu_hash=1 ;;
-+ *) ac_default_emit_gnu_hash=0 ;;
-+esac
-
- # Set the 'development' global.
- . $srcdir/../bfd/development.sh
-@@ -17212,9 +17242,13 @@ cat >>confdefs.h <<_ACEOF
- #define DEFAULT_LD_Z_RELRO $ac_default_ld_z_relro
- _ACEOF
-
-+cat >>confdefs.h <<_ACEOF
-+#define DEFAULT_EMIT_SYSV_HASH $ac_default_emit_sysv_hash
-+_ACEOF
-
--
--
-+cat >>confdefs.h <<_ACEOF
-+#define DEFAULT_EMIT_GNU_HASH $ac_default_emit_gnu_hash
-+_ACEOF
-
-
-
-diff --git a/ld/configure.ac b/ld/configure.ac
-index 36a9f50..1876ad7 100644
---- a/ld/configure.ac
-+++ b/ld/configure.ac
-@@ -166,6 +166,32 @@ AC_ARG_ENABLE(relro,
- no) ac_default_ld_z_relro=0 ;;
- esac])dnl
-
-+# Decide which "--hash-style" to use by default
-+# Provide a configure time option to override our default.
-+AC_ARG_ENABLE([default-hash-style],
-+AS_HELP_STRING([--enable-default-hash-style={sysv,gnu,both}],
-+ [use this default hash style]),
-+[case "${enable_default_hash_style}" in
-+ sysv | gnu | both) ;;
-+ *) AC_MSG_ERROR([bad value ${enable_default_hash_style} for enable-default-hash-style option]) ;;
-+esac],
-+[case "${target}" in
-+ # Enable gnu hash only on GNU targets, but not mips
-+ mips*-*-*) enable_default_hash_style=sysv ;;
-+ *-*-gnu* | *-*-linux* | *-*-nacl*) enable_default_hash_style=both ;;
-+ *) enable_default_hash_style=sysv ;;
-+esac])
-+
-+case "${enable_default_hash_style}" in
-+ sysv | both) ac_default_emit_sysv_hash=1 ;;
-+ *) ac_default_emit_sysv_hash=0 ;;
-+esac
-+
-+case "${enable_default_hash_style}" in
-+ gnu | both) ac_default_emit_gnu_hash=1 ;;
-+ *) ac_default_emit_gnu_hash=0 ;;
-+esac
-+
- AM_BINUTILS_WARNINGS
-
- AM_LC_MESSAGES
-@@ -394,6 +420,14 @@ AC_DEFINE_UNQUOTED(DEFAULT_LD_Z_RELRO,
- $ac_default_ld_z_relro,
- [Define to 1 if you want to enable -z relro in ELF linker by default.])
-
-+AC_DEFINE_UNQUOTED([DEFAULT_EMIT_SYSV_HASH],
-+ [$ac_default_emit_sysv_hash],
-+ [Define to 1 if you want to emit sysv hash in the ELF linker by default.])
-+
-+AC_DEFINE_UNQUOTED([DEFAULT_EMIT_GNU_HASH],
-+ [$ac_default_emit_gnu_hash],
-+ [Define to 1 if you want to emit gnu hash in the ELF linker by default.])
-+
- AC_SUBST(elf_list_options)
- AC_SUBST(elf_shlib_list_options)
- AC_SUBST(elf_plt_unwind_list_options)
-diff --git a/ld/ldmain.c b/ld/ldmain.c
-index 1e48b1a..579d961 100644
---- a/ld/ldmain.c
-+++ b/ld/ldmain.c
-@@ -282,7 +282,8 @@ main (int argc, char **argv)
- link_info.keep_memory = TRUE;
- link_info.combreloc = TRUE;
- link_info.strip_discarded = TRUE;
-- link_info.emit_hash = TRUE;
-+ link_info.emit_hash = DEFAULT_EMIT_SYSV_HASH;
-+ link_info.emit_gnu_hash = DEFAULT_EMIT_GNU_HASH;
- link_info.callbacks = &link_callbacks;
- link_info.input_bfds_tail = &link_info.input_bfds;
- /* SVR4 linkers seem to set DT_INIT and DT_FINI based on magic _init
---
-2.14.2
-
diff --git a/system/binutils/mips-illegal-memcpy.patch b/system/binutils/mips-illegal-memcpy.patch
deleted file mode 100644
index d76af178a..000000000
--- a/system/binutils/mips-illegal-memcpy.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- binutils-2.29/gas/config/tc-mips.c.old 2017-07-04 03:43:20.000000000 -0500
-+++ binutils-2.29/gas/config/tc-mips.c 2017-08-25 17:21:51.449460074 -0500
-@@ -13956,7 +13956,7 @@
- suffix = 0;
- if (suffix)
- {
-- memcpy (name + opend - 2, name + opend, length - opend + 1);
-+ memmove (name + opend - 2, name + opend, length - opend + 1);
- insn = (struct mips_opcode *) hash_find (hash, name);
- if (insn)
- {