diff options
| author | "Steven J. Hill" <sjhill@realitydiluted.com> | 2007-05-07 03:57:09 +0000 | 
|---|---|---|
| committer | "Steven J. Hill" <sjhill@realitydiluted.com> | 2007-05-07 03:57:09 +0000 | 
| commit | 0a41ba39e26b08d9a000a917eeccd948e9da12a7 (patch) | |
| tree | 1caf03288d573552f0f385cab06bb2d868dd5bb5 | |
| parent | 9c865d752e4bdad380bdec75088841ab693602cb (diff) | |
| download | buildroot-novena-0a41ba39e26b08d9a000a917eeccd948e9da12a7.tar.gz buildroot-novena-0a41ba39e26b08d9a000a917eeccd948e9da12a7.zip | |
Add older version of binutils.
6 files changed, 333 insertions, 0 deletions
| diff --git a/toolchain/binutils/2.17.50.0.12/100-uclibc-conf.patch b/toolchain/binutils/2.17.50.0.12/100-uclibc-conf.patch new file mode 100644 index 000000000..25222e5df --- /dev/null +++ b/toolchain/binutils/2.17.50.0.12/100-uclibc-conf.patch @@ -0,0 +1,139 @@ +--- binutils-2.16.91.0.7/bfd/configure ++++ binutils-2.16.91.0.7/bfd/configure +@@ -3576,7 +3576,7 @@ +   ;; +  + # This must be Linux ELF. +-linux-gnu*) ++linux-gnu*|linux-uclibc*) +   lt_cv_deplibs_check_method=pass_all +   ;; +  +--- binutils-2.16.91.0.7/binutils/configure ++++ binutils-2.16.91.0.7/binutils/configure +@@ -3411,7 +3411,7 @@ +   ;; +  + # This must be Linux ELF. +-linux-gnu*) ++linux-gnu*|linux-uclibc*) +   lt_cv_deplibs_check_method=pass_all +   ;; +  +--- binutils-2.16.91.0.7/configure ++++ binutils-2.16.91.0.7/configure +@@ -1270,7 +1270,7 @@ +   am33_2.0-*-linux*) +     noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" +     ;; +-  sh-*-linux*) ++  sh*-*-linux*) +     noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" +     ;;     +   sh*-*-pe|mips*-*-pe|*arm-wince-pe) +@@ -1578,7 +1578,7 @@ +   romp-*-*) +     noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" +     ;; +-  sh-*-* | sh64-*-*) ++  sh*-*-* | sh64-*-*) +     case "${host}" in +       i[3456789]86-*-vsta) ;; # don't add gprof back in +       i[3456789]86-*-go32*) ;; # don't add gprof back in +--- binutils-2.16.91.0.7/configure.in ++++ binutils-2.16.91.0.7/configure.in +@@ -468,7 +468,7 @@ +   am33_2.0-*-linux*) +     noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" +     ;; +-  sh-*-linux*) ++  sh*-*-linux*) +     noconfigdirs="$noconfigdirs ${libgcj} target-newlib target-libgloss" +     ;;     +   sh*-*-pe|mips*-*-pe|*arm-wince-pe) +@@ -776,7 +776,7 @@ +   romp-*-*) +     noconfigdirs="$noconfigdirs bfd binutils ld gas opcodes target-libgloss ${libgcj}" +     ;; +-  sh-*-* | sh64-*-*) ++  sh*-*-* | sh64-*-*) +     case "${host}" in +       i[[3456789]]86-*-vsta) ;; # don't add gprof back in +       i[[3456789]]86-*-go32*) ;; # don't add gprof back in +--- binutils-2.16.91.0.7/gas/configure ++++ binutils-2.16.91.0.7/gas/configure +@@ -3411,7 +3411,7 @@ +   ;; +  + # This must be Linux ELF. +-linux-gnu*) ++linux-gnu*|linux-uclibc*) +   lt_cv_deplibs_check_method=pass_all +   ;; +  +--- binutils-2.16.91.0.7/gprof/configure ++++ binutils-2.16.91.0.7/gprof/configure +@@ -3419,6 +3419,11 @@ +   lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so` +   ;; +  ++linux-uclibc*) ++  lt_cv_deplibs_check_method=pass_all ++  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so` ++  ;; ++ + netbsd* | knetbsd*-gnu) +   if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then +     lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$' +--- binutils-2.16.91.0.7/ld/configure ++++ binutils-2.16.91.0.7/ld/configure +@@ -3413,7 +3413,7 @@ +   ;; +  + # This must be Linux ELF. +-linux-gnu*) ++linux-gnu*|linux-uclibc*) +   lt_cv_deplibs_check_method=pass_all +   ;; +  +--- binutils-2.16.91.0.7/libtool.m4 ++++ binutils-2.16.91.0.7/libtool.m4 +@@ -739,7 +739,7 @@ +   ;; +  + # This must be Linux ELF. +-linux-gnu*) ++linux-gnu*|linux-uclibc*) +   lt_cv_deplibs_check_method=pass_all +   ;; +  +--- binutils-2.16.91.0.7/ltconfig ++++ binutils-2.16.91.0.7/ltconfig +@@ -602,6 +602,7 @@ +  + # Transform linux* to *-*-linux-gnu*, to support old configure scripts. + case $host_os in ++linux-uclibc*) ;; + linux-gnu*) ;; + linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` + esac +@@ -1247,7 +1248,7 @@ +   ;; +  + # This must be Linux ELF. +-linux-gnu*) ++linux-gnu*|linux-uclibc*) +   version_type=linux +   need_lib_prefix=no +   need_version=no +--- binutils-2.16.91.0.7/opcodes/configure ++++ binutils-2.16.91.0.7/opcodes/configure +@@ -3579,7 +3579,7 @@ +   ;; +  + # This must be Linux ELF. +-linux-gnu*) ++linux-gnu*|linux-uclibc*) +   lt_cv_deplibs_check_method=pass_all +   ;; +  diff --git a/toolchain/binutils/2.17.50.0.12/110-arm-eabi-conf.patch b/toolchain/binutils/2.17.50.0.12/110-arm-eabi-conf.patch new file mode 100644 index 000000000..be85ceb10 --- /dev/null +++ b/toolchain/binutils/2.17.50.0.12/110-arm-eabi-conf.patch @@ -0,0 +1,24 @@ +diff -urN binutils-2.16.91.0.7.orig/configure binutils-2.16.91.0.7/configure +--- binutils-2.16.91.0.7.orig/configure	2006-05-31 14:54:24.000000000 +0300 ++++ binutils-2.16.91.0.7/configure	2006-05-31 14:55:53.000000000 +0300 +@@ -1299,7 +1299,7 @@ +   arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) +     noconfigdirs="$noconfigdirs target-libffi target-qthreads" +     ;; +-  arm*-*-linux-gnueabi) ++  arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) +     noconfigdirs="$noconfigdirs target-libffi target-qthreads" +     noconfigdirs="$noconfigdirs target-libjava target-libobjc" +     ;; +diff -urN binutils-2.16.91.0.7.orig/configure.in binutils-2.16.91.0.7/configure.in +--- binutils-2.16.91.0.7.orig/configure.in	2006-05-31 14:54:24.000000000 +0300 ++++ binutils-2.16.91.0.7/configure.in	2006-05-31 14:55:53.000000000 +0300 +@@ -497,7 +497,7 @@ +   arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* ) +     noconfigdirs="$noconfigdirs target-libffi target-qthreads" +     ;; +-  arm*-*-linux-gnueabi) ++  arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi) +     noconfigdirs="$noconfigdirs target-libffi target-qthreads" +     noconfigdirs="$noconfigdirs target-libjava target-libobjc" +     ;; diff --git a/toolchain/binutils/2.17.50.0.12/300-001_ld_makefile_patch.patch b/toolchain/binutils/2.17.50.0.12/300-001_ld_makefile_patch.patch new file mode 100644 index 000000000..04a7e61e2 --- /dev/null +++ b/toolchain/binutils/2.17.50.0.12/300-001_ld_makefile_patch.patch @@ -0,0 +1,50 @@ +#!/bin/sh -e +## 001_ld_makefile_patch.dpatch +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Description: correct where ld scripts are installed +## DP: Author: Chris Chimelis <chris@debian.org> +## DP: Upstream status: N/A +## DP: Date: ?? + +if [ $# -ne 1 ]; then +    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" +    exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch}" + +case "$1" in +       -patch) patch $patch_opts -p1 < $0;; +       -unpatch) patch $patch_opts -p1 -R < $0;; +        *) +                echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" +                exit 1;; +esac + +exit 0 + +@DPATCH@ +--- binutils-2.16.91.0.1/ld/Makefile.am ++++ binutils-2.16.91.0.1/ld/Makefile.am +@@ -20,7 +20,7 @@ + # 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@ +--- binutils-2.16.91.0.1/ld/Makefile.in ++++ binutils-2.16.91.0.1/ld/Makefile.in +@@ -268,7 +268,7 @@ + # 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/2.17.50.0.12/300-012_check_ldrunpath_length.patch b/toolchain/binutils/2.17.50.0.12/300-012_check_ldrunpath_length.patch new file mode 100644 index 000000000..498651a90 --- /dev/null +++ b/toolchain/binutils/2.17.50.0.12/300-012_check_ldrunpath_length.patch @@ -0,0 +1,47 @@ +#!/bin/sh -e +## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for +## DP: cases where -rpath isn't specified. (#151024) + +if [ $# -ne 1 ]; then +    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" +    exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch}" + +case "$1" in +       -patch) patch $patch_opts -p1 < $0;; +       -unpatch) patch $patch_opts -p1 -R < $0;; +        *) +                echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" +                exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em +--- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em	2004-05-21 23:12:58.000000000 +0100 ++++ binutils-2.15/ld/emultempl/elf32.em	2004-05-21 23:12:59.000000000 +0100 +@@ -692,6 +692,8 @@ + 	      && 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; +@@ -871,6 +873,8 @@ +   rpath = command_line.rpath; +   if (rpath == NULL) +     rpath = (const char *) getenv ("LD_RUN_PATH"); ++  if ((rpath) && (strlen (rpath) == 0)) ++      rpath = NULL; +   if (! (bfd_elf_size_dynamic_sections + 	 (output_bfd, command_line.soname, rpath, + 	  command_line.filter_shlib, diff --git a/toolchain/binutils/2.17.50.0.12/320-mips-elf-reloc-regression.patch b/toolchain/binutils/2.17.50.0.12/320-mips-elf-reloc-regression.patch new file mode 100644 index 000000000..902bb8836 --- /dev/null +++ b/toolchain/binutils/2.17.50.0.12/320-mips-elf-reloc-regression.patch @@ -0,0 +1,68 @@ +diff -ur binutils-2.17.50.0.12/bfd/elfxx-mips.c binutils-2.17.50.0.12-patched/bfd/elfxx-mips.c +--- binutils-2.17.50.0.12/bfd/elfxx-mips.c	2006-11-27 16:21:04.000000000 -0600 ++++ binutils-2.17.50.0.12-patched/bfd/elfxx-mips.c	2007-03-20 15:25:42.000000000 -0500 +@@ -3615,7 +3615,6 @@ +     } +  +   /* We didn't find it.  */ +-  bfd_set_error (bfd_error_bad_value); +   return NULL; + } +  +@@ -7849,32 +7848,36 @@ + 		     several relocations for the same address.  In + 		     that case, the R_MIPS_LO16 relocation may occur + 		     as one of these.  We permit a similar extension +-		     in general, as that is useful for GCC.  */ ++		     in general, as that is useful for GCC. ++ ++		     In some cases GCC dead code elimination removes ++		     the LO16 but keeps the corresponding HI16.  */ + 		  lo16_relocation = mips_elf_next_relocation (input_bfd, + 							      lo16_type, + 							      rel, relend); +-		  if (lo16_relocation == NULL) +-		    return FALSE; +- +-		  lo16_location = contents + lo16_relocation->r_offset; ++		  if (lo16_relocation != NULL) ++		    { ++		      lo16_location = contents + lo16_relocation->r_offset; +  +-		  /* Obtain the addend kept there.  */ +-		  lo16_howto = MIPS_ELF_RTYPE_TO_HOWTO (input_bfd, +-							lo16_type, FALSE); +-		  _bfd_mips16_elf_reloc_unshuffle (input_bfd, lo16_type, FALSE, +-						   lo16_location); +-		  l = mips_elf_obtain_contents (lo16_howto, lo16_relocation, +-						input_bfd, contents); +-		  _bfd_mips16_elf_reloc_shuffle (input_bfd, lo16_type, FALSE, +-						 lo16_location); +-		  l &= lo16_howto->src_mask; +-		  l <<= lo16_howto->rightshift; +-		  l = _bfd_mips_elf_sign_extend (l, 16); ++		      /* Obtain the addend kept there.  */ ++		      lo16_howto = MIPS_ELF_RTYPE_TO_HOWTO (input_bfd, ++							    lo16_type, FALSE); ++		      _bfd_mips16_elf_reloc_unshuffle (input_bfd, lo16_type, ++						       FALSE, lo16_location); ++		      l = mips_elf_obtain_contents (lo16_howto, ++						    lo16_relocation, ++						    input_bfd, contents); ++		      _bfd_mips16_elf_reloc_shuffle (input_bfd, lo16_type, ++						     FALSE, lo16_location); ++		      l &= lo16_howto->src_mask; ++		      l <<= lo16_howto->rightshift; ++		      l = _bfd_mips_elf_sign_extend (l, 16); +  +-		  addend <<= 16; ++		      addend <<= 16; +  +-		  /* Compute the combined addend.  */ +-		  addend += l; ++		      /* Compute the combined addend.  */ ++		      addend += l; ++		    } + 		} + 	      else + 		addend <<= howto->rightshift; diff --git a/toolchain/binutils/Config.in b/toolchain/binutils/Config.in index 4a0192b7f..c80b3839b 100644 --- a/toolchain/binutils/Config.in +++ b/toolchain/binutils/Config.in @@ -80,6 +80,10 @@ choice  		depends !BR2_nios2  		bool "binutils 2.17.50.0.10" +	config BR2_BINUTILS_VERSION_2_17_50_0_12 +		depends !BR2_nios2 +		bool "binutils 2.17.50.0.12" +  	config BR2_BINUTILS_VERSION_2_17_50_0_14  		depends !BR2_nios2  		bool "binutils 2.17.50.0.14" @@ -105,6 +109,7 @@ config BR2_BINUTILS_VERSION  	default "2.17.50.0.8"     if BR2_BINUTILS_VERSION_2_17_50_0_8  	default "2.17.50.0.9"     if BR2_BINUTILS_VERSION_2_17_50_0_9  	default "2.17.50.0.10"    if BR2_BINUTILS_VERSION_2_17_50_0_10 +	default "2.17.50.0.12"    if BR2_BINUTILS_VERSION_2_17_50_0_12  	default "2.17.50.0.14"    if BR2_BINUTILS_VERSION_2_17_50_0_14  config BR2_EXTRA_BINUTILS_CONFIG_OPTIONS | 
