aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/binutils')
-rw-r--r--toolchain/binutils/Config.in15
-rw-r--r--toolchain/binutils/Makefile6
-rw-r--r--toolchain/binutils/patches/2.22/200-musl.patch10
-rw-r--r--toolchain/binutils/patches/2.22/300-001_ld_makefile_patch.patch22
-rw-r--r--toolchain/binutils/patches/2.22/300-012_check_ldrunpath_length.patch20
-rw-r--r--toolchain/binutils/patches/2.22/400-fix_arm_gc_sections.patch12
-rw-r--r--toolchain/binutils/patches/2.22/500-arm_ld_assert_fix.patch26
-rw-r--r--toolchain/binutils/patches/2.22/600-mips_no_dynamic_linking_sym.patch18
-rw-r--r--toolchain/binutils/patches/2.22/999-ppc-textrels.patch74
-rw-r--r--toolchain/binutils/patches/2.23.1/200-musl.patch10
-rw-r--r--toolchain/binutils/patches/2.23.1/300-001_ld_makefile_patch.patch22
-rw-r--r--toolchain/binutils/patches/2.23.1/300-012_check_ldrunpath_length.patch20
-rw-r--r--toolchain/binutils/patches/2.23.1/400-mips_no_dynamic_linking_sym.patch18
13 files changed, 2 insertions, 271 deletions
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 <<EOF
- && command_line.rpath == NULL)
- {
- lib_path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((lib_path) && (strlen (lib_path) == 0))
-+ lib_path = NULL;
- if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
- force))
- break;
-@@ -1500,6 +1502,8 @@ gld${EMULATION_NAME}_before_allocation (
- rpath = command_line.rpath;
- if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
-
- for (abfd = link_info.input_bfds; abfd; abfd = abfd->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 <amodra@gmail.com>
-
- 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 <<EOF
- && command_line.rpath == NULL)
- {
- lib_path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((lib_path) && (strlen (lib_path) == 0))
-+ lib_path = NULL;
- if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
- force))
- break;
-@@ -1501,6 +1503,8 @@ gld${EMULATION_NAME}_before_allocation (
- rpath = command_line.rpath;
- if (rpath == NULL)
- rpath = (const char *) getenv ("LD_RUN_PATH");
-+ if ((rpath) && (strlen (rpath) == 0))
-+ rpath = NULL;
-
- for (abfd = link_info.input_bfds; abfd; abfd = abfd->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)
- {