aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/binutils
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain/binutils')
-rw-r--r--toolchain/binutils/Config.in5
-rw-r--r--toolchain/binutils/Config.version4
-rw-r--r--toolchain/binutils/Makefile4
-rw-r--r--toolchain/binutils/patches/2.30/100-PR23254-ld.bfd-mishandles-file-pointers-while-scanni.patch112
-rw-r--r--toolchain/binutils/patches/2.30/300-001_ld_makefile_patch.patch22
-rw-r--r--toolchain/binutils/patches/2.30/300-012_check_ldrunpath_length.patch20
-rw-r--r--toolchain/binutils/patches/2.30/400-mips_no_dynamic_linking_sym.patch18
-rw-r--r--toolchain/binutils/patches/2.30/500-Change-default-emulation-for-mips64-linux.patch37
8 files changed, 0 insertions, 222 deletions
diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in
index 14c0d53d43..f637293192 100644
--- a/toolchain/binutils/Config.in
+++ b/toolchain/binutils/Config.in
@@ -17,11 +17,6 @@ choice
bool "Binutils 2.29.1"
select BINUTILS_VERSION_2_29_1
- config BINUTILS_USE_VERSION_2_30
- depends on !arc
- bool "Binutils 2.30"
- select BINUTILS_VERSION_2_30
-
config BINUTILS_USE_VERSION_2_31_1
depends on !arc
bool "Binutils 2.31.1"
diff --git a/toolchain/binutils/Config.version b/toolchain/binutils/Config.version
index fc024676d1..08977b95bb 100644
--- a/toolchain/binutils/Config.version
+++ b/toolchain/binutils/Config.version
@@ -5,9 +5,6 @@ config BINUTILS_VERSION_2_29_ARC
config BINUTILS_VERSION_2_29_1
bool
-config BINUTILS_VERSION_2_30
- bool
-
config BINUTILS_VERSION_2_31_1
default y if (!TOOLCHAINOPTS && !arc)
bool
@@ -15,6 +12,5 @@ config BINUTILS_VERSION_2_31_1
config BINUTILS_VERSION
string
default "2.29.1" if BINUTILS_VERSION_2_29_1
- default "2.30" if BINUTILS_VERSION_2_30
default "2.31.1" if BINUTILS_VERSION_2_31_1
default "arc-2017.09" if BINUTILS_VERSION_2_29_ARC
diff --git a/toolchain/binutils/Makefile b/toolchain/binutils/Makefile
index b988598197..0eb36f3243 100644
--- a/toolchain/binutils/Makefile
+++ b/toolchain/binutils/Makefile
@@ -19,10 +19,6 @@ ifeq ($(PKG_VERSION),2.29.1)
PKG_HASH:=e7010a46969f9d3e53b650a518663f98a5dde3c3ae21b7d71e5e6803bc36b577
endif
-ifeq ($(PKG_VERSION),2.30)
- PKG_HASH:=6e46b8aeae2f727a36f0bd9505e405768a72218f1796f0d09757d45209871ae6
-endif
-
ifeq ($(PKG_VERSION),2.31.1)
PKG_HASH:=5d20086ecf5752cc7d9134246e9588fa201740d540f7eb84d795b1f7a93bca86
endif
diff --git a/toolchain/binutils/patches/2.30/100-PR23254-ld.bfd-mishandles-file-pointers-while-scanni.patch b/toolchain/binutils/patches/2.30/100-PR23254-ld.bfd-mishandles-file-pointers-while-scanni.patch
deleted file mode 100644
index 8a0b675538..0000000000
--- a/toolchain/binutils/patches/2.30/100-PR23254-ld.bfd-mishandles-file-pointers-while-scanni.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From: Alan Modra <amodra@gmail.com>
-Date: Tue, 5 Jun 2018 21:04:00 +0930
-Subject: [PATCH] PR23254, ld.bfd mishandles file pointers while scanning
- archive
-
-Best practice is to not mix lseek/read with fseek/fread on the same
-underlying file descriptor, as not all stdio implementations will cope.
-Since the plugin uses lseek/read while bfd uses fseek/fread this patch
-reopens the file for exclusive use by the plugin rather than trying to
-restore the file descriptor. That allows the plugin to read the file
-after plugin_call_claim_file too.
-
-bfd/
- PR 23254
- * plugin.c (bfd_plugin_open_input): Allow for possibility of
- nested archives. Open file again for plugin.
- (try_claim): Don't save and restore file position. Close file
- if not claimed.
- * sysdep.h (O_BINARY): Define.
-ld/
- PR 23254
- * plugin.c (plugin_call_claim_file): Revert 2016-07-19 patch.
- (plugin_object_p): Don't dup file descriptor.
----
-
---- a/bfd/plugin.c
-+++ b/bfd/plugin.c
-@@ -165,14 +165,22 @@ bfd_plugin_open_input (bfd *ibfd, struct
- bfd *iobfd;
-
- iobfd = ibfd;
-- if (ibfd->my_archive && !bfd_is_thin_archive (ibfd->my_archive))
-- iobfd = ibfd->my_archive;
-+ while (iobfd->my_archive
-+ && !bfd_is_thin_archive (iobfd->my_archive))
-+ iobfd = iobfd->my_archive;
- file->name = iobfd->filename;
-
- if (!iobfd->iostream && !bfd_open_file (iobfd))
- return 0;
-
-- file->fd = fileno ((FILE *) iobfd->iostream);
-+ /* The plugin API expects that the file descriptor won't be closed
-+ and reused as done by the bfd file cache. So open it again.
-+ dup isn't good enough. plugin IO uses lseek/read while BFD uses
-+ fseek/fread. It isn't wise to mix the unistd and stdio calls on
-+ the same underlying file descriptor. */
-+ file->fd = open (file->name, O_RDONLY | O_BINARY);
-+ if (file->fd < 0)
-+ return 0;
-
- if (iobfd == ibfd)
- {
-@@ -196,12 +204,12 @@ try_claim (bfd *abfd)
- int claimed = 0;
- struct ld_plugin_input_file file;
-
-+ file.handle = abfd;
- if (!bfd_plugin_open_input (abfd, &file))
- return 0;
-- file.handle = abfd;
-- off_t cur_offset = lseek (file.fd, 0, SEEK_CUR);
- claim_file (&file, &claimed);
-- lseek (file.fd, cur_offset, SEEK_SET);
-+ if (!claimed)
-+ close (file.fd);
- return claimed;
- }
-
---- a/bfd/sysdep.h
-+++ b/bfd/sysdep.h
-@@ -108,6 +108,10 @@ extern char *strrchr ();
- #ifndef O_ACCMODE
- #define O_ACCMODE (O_RDONLY | O_WRONLY | O_RDWR)
- #endif
-+/* Systems that don't already define this, don't need it. */
-+#ifndef O_BINARY
-+#define O_BINARY 0
-+#endif
-
- #ifndef SEEK_SET
- #define SEEK_SET 0
---- a/ld/plugin.c
-+++ b/ld/plugin.c
-@@ -1053,14 +1053,10 @@ plugin_call_claim_file (const struct ld_
- {
- if (curplug->claim_file_handler)
- {
-- off_t cur_offset;
- enum ld_plugin_status rv;
-
- called_plugin = curplug;
-- cur_offset = lseek (file->fd, 0, SEEK_CUR);
- rv = (*curplug->claim_file_handler) (file, claimed);
-- if (!*claimed)
-- lseek (file->fd, cur_offset, SEEK_SET);
- called_plugin = NULL;
- if (rv != LDPS_OK)
- set_plugin_error (curplug->name);
-@@ -1126,12 +1122,6 @@ plugin_object_p (bfd *ibfd)
- }
-
- file.handle = input;
-- /* The plugin API expects that the file descriptor won't be closed
-- and reused as done by the bfd file cache. So dup one. */
-- file.fd = dup (file.fd);
-- if (file.fd < 0)
-- return NULL;
--
- input->abfd = abfd;
- input->view_buffer.addr = NULL;
- input->view_buffer.filesize = 0;
diff --git a/toolchain/binutils/patches/2.30/300-001_ld_makefile_patch.patch b/toolchain/binutils/patches/2.30/300-001_ld_makefile_patch.patch
deleted file mode 100644
index 4365197f74..0000000000
--- a/toolchain/binutils/patches/2.30/300-001_ld_makefile_patch.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/ld/Makefile.am
-+++ b/ld/Makefile.am
-@@ -57,7 +57,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
-@@ -446,7 +446,7 @@ AM_CFLAGS = $(WARN_CFLAGS) $(ELF_CLFAGS)
- # 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.30/300-012_check_ldrunpath_length.patch b/toolchain/binutils/patches/2.30/300-012_check_ldrunpath_length.patch
deleted file mode 100644
index 6f51a7205e..0000000000
--- a/toolchain/binutils/patches/2.30/300-012_check_ldrunpath_length.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/ld/emultempl/elf32.em
-+++ b/ld/emultempl/elf32.em
-@@ -1470,6 +1470,8 @@ fragment <<EOF
- && command_line.rpath == NULL)
- {
- path = (const char *) getenv ("LD_RUN_PATH");
-+ if ((path) && (strlen (path) == 0))
-+ path = NULL;
- if (path
- && gld${EMULATION_NAME}_search_needed (path, &n, force))
- break;
-@@ -1750,6 +1752,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.30/400-mips_no_dynamic_linking_sym.patch b/toolchain/binutils/patches/2.30/400-mips_no_dynamic_linking_sym.patch
deleted file mode 100644
index 5f7192a3d9..0000000000
--- a/toolchain/binutils/patches/2.30/400-mips_no_dynamic_linking_sym.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/bfd/elfxx-mips.c
-+++ b/bfd/elfxx-mips.c
-@@ -7877,6 +7877,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)))
-@@ -7889,6 +7890,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.30/500-Change-default-emulation-for-mips64-linux.patch b/toolchain/binutils/patches/2.30/500-Change-default-emulation-for-mips64-linux.patch
deleted file mode 100644
index daf118f8c7..0000000000
--- a/toolchain/binutils/patches/2.30/500-Change-default-emulation-for-mips64-linux.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- a/bfd/config.bfd
-+++ b/bfd/config.bfd
-@@ -1189,12 +1189,12 @@ case "${targ}" in
- targ_selvecs="mips_elf32_le_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
- ;;
- mips64*el-*-linux*)
-- targ_defvec=mips_elf32_ntrad_le_vec
-- targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_le_vec mips_elf64_trad_be_vec"
-+ targ_defvec=mips_elf64_trad_le_vec
-+ targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_ntrad_be_vec mips_elf32_trad_le_vec mips_elf32_trad_be_vec mips_elf64_trad_be_vec"
- ;;
- mips64*-*-linux*)
-- targ_defvec=mips_elf32_ntrad_be_vec
-- targ_selvecs="mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec"
-+ targ_defvec=mips_elf64_trad_be_vec
-+ targ_selvecs="mips_elf32_ntrad_be_vec mips_elf32_ntrad_le_vec mips_elf32_trad_be_vec mips_elf32_trad_le_vec mips_elf64_trad_le_vec"
- ;;
- mips*el-*-linux*)
- targ_defvec=mips_elf32_trad_le_vec
---- a/ld/configure.tgt
-+++ b/ld/configure.tgt
-@@ -535,11 +535,11 @@ mips*el-*-vxworks*) targ_emul=elf32elmip
- mips*-*-vxworks*) targ_emul=elf32ebmipvxworks
- targ_extra_emuls="elf32elmipvxworks" ;;
- mips*-*-windiss) targ_emul=elf32mipswindiss ;;
--mips64*el-*-linux-*) targ_emul=elf32ltsmipn32
-- targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
-+mips64*el-*-linux-*) targ_emul=elf64ltsmip
-+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32ltsmip elf32btsmip elf64btsmip"
- targ_extra_libpath=$targ_extra_emuls ;;
--mips64*-*-linux-*) targ_emul=elf32btsmipn32
-- targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
-+mips64*-*-linux-*) targ_emul=elf64btsmip
-+ targ_extra_emuls="elf32btsmipn32 elf32ltsmipn32 elf32btsmip elf32ltsmip elf64ltsmip"
- targ_extra_libpath=$targ_extra_emuls ;;
- mips*el-*-linux-*) targ_emul=elf32ltsmip
- targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"