diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in index 041441d4c2..38df455818 100644 --- a/toolchain/binutils/Config.in +++ b/toolchain/binutils/Config.in @@ -11,14 +11,6 @@ choice depends on avr32 bool "binutils 2.20.1" - config BINUTILS_VERSION_2_22 - depends on !avr32 || (avr32 && BROKEN) - bool "binutils 2.22" - - config BINUTILS_VERSION_2_23_1 - depends on !avr32 || (avr32 && BROKEN) - bool "binutils 2.23.1" - config BINUTILS_VERSION_LINARO depends on !avr32 || (avr32 && BROKEN) bool "Linaro binutils 2.24" @@ -35,9 +27,6 @@ config EXTRA_BINUTILS_CONFIG_OPTIONS config BINUTILS_VERSION string prompt "Binutils Version" if (TOOLCHAINOPTS && NULL) - default "2.20.1" if BINUTILS_VERSION_2_20_1 - default "2.22" if BINUTILS_VERSION_2_22 - default "2.23.1" if BINUTILS_VERSION_2_23_1 + default "2.20.1" if BINUTILS_VERSION_2_20_1 || avr32 default "linaro" if BINUTILS_VERSION_LINARO - default "2.20.1" if avr32 - default "2.22" + default "linaro" diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile index abfef7c7b8..567f88a854 100644 --- a/toolchain/binutils/Makefile +++ b/toolchain/binutils/Makefile @@ -24,12 +24,6 @@ else ifeq ($(PKG_VERSION),2.20.1) PKG_MD5SUM:=9cdfb9d6ec0578c166d3beae5e15c4e5 endif - ifeq ($(PKG_VERSION),2.22) - PKG_MD5SUM:=ee0f10756c84979622b992a4a61ea3f5 - endif - ifeq ($(PKG_VERSION),2.23.1) - PKG_MD5SUM:=33adb18c3048d057ac58d07a3f1adb38 - endif endif HOST_BUILD_PARALLEL:=1 diff --git a/toolchain/binutils/patches/2.22/200-musl.patch b/toolchain/binutils/patches/2.22/200-musl.patch deleted file mode 100644 index 40fe76d34d..0000000000 --- a/toolchain/binutils/patches/2.22/200-musl.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/config.sub -+++ b/config.sub -@@ -125,6 +125,7 @@ esac - maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` - case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ -+ linux-musl* | \ - linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ diff --git a/toolchain/binutils/patches/2.22/300-001_ld_makefile_patch.patch b/toolchain/binutils/patches/2.22/300-001_ld_makefile_patch.patch deleted file mode 100644 index aa853ff542..0000000000 --- a/toolchain/binutils/patches/2.22/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -37,7 +37,7 @@ endif - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -366,7 +366,7 @@ AM_CFLAGS = $(WARN_CFLAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/patches/2.22/300-012_check_ldrunpath_length.patch b/toolchain/binutils/patches/2.22/300-012_check_ldrunpath_length.patch deleted file mode 100644 index 1e04000340..0000000000 --- a/toolchain/binutils/patches/2.22/300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1273,6 +1273,8 @@ fragment <link_next) - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) diff --git a/toolchain/binutils/patches/2.22/400-fix_arm_gc_sections.patch b/toolchain/binutils/patches/2.22/400-fix_arm_gc_sections.patch deleted file mode 100644 index 04badab620..0000000000 --- a/toolchain/binutils/patches/2.22/400-fix_arm_gc_sections.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/bfd/elf32-arm.c -+++ b/bfd/elf32-arm.c -@@ -12408,7 +12408,8 @@ elf32_arm_check_relocs (bfd *abfd, struc - - /* If the symbol is a function that doesn't bind locally, - this relocation will need a PLT entry. */ -- root_plt->refcount += 1; -+ if (root_plt->refcount != -1) -+ root_plt->refcount += 1; - - if (!call_reloc_p) - arm_plt->noncall_refcount++; diff --git a/toolchain/binutils/patches/2.22/500-arm_ld_assert_fix.patch b/toolchain/binutils/patches/2.22/500-arm_ld_assert_fix.patch deleted file mode 100644 index e011c4b111..0000000000 --- a/toolchain/binutils/patches/2.22/500-arm_ld_assert_fix.patch +++ /dev/null @@ -1,26 +0,0 @@ -See http://sourceware.org/bugzilla/show_bug.cgi?id=13990 for details. ---- ---- a/bfd/elf32-arm.c -+++ b/bfd/elf32-arm.c -@@ -12046,8 +12046,19 @@ elf32_arm_gc_sweep_hook (bfd * - if (may_need_local_target_p - && elf32_arm_get_plt_info (abfd, eh, r_symndx, &root_plt, &arm_plt)) - { -- BFD_ASSERT (root_plt->refcount > 0); -- root_plt->refcount -= 1; -+ /* If PLT refcount book-keeping is wrong and too low, we'll -+ see a zero value (going to -1) for the root PLT reference -+ count. */ -+ if (root_plt->refcount >= 0) -+ { -+ BFD_ASSERT (root_plt->refcount != 0); -+ root_plt->refcount -= 1; -+ } -+ else -+ /* A value of -1 means the symbol has become local, forced -+ or seeing a hidden definition. Any other negative value -+ is an error. */ -+ BFD_ASSERT (root_plt->refcount == -1); - - if (!call_reloc_p) - arm_plt->noncall_refcount--; diff --git a/toolchain/binutils/patches/2.22/600-mips_no_dynamic_linking_sym.patch b/toolchain/binutils/patches/2.22/600-mips_no_dynamic_linking_sym.patch deleted file mode 100644 index 29d7691048..0000000000 --- a/toolchain/binutils/patches/2.22/600-mips_no_dynamic_linking_sym.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/bfd/elfxx-mips.c -+++ b/bfd/elfxx-mips.c -@@ -7230,6 +7230,7 @@ _bfd_mips_elf_create_dynamic_sections (b - - name = SGI_COMPAT (abfd) ? "_DYNAMIC_LINK" : "_DYNAMIC_LINKING"; - bh = NULL; -+ if (0) { - if (!(_bfd_generic_link_add_one_symbol - (info, abfd, name, BSF_GLOBAL, bfd_abs_section_ptr, 0, - NULL, FALSE, get_elf_backend_data (abfd)->collect, &bh))) -@@ -7242,6 +7243,7 @@ _bfd_mips_elf_create_dynamic_sections (b - - if (! bfd_elf_link_record_dynamic_symbol (info, h)) - return FALSE; -+ } - - if (! mips_elf_hash_table (info)->use_rld_obj_head) - { diff --git a/toolchain/binutils/patches/2.22/999-ppc-textrels.patch b/toolchain/binutils/patches/2.22/999-ppc-textrels.patch deleted file mode 100644 index 36e82f56dd..0000000000 --- a/toolchain/binutils/patches/2.22/999-ppc-textrels.patch +++ /dev/null @@ -1,74 +0,0 @@ -http://bugs.gentoo.org/392645 -http://sourceware.org/bugzilla/show_bug.cgi?id=13470 - -2011-12-03 Alan Modra - - PR ld/13470 - * elf32-ppc.c (ppc_elf_copy_indirect_symbol): Revert substantive - change in 2011-07-01 commit. Comment. - * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Likewise. - -=================================================================== -RCS file: /cvs/src/src/bfd/elf32-ppc.c,v -retrieving revision 1.302.2.1 -retrieving revision 1.302.2.2 ---- a/bfd/elf32-ppc.c -+++ b/bfd/elf32-ppc.c -@@ -2987,10 +2987,6 @@ ppc_elf_copy_indirect_symbol (struct bfd - edir->elf.needs_plt |= eind->elf.needs_plt; - edir->elf.pointer_equality_needed |= eind->elf.pointer_equality_needed; - -- /* If we were called to copy over info for a weak sym, that's all. */ -- if (eind->elf.root.type != bfd_link_hash_indirect) -- return; -- - if (eind->dyn_relocs != NULL) - { - if (edir->dyn_relocs != NULL) -@@ -3022,6 +3018,16 @@ ppc_elf_copy_indirect_symbol (struct bfd - eind->dyn_relocs = NULL; - } - -+ /* If we were called to copy over info for a weak sym, that's all. -+ You might think dyn_relocs need not be copied over; After all, -+ both syms will be dynamic or both non-dynamic so we're just -+ moving reloc accounting around. However, ELIMINATE_COPY_RELOCS -+ code in ppc_elf_adjust_dynamic_symbol needs to check for -+ dyn_relocs in read-only sections, and it does so on what is the -+ DIR sym here. */ -+ if (eind->elf.root.type != bfd_link_hash_indirect) -+ return; -+ - /* Copy over the GOT refcount entries that we may have already seen to - the symbol which just became indirect. */ - edir->elf.got.refcount += eind->elf.got.refcount; ---- a/bfd/elf64-ppc.c -+++ b/bfd/elf64-ppc.c -@@ -4435,10 +4435,6 @@ ppc64_elf_copy_indirect_symbol (struct b - edir->elf.ref_regular_nonweak |= eind->elf.ref_regular_nonweak; - edir->elf.needs_plt |= eind->elf.needs_plt; - -- /* If we were called to copy over info for a weak sym, that's all. */ -- if (eind->elf.root.type != bfd_link_hash_indirect) -- return; -- - /* Copy over any dynamic relocs we may have on the indirect sym. */ - if (eind->dyn_relocs != NULL) - { -@@ -4471,6 +4467,16 @@ ppc64_elf_copy_indirect_symbol (struct b - eind->dyn_relocs = NULL; - } - -+ /* If we were called to copy over info for a weak sym, that's all. -+ You might think dyn_relocs need not be copied over; After all, -+ both syms will be dynamic or both non-dynamic so we're just -+ moving reloc accounting around. However, ELIMINATE_COPY_RELOCS -+ code in ppc64_elf_adjust_dynamic_symbol needs to check for -+ dyn_relocs in read-only sections, and it does so on what is the -+ DIR sym here. */ -+ if (eind->elf.root.type != bfd_link_hash_indirect) -+ return; -+ - /* Copy over got entries that we may have already seen to the - symbol which just became indirect. */ - if (eind->elf.got.glist != NULL) diff --git a/toolchain/binutils/patches/2.23.1/200-musl.patch b/toolchain/binutils/patches/2.23.1/200-musl.patch deleted file mode 100644 index 40fe76d34d..0000000000 --- a/toolchain/binutils/patches/2.23.1/200-musl.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/config.sub -+++ b/config.sub -@@ -125,6 +125,7 @@ esac - maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` - case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ -+ linux-musl* | \ - linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ diff --git a/toolchain/binutils/patches/2.23.1/300-001_ld_makefile_patch.patch b/toolchain/binutils/patches/2.23.1/300-001_ld_makefile_patch.patch deleted file mode 100644 index 323655a01c..0000000000 --- a/toolchain/binutils/patches/2.23.1/300-001_ld_makefile_patch.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -37,7 +37,7 @@ endif - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - - EMUL = @EMUL@ - EMULATION_OFILES = @EMULATION_OFILES@ ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -367,7 +367,7 @@ AM_CFLAGS = $(WARN_CFLAGS) - # We put the scripts in the directory $(scriptdir)/ldscripts. - # We can't put the scripts in $(datadir) because the SEARCH_DIR - # directives need to be different for native and cross linkers. --scriptdir = $(tooldir)/lib -+scriptdir = $(libdir) - BASEDIR = $(srcdir)/.. - BFDDIR = $(BASEDIR)/bfd - INCDIR = $(BASEDIR)/include diff --git a/toolchain/binutils/patches/2.23.1/300-012_check_ldrunpath_length.patch b/toolchain/binutils/patches/2.23.1/300-012_check_ldrunpath_length.patch deleted file mode 100644 index 7e90d220a4..0000000000 --- a/toolchain/binutils/patches/2.23.1/300-012_check_ldrunpath_length.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/ld/emultempl/elf32.em -+++ b/ld/emultempl/elf32.em -@@ -1274,6 +1274,8 @@ fragment <link_next) - if (bfd_get_flavour (abfd) == bfd_target_elf_flavour) diff --git a/toolchain/binutils/patches/2.23.1/400-mips_no_dynamic_linking_sym.patch b/toolchain/binutils/patches/2.23.1/400-mips_no_dynamic_linking_sym.patch deleted file mode 100644 index f9a39c9d43..0000000000 --- a/toolchain/binutils/patches/2.23.1/400-mips_no_dynamic_linking_sym.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- a/bfd/elfxx-mips.c -+++ b/bfd/elfxx-mips.c -@@ -7335,6 +7335,7 @@ _bfd_mips_elf_create_dynamic_sections (b - - name = SGI_COMPAT (abfd) ? "_DYNAMIC_LINK" : "_DYNAMIC_LINKING"; - bh = NULL; -+ if (0) { - if (!(_bfd_generic_link_add_one_symbol - (info, abfd, name, BSF_GLOBAL, bfd_abs_section_ptr, 0, - NULL, FALSE, get_elf_backend_data (abfd)->collect, &bh))) -@@ -7347,6 +7348,7 @@ _bfd_mips_elf_create_dynamic_sections (b - - if (! bfd_elf_link_record_dynamic_symbol (info, h)) - return FALSE; -+ } - - if (! mips_elf_hash_table (info)->use_rld_obj_head) - {