From 3bd35553fb6a376f9edfb22ef42c5710dc0eadfa Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 15 Aug 2005 18:26:17 +0000 Subject: [PATCH] add new binutils versions SVN-Revision: 1684 --- .../binutils/2.15.97/100-uclibc-conf.patch | 586 ++++++++++++++++++ .../2.15.97/110-uclibc-libtool-conf.patch | 218 +++++++ .../300-001_ld_makefile_patch.patch | 0 .../300-006_better_file_error.patch | 0 .../300-012_check_ldrunpath_length.patch | 0 .../702-binutils-skip-comments.patch | 0 .../binutils/2.16.1/100-uclibc-conf.patch | 586 ++++++++++++++++++ .../2.16.1/110-uclibc-libtool-conf.patch | 218 +++++++ .../2.16.1/300-001_ld_makefile_patch.patch | 52 ++ .../2.16.1/300-006_better_file_error.patch | 43 ++ .../300-012_check_ldrunpath_length.patch | 47 ++ .../2.16.1/702-binutils-skip-comments.patch | 93 +++ .../2.16.90.0.1/100-uclibc-conf.patch | 141 ----- ...00-120_mips_xgot_multigot_workaround.patch | 41 -- .../2.16.90.0.3/100-uclibc-conf.patch | 240 +++++++ .../300-001_ld_makefile_patch.patch | 52 ++ .../300-006_better_file_error.patch | 43 ++ .../300-012_check_ldrunpath_length.patch | 47 ++ .../702-binutils-skip-comments.patch | 93 +++ .../2.16.91.0.1/100-uclibc-conf.patch | 240 +++++++ .../300-001_ld_makefile_patch.patch | 50 ++ .../300-006_better_file_error.patch | 43 ++ .../300-012_check_ldrunpath_length.patch | 47 ++ .../702-binutils-skip-comments.patch | 93 +++ .../2.16.91.0.2/100-uclibc-conf.patch | 230 +++++++ .../300-001_ld_makefile_patch.patch | 50 ++ .../300-006_better_file_error.patch | 43 ++ .../300-012_check_ldrunpath_length.patch | 47 ++ .../702-binutils-skip-comments.patch | 93 +++ .../binutils/2.16/100-uclibc-conf.patch | 586 ++++++++++++++++++ .../2.16/110-uclibc-libtool-conf.patch | 218 +++++++ .../2.16/300-001_ld_makefile_patch.patch | 52 ++ .../2.16/300-006_better_file_error.patch | 43 ++ .../2.16/300-012_check_ldrunpath_length.patch | 47 ++ .../2.16/702-binutils-skip-comments.patch | 93 +++ openwrt/toolchain/binutils/Config.in | 26 +- openwrt/toolchain/binutils/Makefile | 26 +- 37 files changed, 4328 insertions(+), 199 deletions(-) create mode 100644 openwrt/toolchain/binutils/2.15.97/100-uclibc-conf.patch create mode 100644 openwrt/toolchain/binutils/2.15.97/110-uclibc-libtool-conf.patch rename openwrt/toolchain/binutils/{2.16.90.0.1 => 2.15.97}/300-001_ld_makefile_patch.patch (100%) rename openwrt/toolchain/binutils/{2.16.90.0.1 => 2.15.97}/300-006_better_file_error.patch (100%) rename openwrt/toolchain/binutils/{2.16.90.0.1 => 2.15.97}/300-012_check_ldrunpath_length.patch (100%) rename openwrt/toolchain/binutils/{2.16.90.0.1 => 2.15.97}/702-binutils-skip-comments.patch (100%) create mode 100644 openwrt/toolchain/binutils/2.16.1/100-uclibc-conf.patch create mode 100644 openwrt/toolchain/binutils/2.16.1/110-uclibc-libtool-conf.patch create mode 100644 openwrt/toolchain/binutils/2.16.1/300-001_ld_makefile_patch.patch create mode 100644 openwrt/toolchain/binutils/2.16.1/300-006_better_file_error.patch create mode 100644 openwrt/toolchain/binutils/2.16.1/300-012_check_ldrunpath_length.patch create mode 100644 openwrt/toolchain/binutils/2.16.1/702-binutils-skip-comments.patch delete mode 100644 openwrt/toolchain/binutils/2.16.90.0.1/100-uclibc-conf.patch delete mode 100644 openwrt/toolchain/binutils/2.16.90.0.1/300-120_mips_xgot_multigot_workaround.patch create mode 100644 openwrt/toolchain/binutils/2.16.90.0.3/100-uclibc-conf.patch create mode 100644 openwrt/toolchain/binutils/2.16.90.0.3/300-001_ld_makefile_patch.patch create mode 100644 openwrt/toolchain/binutils/2.16.90.0.3/300-006_better_file_error.patch create mode 100644 openwrt/toolchain/binutils/2.16.90.0.3/300-012_check_ldrunpath_length.patch create mode 100644 openwrt/toolchain/binutils/2.16.90.0.3/702-binutils-skip-comments.patch create mode 100644 openwrt/toolchain/binutils/2.16.91.0.1/100-uclibc-conf.patch create mode 100644 openwrt/toolchain/binutils/2.16.91.0.1/300-001_ld_makefile_patch.patch create mode 100644 openwrt/toolchain/binutils/2.16.91.0.1/300-006_better_file_error.patch create mode 100644 openwrt/toolchain/binutils/2.16.91.0.1/300-012_check_ldrunpath_length.patch create mode 100644 openwrt/toolchain/binutils/2.16.91.0.1/702-binutils-skip-comments.patch create mode 100644 openwrt/toolchain/binutils/2.16.91.0.2/100-uclibc-conf.patch create mode 100644 openwrt/toolchain/binutils/2.16.91.0.2/300-001_ld_makefile_patch.patch create mode 100644 openwrt/toolchain/binutils/2.16.91.0.2/300-006_better_file_error.patch create mode 100644 openwrt/toolchain/binutils/2.16.91.0.2/300-012_check_ldrunpath_length.patch create mode 100644 openwrt/toolchain/binutils/2.16.91.0.2/702-binutils-skip-comments.patch create mode 100644 openwrt/toolchain/binutils/2.16/100-uclibc-conf.patch create mode 100644 openwrt/toolchain/binutils/2.16/110-uclibc-libtool-conf.patch create mode 100644 openwrt/toolchain/binutils/2.16/300-001_ld_makefile_patch.patch create mode 100644 openwrt/toolchain/binutils/2.16/300-006_better_file_error.patch create mode 100644 openwrt/toolchain/binutils/2.16/300-012_check_ldrunpath_length.patch create mode 100644 openwrt/toolchain/binutils/2.16/702-binutils-skip-comments.patch diff --git a/openwrt/toolchain/binutils/2.15.97/100-uclibc-conf.patch b/openwrt/toolchain/binutils/2.15.97/100-uclibc-conf.patch new file mode 100644 index 0000000000..7c0a72693f --- /dev/null +++ b/openwrt/toolchain/binutils/2.15.97/100-uclibc-conf.patch @@ -0,0 +1,586 @@ +diff -ur binutils-2.15.97.orig/bfd/config.bfd binutils-2.15.97/bfd/config.bfd +--- binutils-2.15.97.orig/bfd/config.bfd 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/bfd/config.bfd 2005-04-29 20:53:50.000000000 -0400 +@@ -140,7 +140,7 @@ + targ_defvec=ecoffalpha_little_vec + targ_selvecs=bfd_elf64_alpha_vec + ;; +- alpha*-*-linux-gnu* | alpha*-*-elf*) ++ alpha*-*-linux-* | alpha*-*-elf*) + targ_defvec=bfd_elf64_alpha_vec + targ_selvecs=ecoffalpha_little_vec + ;; +@@ -150,7 +150,7 @@ + alpha*-*-*) + targ_defvec=ecoffalpha_little_vec + ;; +- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) ++ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) + targ_defvec=bfd_elf64_ia64_little_vec + targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec" + ;; +@@ -227,7 +227,7 @@ + targ_defvec=bfd_elf32_littlearm_vec + targ_selvecs=bfd_elf32_bigarm_vec + ;; +- armeb-*-elf | arm*b-*-linux-gnu*) ++ armeb-*-elf | arm*b-*-linux-*) + targ_defvec=bfd_elf32_bigarm_vec + targ_selvecs=bfd_elf32_littlearm_vec + ;; +@@ -235,7 +235,7 @@ + targ_defvec=bfd_elf32_littlearm_vec + targ_selvecs=bfd_elf32_bigarm_vec + ;; +- arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \ ++ arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ + arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ + arm*-*-eabi* ) + targ_defvec=bfd_elf32_littlearm_vec +@@ -385,7 +385,7 @@ + ;; + + #ifdef BFD64 +- hppa*64*-*-linux-gnu*) ++ hppa*64*-*-linux-*) + targ_defvec=bfd_elf64_hppa_linux_vec + targ_selvecs=bfd_elf64_hppa_vec + ;; +@@ -396,7 +396,7 @@ + ;; + #endif + +- hppa*-*-linux-gnu*) ++ hppa*-*-linux-*) + targ_defvec=bfd_elf32_hppa_linux_vec + targ_selvecs=bfd_elf32_hppa_vec + ;; +@@ -529,7 +529,7 @@ + targ_selvecs=bfd_elf32_i386_vec + targ_underscore=yes + ;; +- i[3-7]86-*-linux-gnu*) ++ i[3-7]86-*-linux-*) + targ_defvec=bfd_elf32_i386_vec + targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec" + targ64_selvecs=bfd_elf64_x86_64_vec +@@ -543,7 +543,7 @@ + targ_defvec=bfd_elf64_x86_64_vec + targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec" + ;; +- x86_64-*-linux-gnu*) ++ x86_64-*-linux-*) + targ_defvec=bfd_elf64_x86_64_vec + targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec" + ;; +@@ -719,7 +719,7 @@ + targ_selvecs=bfd_elf32_m68k_vec + targ_underscore=yes + ;; +- m68*-*-linux-gnu*) ++ m68*-*-linux-*) + targ_defvec=bfd_elf32_m68k_vec + targ_selvecs=m68klinux_vec + ;; +@@ -1005,7 +1005,7 @@ + ;; + #endif + powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ +- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \ ++ powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \ + powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*) + targ_defvec=bfd_elf32_powerpc_vec + targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec" +@@ -1042,7 +1042,7 @@ + targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" + ;; + powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ +- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\ ++ powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks* |\ + powerpcle-*-rtems*) + targ_defvec=bfd_elf32_powerpcle_vec + targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" +@@ -1213,7 +1213,7 @@ + targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" + targ_underscore=yes + ;; +- sparc-*-linux-gnu*) ++ sparc-*-linux-*) + targ_defvec=bfd_elf32_sparc_vec + targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec" + ;; +@@ -1260,7 +1260,7 @@ + targ_defvec=sunos_big_vec + targ_underscore=yes + ;; +- sparc64-*-linux-gnu*) ++ sparc64-*-linux-*) + targ_defvec=bfd_elf64_sparc_vec + targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec" + ;; +@@ -1329,7 +1329,7 @@ + targ_underscore=yes + ;; + +- vax-*-linux-gnu*) ++ vax-*-linux-*) + targ_defvec=bfd_elf32_vax_vec + ;; + +diff -ur binutils-2.15.97.orig/bfd/configure binutils-2.15.97/bfd/configure +--- binutils-2.15.97.orig/bfd/configure 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/bfd/configure 2005-04-29 20:53:50.000000000 -0400 +@@ -9918,7 +9918,7 @@ + alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) + COREFILE='' + ;; +- alpha*-*-linux-gnu*) ++ alpha*-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/alphalinux.h"' + ;; +@@ -9982,7 +9982,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386mach3.h"' + ;; +- i[3-7]86-*-linux-gnu*) ++ i[3-7]86-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386linux.h"' + ;; +@@ -10020,7 +10020,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/hp300bsd.h"' + ;; +- m68*-*-linux-gnu*) ++ m68*-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/m68klinux.h"' + ;; +@@ -10154,7 +10154,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/vaxult2.h"' + ;; +- vax-*-linux-gnu*) ++ vax-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/vaxlinux.h"' + ;; +diff -ur binutils-2.15.97.orig/bfd/configure.in binutils-2.15.97/bfd/configure.in +--- binutils-2.15.97.orig/bfd/configure.in 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/bfd/configure.in 2005-04-29 20:53:50.000000000 -0400 +@@ -163,7 +163,7 @@ + alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) + COREFILE='' + ;; +- alpha*-*-linux-gnu*) ++ alpha*-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/alphalinux.h"' + ;; +@@ -248,7 +248,7 @@ + TRAD_HEADER='"hosts/i386mach3.h"' + ;; + changequote(,)dnl +- i[3-7]86-*-linux-gnu*) ++ i[3-7]86-*-linux-*) + changequote([,])dnl + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386linux.h"' +@@ -289,7 +289,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/hp300bsd.h"' + ;; +- m68*-*-linux-gnu*) ++ m68*-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/m68klinux.h"' + ;; +@@ -375,7 +375,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/vaxult2.h"' + ;; +- vax-*-linux-gnu*) ++ vax-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/vaxlinux.h"' + ;; +diff -ur binutils-2.15.97.orig/gas/configure binutils-2.15.97/gas/configure +--- binutils-2.15.97.orig/gas/configure 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/gas/configure 2005-04-29 20:53:50.000000000 -0400 +@@ -4462,7 +4462,7 @@ + _ACEOF + + ;; +- ppc-*-linux-gnu*) ++ ppc-*-linux-*) + case "$endian" in + big) ;; + *) { { echo "$as_me:$LINENO: error: GNU/Linux must be configured big endian" >&5 +diff -ur binutils-2.15.97.orig/gas/configure.in binutils-2.15.97/gas/configure.in +--- binutils-2.15.97.orig/gas/configure.in 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/gas/configure.in 2005-04-29 20:53:50.000000000 -0400 +@@ -161,7 +161,7 @@ + AC_DEFINE(AIX_WEAK_SUPPORT, 1, + [Define if using AIX 5.2 value for C_WEAKEXT.]) + ;; +- ppc-*-linux-gnu*) ++ ppc-*-linux-*) + case "$endian" in + big) ;; + *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;; +diff -ur binutils-2.15.97.orig/gas/configure.tgt binutils-2.15.97/gas/configure.tgt +--- binutils-2.15.97.orig/gas/configure.tgt 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/gas/configure.tgt 2005-04-29 20:53:50.000000000 -0400 +@@ -100,7 +100,7 @@ + alpha-*-*vms*) fmt=evax ;; + alpha-*-osf*) fmt=ecoff ;; + alpha-*-linuxecoff*) fmt=ecoff ;; +- alpha-*-linux-gnu*) fmt=elf em=linux ;; ++ alpha-*-linux-*) fmt=elf em=linux ;; + alpha-*-netbsd*) fmt=elf em=nbsd ;; + alpha-*-openbsd*) fmt=elf em=obsd ;; + +@@ -116,7 +116,7 @@ + arm-*-conix*) fmt=elf ;; + arm-*-linux*aout*) fmt=aout em=linux ;; + arm-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;; +- arm-*-linux-gnu*) fmt=elf em=linux ;; ++ arm-*-linux-*) fmt=elf em=linux ;; + arm-*-uclinux*) fmt=elf em=linux ;; + arm-*-netbsdelf*) fmt=elf em=nbsd ;; + arm-*-*n*bsd*) fmt=aout em=nbsd ;; +@@ -128,7 +128,7 @@ + + avr-*-*) fmt=elf ;; + +- cris-*-linux-gnu* | crisv32-*-linux-gnu*) ++ cris-*-linux-* | crisv32-*-linux-*) + fmt=multi bfd_gas=yes em=linux ;; + cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;; + +@@ -192,7 +192,7 @@ + i386-*-linux*aout*) fmt=aout em=linux ;; + i386-*-linux*oldld) fmt=aout em=linux ;; + i386-*-linux*coff*) fmt=coff em=linux ;; +- i386-*-linux-gnu*) fmt=elf em=linux ;; ++ i386-*-linux-*) fmt=elf em=linux ;; + i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;; + i386-*-sysv[45]*) fmt=elf ;; + i386-*-solaris*) fmt=elf ;; +@@ -238,7 +238,7 @@ + + ia64-*-elf*) fmt=elf ;; + ia64-*-aix*) fmt=elf em=ia64aix ;; +- ia64-*-linux-gnu*) fmt=elf em=linux ;; ++ ia64-*-linux-*) fmt=elf em=linux ;; + ia64-*-hpux*) fmt=elf em=hpux ;; + ia64-*-netbsd*) fmt=elf em=nbsd ;; + +@@ -265,7 +265,7 @@ + m68k-*-rtems*) fmt=elf ;; + m68k-*-hpux*) fmt=hp300 em=hp300 ;; + m68k-*-linux*aout*) fmt=aout em=linux ;; +- m68k-*-linux-gnu*) fmt=elf em=linux ;; ++ m68k-*-linux-*) fmt=elf em=linux ;; + m68k-*-uclinux*) fmt=elf ;; + m68k-*-gnu*) fmt=elf ;; + m68k-*-netbsdelf*) fmt=elf em=nbsd ;; +@@ -332,7 +332,7 @@ + ppc-*-beos*) fmt=coff ;; + ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;; + ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;; +- ppc-*-linux-gnu*) fmt=elf em=linux ;; ++ ppc-*-linux-*) fmt=elf em=linux ;; + ppc-*-solaris*) fmt=elf ;; + ppc-*-rtems*) fmt=elf ;; + ppc-*-macos*) fmt=coff em=macos ;; +@@ -340,7 +340,7 @@ + ppc-*-kaos*) fmt=elf ;; + ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;; + +- s390-*-linux-gnu*) fmt=elf em=linux ;; ++ s390-*-linux-*) fmt=elf em=linux ;; + s390-*-tpf*) fmt=elf ;; + + sh*-*-linux*) fmt=elf em=linux +@@ -369,7 +369,7 @@ + sparc-*-aout | sparc*-*-vxworks*) fmt=aout em=sparcaout ;; + sparc-*-coff) fmt=coff ;; + sparc-*-linux*aout*) fmt=aout em=linux ;; +- sparc-*-linux-gnu*) fmt=elf em=linux ;; ++ sparc-*-linux-*) fmt=elf em=linux ;; + sparc-fujitsu-none) fmt=aout ;; + sparc-*-elf) fmt=elf ;; + sparc-*-sysv4*) fmt=elf ;; +@@ -398,7 +398,7 @@ + vax-*-netbsdelf*) fmt=elf em=nbsd ;; + vax-*-netbsd*) fmt=aout em=nbsd ;; + vax-*-bsd* | vax-*-ultrix*) fmt=aout ;; +- vax-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;; ++ vax-*-linux-*) fmt=elf em=linux bfd_gas=yes ;; + + w65-*-*) fmt=coff ;; + +diff -ur binutils-2.15.97.orig/ld/configure.host binutils-2.15.97/ld/configure.host +--- binutils-2.15.97.orig/ld/configure.host 2005-04-29 20:48:15.000000000 -0400 ++++ binutils-2.15.97/ld/configure.host 2005-04-29 20:53:50.000000000 -0400 +@@ -83,7 +83,7 @@ + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"` + ;; + +-arm*-*-linux-gnu*) ++arm*-*-linux-*) + HOSTING_CRT0='-p '`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"` + ;; + +@@ -141,7 +141,7 @@ + HOSTING_LIBS="$HOSTING_LIBS"' -lcygwin -L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32 `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`' + ;; + +-ia64-*-linux-gnu*) ++ia64-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]*\*,ld-linux-ia64,g"` + ;; + +@@ -155,11 +155,11 @@ + HOSTING_LIBS='-L/usr/lib32 '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o ; else ${CC} -print-file-name=crtend.o; fi` /usr/lib32/crtn.o -init __do_global_ctors -fini __do_global_dtors' + ;; + +-mips*-*-linux-gnu*) ++mips*-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` + ;; + +-m68*-*-linux-gnu*) ++m68*-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` + ;; + +@@ -183,19 +183,19 @@ + HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`' + ;; + +-powerpc64*-*-linux-gnu*) ++powerpc64*-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld64.so.1,"` + ;; + +-powerpc*-*-linux-gnu*) ++powerpc*-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` + ;; + +-s390x-*-linux-gnu*) ++s390x-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld64.so.1,"` + ;; + +-s390-*-linux-gnu*) ++s390-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` + ;; + +@@ -209,15 +209,15 @@ + HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`' + ;; + +-sparc-*-linux-gnu*) ++sparc-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld-linux.so.2,"` + ;; + +-sparc64-*-linux-gnu*) ++sparc64-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld-linux.so.2,"` + ;; + +-x86_64-*-linux-gnu*) ++x86_64-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld-linux-x86-64.so.2,"` + ;; + +diff -ur binutils-2.15.97.orig/ld/configure.tgt binutils-2.15.97/ld/configure.tgt +--- binutils-2.15.97.orig/ld/configure.tgt 2005-04-29 20:48:15.000000000 -0400 ++++ binutils-2.15.97/ld/configure.tgt 2005-04-29 20:53:50.000000000 -0400 +@@ -30,7 +30,7 @@ + cris-*-*aout*) targ_emul=crisaout + targ_extra_emuls="criself crislinux" + targ_extra_libpath=$targ_extra_emuls ;; +-cris-*-linux-gnu* | cris-*-linux-gnu*) ++cris-*-linux-* | crisv32-*-linux-*) + targ_emul=crislinux ;; + cris-*-* | crisv32-*-*) targ_emul=criself + targ_extra_emuls="crisaout crislinux" +@@ -62,14 +62,14 @@ + tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'` + tdir_sun4=sparc-sun-sunos4 + ;; +-sparc64-*-linux-gnu*) targ_emul=elf64_sparc ++sparc64-*-linux-*) targ_emul=elf64_sparc + targ_extra_emuls="elf32_sparc sparclinux sun4" + targ_extra_libpath=elf32_sparc + tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` + tdir_sparclinux=${tdir_elf32_sparc}aout + tdir_sun4=sparc-sun-sunos4 + ;; +-sparc*-*-linux-gnu*) targ_emul=elf32_sparc ++sparc*-*-linux-*) targ_emul=elf32_sparc + targ_extra_emuls="sparclinux elf64_sparc sun4" + targ_extra_libpath=elf64_sparc + tdir_sparclinux=${targ_alias}aout +@@ -119,8 +119,8 @@ + ia64-*-aix*) targ_emul=elf64_aix ;; + m32r*le-*-elf*) targ_emul=m32rlelf ;; + m32r*-*-elf*) targ_emul=m32relf ;; +-m32r*le-*-linux-gnu*) targ_emul=m32rlelf_linux ;; +-m32r*-*-linux-gnu*) targ_emul=m32relf_linux ;; ++m32r*le-*-linux-*) targ_emul=m32rlelf_linux ;; ++m32r*-*-linux-*) targ_emul=m32relf_linux ;; + m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf + targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;; + m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf +@@ -131,7 +131,7 @@ + m68*-apple-aux*) targ_emul=m68kaux ;; + maxq-*-coff) targ_emul=maxqcoff;; + *-tandem-none) targ_emul=st2000 ;; +-i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;; ++i370-*-elf* | i370-*-linux-*) targ_emul=elf32i370 ;; + i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;; + i[3-7]86-*-vsta) targ_emul=vsta ;; + i[3-7]86-go32-rtems*) targ_emul=i386go32 ;; +@@ -155,14 +155,14 @@ + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` + ;; + i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; +-i[3-7]86-*-linux-gnu*) targ_emul=elf_i386 ++i[3-7]86-*-linux-*) targ_emul=elf_i386 + targ_extra_emuls=i386linux + if test x${want64} = xtrue; then + targ_extra_emuls="$targ_extra_emuls elf_x86_64" + fi + tdir_i386linux=${targ_alias}aout + ;; +-x86_64-*-linux-gnu*) targ_emul=elf_x86_64 ++x86_64-*-linux-*) targ_emul=elf_x86_64 + targ_extra_emuls="elf_i386 i386linux" + targ_extra_libpath=elf_i386 + tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'` +@@ -262,13 +262,13 @@ + arm-*-kaos*) targ_emul=armelf ;; + arm9e-*-elf) targ_emul=armelf ;; + arm*b-*-linux-gnueabi) targ_emul=armelfb_linux_eabi ;; +-arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;; ++arm*b-*-linux-*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;; + arm*-*-linux-gnueabi) targ_emul=armelf_linux_eabi ;; +-arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; ++arm*-*-linux-*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; + arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; + arm-*-vxworks) targ_emul=armelf_vxworks ;; + arm*-*-conix*) targ_emul=armelf ;; +-thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; ++thumb-*-linux-* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; + strongarm-*-coff) targ_emul=armcoff ;; + strongarm-*-elf) targ_emul=armelf ;; + strongarm-*-kaos*) targ_emul=armelf ;; +@@ -372,7 +372,7 @@ + targ_extra_emuls=m68kelf + tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'` + ;; +-m68k-*-linux-gnu*) targ_emul=m68kelf ++m68k-*-linux-*) targ_emul=m68kelf + targ_extra_emuls=m68klinux + tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'` + ;; +@@ -388,9 +388,9 @@ + m68*-*-psos*) targ_emul=m68kpsos ;; + m68*-*-rtemscoff*) targ_emul=m68kcoff ;; + m68*-*-rtems*) targ_emul=m68kelf ;; +-hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;; ++hppa*64*-*-linux-*) targ_emul=hppa64linux ;; + hppa*64*-*) targ_emul=elf64hppa ;; +-hppa*-*-linux-gnu*) targ_emul=hppalinux ;; ++hppa*-*-linux-*) targ_emul=hppalinux ;; + hppa*-*-*elf*) targ_emul=hppaelf ;; + hppa*-*-lites*) targ_emul=hppaelf ;; + hppa*-*-netbsd*) targ_emul=hppanbsd ;; +@@ -402,7 +402,7 @@ + vax-*-netbsdaout* | vax-*-netbsd*) + targ_emul=vaxnbsd + targ_extra_emuls=elf32vax ;; +-vax-*-linux-gnu*) targ_emul=elf32vax ;; ++vax-*-linux-*) targ_emul=elf32vax ;; + mips*-*-pe) targ_emul=mipspe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; + mips*-dec-ultrix*) targ_emul=mipslit ;; +@@ -436,18 +436,18 @@ + mips*-*-vxworks*) targ_emul=elf32ebmip + targ_extra_emuls="elf32elmip" ;; + mips*-*-windiss) targ_emul=elf32mipswindiss ;; +-mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32 ++mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 + targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" + targ_extra_libpath="elf32ltsmip elf64ltsmip" + ;; +-mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32 ++mips64*-*-linux-*) targ_emul=elf32btsmipn32 + targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" + targ_extra_libpath="elf32btsmip elf64btsmip" + ;; +-mips*el-*-linux-gnu*) targ_emul=elf32ltsmip ++mips*el-*-linux-*) targ_emul=elf32ltsmip + targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" + ;; +-mips*-*-linux-gnu*) targ_emul=elf32btsmip ++mips*-*-linux-*) targ_emul=elf32btsmip + targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" + ;; + mips*-*-lnews*) targ_emul=mipslnews ;; +@@ -467,7 +467,7 @@ + alpha*-*-linuxecoff*) targ_emul=alpha targ_extra_emuls=elf64alpha + tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'` + ;; +-alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha ++alpha*-*-linux-*) targ_emul=elf64alpha targ_extra_emuls=alpha + tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'` + ;; + alpha*-*-osf*) targ_emul=alpha ;; +diff -ur binutils-2.15.97.orig/ld/emultempl/elf32.em binutils-2.15.97/ld/emultempl/elf32.em +--- binutils-2.15.97.orig/ld/emultempl/elf32.em 2005-04-29 20:48:15.000000000 -0400 ++++ binutils-2.15.97/ld/emultempl/elf32.em 2005-04-29 20:53:50.000000000 -0400 +@@ -65,7 +65,7 @@ + + if [ "x${USE_LIBPATH}" = xyes ] ; then + case ${target} in +- *-*-linux-gnu*) ++ *-*-linux-*) + cat >>e${EMULATION_NAME}.c < +@@ -350,7 +350,7 @@ + + EOF + case ${target} in +- *-*-linux-gnu*) ++ *-*-linux-*) + cat >>e${EMULATION_NAME}.c <>e${EMULATION_NAME}.c <>e${EMULATION_NAME}.c <name, force)) + break; diff --git a/openwrt/toolchain/binutils/2.15.97/110-uclibc-libtool-conf.patch b/openwrt/toolchain/binutils/2.15.97/110-uclibc-libtool-conf.patch new file mode 100644 index 0000000000..ec38caa125 --- /dev/null +++ b/openwrt/toolchain/binutils/2.15.97/110-uclibc-libtool-conf.patch @@ -0,0 +1,218 @@ +diff -urN binutils-2.16.90.0.2-dist/bfd/configure binutils-2.16.90.0.2/bfd/configure +--- binutils-2.16.90.0.2-dist/bfd/configure 2005-04-29 12:50:24.000000000 -0500 ++++ binutils-2.16.90.0.2/bfd/configure 2005-04-30 11:34:59.246377032 -0500 +@@ -3584,6 +3584,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]+$' +diff -urN binutils-2.16.90.0.2-dist/binutils/configure binutils-2.16.90.0.2/binutils/configure +--- binutils-2.16.90.0.2-dist/binutils/configure 2005-04-29 12:50:26.000000000 -0500 ++++ binutils-2.16.90.0.2/binutils/configure 2005-04-30 11:35:28.900868864 -0500 +@@ -1577,6 +1577,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]+$' +diff -urN binutils-2.16.90.0.2-dist/configure binutils-2.16.90.0.2/configure +--- binutils-2.16.90.0.2-dist/configure 2005-04-29 12:50:23.000000000 -0500 ++++ binutils-2.16.90.0.2/configure 2005-04-30 11:31:12.525843792 -0500 +@@ -1111,7 +1111,7 @@ + ;; + "") + case "${target}" in +- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) ++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) + # Enable libmudflap by default in GNU and friends. + ;; + *-*-freebsd*) +diff -urN binutils-2.16.90.0.2-dist/configure.in binutils-2.16.90.0.2/configure.in +--- binutils-2.16.90.0.2-dist/configure.in 2005-04-29 12:50:23.000000000 -0500 ++++ binutils-2.16.90.0.2/configure.in 2005-04-30 11:29:51.643139832 -0500 +@@ -328,7 +328,7 @@ + ;; + "") + case "${target}" in +- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) ++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) + # Enable libmudflap by default in GNU and friends. + ;; + *-*-freebsd*) +diff -urN binutils-2.16.90.0.2-dist/gas/configure binutils-2.16.90.0.2/gas/configure +--- binutils-2.16.90.0.2-dist/gas/configure 2005-04-29 12:50:27.000000000 -0500 ++++ binutils-2.16.90.0.2/gas/configure 2005-04-30 11:35:21.097055224 -0500 +@@ -3421,6 +3421,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]+$' +diff -urN binutils-2.16.90.0.2-dist/gas/testsuite/gas/sh/basic.exp binutils-2.16.90.0.2/gas/testsuite/gas/sh/basic.exp +--- binutils-2.16.90.0.2-dist/gas/testsuite/gas/sh/basic.exp 2005-04-09 14:03:14.000000000 -0500 ++++ binutils-2.16.90.0.2/gas/testsuite/gas/sh/basic.exp 2005-04-30 11:41:57.301822944 -0500 +@@ -20,7 +20,7 @@ + + # Written by Cygnus Support. + +-if [istarget "sh*-*-linux-gnu"] { ++if {[istarget "sh*-*-linux-gnu"] || [istarget "sh*-*-linux-uclibc"]} { + global ASFLAGS + set ASFLAGS "$ASFLAGS -big" + } +diff -urN binutils-2.16.90.0.2-dist/gprof/configure binutils-2.16.90.0.2/gprof/configure +--- binutils-2.16.90.0.2-dist/gprof/configure 2005-04-29 12:50:29.000000000 -0500 ++++ binutils-2.16.90.0.2/gprof/configure 2005-04-30 11:35:36.880655752 -0500 +@@ -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]+$' +diff -urN binutils-2.16.90.0.2-dist/ld/configure binutils-2.16.90.0.2/ld/configure +--- binutils-2.16.90.0.2-dist/ld/configure 2005-04-29 12:50:30.000000000 -0500 ++++ binutils-2.16.90.0.2/ld/configure 2005-04-30 11:46:15.974498720 -0500 +@@ -1581,6 +1581,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]+$' +diff -urN binutils-2.16.90.0.2-dist/ld/testsuite/ld-sh/sh.exp binutils-2.16.90.0.2/ld/testsuite/ld-sh/sh.exp +--- binutils-2.16.90.0.2-dist/ld/testsuite/ld-sh/sh.exp 2005-04-09 14:03:29.000000000 -0500 ++++ binutils-2.16.90.0.2/ld/testsuite/ld-sh/sh.exp 2005-04-30 11:45:07.890849008 -0500 +@@ -62,7 +62,7 @@ + + set testsrec "SH relaxing to S-records" + +-if [istarget sh*-linux-gnu] { ++if {[istarget sh*-linux-gnu] || [istarget sh*-*-linux-uclibc]} { + # This target needs the explicit entry address. + catch "exec $objdump -x tmpdir/sh1 | grep start\\ address | sed s/start\\ address//" entry_addr + set srec_relax_arg "-Ttext $entry_addr -relax --oformat srec tmpdir/sh1.o" +@@ -117,7 +117,7 @@ + return + } + +-if [istarget sh*-linux-gnu] { ++if {[istarget sh*-linux-gnu] || [istarget sh*-*-linux-uclibc]} { + exec sed -e s/_main/main/ -e s/_trap/trap/ -e s/_stack/stack/ \ + < $srcdir/$subdir/start.s >tmpdir/start.s + } else { +diff -urN binutils-2.16.90.0.2-dist/ld/testsuite/ld-srec/srec.exp binutils-2.16.90.0.2/ld/testsuite/ld-srec/srec.exp +--- binutils-2.16.90.0.2-dist/ld/testsuite/ld-srec/srec.exp 2005-04-29 12:50:30.000000000 -0500 ++++ binutils-2.16.90.0.2/ld/testsuite/ld-srec/srec.exp 2005-04-30 11:44:26.358162936 -0500 +@@ -385,7 +385,7 @@ + setup_xfail "v850*-*-elf" + + # The S-record linker doesn't handle Alpha Elf relaxation. +-setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" ++setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" "alpha*-*-linux-uclibc*" + setup_xfail "alpha*-*-netbsd*" + + # The S-record linker hasn't any hope of coping with HPPA relocs. +@@ -424,7 +424,7 @@ + setup_xfail "thumb-*-*" + setup_xfail "powerpc*-*-eabi*" + setup_xfail "v850*-*-elf" +-setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" ++setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" "alpha*-*-linux-uclibc*" + setup_xfail "alpha*-*-netbsd*" + setup_xfail "hppa*-*-*" + setup_xfail "ia64-*-*" +diff -urN binutils-2.16.90.0.2-dist/libtool.m4 binutils-2.16.90.0.2/libtool.m4 +--- binutils-2.16.90.0.2-dist/libtool.m4 2004-07-27 23:36:06.000000000 -0500 ++++ binutils-2.16.90.0.2/libtool.m4 2005-04-30 11:35:54.062043784 -0500 +@@ -645,6 +645,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]+$'] +diff -urN binutils-2.16.90.0.2-dist/ltconfig binutils-2.16.90.0.2/ltconfig +--- binutils-2.16.90.0.2-dist/ltconfig 2004-11-22 14:33:30.000000000 -0600 ++++ binutils-2.16.90.0.2/ltconfig 2005-04-30 11:22:10.594229920 -0500 +@@ -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 +@@ -1270,6 +1271,23 @@ + dynamic_linker='GNU/Linux ld.so' + ;; + ++linux-uclibc*) ++ version_type=linux ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ++ soname_spec='${libname}${release}.so$major' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ # This implies no fast_install, which is unacceptable. ++ # Some rework will be needed to allow for fast_install ++ # before this can be enabled. ++ hardcode_into_libs=yes ++ # Assume using the uClibc dynamic linker. ++ dynamic_linker="uClibc ld.so" ++ ;; ++ + netbsd*) + need_lib_prefix=no + need_version=no +diff -urN binutils-2.16.90.0.2-dist/opcodes/configure binutils-2.16.90.0.2/opcodes/configure +--- binutils-2.16.90.0.2-dist/opcodes/configure 2005-04-29 12:50:31.000000000 -0500 ++++ binutils-2.16.90.0.2/opcodes/configure 2005-04-30 11:17:07.168357664 -0500 +@@ -3588,6 +3588,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]+$' diff --git a/openwrt/toolchain/binutils/2.16.90.0.1/300-001_ld_makefile_patch.patch b/openwrt/toolchain/binutils/2.15.97/300-001_ld_makefile_patch.patch similarity index 100% rename from openwrt/toolchain/binutils/2.16.90.0.1/300-001_ld_makefile_patch.patch rename to openwrt/toolchain/binutils/2.15.97/300-001_ld_makefile_patch.patch diff --git a/openwrt/toolchain/binutils/2.16.90.0.1/300-006_better_file_error.patch b/openwrt/toolchain/binutils/2.15.97/300-006_better_file_error.patch similarity index 100% rename from openwrt/toolchain/binutils/2.16.90.0.1/300-006_better_file_error.patch rename to openwrt/toolchain/binutils/2.15.97/300-006_better_file_error.patch diff --git a/openwrt/toolchain/binutils/2.16.90.0.1/300-012_check_ldrunpath_length.patch b/openwrt/toolchain/binutils/2.15.97/300-012_check_ldrunpath_length.patch similarity index 100% rename from openwrt/toolchain/binutils/2.16.90.0.1/300-012_check_ldrunpath_length.patch rename to openwrt/toolchain/binutils/2.15.97/300-012_check_ldrunpath_length.patch diff --git a/openwrt/toolchain/binutils/2.16.90.0.1/702-binutils-skip-comments.patch b/openwrt/toolchain/binutils/2.15.97/702-binutils-skip-comments.patch similarity index 100% rename from openwrt/toolchain/binutils/2.16.90.0.1/702-binutils-skip-comments.patch rename to openwrt/toolchain/binutils/2.15.97/702-binutils-skip-comments.patch diff --git a/openwrt/toolchain/binutils/2.16.1/100-uclibc-conf.patch b/openwrt/toolchain/binutils/2.16.1/100-uclibc-conf.patch new file mode 100644 index 0000000000..7c0a72693f --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.1/100-uclibc-conf.patch @@ -0,0 +1,586 @@ +diff -ur binutils-2.15.97.orig/bfd/config.bfd binutils-2.15.97/bfd/config.bfd +--- binutils-2.15.97.orig/bfd/config.bfd 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/bfd/config.bfd 2005-04-29 20:53:50.000000000 -0400 +@@ -140,7 +140,7 @@ + targ_defvec=ecoffalpha_little_vec + targ_selvecs=bfd_elf64_alpha_vec + ;; +- alpha*-*-linux-gnu* | alpha*-*-elf*) ++ alpha*-*-linux-* | alpha*-*-elf*) + targ_defvec=bfd_elf64_alpha_vec + targ_selvecs=ecoffalpha_little_vec + ;; +@@ -150,7 +150,7 @@ + alpha*-*-*) + targ_defvec=ecoffalpha_little_vec + ;; +- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) ++ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) + targ_defvec=bfd_elf64_ia64_little_vec + targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec" + ;; +@@ -227,7 +227,7 @@ + targ_defvec=bfd_elf32_littlearm_vec + targ_selvecs=bfd_elf32_bigarm_vec + ;; +- armeb-*-elf | arm*b-*-linux-gnu*) ++ armeb-*-elf | arm*b-*-linux-*) + targ_defvec=bfd_elf32_bigarm_vec + targ_selvecs=bfd_elf32_littlearm_vec + ;; +@@ -235,7 +235,7 @@ + targ_defvec=bfd_elf32_littlearm_vec + targ_selvecs=bfd_elf32_bigarm_vec + ;; +- arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \ ++ arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ + arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ + arm*-*-eabi* ) + targ_defvec=bfd_elf32_littlearm_vec +@@ -385,7 +385,7 @@ + ;; + + #ifdef BFD64 +- hppa*64*-*-linux-gnu*) ++ hppa*64*-*-linux-*) + targ_defvec=bfd_elf64_hppa_linux_vec + targ_selvecs=bfd_elf64_hppa_vec + ;; +@@ -396,7 +396,7 @@ + ;; + #endif + +- hppa*-*-linux-gnu*) ++ hppa*-*-linux-*) + targ_defvec=bfd_elf32_hppa_linux_vec + targ_selvecs=bfd_elf32_hppa_vec + ;; +@@ -529,7 +529,7 @@ + targ_selvecs=bfd_elf32_i386_vec + targ_underscore=yes + ;; +- i[3-7]86-*-linux-gnu*) ++ i[3-7]86-*-linux-*) + targ_defvec=bfd_elf32_i386_vec + targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec" + targ64_selvecs=bfd_elf64_x86_64_vec +@@ -543,7 +543,7 @@ + targ_defvec=bfd_elf64_x86_64_vec + targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec" + ;; +- x86_64-*-linux-gnu*) ++ x86_64-*-linux-*) + targ_defvec=bfd_elf64_x86_64_vec + targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec" + ;; +@@ -719,7 +719,7 @@ + targ_selvecs=bfd_elf32_m68k_vec + targ_underscore=yes + ;; +- m68*-*-linux-gnu*) ++ m68*-*-linux-*) + targ_defvec=bfd_elf32_m68k_vec + targ_selvecs=m68klinux_vec + ;; +@@ -1005,7 +1005,7 @@ + ;; + #endif + powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ +- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \ ++ powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \ + powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*) + targ_defvec=bfd_elf32_powerpc_vec + targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec" +@@ -1042,7 +1042,7 @@ + targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" + ;; + powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ +- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\ ++ powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks* |\ + powerpcle-*-rtems*) + targ_defvec=bfd_elf32_powerpcle_vec + targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" +@@ -1213,7 +1213,7 @@ + targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" + targ_underscore=yes + ;; +- sparc-*-linux-gnu*) ++ sparc-*-linux-*) + targ_defvec=bfd_elf32_sparc_vec + targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec" + ;; +@@ -1260,7 +1260,7 @@ + targ_defvec=sunos_big_vec + targ_underscore=yes + ;; +- sparc64-*-linux-gnu*) ++ sparc64-*-linux-*) + targ_defvec=bfd_elf64_sparc_vec + targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec" + ;; +@@ -1329,7 +1329,7 @@ + targ_underscore=yes + ;; + +- vax-*-linux-gnu*) ++ vax-*-linux-*) + targ_defvec=bfd_elf32_vax_vec + ;; + +diff -ur binutils-2.15.97.orig/bfd/configure binutils-2.15.97/bfd/configure +--- binutils-2.15.97.orig/bfd/configure 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/bfd/configure 2005-04-29 20:53:50.000000000 -0400 +@@ -9918,7 +9918,7 @@ + alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) + COREFILE='' + ;; +- alpha*-*-linux-gnu*) ++ alpha*-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/alphalinux.h"' + ;; +@@ -9982,7 +9982,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386mach3.h"' + ;; +- i[3-7]86-*-linux-gnu*) ++ i[3-7]86-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386linux.h"' + ;; +@@ -10020,7 +10020,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/hp300bsd.h"' + ;; +- m68*-*-linux-gnu*) ++ m68*-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/m68klinux.h"' + ;; +@@ -10154,7 +10154,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/vaxult2.h"' + ;; +- vax-*-linux-gnu*) ++ vax-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/vaxlinux.h"' + ;; +diff -ur binutils-2.15.97.orig/bfd/configure.in binutils-2.15.97/bfd/configure.in +--- binutils-2.15.97.orig/bfd/configure.in 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/bfd/configure.in 2005-04-29 20:53:50.000000000 -0400 +@@ -163,7 +163,7 @@ + alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) + COREFILE='' + ;; +- alpha*-*-linux-gnu*) ++ alpha*-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/alphalinux.h"' + ;; +@@ -248,7 +248,7 @@ + TRAD_HEADER='"hosts/i386mach3.h"' + ;; + changequote(,)dnl +- i[3-7]86-*-linux-gnu*) ++ i[3-7]86-*-linux-*) + changequote([,])dnl + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386linux.h"' +@@ -289,7 +289,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/hp300bsd.h"' + ;; +- m68*-*-linux-gnu*) ++ m68*-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/m68klinux.h"' + ;; +@@ -375,7 +375,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/vaxult2.h"' + ;; +- vax-*-linux-gnu*) ++ vax-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/vaxlinux.h"' + ;; +diff -ur binutils-2.15.97.orig/gas/configure binutils-2.15.97/gas/configure +--- binutils-2.15.97.orig/gas/configure 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/gas/configure 2005-04-29 20:53:50.000000000 -0400 +@@ -4462,7 +4462,7 @@ + _ACEOF + + ;; +- ppc-*-linux-gnu*) ++ ppc-*-linux-*) + case "$endian" in + big) ;; + *) { { echo "$as_me:$LINENO: error: GNU/Linux must be configured big endian" >&5 +diff -ur binutils-2.15.97.orig/gas/configure.in binutils-2.15.97/gas/configure.in +--- binutils-2.15.97.orig/gas/configure.in 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/gas/configure.in 2005-04-29 20:53:50.000000000 -0400 +@@ -161,7 +161,7 @@ + AC_DEFINE(AIX_WEAK_SUPPORT, 1, + [Define if using AIX 5.2 value for C_WEAKEXT.]) + ;; +- ppc-*-linux-gnu*) ++ ppc-*-linux-*) + case "$endian" in + big) ;; + *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;; +diff -ur binutils-2.15.97.orig/gas/configure.tgt binutils-2.15.97/gas/configure.tgt +--- binutils-2.15.97.orig/gas/configure.tgt 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/gas/configure.tgt 2005-04-29 20:53:50.000000000 -0400 +@@ -100,7 +100,7 @@ + alpha-*-*vms*) fmt=evax ;; + alpha-*-osf*) fmt=ecoff ;; + alpha-*-linuxecoff*) fmt=ecoff ;; +- alpha-*-linux-gnu*) fmt=elf em=linux ;; ++ alpha-*-linux-*) fmt=elf em=linux ;; + alpha-*-netbsd*) fmt=elf em=nbsd ;; + alpha-*-openbsd*) fmt=elf em=obsd ;; + +@@ -116,7 +116,7 @@ + arm-*-conix*) fmt=elf ;; + arm-*-linux*aout*) fmt=aout em=linux ;; + arm-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;; +- arm-*-linux-gnu*) fmt=elf em=linux ;; ++ arm-*-linux-*) fmt=elf em=linux ;; + arm-*-uclinux*) fmt=elf em=linux ;; + arm-*-netbsdelf*) fmt=elf em=nbsd ;; + arm-*-*n*bsd*) fmt=aout em=nbsd ;; +@@ -128,7 +128,7 @@ + + avr-*-*) fmt=elf ;; + +- cris-*-linux-gnu* | crisv32-*-linux-gnu*) ++ cris-*-linux-* | crisv32-*-linux-*) + fmt=multi bfd_gas=yes em=linux ;; + cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;; + +@@ -192,7 +192,7 @@ + i386-*-linux*aout*) fmt=aout em=linux ;; + i386-*-linux*oldld) fmt=aout em=linux ;; + i386-*-linux*coff*) fmt=coff em=linux ;; +- i386-*-linux-gnu*) fmt=elf em=linux ;; ++ i386-*-linux-*) fmt=elf em=linux ;; + i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;; + i386-*-sysv[45]*) fmt=elf ;; + i386-*-solaris*) fmt=elf ;; +@@ -238,7 +238,7 @@ + + ia64-*-elf*) fmt=elf ;; + ia64-*-aix*) fmt=elf em=ia64aix ;; +- ia64-*-linux-gnu*) fmt=elf em=linux ;; ++ ia64-*-linux-*) fmt=elf em=linux ;; + ia64-*-hpux*) fmt=elf em=hpux ;; + ia64-*-netbsd*) fmt=elf em=nbsd ;; + +@@ -265,7 +265,7 @@ + m68k-*-rtems*) fmt=elf ;; + m68k-*-hpux*) fmt=hp300 em=hp300 ;; + m68k-*-linux*aout*) fmt=aout em=linux ;; +- m68k-*-linux-gnu*) fmt=elf em=linux ;; ++ m68k-*-linux-*) fmt=elf em=linux ;; + m68k-*-uclinux*) fmt=elf ;; + m68k-*-gnu*) fmt=elf ;; + m68k-*-netbsdelf*) fmt=elf em=nbsd ;; +@@ -332,7 +332,7 @@ + ppc-*-beos*) fmt=coff ;; + ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;; + ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;; +- ppc-*-linux-gnu*) fmt=elf em=linux ;; ++ ppc-*-linux-*) fmt=elf em=linux ;; + ppc-*-solaris*) fmt=elf ;; + ppc-*-rtems*) fmt=elf ;; + ppc-*-macos*) fmt=coff em=macos ;; +@@ -340,7 +340,7 @@ + ppc-*-kaos*) fmt=elf ;; + ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;; + +- s390-*-linux-gnu*) fmt=elf em=linux ;; ++ s390-*-linux-*) fmt=elf em=linux ;; + s390-*-tpf*) fmt=elf ;; + + sh*-*-linux*) fmt=elf em=linux +@@ -369,7 +369,7 @@ + sparc-*-aout | sparc*-*-vxworks*) fmt=aout em=sparcaout ;; + sparc-*-coff) fmt=coff ;; + sparc-*-linux*aout*) fmt=aout em=linux ;; +- sparc-*-linux-gnu*) fmt=elf em=linux ;; ++ sparc-*-linux-*) fmt=elf em=linux ;; + sparc-fujitsu-none) fmt=aout ;; + sparc-*-elf) fmt=elf ;; + sparc-*-sysv4*) fmt=elf ;; +@@ -398,7 +398,7 @@ + vax-*-netbsdelf*) fmt=elf em=nbsd ;; + vax-*-netbsd*) fmt=aout em=nbsd ;; + vax-*-bsd* | vax-*-ultrix*) fmt=aout ;; +- vax-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;; ++ vax-*-linux-*) fmt=elf em=linux bfd_gas=yes ;; + + w65-*-*) fmt=coff ;; + +diff -ur binutils-2.15.97.orig/ld/configure.host binutils-2.15.97/ld/configure.host +--- binutils-2.15.97.orig/ld/configure.host 2005-04-29 20:48:15.000000000 -0400 ++++ binutils-2.15.97/ld/configure.host 2005-04-29 20:53:50.000000000 -0400 +@@ -83,7 +83,7 @@ + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"` + ;; + +-arm*-*-linux-gnu*) ++arm*-*-linux-*) + HOSTING_CRT0='-p '`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"` + ;; + +@@ -141,7 +141,7 @@ + HOSTING_LIBS="$HOSTING_LIBS"' -lcygwin -L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32 `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`' + ;; + +-ia64-*-linux-gnu*) ++ia64-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]*\*,ld-linux-ia64,g"` + ;; + +@@ -155,11 +155,11 @@ + HOSTING_LIBS='-L/usr/lib32 '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o ; else ${CC} -print-file-name=crtend.o; fi` /usr/lib32/crtn.o -init __do_global_ctors -fini __do_global_dtors' + ;; + +-mips*-*-linux-gnu*) ++mips*-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` + ;; + +-m68*-*-linux-gnu*) ++m68*-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` + ;; + +@@ -183,19 +183,19 @@ + HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`' + ;; + +-powerpc64*-*-linux-gnu*) ++powerpc64*-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld64.so.1,"` + ;; + +-powerpc*-*-linux-gnu*) ++powerpc*-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` + ;; + +-s390x-*-linux-gnu*) ++s390x-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld64.so.1,"` + ;; + +-s390-*-linux-gnu*) ++s390-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` + ;; + +@@ -209,15 +209,15 @@ + HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`' + ;; + +-sparc-*-linux-gnu*) ++sparc-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld-linux.so.2,"` + ;; + +-sparc64-*-linux-gnu*) ++sparc64-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld-linux.so.2,"` + ;; + +-x86_64-*-linux-gnu*) ++x86_64-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld-linux-x86-64.so.2,"` + ;; + +diff -ur binutils-2.15.97.orig/ld/configure.tgt binutils-2.15.97/ld/configure.tgt +--- binutils-2.15.97.orig/ld/configure.tgt 2005-04-29 20:48:15.000000000 -0400 ++++ binutils-2.15.97/ld/configure.tgt 2005-04-29 20:53:50.000000000 -0400 +@@ -30,7 +30,7 @@ + cris-*-*aout*) targ_emul=crisaout + targ_extra_emuls="criself crislinux" + targ_extra_libpath=$targ_extra_emuls ;; +-cris-*-linux-gnu* | cris-*-linux-gnu*) ++cris-*-linux-* | crisv32-*-linux-*) + targ_emul=crislinux ;; + cris-*-* | crisv32-*-*) targ_emul=criself + targ_extra_emuls="crisaout crislinux" +@@ -62,14 +62,14 @@ + tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'` + tdir_sun4=sparc-sun-sunos4 + ;; +-sparc64-*-linux-gnu*) targ_emul=elf64_sparc ++sparc64-*-linux-*) targ_emul=elf64_sparc + targ_extra_emuls="elf32_sparc sparclinux sun4" + targ_extra_libpath=elf32_sparc + tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` + tdir_sparclinux=${tdir_elf32_sparc}aout + tdir_sun4=sparc-sun-sunos4 + ;; +-sparc*-*-linux-gnu*) targ_emul=elf32_sparc ++sparc*-*-linux-*) targ_emul=elf32_sparc + targ_extra_emuls="sparclinux elf64_sparc sun4" + targ_extra_libpath=elf64_sparc + tdir_sparclinux=${targ_alias}aout +@@ -119,8 +119,8 @@ + ia64-*-aix*) targ_emul=elf64_aix ;; + m32r*le-*-elf*) targ_emul=m32rlelf ;; + m32r*-*-elf*) targ_emul=m32relf ;; +-m32r*le-*-linux-gnu*) targ_emul=m32rlelf_linux ;; +-m32r*-*-linux-gnu*) targ_emul=m32relf_linux ;; ++m32r*le-*-linux-*) targ_emul=m32rlelf_linux ;; ++m32r*-*-linux-*) targ_emul=m32relf_linux ;; + m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf + targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;; + m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf +@@ -131,7 +131,7 @@ + m68*-apple-aux*) targ_emul=m68kaux ;; + maxq-*-coff) targ_emul=maxqcoff;; + *-tandem-none) targ_emul=st2000 ;; +-i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;; ++i370-*-elf* | i370-*-linux-*) targ_emul=elf32i370 ;; + i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;; + i[3-7]86-*-vsta) targ_emul=vsta ;; + i[3-7]86-go32-rtems*) targ_emul=i386go32 ;; +@@ -155,14 +155,14 @@ + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` + ;; + i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; +-i[3-7]86-*-linux-gnu*) targ_emul=elf_i386 ++i[3-7]86-*-linux-*) targ_emul=elf_i386 + targ_extra_emuls=i386linux + if test x${want64} = xtrue; then + targ_extra_emuls="$targ_extra_emuls elf_x86_64" + fi + tdir_i386linux=${targ_alias}aout + ;; +-x86_64-*-linux-gnu*) targ_emul=elf_x86_64 ++x86_64-*-linux-*) targ_emul=elf_x86_64 + targ_extra_emuls="elf_i386 i386linux" + targ_extra_libpath=elf_i386 + tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'` +@@ -262,13 +262,13 @@ + arm-*-kaos*) targ_emul=armelf ;; + arm9e-*-elf) targ_emul=armelf ;; + arm*b-*-linux-gnueabi) targ_emul=armelfb_linux_eabi ;; +-arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;; ++arm*b-*-linux-*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;; + arm*-*-linux-gnueabi) targ_emul=armelf_linux_eabi ;; +-arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; ++arm*-*-linux-*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; + arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; + arm-*-vxworks) targ_emul=armelf_vxworks ;; + arm*-*-conix*) targ_emul=armelf ;; +-thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; ++thumb-*-linux-* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; + strongarm-*-coff) targ_emul=armcoff ;; + strongarm-*-elf) targ_emul=armelf ;; + strongarm-*-kaos*) targ_emul=armelf ;; +@@ -372,7 +372,7 @@ + targ_extra_emuls=m68kelf + tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'` + ;; +-m68k-*-linux-gnu*) targ_emul=m68kelf ++m68k-*-linux-*) targ_emul=m68kelf + targ_extra_emuls=m68klinux + tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'` + ;; +@@ -388,9 +388,9 @@ + m68*-*-psos*) targ_emul=m68kpsos ;; + m68*-*-rtemscoff*) targ_emul=m68kcoff ;; + m68*-*-rtems*) targ_emul=m68kelf ;; +-hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;; ++hppa*64*-*-linux-*) targ_emul=hppa64linux ;; + hppa*64*-*) targ_emul=elf64hppa ;; +-hppa*-*-linux-gnu*) targ_emul=hppalinux ;; ++hppa*-*-linux-*) targ_emul=hppalinux ;; + hppa*-*-*elf*) targ_emul=hppaelf ;; + hppa*-*-lites*) targ_emul=hppaelf ;; + hppa*-*-netbsd*) targ_emul=hppanbsd ;; +@@ -402,7 +402,7 @@ + vax-*-netbsdaout* | vax-*-netbsd*) + targ_emul=vaxnbsd + targ_extra_emuls=elf32vax ;; +-vax-*-linux-gnu*) targ_emul=elf32vax ;; ++vax-*-linux-*) targ_emul=elf32vax ;; + mips*-*-pe) targ_emul=mipspe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; + mips*-dec-ultrix*) targ_emul=mipslit ;; +@@ -436,18 +436,18 @@ + mips*-*-vxworks*) targ_emul=elf32ebmip + targ_extra_emuls="elf32elmip" ;; + mips*-*-windiss) targ_emul=elf32mipswindiss ;; +-mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32 ++mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 + targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" + targ_extra_libpath="elf32ltsmip elf64ltsmip" + ;; +-mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32 ++mips64*-*-linux-*) targ_emul=elf32btsmipn32 + targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" + targ_extra_libpath="elf32btsmip elf64btsmip" + ;; +-mips*el-*-linux-gnu*) targ_emul=elf32ltsmip ++mips*el-*-linux-*) targ_emul=elf32ltsmip + targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" + ;; +-mips*-*-linux-gnu*) targ_emul=elf32btsmip ++mips*-*-linux-*) targ_emul=elf32btsmip + targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" + ;; + mips*-*-lnews*) targ_emul=mipslnews ;; +@@ -467,7 +467,7 @@ + alpha*-*-linuxecoff*) targ_emul=alpha targ_extra_emuls=elf64alpha + tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'` + ;; +-alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha ++alpha*-*-linux-*) targ_emul=elf64alpha targ_extra_emuls=alpha + tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'` + ;; + alpha*-*-osf*) targ_emul=alpha ;; +diff -ur binutils-2.15.97.orig/ld/emultempl/elf32.em binutils-2.15.97/ld/emultempl/elf32.em +--- binutils-2.15.97.orig/ld/emultempl/elf32.em 2005-04-29 20:48:15.000000000 -0400 ++++ binutils-2.15.97/ld/emultempl/elf32.em 2005-04-29 20:53:50.000000000 -0400 +@@ -65,7 +65,7 @@ + + if [ "x${USE_LIBPATH}" = xyes ] ; then + case ${target} in +- *-*-linux-gnu*) ++ *-*-linux-*) + cat >>e${EMULATION_NAME}.c < +@@ -350,7 +350,7 @@ + + EOF + case ${target} in +- *-*-linux-gnu*) ++ *-*-linux-*) + cat >>e${EMULATION_NAME}.c <>e${EMULATION_NAME}.c <>e${EMULATION_NAME}.c <name, force)) + break; diff --git a/openwrt/toolchain/binutils/2.16.1/110-uclibc-libtool-conf.patch b/openwrt/toolchain/binutils/2.16.1/110-uclibc-libtool-conf.patch new file mode 100644 index 0000000000..ec38caa125 --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.1/110-uclibc-libtool-conf.patch @@ -0,0 +1,218 @@ +diff -urN binutils-2.16.90.0.2-dist/bfd/configure binutils-2.16.90.0.2/bfd/configure +--- binutils-2.16.90.0.2-dist/bfd/configure 2005-04-29 12:50:24.000000000 -0500 ++++ binutils-2.16.90.0.2/bfd/configure 2005-04-30 11:34:59.246377032 -0500 +@@ -3584,6 +3584,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]+$' +diff -urN binutils-2.16.90.0.2-dist/binutils/configure binutils-2.16.90.0.2/binutils/configure +--- binutils-2.16.90.0.2-dist/binutils/configure 2005-04-29 12:50:26.000000000 -0500 ++++ binutils-2.16.90.0.2/binutils/configure 2005-04-30 11:35:28.900868864 -0500 +@@ -1577,6 +1577,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]+$' +diff -urN binutils-2.16.90.0.2-dist/configure binutils-2.16.90.0.2/configure +--- binutils-2.16.90.0.2-dist/configure 2005-04-29 12:50:23.000000000 -0500 ++++ binutils-2.16.90.0.2/configure 2005-04-30 11:31:12.525843792 -0500 +@@ -1111,7 +1111,7 @@ + ;; + "") + case "${target}" in +- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) ++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) + # Enable libmudflap by default in GNU and friends. + ;; + *-*-freebsd*) +diff -urN binutils-2.16.90.0.2-dist/configure.in binutils-2.16.90.0.2/configure.in +--- binutils-2.16.90.0.2-dist/configure.in 2005-04-29 12:50:23.000000000 -0500 ++++ binutils-2.16.90.0.2/configure.in 2005-04-30 11:29:51.643139832 -0500 +@@ -328,7 +328,7 @@ + ;; + "") + case "${target}" in +- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) ++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) + # Enable libmudflap by default in GNU and friends. + ;; + *-*-freebsd*) +diff -urN binutils-2.16.90.0.2-dist/gas/configure binutils-2.16.90.0.2/gas/configure +--- binutils-2.16.90.0.2-dist/gas/configure 2005-04-29 12:50:27.000000000 -0500 ++++ binutils-2.16.90.0.2/gas/configure 2005-04-30 11:35:21.097055224 -0500 +@@ -3421,6 +3421,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]+$' +diff -urN binutils-2.16.90.0.2-dist/gas/testsuite/gas/sh/basic.exp binutils-2.16.90.0.2/gas/testsuite/gas/sh/basic.exp +--- binutils-2.16.90.0.2-dist/gas/testsuite/gas/sh/basic.exp 2005-04-09 14:03:14.000000000 -0500 ++++ binutils-2.16.90.0.2/gas/testsuite/gas/sh/basic.exp 2005-04-30 11:41:57.301822944 -0500 +@@ -20,7 +20,7 @@ + + # Written by Cygnus Support. + +-if [istarget "sh*-*-linux-gnu"] { ++if {[istarget "sh*-*-linux-gnu"] || [istarget "sh*-*-linux-uclibc"]} { + global ASFLAGS + set ASFLAGS "$ASFLAGS -big" + } +diff -urN binutils-2.16.90.0.2-dist/gprof/configure binutils-2.16.90.0.2/gprof/configure +--- binutils-2.16.90.0.2-dist/gprof/configure 2005-04-29 12:50:29.000000000 -0500 ++++ binutils-2.16.90.0.2/gprof/configure 2005-04-30 11:35:36.880655752 -0500 +@@ -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]+$' +diff -urN binutils-2.16.90.0.2-dist/ld/configure binutils-2.16.90.0.2/ld/configure +--- binutils-2.16.90.0.2-dist/ld/configure 2005-04-29 12:50:30.000000000 -0500 ++++ binutils-2.16.90.0.2/ld/configure 2005-04-30 11:46:15.974498720 -0500 +@@ -1581,6 +1581,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]+$' +diff -urN binutils-2.16.90.0.2-dist/ld/testsuite/ld-sh/sh.exp binutils-2.16.90.0.2/ld/testsuite/ld-sh/sh.exp +--- binutils-2.16.90.0.2-dist/ld/testsuite/ld-sh/sh.exp 2005-04-09 14:03:29.000000000 -0500 ++++ binutils-2.16.90.0.2/ld/testsuite/ld-sh/sh.exp 2005-04-30 11:45:07.890849008 -0500 +@@ -62,7 +62,7 @@ + + set testsrec "SH relaxing to S-records" + +-if [istarget sh*-linux-gnu] { ++if {[istarget sh*-linux-gnu] || [istarget sh*-*-linux-uclibc]} { + # This target needs the explicit entry address. + catch "exec $objdump -x tmpdir/sh1 | grep start\\ address | sed s/start\\ address//" entry_addr + set srec_relax_arg "-Ttext $entry_addr -relax --oformat srec tmpdir/sh1.o" +@@ -117,7 +117,7 @@ + return + } + +-if [istarget sh*-linux-gnu] { ++if {[istarget sh*-linux-gnu] || [istarget sh*-*-linux-uclibc]} { + exec sed -e s/_main/main/ -e s/_trap/trap/ -e s/_stack/stack/ \ + < $srcdir/$subdir/start.s >tmpdir/start.s + } else { +diff -urN binutils-2.16.90.0.2-dist/ld/testsuite/ld-srec/srec.exp binutils-2.16.90.0.2/ld/testsuite/ld-srec/srec.exp +--- binutils-2.16.90.0.2-dist/ld/testsuite/ld-srec/srec.exp 2005-04-29 12:50:30.000000000 -0500 ++++ binutils-2.16.90.0.2/ld/testsuite/ld-srec/srec.exp 2005-04-30 11:44:26.358162936 -0500 +@@ -385,7 +385,7 @@ + setup_xfail "v850*-*-elf" + + # The S-record linker doesn't handle Alpha Elf relaxation. +-setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" ++setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" "alpha*-*-linux-uclibc*" + setup_xfail "alpha*-*-netbsd*" + + # The S-record linker hasn't any hope of coping with HPPA relocs. +@@ -424,7 +424,7 @@ + setup_xfail "thumb-*-*" + setup_xfail "powerpc*-*-eabi*" + setup_xfail "v850*-*-elf" +-setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" ++setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" "alpha*-*-linux-uclibc*" + setup_xfail "alpha*-*-netbsd*" + setup_xfail "hppa*-*-*" + setup_xfail "ia64-*-*" +diff -urN binutils-2.16.90.0.2-dist/libtool.m4 binutils-2.16.90.0.2/libtool.m4 +--- binutils-2.16.90.0.2-dist/libtool.m4 2004-07-27 23:36:06.000000000 -0500 ++++ binutils-2.16.90.0.2/libtool.m4 2005-04-30 11:35:54.062043784 -0500 +@@ -645,6 +645,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]+$'] +diff -urN binutils-2.16.90.0.2-dist/ltconfig binutils-2.16.90.0.2/ltconfig +--- binutils-2.16.90.0.2-dist/ltconfig 2004-11-22 14:33:30.000000000 -0600 ++++ binutils-2.16.90.0.2/ltconfig 2005-04-30 11:22:10.594229920 -0500 +@@ -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 +@@ -1270,6 +1271,23 @@ + dynamic_linker='GNU/Linux ld.so' + ;; + ++linux-uclibc*) ++ version_type=linux ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ++ soname_spec='${libname}${release}.so$major' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ # This implies no fast_install, which is unacceptable. ++ # Some rework will be needed to allow for fast_install ++ # before this can be enabled. ++ hardcode_into_libs=yes ++ # Assume using the uClibc dynamic linker. ++ dynamic_linker="uClibc ld.so" ++ ;; ++ + netbsd*) + need_lib_prefix=no + need_version=no +diff -urN binutils-2.16.90.0.2-dist/opcodes/configure binutils-2.16.90.0.2/opcodes/configure +--- binutils-2.16.90.0.2-dist/opcodes/configure 2005-04-29 12:50:31.000000000 -0500 ++++ binutils-2.16.90.0.2/opcodes/configure 2005-04-30 11:17:07.168357664 -0500 +@@ -3588,6 +3588,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]+$' diff --git a/openwrt/toolchain/binutils/2.16.1/300-001_ld_makefile_patch.patch b/openwrt/toolchain/binutils/2.16.1/300-001_ld_makefile_patch.patch new file mode 100644 index 0000000000..b25d5b7e21 --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.1/300-001_ld_makefile_patch.patch @@ -0,0 +1,52 @@ +#!/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 +## 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@ +diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.am binutils-2.14.90.0.6/ld/Makefile.am +--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.am 2003-08-21 16:28:48.000000000 +0100 ++++ binutils-2.14.90.0.6/ld/Makefile.am 2003-09-10 23:12:09.000000000 +0100 +@@ -19,7 +19,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@ +diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.in binutils-2.14.90.0.6/ld/Makefile.in +--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.in 2003-08-21 16:28:48.000000000 +0100 ++++ binutils-2.14.90.0.6/ld/Makefile.in 2003-09-10 23:12:09.000000000 +0100 +@@ -128,7 +128,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@ diff --git a/openwrt/toolchain/binutils/2.16.1/300-006_better_file_error.patch b/openwrt/toolchain/binutils/2.16.1/300-006_better_file_error.patch new file mode 100644 index 0000000000..f337611edf --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.1/300-006_better_file_error.patch @@ -0,0 +1,43 @@ +#!/bin/sh -e +## 006_better_file_error.dpatch by David Kimdon +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Specify which filename is causing an error if the filename is a +## DP: directory. (#45832) + +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/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c +--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100 ++++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100 +@@ -150,6 +150,13 @@ + { + bfd *nbfd; + const bfd_target *target_vec; ++ struct stat s; ++ ++ if (stat (filename, &s) == 0) ++ if (S_ISDIR(s.st_mode)) { ++ bfd_set_error (bfd_error_file_not_recognized); ++ return NULL; ++ } + + nbfd = _bfd_new_bfd (); + if (nbfd == NULL) diff --git a/openwrt/toolchain/binutils/2.16.1/300-012_check_ldrunpath_length.patch b/openwrt/toolchain/binutils/2.16.1/300-012_check_ldrunpath_length.patch new file mode 100644 index 0000000000..498651a90c --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.1/300-012_check_ldrunpath_length.patch @@ -0,0 +1,47 @@ +#!/bin/sh -e +## 012_check_ldrunpath_length.dpatch by Chris Chimelis +## +## 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/openwrt/toolchain/binutils/2.16.1/702-binutils-skip-comments.patch b/openwrt/toolchain/binutils/2.16.1/702-binutils-skip-comments.patch new file mode 100644 index 0000000000..9ef7a7c9ec --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.1/702-binutils-skip-comments.patch @@ -0,0 +1,93 @@ +Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html +Fixes +localealias.s:544: Error: junk at end of line, first unrecognized character is `,' +when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3 + +Paths adjusted to match crosstool's patcher. + +Message-Id: m3n052qw2g.fsf@whitebox.m5r.de +From: Andreas Schwab +To: Nathan Sidwell +Cc: Ian Lance Taylor , binutils at sources dot redhat dot com +Date: Fri, 23 Apr 2004 22:27:19 +0200 +Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line + +Nathan Sidwell writes: + +> Index: read.c +> =================================================================== +> RCS file: /cvs/src/src/gas/read.c,v +> retrieving revision 1.76 +> diff -c -3 -p -r1.76 read.c +> *** read.c 12 Mar 2004 17:48:12 -0000 1.76 +> --- read.c 18 Mar 2004 09:56:05 -0000 +> *************** read_a_source_file (char *name) +> *** 1053,1059 **** +> #endif +> input_line_pointer--; +> /* Report unknown char as ignored. */ +> ! ignore_rest_of_line (); +> } +> +> #ifdef md_after_pass_hook +> --- 1053,1059 ---- +> #endif +> input_line_pointer--; +> /* Report unknown char as ignored. */ +> ! demand_empty_rest_of_line (); +> } +> +> #ifdef md_after_pass_hook + +This means that the unknown character is no longer ignored, despite the +comment. As a side effect a line starting with a line comment character +not followed by APP in NO_APP mode now triggers an error instead of just a +warning, breaking builds of glibc on m68k-linux. Earlier in +read_a_source_file where #APP is handled there is another comment that +claims that unknown comments are ignored, when in fact they aren't (only +the initial line comment character is skipped). + +Note that the presence of #APP will mess up the line counters, but +that appears to be difficult to fix. + +Andreas. + +2004-04-23 Andreas Schwab + + * read.c (read_a_source_file): Ignore unknown text after line + comment character. Fix misleading comment. + +--- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200 ++++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200 +@@ -950,10 +950,14 @@ read_a_source_file (char *name) + unsigned int new_length; + char *tmp_buf = 0; + +- bump_line_counters (); + s = input_line_pointer; + if (strncmp (s, "APP\n", 4)) +- continue; /* We ignore it */ ++ { ++ /* We ignore it */ ++ ignore_rest_of_line (); ++ continue; ++ } ++ bump_line_counters (); + s += 4; + + sb_new (&sbuf); +@@ -1052,7 +1056,7 @@ read_a_source_file (char *name) + continue; + #endif + input_line_pointer--; +- /* Report unknown char as ignored. */ ++ /* Report unknown char as error. */ + demand_empty_rest_of_line (); + } + + +-- +Andreas Schwab, SuSE Labs, schwab@suse.de +SuSE Linux AG, MaxfeldstraÃe 5, 90409 NÃrnberg, Germany +Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 +"And now for something completely different." diff --git a/openwrt/toolchain/binutils/2.16.90.0.1/100-uclibc-conf.patch b/openwrt/toolchain/binutils/2.16.90.0.1/100-uclibc-conf.patch deleted file mode 100644 index ae7382e05a..0000000000 --- a/openwrt/toolchain/binutils/2.16.90.0.1/100-uclibc-conf.patch +++ /dev/null @@ -1,141 +0,0 @@ -diff -ur binutils-2.16.90.0.1.orig/bfd/configure binutils-2.16.90.0.1/bfd/configure ---- binutils-2.16.90.0.1.orig/bfd/configure 2005-04-11 02:19:41.000000000 -0400 -+++ binutils-2.16.90.0.1/bfd/configure 2005-04-11 02:19:54.000000000 -0400 -@@ -3584,6 +3584,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]+$' -diff -ur binutils-2.16.90.0.1.orig/binutils/configure binutils-2.16.90.0.1/binutils/configure ---- binutils-2.16.90.0.1.orig/binutils/configure 2005-04-11 02:19:42.000000000 -0400 -+++ binutils-2.16.90.0.1/binutils/configure 2005-04-11 02:19:54.000000000 -0400 -@@ -1555,6 +1555,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]+$' -diff -ur binutils-2.16.90.0.1.orig/gas/configure binutils-2.16.90.0.1/gas/configure ---- binutils-2.16.90.0.1.orig/gas/configure 2005-04-11 02:19:42.000000000 -0400 -+++ binutils-2.16.90.0.1/gas/configure 2005-04-11 02:19:54.000000000 -0400 -@@ -3421,6 +3421,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]+$' -diff -ur binutils-2.16.90.0.1.orig/gprof/configure binutils-2.16.90.0.1/gprof/configure ---- binutils-2.16.90.0.1.orig/gprof/configure 2005-04-11 02:19:43.000000000 -0400 -+++ binutils-2.16.90.0.1/gprof/configure 2005-04-11 02:19:54.000000000 -0400 -@@ -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]+$' -diff -ur binutils-2.16.90.0.1.orig/ld/configure binutils-2.16.90.0.1/ld/configure ---- binutils-2.16.90.0.1.orig/ld/configure 2005-04-11 02:19:43.000000000 -0400 -+++ binutils-2.16.90.0.1/ld/configure 2005-04-11 02:19:54.000000000 -0400 -@@ -1581,6 +1581,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]+$' -diff -ur binutils-2.16.90.0.1.orig/libtool.m4 binutils-2.16.90.0.1/libtool.m4 ---- binutils-2.16.90.0.1.orig/libtool.m4 2005-04-11 02:19:42.000000000 -0400 -+++ binutils-2.16.90.0.1/libtool.m4 2005-04-11 02:19:54.000000000 -0400 -@@ -645,6 +645,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]+$'] -diff -ur binutils-2.16.90.0.1.orig/ltconfig binutils-2.16.90.0.1/ltconfig ---- binutils-2.16.90.0.1.orig/ltconfig 2005-04-11 02:19:42.000000000 -0400 -+++ binutils-2.16.90.0.1/ltconfig 2005-04-11 02:19:54.000000000 -0400 -@@ -603,6 +603,7 @@ - # Transform linux* to *-*-linux-gnu*, to support old configure scripts. - case $host_os in - linux-gnu*) ;; -+linux-uclibc*) ;; - linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` - esac - -@@ -1270,6 +1271,24 @@ - dynamic_linker='GNU/Linux ld.so' - ;; - -+linux-uclibc*) -+ version_type=linux -+ need_lib_prefix=no -+ need_version=no -+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' -+ soname_spec='${libname}${release}.so$major' -+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' -+ shlibpath_var=LD_LIBRARY_PATH -+ shlibpath_overrides_runpath=no -+ # This implies no fast_install, which is unacceptable. -+ # Some rework will be needed to allow for fast_install -+ # before this can be enabled. -+ # Note: copied from linux-gnu, and may not be appropriate. -+ hardcode_into_libs=yes -+ # Assume using the uClibc dynamic linker. -+ dynamic_linker="uClibc ld.so" -+ ;; -+ - netbsd*) - need_lib_prefix=no - need_version=no -diff -ur binutils-2.16.90.0.1.orig/opcodes/configure binutils-2.16.90.0.1/opcodes/configure ---- binutils-2.16.90.0.1.orig/opcodes/configure 2005-04-11 02:19:44.000000000 -0400 -+++ binutils-2.16.90.0.1/opcodes/configure 2005-04-11 02:19:54.000000000 -0400 -@@ -3588,6 +3588,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]+$' diff --git a/openwrt/toolchain/binutils/2.16.90.0.1/300-120_mips_xgot_multigot_workaround.patch b/openwrt/toolchain/binutils/2.16.90.0.1/300-120_mips_xgot_multigot_workaround.patch deleted file mode 100644 index 036712eac3..0000000000 --- a/openwrt/toolchain/binutils/2.16.90.0.1/300-120_mips_xgot_multigot_workaround.patch +++ /dev/null @@ -1,41 +0,0 @@ -#! /bin/sh -e -## 120_mips_xgot_multigot_workaround.dpatch -## -## DP: Description: Make multigot/xgot handling mutually exclusive. -## DP: Author: Thiemo Seufer -## DP: Upstream status: Not submitted -## DP: Date: 2004-09-17 - -if [ $# -lt 1 ]; then - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1 -fi - -[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts -patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" - -case "$1" in - -patch) patch -p1 ${patch_opts} < $0;; - -unpatch) patch -R -p1 ${patch_opts} < $0;; - *) - echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 - exit 1;; -esac - -exit 0 - -@DPATCH@ -diff -urNad /home/james/debian/packages/binutils/binutils-2.15/bfd/elfxx-mips.c binutils-2.15/bfd/elfxx-mips.c ---- /home/james/debian/packages/binutils/binutils-2.15/bfd/elfxx-mips.c 2004-09-23 22:41:37.156466673 +0100 -+++ binutils-2.15/bfd/elfxx-mips.c 2004-09-23 22:42:15.998362861 +0100 -@@ -6594,7 +6594,9 @@ - - mips_elf_resolve_final_got_entries (g); - -- if (s->size > MIPS_ELF_GOT_MAX_SIZE (output_bfd)) -+ if (s->size > MIPS_ELF_GOT_MAX_SIZE (output_bfd) -+ && g->global_gotno <= (MIPS_ELF_GOT_MAX_SIZE (output_bfd) -+ / MIPS_ELF_GOT_SIZE (output_bfd))) - { - if (! mips_elf_multi_got (output_bfd, info, g, s, local_gotno)) - return FALSE; diff --git a/openwrt/toolchain/binutils/2.16.90.0.3/100-uclibc-conf.patch b/openwrt/toolchain/binutils/2.16.90.0.3/100-uclibc-conf.patch new file mode 100644 index 0000000000..c7e2c63efc --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.90.0.3/100-uclibc-conf.patch @@ -0,0 +1,240 @@ +diff -urN binutils-2.16.90.0.2-dist/bfd/configure binutils-2.16.90.0.2/bfd/configure +--- binutils-2.16.90.0.2-dist/bfd/configure 2005-04-29 12:50:24.000000000 -0500 ++++ binutils-2.16.90.0.2/bfd/configure 2005-04-30 11:34:59.246377032 -0500 +@@ -3584,6 +3584,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]+$' +diff -urN binutils-2.16.90.0.2-dist/binutils/configure binutils-2.16.90.0.2/binutils/configure +--- binutils-2.16.90.0.2-dist/binutils/configure 2005-04-29 12:50:26.000000000 -0500 ++++ binutils-2.16.90.0.2/binutils/configure 2005-04-30 11:35:28.900868864 -0500 +@@ -1577,6 +1577,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]+$' +diff -urN binutils-2.16.90.0.2-dist/configure binutils-2.16.90.0.2/configure +--- binutils-2.16.90.0.2-dist/configure 2005-04-29 12:50:23.000000000 -0500 ++++ binutils-2.16.90.0.2/configure 2005-04-30 11:31:12.525843792 -0500 +@@ -1111,7 +1111,7 @@ + ;; + "") + case "${target}" in +- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) ++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) + # Enable libmudflap by default in GNU and friends. + ;; + *-*-freebsd*) +@@ -1207,7 +1207,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) +@@ -1495,7 +1495,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 +diff -urN binutils-2.16.90.0.2-dist/configure.in binutils-2.16.90.0.2/configure.in +--- binutils-2.16.90.0.2-dist/configure.in 2005-04-29 12:50:23.000000000 -0500 ++++ binutils-2.16.90.0.2/configure.in 2005-04-30 11:29:51.643139832 -0500 +@@ -328,7 +328,7 @@ + ;; + "") + case "${target}" in +- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) ++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) + # Enable libmudflap by default in GNU and friends. + ;; + *-*-freebsd*) +@@ -424,7 +424,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) +@@ -712,7 +712,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 +diff -urN binutils-2.16.90.0.2-dist/gas/configure binutils-2.16.90.0.2/gas/configure +--- binutils-2.16.90.0.2-dist/gas/configure 2005-04-29 12:50:27.000000000 -0500 ++++ binutils-2.16.90.0.2/gas/configure 2005-04-30 11:35:21.097055224 -0500 +@@ -3421,6 +3421,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]+$' +diff -urN binutils-2.16.90.0.2-dist/gprof/configure binutils-2.16.90.0.2/gprof/configure +--- binutils-2.16.90.0.2-dist/gprof/configure 2005-04-29 12:50:29.000000000 -0500 ++++ binutils-2.16.90.0.2/gprof/configure 2005-04-30 11:35:36.880655752 -0500 +@@ -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]+$' +diff -urN binutils-2.16.90.0.2-dist/ld/configure binutils-2.16.90.0.2/ld/configure +--- binutils-2.16.90.0.2-dist/ld/configure 2005-04-29 12:50:30.000000000 -0500 ++++ binutils-2.16.90.0.2/ld/configure 2005-04-30 11:46:15.974498720 -0500 +@@ -1581,6 +1581,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]+$' +diff -urN binutils-2.16.90.0.2-dist/libtool.m4 binutils-2.16.90.0.2/libtool.m4 +--- binutils-2.16.90.0.2-dist/libtool.m4 2004-07-27 23:36:06.000000000 -0500 ++++ binutils-2.16.90.0.2/libtool.m4 2005-04-30 11:35:54.062043784 -0500 +@@ -645,6 +645,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]+$'] +diff -urN binutils-2.16.90.0.2-dist/ltconfig binutils-2.16.90.0.2/ltconfig +--- binutils-2.16.90.0.2-dist/ltconfig 2004-11-22 14:33:30.000000000 -0600 ++++ binutils-2.16.90.0.2/ltconfig 2005-04-30 11:22:10.594229920 -0500 +@@ -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 +@@ -1270,6 +1271,23 @@ + dynamic_linker='GNU/Linux ld.so' + ;; + ++linux-uclibc*) ++ version_type=linux ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ++ soname_spec='${libname}${release}.so$major' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ # This implies no fast_install, which is unacceptable. ++ # Some rework will be needed to allow for fast_install ++ # before this can be enabled. ++ hardcode_into_libs=yes ++ # Assume using the uClibc dynamic linker. ++ dynamic_linker="uClibc ld.so" ++ ;; ++ + netbsd*) + need_lib_prefix=no + need_version=no +diff -urN binutils-2.16.90.0.2-dist/opcodes/configure binutils-2.16.90.0.2/opcodes/configure +--- binutils-2.16.90.0.2-dist/opcodes/configure 2005-04-29 12:50:31.000000000 -0500 ++++ binutils-2.16.90.0.2/opcodes/configure 2005-04-30 11:17:07.168357664 -0500 +@@ -3588,6 +3588,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]+$' +diff -urN binutils-2.16.90.0.2.orig/config.sub binutils-2.16.90.0.2/config.sub +--- binutils-2.16.90.0.2.orig/config.sub 2005-04-29 20:50:23.000000000 +0300 ++++ binutils-2.16.90.0.2/config.sub 2005-05-02 13:34:38.400457452 +0300 +@@ -265,7 +265,7 @@ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ +- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ ++ | sh | sh[1234]* | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b \ +@@ -340,7 +340,7 @@ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ +- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ ++ | sh-* | sh[1234]*-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ + | sparclite-* \ +@@ -891,9 +891,6 @@ + basic_machine=sh-hitachi + os=-hms + ;; +- sh64) +- basic_machine=sh64-unknown +- ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks +@@ -1093,7 +1090,7 @@ + we32k) + basic_machine=we32k-att + ;; +- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) ++ sh2* | sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sh64) diff --git a/openwrt/toolchain/binutils/2.16.90.0.3/300-001_ld_makefile_patch.patch b/openwrt/toolchain/binutils/2.16.90.0.3/300-001_ld_makefile_patch.patch new file mode 100644 index 0000000000..b25d5b7e21 --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.90.0.3/300-001_ld_makefile_patch.patch @@ -0,0 +1,52 @@ +#!/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 +## 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@ +diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.am binutils-2.14.90.0.6/ld/Makefile.am +--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.am 2003-08-21 16:28:48.000000000 +0100 ++++ binutils-2.14.90.0.6/ld/Makefile.am 2003-09-10 23:12:09.000000000 +0100 +@@ -19,7 +19,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@ +diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.in binutils-2.14.90.0.6/ld/Makefile.in +--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.in 2003-08-21 16:28:48.000000000 +0100 ++++ binutils-2.14.90.0.6/ld/Makefile.in 2003-09-10 23:12:09.000000000 +0100 +@@ -128,7 +128,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@ diff --git a/openwrt/toolchain/binutils/2.16.90.0.3/300-006_better_file_error.patch b/openwrt/toolchain/binutils/2.16.90.0.3/300-006_better_file_error.patch new file mode 100644 index 0000000000..f337611edf --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.90.0.3/300-006_better_file_error.patch @@ -0,0 +1,43 @@ +#!/bin/sh -e +## 006_better_file_error.dpatch by David Kimdon +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Specify which filename is causing an error if the filename is a +## DP: directory. (#45832) + +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/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c +--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100 ++++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100 +@@ -150,6 +150,13 @@ + { + bfd *nbfd; + const bfd_target *target_vec; ++ struct stat s; ++ ++ if (stat (filename, &s) == 0) ++ if (S_ISDIR(s.st_mode)) { ++ bfd_set_error (bfd_error_file_not_recognized); ++ return NULL; ++ } + + nbfd = _bfd_new_bfd (); + if (nbfd == NULL) diff --git a/openwrt/toolchain/binutils/2.16.90.0.3/300-012_check_ldrunpath_length.patch b/openwrt/toolchain/binutils/2.16.90.0.3/300-012_check_ldrunpath_length.patch new file mode 100644 index 0000000000..498651a90c --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.90.0.3/300-012_check_ldrunpath_length.patch @@ -0,0 +1,47 @@ +#!/bin/sh -e +## 012_check_ldrunpath_length.dpatch by Chris Chimelis +## +## 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/openwrt/toolchain/binutils/2.16.90.0.3/702-binutils-skip-comments.patch b/openwrt/toolchain/binutils/2.16.90.0.3/702-binutils-skip-comments.patch new file mode 100644 index 0000000000..9ef7a7c9ec --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.90.0.3/702-binutils-skip-comments.patch @@ -0,0 +1,93 @@ +Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html +Fixes +localealias.s:544: Error: junk at end of line, first unrecognized character is `,' +when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3 + +Paths adjusted to match crosstool's patcher. + +Message-Id: m3n052qw2g.fsf@whitebox.m5r.de +From: Andreas Schwab +To: Nathan Sidwell +Cc: Ian Lance Taylor , binutils at sources dot redhat dot com +Date: Fri, 23 Apr 2004 22:27:19 +0200 +Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line + +Nathan Sidwell writes: + +> Index: read.c +> =================================================================== +> RCS file: /cvs/src/src/gas/read.c,v +> retrieving revision 1.76 +> diff -c -3 -p -r1.76 read.c +> *** read.c 12 Mar 2004 17:48:12 -0000 1.76 +> --- read.c 18 Mar 2004 09:56:05 -0000 +> *************** read_a_source_file (char *name) +> *** 1053,1059 **** +> #endif +> input_line_pointer--; +> /* Report unknown char as ignored. */ +> ! ignore_rest_of_line (); +> } +> +> #ifdef md_after_pass_hook +> --- 1053,1059 ---- +> #endif +> input_line_pointer--; +> /* Report unknown char as ignored. */ +> ! demand_empty_rest_of_line (); +> } +> +> #ifdef md_after_pass_hook + +This means that the unknown character is no longer ignored, despite the +comment. As a side effect a line starting with a line comment character +not followed by APP in NO_APP mode now triggers an error instead of just a +warning, breaking builds of glibc on m68k-linux. Earlier in +read_a_source_file where #APP is handled there is another comment that +claims that unknown comments are ignored, when in fact they aren't (only +the initial line comment character is skipped). + +Note that the presence of #APP will mess up the line counters, but +that appears to be difficult to fix. + +Andreas. + +2004-04-23 Andreas Schwab + + * read.c (read_a_source_file): Ignore unknown text after line + comment character. Fix misleading comment. + +--- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200 ++++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200 +@@ -950,10 +950,14 @@ read_a_source_file (char *name) + unsigned int new_length; + char *tmp_buf = 0; + +- bump_line_counters (); + s = input_line_pointer; + if (strncmp (s, "APP\n", 4)) +- continue; /* We ignore it */ ++ { ++ /* We ignore it */ ++ ignore_rest_of_line (); ++ continue; ++ } ++ bump_line_counters (); + s += 4; + + sb_new (&sbuf); +@@ -1052,7 +1056,7 @@ read_a_source_file (char *name) + continue; + #endif + input_line_pointer--; +- /* Report unknown char as ignored. */ ++ /* Report unknown char as error. */ + demand_empty_rest_of_line (); + } + + +-- +Andreas Schwab, SuSE Labs, schwab@suse.de +SuSE Linux AG, MaxfeldstraÃe 5, 90409 NÃrnberg, Germany +Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 +"And now for something completely different." diff --git a/openwrt/toolchain/binutils/2.16.91.0.1/100-uclibc-conf.patch b/openwrt/toolchain/binutils/2.16.91.0.1/100-uclibc-conf.patch new file mode 100644 index 0000000000..c7e2c63efc --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.91.0.1/100-uclibc-conf.patch @@ -0,0 +1,240 @@ +diff -urN binutils-2.16.90.0.2-dist/bfd/configure binutils-2.16.90.0.2/bfd/configure +--- binutils-2.16.90.0.2-dist/bfd/configure 2005-04-29 12:50:24.000000000 -0500 ++++ binutils-2.16.90.0.2/bfd/configure 2005-04-30 11:34:59.246377032 -0500 +@@ -3584,6 +3584,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]+$' +diff -urN binutils-2.16.90.0.2-dist/binutils/configure binutils-2.16.90.0.2/binutils/configure +--- binutils-2.16.90.0.2-dist/binutils/configure 2005-04-29 12:50:26.000000000 -0500 ++++ binutils-2.16.90.0.2/binutils/configure 2005-04-30 11:35:28.900868864 -0500 +@@ -1577,6 +1577,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]+$' +diff -urN binutils-2.16.90.0.2-dist/configure binutils-2.16.90.0.2/configure +--- binutils-2.16.90.0.2-dist/configure 2005-04-29 12:50:23.000000000 -0500 ++++ binutils-2.16.90.0.2/configure 2005-04-30 11:31:12.525843792 -0500 +@@ -1111,7 +1111,7 @@ + ;; + "") + case "${target}" in +- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) ++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) + # Enable libmudflap by default in GNU and friends. + ;; + *-*-freebsd*) +@@ -1207,7 +1207,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) +@@ -1495,7 +1495,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 +diff -urN binutils-2.16.90.0.2-dist/configure.in binutils-2.16.90.0.2/configure.in +--- binutils-2.16.90.0.2-dist/configure.in 2005-04-29 12:50:23.000000000 -0500 ++++ binutils-2.16.90.0.2/configure.in 2005-04-30 11:29:51.643139832 -0500 +@@ -328,7 +328,7 @@ + ;; + "") + case "${target}" in +- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) ++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) + # Enable libmudflap by default in GNU and friends. + ;; + *-*-freebsd*) +@@ -424,7 +424,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) +@@ -712,7 +712,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 +diff -urN binutils-2.16.90.0.2-dist/gas/configure binutils-2.16.90.0.2/gas/configure +--- binutils-2.16.90.0.2-dist/gas/configure 2005-04-29 12:50:27.000000000 -0500 ++++ binutils-2.16.90.0.2/gas/configure 2005-04-30 11:35:21.097055224 -0500 +@@ -3421,6 +3421,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]+$' +diff -urN binutils-2.16.90.0.2-dist/gprof/configure binutils-2.16.90.0.2/gprof/configure +--- binutils-2.16.90.0.2-dist/gprof/configure 2005-04-29 12:50:29.000000000 -0500 ++++ binutils-2.16.90.0.2/gprof/configure 2005-04-30 11:35:36.880655752 -0500 +@@ -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]+$' +diff -urN binutils-2.16.90.0.2-dist/ld/configure binutils-2.16.90.0.2/ld/configure +--- binutils-2.16.90.0.2-dist/ld/configure 2005-04-29 12:50:30.000000000 -0500 ++++ binutils-2.16.90.0.2/ld/configure 2005-04-30 11:46:15.974498720 -0500 +@@ -1581,6 +1581,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]+$' +diff -urN binutils-2.16.90.0.2-dist/libtool.m4 binutils-2.16.90.0.2/libtool.m4 +--- binutils-2.16.90.0.2-dist/libtool.m4 2004-07-27 23:36:06.000000000 -0500 ++++ binutils-2.16.90.0.2/libtool.m4 2005-04-30 11:35:54.062043784 -0500 +@@ -645,6 +645,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]+$'] +diff -urN binutils-2.16.90.0.2-dist/ltconfig binutils-2.16.90.0.2/ltconfig +--- binutils-2.16.90.0.2-dist/ltconfig 2004-11-22 14:33:30.000000000 -0600 ++++ binutils-2.16.90.0.2/ltconfig 2005-04-30 11:22:10.594229920 -0500 +@@ -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 +@@ -1270,6 +1271,23 @@ + dynamic_linker='GNU/Linux ld.so' + ;; + ++linux-uclibc*) ++ version_type=linux ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ++ soname_spec='${libname}${release}.so$major' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ # This implies no fast_install, which is unacceptable. ++ # Some rework will be needed to allow for fast_install ++ # before this can be enabled. ++ hardcode_into_libs=yes ++ # Assume using the uClibc dynamic linker. ++ dynamic_linker="uClibc ld.so" ++ ;; ++ + netbsd*) + need_lib_prefix=no + need_version=no +diff -urN binutils-2.16.90.0.2-dist/opcodes/configure binutils-2.16.90.0.2/opcodes/configure +--- binutils-2.16.90.0.2-dist/opcodes/configure 2005-04-29 12:50:31.000000000 -0500 ++++ binutils-2.16.90.0.2/opcodes/configure 2005-04-30 11:17:07.168357664 -0500 +@@ -3588,6 +3588,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]+$' +diff -urN binutils-2.16.90.0.2.orig/config.sub binutils-2.16.90.0.2/config.sub +--- binutils-2.16.90.0.2.orig/config.sub 2005-04-29 20:50:23.000000000 +0300 ++++ binutils-2.16.90.0.2/config.sub 2005-05-02 13:34:38.400457452 +0300 +@@ -265,7 +265,7 @@ + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ +- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ ++ | sh | sh[1234]* | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b \ +@@ -340,7 +340,7 @@ + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ +- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ ++ | sh-* | sh[1234]*-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ + | sparclite-* \ +@@ -891,9 +891,6 @@ + basic_machine=sh-hitachi + os=-hms + ;; +- sh64) +- basic_machine=sh64-unknown +- ;; + sparclite-wrs | simso-wrs) + basic_machine=sparclite-wrs + os=-vxworks +@@ -1093,7 +1090,7 @@ + we32k) + basic_machine=we32k-att + ;; +- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) ++ sh2* | sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sh64) diff --git a/openwrt/toolchain/binutils/2.16.91.0.1/300-001_ld_makefile_patch.patch b/openwrt/toolchain/binutils/2.16.91.0.1/300-001_ld_makefile_patch.patch new file mode 100644 index 0000000000..04a7e61e25 --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.91.0.1/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 +## 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/openwrt/toolchain/binutils/2.16.91.0.1/300-006_better_file_error.patch b/openwrt/toolchain/binutils/2.16.91.0.1/300-006_better_file_error.patch new file mode 100644 index 0000000000..f337611edf --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.91.0.1/300-006_better_file_error.patch @@ -0,0 +1,43 @@ +#!/bin/sh -e +## 006_better_file_error.dpatch by David Kimdon +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Specify which filename is causing an error if the filename is a +## DP: directory. (#45832) + +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/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c +--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100 ++++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100 +@@ -150,6 +150,13 @@ + { + bfd *nbfd; + const bfd_target *target_vec; ++ struct stat s; ++ ++ if (stat (filename, &s) == 0) ++ if (S_ISDIR(s.st_mode)) { ++ bfd_set_error (bfd_error_file_not_recognized); ++ return NULL; ++ } + + nbfd = _bfd_new_bfd (); + if (nbfd == NULL) diff --git a/openwrt/toolchain/binutils/2.16.91.0.1/300-012_check_ldrunpath_length.patch b/openwrt/toolchain/binutils/2.16.91.0.1/300-012_check_ldrunpath_length.patch new file mode 100644 index 0000000000..498651a90c --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.91.0.1/300-012_check_ldrunpath_length.patch @@ -0,0 +1,47 @@ +#!/bin/sh -e +## 012_check_ldrunpath_length.dpatch by Chris Chimelis +## +## 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/openwrt/toolchain/binutils/2.16.91.0.1/702-binutils-skip-comments.patch b/openwrt/toolchain/binutils/2.16.91.0.1/702-binutils-skip-comments.patch new file mode 100644 index 0000000000..9ef7a7c9ec --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.91.0.1/702-binutils-skip-comments.patch @@ -0,0 +1,93 @@ +Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html +Fixes +localealias.s:544: Error: junk at end of line, first unrecognized character is `,' +when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3 + +Paths adjusted to match crosstool's patcher. + +Message-Id: m3n052qw2g.fsf@whitebox.m5r.de +From: Andreas Schwab +To: Nathan Sidwell +Cc: Ian Lance Taylor , binutils at sources dot redhat dot com +Date: Fri, 23 Apr 2004 22:27:19 +0200 +Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line + +Nathan Sidwell writes: + +> Index: read.c +> =================================================================== +> RCS file: /cvs/src/src/gas/read.c,v +> retrieving revision 1.76 +> diff -c -3 -p -r1.76 read.c +> *** read.c 12 Mar 2004 17:48:12 -0000 1.76 +> --- read.c 18 Mar 2004 09:56:05 -0000 +> *************** read_a_source_file (char *name) +> *** 1053,1059 **** +> #endif +> input_line_pointer--; +> /* Report unknown char as ignored. */ +> ! ignore_rest_of_line (); +> } +> +> #ifdef md_after_pass_hook +> --- 1053,1059 ---- +> #endif +> input_line_pointer--; +> /* Report unknown char as ignored. */ +> ! demand_empty_rest_of_line (); +> } +> +> #ifdef md_after_pass_hook + +This means that the unknown character is no longer ignored, despite the +comment. As a side effect a line starting with a line comment character +not followed by APP in NO_APP mode now triggers an error instead of just a +warning, breaking builds of glibc on m68k-linux. Earlier in +read_a_source_file where #APP is handled there is another comment that +claims that unknown comments are ignored, when in fact they aren't (only +the initial line comment character is skipped). + +Note that the presence of #APP will mess up the line counters, but +that appears to be difficult to fix. + +Andreas. + +2004-04-23 Andreas Schwab + + * read.c (read_a_source_file): Ignore unknown text after line + comment character. Fix misleading comment. + +--- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200 ++++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200 +@@ -950,10 +950,14 @@ read_a_source_file (char *name) + unsigned int new_length; + char *tmp_buf = 0; + +- bump_line_counters (); + s = input_line_pointer; + if (strncmp (s, "APP\n", 4)) +- continue; /* We ignore it */ ++ { ++ /* We ignore it */ ++ ignore_rest_of_line (); ++ continue; ++ } ++ bump_line_counters (); + s += 4; + + sb_new (&sbuf); +@@ -1052,7 +1056,7 @@ read_a_source_file (char *name) + continue; + #endif + input_line_pointer--; +- /* Report unknown char as ignored. */ ++ /* Report unknown char as error. */ + demand_empty_rest_of_line (); + } + + +-- +Andreas Schwab, SuSE Labs, schwab@suse.de +SuSE Linux AG, MaxfeldstraÃe 5, 90409 NÃrnberg, Germany +Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 +"And now for something completely different." diff --git a/openwrt/toolchain/binutils/2.16.91.0.2/100-uclibc-conf.patch b/openwrt/toolchain/binutils/2.16.91.0.2/100-uclibc-conf.patch new file mode 100644 index 0000000000..85fc30930e --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.91.0.2/100-uclibc-conf.patch @@ -0,0 +1,230 @@ +diff -Nurp binutils-2.16.91.0.2.orig/bfd/configure binutils-2.16.91.0.2/bfd/configure +--- binutils-2.16.91.0.2.orig/bfd/configure 2005-07-20 15:27:27.000000000 -0400 ++++ binutils-2.16.91.0.2/bfd/configure 2005-08-02 00:17:47.000000000 -0400 +@@ -3585,6 +3585,11 @@ linux-gnu*) + 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]+$' +diff -Nurp binutils-2.16.91.0.2.orig/binutils/configure binutils-2.16.91.0.2/binutils/configure +--- binutils-2.16.91.0.2.orig/binutils/configure 2005-07-20 15:27:27.000000000 -0400 ++++ binutils-2.16.91.0.2/binutils/configure 2005-08-02 00:17:47.000000000 -0400 +@@ -3420,6 +3420,11 @@ linux-gnu*) + 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]+$' +diff -Nurp binutils-2.16.91.0.2.orig/configure binutils-2.16.91.0.2/configure +--- binutils-2.16.91.0.2.orig/configure 2005-07-20 15:27:26.000000000 -0400 ++++ binutils-2.16.91.0.2/configure 2005-08-02 00:17:47.000000000 -0400 +@@ -1130,7 +1130,7 @@ no) + ;; + "") + case "${target}" in +- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) ++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) + # Enable libmudflap by default in GNU and friends. + ;; + *-*-freebsd*) +@@ -1235,7 +1235,7 @@ case "${target}" in + 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) +@@ -1530,7 +1530,7 @@ case "${target}" in + 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 +diff -Nurp binutils-2.16.91.0.2.orig/configure.in binutils-2.16.91.0.2/configure.in +--- binutils-2.16.91.0.2.orig/configure.in 2005-07-20 15:27:26.000000000 -0400 ++++ binutils-2.16.91.0.2/configure.in 2005-08-02 00:17:47.000000000 -0400 +@@ -341,7 +341,7 @@ no) + ;; + "") + case "${target}" in +- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) ++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) + # Enable libmudflap by default in GNU and friends. + ;; + *-*-freebsd*) +@@ -446,7 +446,7 @@ case "${target}" in + 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) +@@ -741,7 +741,7 @@ case "${target}" in + 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 +diff -Nurp binutils-2.16.91.0.2.orig/gas/configure binutils-2.16.91.0.2/gas/configure +--- binutils-2.16.91.0.2.orig/gas/configure 2005-07-20 15:27:27.000000000 -0400 ++++ binutils-2.16.91.0.2/gas/configure 2005-08-02 00:17:47.000000000 -0400 +@@ -3421,6 +3421,11 @@ linux-gnu*) + 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]+$' +diff -Nurp binutils-2.16.91.0.2.orig/gprof/configure binutils-2.16.91.0.2/gprof/configure +--- binutils-2.16.91.0.2.orig/gprof/configure 2005-04-29 13:50:29.000000000 -0400 ++++ binutils-2.16.91.0.2/gprof/configure 2005-08-02 00:17:47.000000000 -0400 +@@ -3419,6 +3419,11 @@ linux-gnu*) + 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]+$' +diff -Nurp binutils-2.16.91.0.2.orig/ld/configure binutils-2.16.91.0.2/ld/configure +--- binutils-2.16.91.0.2.orig/ld/configure 2005-06-22 16:53:35.000000000 -0400 ++++ binutils-2.16.91.0.2/ld/configure 2005-08-02 00:17:47.000000000 -0400 +@@ -3422,6 +3422,11 @@ linux-gnu*) + 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]+$' +diff -Nurp binutils-2.16.91.0.2.orig/libtool.m4 binutils-2.16.91.0.2/libtool.m4 +--- binutils-2.16.91.0.2.orig/libtool.m4 2005-07-20 15:27:26.000000000 -0400 ++++ binutils-2.16.91.0.2/libtool.m4 2005-08-02 00:17:47.000000000 -0400 +@@ -645,6 +645,11 @@ linux-gnu*) + 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]+$'] +diff -Nurp binutils-2.16.91.0.2.orig/ltconfig binutils-2.16.91.0.2/ltconfig +--- binutils-2.16.91.0.2.orig/ltconfig 2005-07-20 15:27:26.000000000 -0400 ++++ binutils-2.16.91.0.2/ltconfig 2005-08-02 00:17:47.000000000 -0400 +@@ -602,6 +602,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)- + + # 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 +@@ -1270,6 +1271,23 @@ linux-gnu*) + dynamic_linker='GNU/Linux ld.so' + ;; + ++linux-uclibc*) ++ version_type=linux ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ++ soname_spec='${libname}${release}.so$major' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ # This implies no fast_install, which is unacceptable. ++ # Some rework will be needed to allow for fast_install ++ # before this can be enabled. ++ hardcode_into_libs=yes ++ # Assume using the uClibc dynamic linker. ++ dynamic_linker="uClibc ld.so" ++ ;; ++ + netbsd*) + need_lib_prefix=no + need_version=no +diff -Nurp binutils-2.16.91.0.2.orig/opcodes/configure binutils-2.16.91.0.2/opcodes/configure +--- binutils-2.16.91.0.2.orig/opcodes/configure 2005-07-20 15:27:28.000000000 -0400 ++++ binutils-2.16.91.0.2/opcodes/configure 2005-08-02 00:17:47.000000000 -0400 +@@ -3588,6 +3588,11 @@ linux-gnu*) + 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]+$' +diff -Nurp binutils-2.16.91.0.2.orig/config.sub binutils-2.16.91.0.2/config.sub +--- binutils-2.16.91.0.2.orig/config.sub 2005-07-20 15:27:26.000000000 -0400 ++++ binutils-2.16.91.0.2/config.sub 2005-08-02 00:18:58.000000000 -0400 +@@ -268,7 +268,7 @@ case $basic_machine in + | pdp10 | pdp11 | pj | pjl \ + | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ + | pyramid \ +- | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ ++ | sh | sh[1234]* | sh[24]a | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ + | sh64 | sh64le \ + | sparc | sparc64 | sparc64b | sparc86x | sparclet | sparclite \ + | sparcv8 | sparcv9 | sparcv9b \ +@@ -348,7 +348,7 @@ case $basic_machine in + | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ + | pyramid-* \ + | romp-* | rs6000-* \ +- | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \ ++ | sh-* | sh[1234]*-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | shbe-* \ + | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ + | sparc-* | sparc64-* | sparc64b-* | sparc86x-* | sparclet-* \ + | sparclite-* \ +@@ -1102,7 +1102,7 @@ case $basic_machine in + we32k) + basic_machine=we32k-att + ;; +- sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) ++ sh[1234]* | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + basic_machine=sh-unknown + ;; + sparc | sparcv8 | sparcv9 | sparcv9b) diff --git a/openwrt/toolchain/binutils/2.16.91.0.2/300-001_ld_makefile_patch.patch b/openwrt/toolchain/binutils/2.16.91.0.2/300-001_ld_makefile_patch.patch new file mode 100644 index 0000000000..04a7e61e25 --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.91.0.2/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 +## 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/openwrt/toolchain/binutils/2.16.91.0.2/300-006_better_file_error.patch b/openwrt/toolchain/binutils/2.16.91.0.2/300-006_better_file_error.patch new file mode 100644 index 0000000000..f337611edf --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.91.0.2/300-006_better_file_error.patch @@ -0,0 +1,43 @@ +#!/bin/sh -e +## 006_better_file_error.dpatch by David Kimdon +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Specify which filename is causing an error if the filename is a +## DP: directory. (#45832) + +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/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c +--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100 ++++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100 +@@ -150,6 +150,13 @@ + { + bfd *nbfd; + const bfd_target *target_vec; ++ struct stat s; ++ ++ if (stat (filename, &s) == 0) ++ if (S_ISDIR(s.st_mode)) { ++ bfd_set_error (bfd_error_file_not_recognized); ++ return NULL; ++ } + + nbfd = _bfd_new_bfd (); + if (nbfd == NULL) diff --git a/openwrt/toolchain/binutils/2.16.91.0.2/300-012_check_ldrunpath_length.patch b/openwrt/toolchain/binutils/2.16.91.0.2/300-012_check_ldrunpath_length.patch new file mode 100644 index 0000000000..498651a90c --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.91.0.2/300-012_check_ldrunpath_length.patch @@ -0,0 +1,47 @@ +#!/bin/sh -e +## 012_check_ldrunpath_length.dpatch by Chris Chimelis +## +## 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/openwrt/toolchain/binutils/2.16.91.0.2/702-binutils-skip-comments.patch b/openwrt/toolchain/binutils/2.16.91.0.2/702-binutils-skip-comments.patch new file mode 100644 index 0000000000..9ef7a7c9ec --- /dev/null +++ b/openwrt/toolchain/binutils/2.16.91.0.2/702-binutils-skip-comments.patch @@ -0,0 +1,93 @@ +Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html +Fixes +localealias.s:544: Error: junk at end of line, first unrecognized character is `,' +when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3 + +Paths adjusted to match crosstool's patcher. + +Message-Id: m3n052qw2g.fsf@whitebox.m5r.de +From: Andreas Schwab +To: Nathan Sidwell +Cc: Ian Lance Taylor , binutils at sources dot redhat dot com +Date: Fri, 23 Apr 2004 22:27:19 +0200 +Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line + +Nathan Sidwell writes: + +> Index: read.c +> =================================================================== +> RCS file: /cvs/src/src/gas/read.c,v +> retrieving revision 1.76 +> diff -c -3 -p -r1.76 read.c +> *** read.c 12 Mar 2004 17:48:12 -0000 1.76 +> --- read.c 18 Mar 2004 09:56:05 -0000 +> *************** read_a_source_file (char *name) +> *** 1053,1059 **** +> #endif +> input_line_pointer--; +> /* Report unknown char as ignored. */ +> ! ignore_rest_of_line (); +> } +> +> #ifdef md_after_pass_hook +> --- 1053,1059 ---- +> #endif +> input_line_pointer--; +> /* Report unknown char as ignored. */ +> ! demand_empty_rest_of_line (); +> } +> +> #ifdef md_after_pass_hook + +This means that the unknown character is no longer ignored, despite the +comment. As a side effect a line starting with a line comment character +not followed by APP in NO_APP mode now triggers an error instead of just a +warning, breaking builds of glibc on m68k-linux. Earlier in +read_a_source_file where #APP is handled there is another comment that +claims that unknown comments are ignored, when in fact they aren't (only +the initial line comment character is skipped). + +Note that the presence of #APP will mess up the line counters, but +that appears to be difficult to fix. + +Andreas. + +2004-04-23 Andreas Schwab + + * read.c (read_a_source_file): Ignore unknown text after line + comment character. Fix misleading comment. + +--- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200 ++++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200 +@@ -950,10 +950,14 @@ read_a_source_file (char *name) + unsigned int new_length; + char *tmp_buf = 0; + +- bump_line_counters (); + s = input_line_pointer; + if (strncmp (s, "APP\n", 4)) +- continue; /* We ignore it */ ++ { ++ /* We ignore it */ ++ ignore_rest_of_line (); ++ continue; ++ } ++ bump_line_counters (); + s += 4; + + sb_new (&sbuf); +@@ -1052,7 +1056,7 @@ read_a_source_file (char *name) + continue; + #endif + input_line_pointer--; +- /* Report unknown char as ignored. */ ++ /* Report unknown char as error. */ + demand_empty_rest_of_line (); + } + + +-- +Andreas Schwab, SuSE Labs, schwab@suse.de +SuSE Linux AG, MaxfeldstraÃe 5, 90409 NÃrnberg, Germany +Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 +"And now for something completely different." diff --git a/openwrt/toolchain/binutils/2.16/100-uclibc-conf.patch b/openwrt/toolchain/binutils/2.16/100-uclibc-conf.patch new file mode 100644 index 0000000000..7c0a72693f --- /dev/null +++ b/openwrt/toolchain/binutils/2.16/100-uclibc-conf.patch @@ -0,0 +1,586 @@ +diff -ur binutils-2.15.97.orig/bfd/config.bfd binutils-2.15.97/bfd/config.bfd +--- binutils-2.15.97.orig/bfd/config.bfd 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/bfd/config.bfd 2005-04-29 20:53:50.000000000 -0400 +@@ -140,7 +140,7 @@ + targ_defvec=ecoffalpha_little_vec + targ_selvecs=bfd_elf64_alpha_vec + ;; +- alpha*-*-linux-gnu* | alpha*-*-elf*) ++ alpha*-*-linux-* | alpha*-*-elf*) + targ_defvec=bfd_elf64_alpha_vec + targ_selvecs=ecoffalpha_little_vec + ;; +@@ -150,7 +150,7 @@ + alpha*-*-*) + targ_defvec=ecoffalpha_little_vec + ;; +- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) ++ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu) + targ_defvec=bfd_elf64_ia64_little_vec + targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec" + ;; +@@ -227,7 +227,7 @@ + targ_defvec=bfd_elf32_littlearm_vec + targ_selvecs=bfd_elf32_bigarm_vec + ;; +- armeb-*-elf | arm*b-*-linux-gnu*) ++ armeb-*-elf | arm*b-*-linux-*) + targ_defvec=bfd_elf32_bigarm_vec + targ_selvecs=bfd_elf32_littlearm_vec + ;; +@@ -235,7 +235,7 @@ + targ_defvec=bfd_elf32_littlearm_vec + targ_selvecs=bfd_elf32_bigarm_vec + ;; +- arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \ ++ arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ + arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ + arm*-*-eabi* ) + targ_defvec=bfd_elf32_littlearm_vec +@@ -385,7 +385,7 @@ + ;; + + #ifdef BFD64 +- hppa*64*-*-linux-gnu*) ++ hppa*64*-*-linux-*) + targ_defvec=bfd_elf64_hppa_linux_vec + targ_selvecs=bfd_elf64_hppa_vec + ;; +@@ -396,7 +396,7 @@ + ;; + #endif + +- hppa*-*-linux-gnu*) ++ hppa*-*-linux-*) + targ_defvec=bfd_elf32_hppa_linux_vec + targ_selvecs=bfd_elf32_hppa_vec + ;; +@@ -529,7 +529,7 @@ + targ_selvecs=bfd_elf32_i386_vec + targ_underscore=yes + ;; +- i[3-7]86-*-linux-gnu*) ++ i[3-7]86-*-linux-*) + targ_defvec=bfd_elf32_i386_vec + targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec" + targ64_selvecs=bfd_elf64_x86_64_vec +@@ -543,7 +543,7 @@ + targ_defvec=bfd_elf64_x86_64_vec + targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec" + ;; +- x86_64-*-linux-gnu*) ++ x86_64-*-linux-*) + targ_defvec=bfd_elf64_x86_64_vec + targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec" + ;; +@@ -719,7 +719,7 @@ + targ_selvecs=bfd_elf32_m68k_vec + targ_underscore=yes + ;; +- m68*-*-linux-gnu*) ++ m68*-*-linux-*) + targ_defvec=bfd_elf32_m68k_vec + targ_selvecs=m68klinux_vec + ;; +@@ -1005,7 +1005,7 @@ + ;; + #endif + powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ +- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \ ++ powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \ + powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*) + targ_defvec=bfd_elf32_powerpc_vec + targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec" +@@ -1042,7 +1042,7 @@ + targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" + ;; + powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \ +- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\ ++ powerpcle-*-solaris2* | powerpcle-*-linux-* | powerpcle-*-vxworks* |\ + powerpcle-*-rtems*) + targ_defvec=bfd_elf32_powerpcle_vec + targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec" +@@ -1213,7 +1213,7 @@ + targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec" + targ_underscore=yes + ;; +- sparc-*-linux-gnu*) ++ sparc-*-linux-*) + targ_defvec=bfd_elf32_sparc_vec + targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec" + ;; +@@ -1260,7 +1260,7 @@ + targ_defvec=sunos_big_vec + targ_underscore=yes + ;; +- sparc64-*-linux-gnu*) ++ sparc64-*-linux-*) + targ_defvec=bfd_elf64_sparc_vec + targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec" + ;; +@@ -1329,7 +1329,7 @@ + targ_underscore=yes + ;; + +- vax-*-linux-gnu*) ++ vax-*-linux-*) + targ_defvec=bfd_elf32_vax_vec + ;; + +diff -ur binutils-2.15.97.orig/bfd/configure binutils-2.15.97/bfd/configure +--- binutils-2.15.97.orig/bfd/configure 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/bfd/configure 2005-04-29 20:53:50.000000000 -0400 +@@ -9918,7 +9918,7 @@ + alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) + COREFILE='' + ;; +- alpha*-*-linux-gnu*) ++ alpha*-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/alphalinux.h"' + ;; +@@ -9982,7 +9982,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386mach3.h"' + ;; +- i[3-7]86-*-linux-gnu*) ++ i[3-7]86-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386linux.h"' + ;; +@@ -10020,7 +10020,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/hp300bsd.h"' + ;; +- m68*-*-linux-gnu*) ++ m68*-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/m68klinux.h"' + ;; +@@ -10154,7 +10154,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/vaxult2.h"' + ;; +- vax-*-linux-gnu*) ++ vax-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/vaxlinux.h"' + ;; +diff -ur binutils-2.15.97.orig/bfd/configure.in binutils-2.15.97/bfd/configure.in +--- binutils-2.15.97.orig/bfd/configure.in 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/bfd/configure.in 2005-04-29 20:53:50.000000000 -0400 +@@ -163,7 +163,7 @@ + alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu) + COREFILE='' + ;; +- alpha*-*-linux-gnu*) ++ alpha*-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/alphalinux.h"' + ;; +@@ -248,7 +248,7 @@ + TRAD_HEADER='"hosts/i386mach3.h"' + ;; + changequote(,)dnl +- i[3-7]86-*-linux-gnu*) ++ i[3-7]86-*-linux-*) + changequote([,])dnl + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/i386linux.h"' +@@ -289,7 +289,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/hp300bsd.h"' + ;; +- m68*-*-linux-gnu*) ++ m68*-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/m68klinux.h"' + ;; +@@ -375,7 +375,7 @@ + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/vaxult2.h"' + ;; +- vax-*-linux-gnu*) ++ vax-*-linux-*) + COREFILE=trad-core.lo + TRAD_HEADER='"hosts/vaxlinux.h"' + ;; +diff -ur binutils-2.15.97.orig/gas/configure binutils-2.15.97/gas/configure +--- binutils-2.15.97.orig/gas/configure 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/gas/configure 2005-04-29 20:53:50.000000000 -0400 +@@ -4462,7 +4462,7 @@ + _ACEOF + + ;; +- ppc-*-linux-gnu*) ++ ppc-*-linux-*) + case "$endian" in + big) ;; + *) { { echo "$as_me:$LINENO: error: GNU/Linux must be configured big endian" >&5 +diff -ur binutils-2.15.97.orig/gas/configure.in binutils-2.15.97/gas/configure.in +--- binutils-2.15.97.orig/gas/configure.in 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/gas/configure.in 2005-04-29 20:53:50.000000000 -0400 +@@ -161,7 +161,7 @@ + AC_DEFINE(AIX_WEAK_SUPPORT, 1, + [Define if using AIX 5.2 value for C_WEAKEXT.]) + ;; +- ppc-*-linux-gnu*) ++ ppc-*-linux-*) + case "$endian" in + big) ;; + *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;; +diff -ur binutils-2.15.97.orig/gas/configure.tgt binutils-2.15.97/gas/configure.tgt +--- binutils-2.15.97.orig/gas/configure.tgt 2005-04-29 20:48:14.000000000 -0400 ++++ binutils-2.15.97/gas/configure.tgt 2005-04-29 20:53:50.000000000 -0400 +@@ -100,7 +100,7 @@ + alpha-*-*vms*) fmt=evax ;; + alpha-*-osf*) fmt=ecoff ;; + alpha-*-linuxecoff*) fmt=ecoff ;; +- alpha-*-linux-gnu*) fmt=elf em=linux ;; ++ alpha-*-linux-*) fmt=elf em=linux ;; + alpha-*-netbsd*) fmt=elf em=nbsd ;; + alpha-*-openbsd*) fmt=elf em=obsd ;; + +@@ -116,7 +116,7 @@ + arm-*-conix*) fmt=elf ;; + arm-*-linux*aout*) fmt=aout em=linux ;; + arm-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;; +- arm-*-linux-gnu*) fmt=elf em=linux ;; ++ arm-*-linux-*) fmt=elf em=linux ;; + arm-*-uclinux*) fmt=elf em=linux ;; + arm-*-netbsdelf*) fmt=elf em=nbsd ;; + arm-*-*n*bsd*) fmt=aout em=nbsd ;; +@@ -128,7 +128,7 @@ + + avr-*-*) fmt=elf ;; + +- cris-*-linux-gnu* | crisv32-*-linux-gnu*) ++ cris-*-linux-* | crisv32-*-linux-*) + fmt=multi bfd_gas=yes em=linux ;; + cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;; + +@@ -192,7 +192,7 @@ + i386-*-linux*aout*) fmt=aout em=linux ;; + i386-*-linux*oldld) fmt=aout em=linux ;; + i386-*-linux*coff*) fmt=coff em=linux ;; +- i386-*-linux-gnu*) fmt=elf em=linux ;; ++ i386-*-linux-*) fmt=elf em=linux ;; + i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;; + i386-*-sysv[45]*) fmt=elf ;; + i386-*-solaris*) fmt=elf ;; +@@ -238,7 +238,7 @@ + + ia64-*-elf*) fmt=elf ;; + ia64-*-aix*) fmt=elf em=ia64aix ;; +- ia64-*-linux-gnu*) fmt=elf em=linux ;; ++ ia64-*-linux-*) fmt=elf em=linux ;; + ia64-*-hpux*) fmt=elf em=hpux ;; + ia64-*-netbsd*) fmt=elf em=nbsd ;; + +@@ -265,7 +265,7 @@ + m68k-*-rtems*) fmt=elf ;; + m68k-*-hpux*) fmt=hp300 em=hp300 ;; + m68k-*-linux*aout*) fmt=aout em=linux ;; +- m68k-*-linux-gnu*) fmt=elf em=linux ;; ++ m68k-*-linux-*) fmt=elf em=linux ;; + m68k-*-uclinux*) fmt=elf ;; + m68k-*-gnu*) fmt=elf ;; + m68k-*-netbsdelf*) fmt=elf em=nbsd ;; +@@ -332,7 +332,7 @@ + ppc-*-beos*) fmt=coff ;; + ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;; + ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;; +- ppc-*-linux-gnu*) fmt=elf em=linux ;; ++ ppc-*-linux-*) fmt=elf em=linux ;; + ppc-*-solaris*) fmt=elf ;; + ppc-*-rtems*) fmt=elf ;; + ppc-*-macos*) fmt=coff em=macos ;; +@@ -340,7 +340,7 @@ + ppc-*-kaos*) fmt=elf ;; + ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;; + +- s390-*-linux-gnu*) fmt=elf em=linux ;; ++ s390-*-linux-*) fmt=elf em=linux ;; + s390-*-tpf*) fmt=elf ;; + + sh*-*-linux*) fmt=elf em=linux +@@ -369,7 +369,7 @@ + sparc-*-aout | sparc*-*-vxworks*) fmt=aout em=sparcaout ;; + sparc-*-coff) fmt=coff ;; + sparc-*-linux*aout*) fmt=aout em=linux ;; +- sparc-*-linux-gnu*) fmt=elf em=linux ;; ++ sparc-*-linux-*) fmt=elf em=linux ;; + sparc-fujitsu-none) fmt=aout ;; + sparc-*-elf) fmt=elf ;; + sparc-*-sysv4*) fmt=elf ;; +@@ -398,7 +398,7 @@ + vax-*-netbsdelf*) fmt=elf em=nbsd ;; + vax-*-netbsd*) fmt=aout em=nbsd ;; + vax-*-bsd* | vax-*-ultrix*) fmt=aout ;; +- vax-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;; ++ vax-*-linux-*) fmt=elf em=linux bfd_gas=yes ;; + + w65-*-*) fmt=coff ;; + +diff -ur binutils-2.15.97.orig/ld/configure.host binutils-2.15.97/ld/configure.host +--- binutils-2.15.97.orig/ld/configure.host 2005-04-29 20:48:15.000000000 -0400 ++++ binutils-2.15.97/ld/configure.host 2005-04-29 20:53:50.000000000 -0400 +@@ -83,7 +83,7 @@ + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"` + ;; + +-arm*-*-linux-gnu*) ++arm*-*-linux-*) + HOSTING_CRT0='-p '`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]\*,ld-linux,g"` + ;; + +@@ -141,7 +141,7 @@ + HOSTING_LIBS="$HOSTING_LIBS"' -lcygwin -L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32 `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi`' + ;; + +-ia64-*-linux-gnu*) ++ia64-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,ld\[^ \]*\*,ld-linux-ia64,g"` + ;; + +@@ -155,11 +155,11 @@ + HOSTING_LIBS='-L/usr/lib32 '"$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o ; else ${CC} -print-file-name=crtend.o; fi` /usr/lib32/crtn.o -init __do_global_ctors -fini __do_global_dtors' + ;; + +-mips*-*-linux-gnu*) ++mips*-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` + ;; + +-m68*-*-linux-gnu*) ++m68*-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` + ;; + +@@ -183,19 +183,19 @@ + HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`' + ;; + +-powerpc64*-*-linux-gnu*) ++powerpc64*-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld64.so.1,"` + ;; + +-powerpc*-*-linux-gnu*) ++powerpc*-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` + ;; + +-s390x-*-linux-gnu*) ++s390x-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld64.so.1,"` + ;; + +-s390-*-linux-gnu*) ++s390-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld.so.1,"` + ;; + +@@ -209,15 +209,15 @@ + HOSTING_LIBS="$HOSTING_LIBS"' `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi` `if [ -f ../gcc/crtn.o ]; then echo ../gcc/crtn.o; else ${CC} -print-file-name=crtn.o; fi`' + ;; + +-sparc-*-linux-gnu*) ++sparc-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib/ld-linux.so.2,"` + ;; + +-sparc64-*-linux-gnu*) ++sparc64-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld-linux.so.2,"` + ;; + +-x86_64-*-linux-gnu*) ++x86_64-*-linux-*) + HOSTING_CRT0=`echo "$HOSTING_CRT0" | sed -e "s,\\\`specs.*\"\\\`,/lib64/ld-linux-x86-64.so.2,"` + ;; + +diff -ur binutils-2.15.97.orig/ld/configure.tgt binutils-2.15.97/ld/configure.tgt +--- binutils-2.15.97.orig/ld/configure.tgt 2005-04-29 20:48:15.000000000 -0400 ++++ binutils-2.15.97/ld/configure.tgt 2005-04-29 20:53:50.000000000 -0400 +@@ -30,7 +30,7 @@ + cris-*-*aout*) targ_emul=crisaout + targ_extra_emuls="criself crislinux" + targ_extra_libpath=$targ_extra_emuls ;; +-cris-*-linux-gnu* | cris-*-linux-gnu*) ++cris-*-linux-* | crisv32-*-linux-*) + targ_emul=crislinux ;; + cris-*-* | crisv32-*-*) targ_emul=criself + targ_extra_emuls="crisaout crislinux" +@@ -62,14 +62,14 @@ + tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'` + tdir_sun4=sparc-sun-sunos4 + ;; +-sparc64-*-linux-gnu*) targ_emul=elf64_sparc ++sparc64-*-linux-*) targ_emul=elf64_sparc + targ_extra_emuls="elf32_sparc sparclinux sun4" + targ_extra_libpath=elf32_sparc + tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'` + tdir_sparclinux=${tdir_elf32_sparc}aout + tdir_sun4=sparc-sun-sunos4 + ;; +-sparc*-*-linux-gnu*) targ_emul=elf32_sparc ++sparc*-*-linux-*) targ_emul=elf32_sparc + targ_extra_emuls="sparclinux elf64_sparc sun4" + targ_extra_libpath=elf64_sparc + tdir_sparclinux=${targ_alias}aout +@@ -119,8 +119,8 @@ + ia64-*-aix*) targ_emul=elf64_aix ;; + m32r*le-*-elf*) targ_emul=m32rlelf ;; + m32r*-*-elf*) targ_emul=m32relf ;; +-m32r*le-*-linux-gnu*) targ_emul=m32rlelf_linux ;; +-m32r*-*-linux-gnu*) targ_emul=m32relf_linux ;; ++m32r*le-*-linux-*) targ_emul=m32rlelf_linux ;; ++m32r*-*-linux-*) targ_emul=m32relf_linux ;; + m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf + targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;; + m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf +@@ -131,7 +131,7 @@ + m68*-apple-aux*) targ_emul=m68kaux ;; + maxq-*-coff) targ_emul=maxqcoff;; + *-tandem-none) targ_emul=st2000 ;; +-i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;; ++i370-*-elf* | i370-*-linux-*) targ_emul=elf32i370 ;; + i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;; + i[3-7]86-*-vsta) targ_emul=vsta ;; + i[3-7]86-go32-rtems*) targ_emul=i386go32 ;; +@@ -155,14 +155,14 @@ + tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'` + ;; + i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;; +-i[3-7]86-*-linux-gnu*) targ_emul=elf_i386 ++i[3-7]86-*-linux-*) targ_emul=elf_i386 + targ_extra_emuls=i386linux + if test x${want64} = xtrue; then + targ_extra_emuls="$targ_extra_emuls elf_x86_64" + fi + tdir_i386linux=${targ_alias}aout + ;; +-x86_64-*-linux-gnu*) targ_emul=elf_x86_64 ++x86_64-*-linux-*) targ_emul=elf_x86_64 + targ_extra_emuls="elf_i386 i386linux" + targ_extra_libpath=elf_i386 + tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'` +@@ -262,13 +262,13 @@ + arm-*-kaos*) targ_emul=armelf ;; + arm9e-*-elf) targ_emul=armelf ;; + arm*b-*-linux-gnueabi) targ_emul=armelfb_linux_eabi ;; +-arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;; ++arm*b-*-linux-*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;; + arm*-*-linux-gnueabi) targ_emul=armelf_linux_eabi ;; +-arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; ++arm*-*-linux-*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; + arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; + arm-*-vxworks) targ_emul=armelf_vxworks ;; + arm*-*-conix*) targ_emul=armelf ;; +-thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; ++thumb-*-linux-* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;; + strongarm-*-coff) targ_emul=armcoff ;; + strongarm-*-elf) targ_emul=armelf ;; + strongarm-*-kaos*) targ_emul=armelf ;; +@@ -372,7 +372,7 @@ + targ_extra_emuls=m68kelf + tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'` + ;; +-m68k-*-linux-gnu*) targ_emul=m68kelf ++m68k-*-linux-*) targ_emul=m68kelf + targ_extra_emuls=m68klinux + tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'` + ;; +@@ -388,9 +388,9 @@ + m68*-*-psos*) targ_emul=m68kpsos ;; + m68*-*-rtemscoff*) targ_emul=m68kcoff ;; + m68*-*-rtems*) targ_emul=m68kelf ;; +-hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;; ++hppa*64*-*-linux-*) targ_emul=hppa64linux ;; + hppa*64*-*) targ_emul=elf64hppa ;; +-hppa*-*-linux-gnu*) targ_emul=hppalinux ;; ++hppa*-*-linux-*) targ_emul=hppalinux ;; + hppa*-*-*elf*) targ_emul=hppaelf ;; + hppa*-*-lites*) targ_emul=hppaelf ;; + hppa*-*-netbsd*) targ_emul=hppanbsd ;; +@@ -402,7 +402,7 @@ + vax-*-netbsdaout* | vax-*-netbsd*) + targ_emul=vaxnbsd + targ_extra_emuls=elf32vax ;; +-vax-*-linux-gnu*) targ_emul=elf32vax ;; ++vax-*-linux-*) targ_emul=elf32vax ;; + mips*-*-pe) targ_emul=mipspe ; + targ_extra_ofiles="deffilep.o pe-dll.o" ;; + mips*-dec-ultrix*) targ_emul=mipslit ;; +@@ -436,18 +436,18 @@ + mips*-*-vxworks*) targ_emul=elf32ebmip + targ_extra_emuls="elf32elmip" ;; + mips*-*-windiss) targ_emul=elf32mipswindiss ;; +-mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32 ++mips64*el-*-linux-*) targ_emul=elf32ltsmipn32 + targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip" + targ_extra_libpath="elf32ltsmip elf64ltsmip" + ;; +-mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32 ++mips64*-*-linux-*) targ_emul=elf32btsmipn32 + targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip" + targ_extra_libpath="elf32btsmip elf64btsmip" + ;; +-mips*el-*-linux-gnu*) targ_emul=elf32ltsmip ++mips*el-*-linux-*) targ_emul=elf32ltsmip + targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip" + ;; +-mips*-*-linux-gnu*) targ_emul=elf32btsmip ++mips*-*-linux-*) targ_emul=elf32btsmip + targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip" + ;; + mips*-*-lnews*) targ_emul=mipslnews ;; +@@ -467,7 +467,7 @@ + alpha*-*-linuxecoff*) targ_emul=alpha targ_extra_emuls=elf64alpha + tdir_elf64alpha=`echo ${targ_alias} | sed -e 's/ecoff//'` + ;; +-alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha ++alpha*-*-linux-*) targ_emul=elf64alpha targ_extra_emuls=alpha + tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'` + ;; + alpha*-*-osf*) targ_emul=alpha ;; +diff -ur binutils-2.15.97.orig/ld/emultempl/elf32.em binutils-2.15.97/ld/emultempl/elf32.em +--- binutils-2.15.97.orig/ld/emultempl/elf32.em 2005-04-29 20:48:15.000000000 -0400 ++++ binutils-2.15.97/ld/emultempl/elf32.em 2005-04-29 20:53:50.000000000 -0400 +@@ -65,7 +65,7 @@ + + if [ "x${USE_LIBPATH}" = xyes ] ; then + case ${target} in +- *-*-linux-gnu*) ++ *-*-linux-*) + cat >>e${EMULATION_NAME}.c < +@@ -350,7 +350,7 @@ + + EOF + case ${target} in +- *-*-linux-gnu*) ++ *-*-linux-*) + cat >>e${EMULATION_NAME}.c <>e${EMULATION_NAME}.c <>e${EMULATION_NAME}.c <name, force)) + break; diff --git a/openwrt/toolchain/binutils/2.16/110-uclibc-libtool-conf.patch b/openwrt/toolchain/binutils/2.16/110-uclibc-libtool-conf.patch new file mode 100644 index 0000000000..ec38caa125 --- /dev/null +++ b/openwrt/toolchain/binutils/2.16/110-uclibc-libtool-conf.patch @@ -0,0 +1,218 @@ +diff -urN binutils-2.16.90.0.2-dist/bfd/configure binutils-2.16.90.0.2/bfd/configure +--- binutils-2.16.90.0.2-dist/bfd/configure 2005-04-29 12:50:24.000000000 -0500 ++++ binutils-2.16.90.0.2/bfd/configure 2005-04-30 11:34:59.246377032 -0500 +@@ -3584,6 +3584,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]+$' +diff -urN binutils-2.16.90.0.2-dist/binutils/configure binutils-2.16.90.0.2/binutils/configure +--- binutils-2.16.90.0.2-dist/binutils/configure 2005-04-29 12:50:26.000000000 -0500 ++++ binutils-2.16.90.0.2/binutils/configure 2005-04-30 11:35:28.900868864 -0500 +@@ -1577,6 +1577,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]+$' +diff -urN binutils-2.16.90.0.2-dist/configure binutils-2.16.90.0.2/configure +--- binutils-2.16.90.0.2-dist/configure 2005-04-29 12:50:23.000000000 -0500 ++++ binutils-2.16.90.0.2/configure 2005-04-30 11:31:12.525843792 -0500 +@@ -1111,7 +1111,7 @@ + ;; + "") + case "${target}" in +- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) ++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) + # Enable libmudflap by default in GNU and friends. + ;; + *-*-freebsd*) +diff -urN binutils-2.16.90.0.2-dist/configure.in binutils-2.16.90.0.2/configure.in +--- binutils-2.16.90.0.2-dist/configure.in 2005-04-29 12:50:23.000000000 -0500 ++++ binutils-2.16.90.0.2/configure.in 2005-04-30 11:29:51.643139832 -0500 +@@ -328,7 +328,7 @@ + ;; + "") + case "${target}" in +- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu) ++ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*) + # Enable libmudflap by default in GNU and friends. + ;; + *-*-freebsd*) +diff -urN binutils-2.16.90.0.2-dist/gas/configure binutils-2.16.90.0.2/gas/configure +--- binutils-2.16.90.0.2-dist/gas/configure 2005-04-29 12:50:27.000000000 -0500 ++++ binutils-2.16.90.0.2/gas/configure 2005-04-30 11:35:21.097055224 -0500 +@@ -3421,6 +3421,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]+$' +diff -urN binutils-2.16.90.0.2-dist/gas/testsuite/gas/sh/basic.exp binutils-2.16.90.0.2/gas/testsuite/gas/sh/basic.exp +--- binutils-2.16.90.0.2-dist/gas/testsuite/gas/sh/basic.exp 2005-04-09 14:03:14.000000000 -0500 ++++ binutils-2.16.90.0.2/gas/testsuite/gas/sh/basic.exp 2005-04-30 11:41:57.301822944 -0500 +@@ -20,7 +20,7 @@ + + # Written by Cygnus Support. + +-if [istarget "sh*-*-linux-gnu"] { ++if {[istarget "sh*-*-linux-gnu"] || [istarget "sh*-*-linux-uclibc"]} { + global ASFLAGS + set ASFLAGS "$ASFLAGS -big" + } +diff -urN binutils-2.16.90.0.2-dist/gprof/configure binutils-2.16.90.0.2/gprof/configure +--- binutils-2.16.90.0.2-dist/gprof/configure 2005-04-29 12:50:29.000000000 -0500 ++++ binutils-2.16.90.0.2/gprof/configure 2005-04-30 11:35:36.880655752 -0500 +@@ -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]+$' +diff -urN binutils-2.16.90.0.2-dist/ld/configure binutils-2.16.90.0.2/ld/configure +--- binutils-2.16.90.0.2-dist/ld/configure 2005-04-29 12:50:30.000000000 -0500 ++++ binutils-2.16.90.0.2/ld/configure 2005-04-30 11:46:15.974498720 -0500 +@@ -1581,6 +1581,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]+$' +diff -urN binutils-2.16.90.0.2-dist/ld/testsuite/ld-sh/sh.exp binutils-2.16.90.0.2/ld/testsuite/ld-sh/sh.exp +--- binutils-2.16.90.0.2-dist/ld/testsuite/ld-sh/sh.exp 2005-04-09 14:03:29.000000000 -0500 ++++ binutils-2.16.90.0.2/ld/testsuite/ld-sh/sh.exp 2005-04-30 11:45:07.890849008 -0500 +@@ -62,7 +62,7 @@ + + set testsrec "SH relaxing to S-records" + +-if [istarget sh*-linux-gnu] { ++if {[istarget sh*-linux-gnu] || [istarget sh*-*-linux-uclibc]} { + # This target needs the explicit entry address. + catch "exec $objdump -x tmpdir/sh1 | grep start\\ address | sed s/start\\ address//" entry_addr + set srec_relax_arg "-Ttext $entry_addr -relax --oformat srec tmpdir/sh1.o" +@@ -117,7 +117,7 @@ + return + } + +-if [istarget sh*-linux-gnu] { ++if {[istarget sh*-linux-gnu] || [istarget sh*-*-linux-uclibc]} { + exec sed -e s/_main/main/ -e s/_trap/trap/ -e s/_stack/stack/ \ + < $srcdir/$subdir/start.s >tmpdir/start.s + } else { +diff -urN binutils-2.16.90.0.2-dist/ld/testsuite/ld-srec/srec.exp binutils-2.16.90.0.2/ld/testsuite/ld-srec/srec.exp +--- binutils-2.16.90.0.2-dist/ld/testsuite/ld-srec/srec.exp 2005-04-29 12:50:30.000000000 -0500 ++++ binutils-2.16.90.0.2/ld/testsuite/ld-srec/srec.exp 2005-04-30 11:44:26.358162936 -0500 +@@ -385,7 +385,7 @@ + setup_xfail "v850*-*-elf" + + # The S-record linker doesn't handle Alpha Elf relaxation. +-setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" ++setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" "alpha*-*-linux-uclibc*" + setup_xfail "alpha*-*-netbsd*" + + # The S-record linker hasn't any hope of coping with HPPA relocs. +@@ -424,7 +424,7 @@ + setup_xfail "thumb-*-*" + setup_xfail "powerpc*-*-eabi*" + setup_xfail "v850*-*-elf" +-setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" ++setup_xfail "alpha*-*-elf*" "alpha*-*-linux-gnu*" "alpha*-*-gnu*" "alpha*-*-linux-uclibc*" + setup_xfail "alpha*-*-netbsd*" + setup_xfail "hppa*-*-*" + setup_xfail "ia64-*-*" +diff -urN binutils-2.16.90.0.2-dist/libtool.m4 binutils-2.16.90.0.2/libtool.m4 +--- binutils-2.16.90.0.2-dist/libtool.m4 2004-07-27 23:36:06.000000000 -0500 ++++ binutils-2.16.90.0.2/libtool.m4 2005-04-30 11:35:54.062043784 -0500 +@@ -645,6 +645,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]+$'] +diff -urN binutils-2.16.90.0.2-dist/ltconfig binutils-2.16.90.0.2/ltconfig +--- binutils-2.16.90.0.2-dist/ltconfig 2004-11-22 14:33:30.000000000 -0600 ++++ binutils-2.16.90.0.2/ltconfig 2005-04-30 11:22:10.594229920 -0500 +@@ -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 +@@ -1270,6 +1271,23 @@ + dynamic_linker='GNU/Linux ld.so' + ;; + ++linux-uclibc*) ++ version_type=linux ++ need_lib_prefix=no ++ need_version=no ++ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so' ++ soname_spec='${libname}${release}.so$major' ++ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' ++ shlibpath_var=LD_LIBRARY_PATH ++ shlibpath_overrides_runpath=no ++ # This implies no fast_install, which is unacceptable. ++ # Some rework will be needed to allow for fast_install ++ # before this can be enabled. ++ hardcode_into_libs=yes ++ # Assume using the uClibc dynamic linker. ++ dynamic_linker="uClibc ld.so" ++ ;; ++ + netbsd*) + need_lib_prefix=no + need_version=no +diff -urN binutils-2.16.90.0.2-dist/opcodes/configure binutils-2.16.90.0.2/opcodes/configure +--- binutils-2.16.90.0.2-dist/opcodes/configure 2005-04-29 12:50:31.000000000 -0500 ++++ binutils-2.16.90.0.2/opcodes/configure 2005-04-30 11:17:07.168357664 -0500 +@@ -3588,6 +3588,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]+$' diff --git a/openwrt/toolchain/binutils/2.16/300-001_ld_makefile_patch.patch b/openwrt/toolchain/binutils/2.16/300-001_ld_makefile_patch.patch new file mode 100644 index 0000000000..b25d5b7e21 --- /dev/null +++ b/openwrt/toolchain/binutils/2.16/300-001_ld_makefile_patch.patch @@ -0,0 +1,52 @@ +#!/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 +## 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@ +diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.am binutils-2.14.90.0.6/ld/Makefile.am +--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.am 2003-08-21 16:28:48.000000000 +0100 ++++ binutils-2.14.90.0.6/ld/Makefile.am 2003-09-10 23:12:09.000000000 +0100 +@@ -19,7 +19,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@ +diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.in binutils-2.14.90.0.6/ld/Makefile.in +--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/ld/Makefile.in 2003-08-21 16:28:48.000000000 +0100 ++++ binutils-2.14.90.0.6/ld/Makefile.in 2003-09-10 23:12:09.000000000 +0100 +@@ -128,7 +128,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@ diff --git a/openwrt/toolchain/binutils/2.16/300-006_better_file_error.patch b/openwrt/toolchain/binutils/2.16/300-006_better_file_error.patch new file mode 100644 index 0000000000..f337611edf --- /dev/null +++ b/openwrt/toolchain/binutils/2.16/300-006_better_file_error.patch @@ -0,0 +1,43 @@ +#!/bin/sh -e +## 006_better_file_error.dpatch by David Kimdon +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Specify which filename is causing an error if the filename is a +## DP: directory. (#45832) + +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/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c +--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c 2003-07-23 16:08:09.000000000 +0100 ++++ binutils-2.14.90.0.6/bfd/opncls.c 2003-09-10 22:35:00.000000000 +0100 +@@ -150,6 +150,13 @@ + { + bfd *nbfd; + const bfd_target *target_vec; ++ struct stat s; ++ ++ if (stat (filename, &s) == 0) ++ if (S_ISDIR(s.st_mode)) { ++ bfd_set_error (bfd_error_file_not_recognized); ++ return NULL; ++ } + + nbfd = _bfd_new_bfd (); + if (nbfd == NULL) diff --git a/openwrt/toolchain/binutils/2.16/300-012_check_ldrunpath_length.patch b/openwrt/toolchain/binutils/2.16/300-012_check_ldrunpath_length.patch new file mode 100644 index 0000000000..498651a90c --- /dev/null +++ b/openwrt/toolchain/binutils/2.16/300-012_check_ldrunpath_length.patch @@ -0,0 +1,47 @@ +#!/bin/sh -e +## 012_check_ldrunpath_length.dpatch by Chris Chimelis +## +## 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/openwrt/toolchain/binutils/2.16/702-binutils-skip-comments.patch b/openwrt/toolchain/binutils/2.16/702-binutils-skip-comments.patch new file mode 100644 index 0000000000..9ef7a7c9ec --- /dev/null +++ b/openwrt/toolchain/binutils/2.16/702-binutils-skip-comments.patch @@ -0,0 +1,93 @@ +Retrieved from http://sources.redhat.com/ml/binutils/2004-04/msg00646.html +Fixes +localealias.s:544: Error: junk at end of line, first unrecognized character is `,' +when building glibc-2.3.2 with gcc-3.4.0 and binutils-2.15.90.0.3 + +Paths adjusted to match crosstool's patcher. + +Message-Id: m3n052qw2g.fsf@whitebox.m5r.de +From: Andreas Schwab +To: Nathan Sidwell +Cc: Ian Lance Taylor , binutils at sources dot redhat dot com +Date: Fri, 23 Apr 2004 22:27:19 +0200 +Subject: Re: demand_empty_rest_of_line and ignore_rest_of_line + +Nathan Sidwell writes: + +> Index: read.c +> =================================================================== +> RCS file: /cvs/src/src/gas/read.c,v +> retrieving revision 1.76 +> diff -c -3 -p -r1.76 read.c +> *** read.c 12 Mar 2004 17:48:12 -0000 1.76 +> --- read.c 18 Mar 2004 09:56:05 -0000 +> *************** read_a_source_file (char *name) +> *** 1053,1059 **** +> #endif +> input_line_pointer--; +> /* Report unknown char as ignored. */ +> ! ignore_rest_of_line (); +> } +> +> #ifdef md_after_pass_hook +> --- 1053,1059 ---- +> #endif +> input_line_pointer--; +> /* Report unknown char as ignored. */ +> ! demand_empty_rest_of_line (); +> } +> +> #ifdef md_after_pass_hook + +This means that the unknown character is no longer ignored, despite the +comment. As a side effect a line starting with a line comment character +not followed by APP in NO_APP mode now triggers an error instead of just a +warning, breaking builds of glibc on m68k-linux. Earlier in +read_a_source_file where #APP is handled there is another comment that +claims that unknown comments are ignored, when in fact they aren't (only +the initial line comment character is skipped). + +Note that the presence of #APP will mess up the line counters, but +that appears to be difficult to fix. + +Andreas. + +2004-04-23 Andreas Schwab + + * read.c (read_a_source_file): Ignore unknown text after line + comment character. Fix misleading comment. + +--- binutils/gas/read.c.~1.78.~ 2004-04-23 08:58:23.000000000 +0200 ++++ binutils/gas/read.c 2004-04-23 21:49:01.000000000 +0200 +@@ -950,10 +950,14 @@ read_a_source_file (char *name) + unsigned int new_length; + char *tmp_buf = 0; + +- bump_line_counters (); + s = input_line_pointer; + if (strncmp (s, "APP\n", 4)) +- continue; /* We ignore it */ ++ { ++ /* We ignore it */ ++ ignore_rest_of_line (); ++ continue; ++ } ++ bump_line_counters (); + s += 4; + + sb_new (&sbuf); +@@ -1052,7 +1056,7 @@ read_a_source_file (char *name) + continue; + #endif + input_line_pointer--; +- /* Report unknown char as ignored. */ ++ /* Report unknown char as error. */ + demand_empty_rest_of_line (); + } + + +-- +Andreas Schwab, SuSE Labs, schwab@suse.de +SuSE Linux AG, MaxfeldstraÃe 5, 90409 NÃrnberg, Germany +Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 +"And now for something completely different." diff --git a/openwrt/toolchain/binutils/Config.in b/openwrt/toolchain/binutils/Config.in index 5775563d94..96ea4b5a23 100644 --- a/openwrt/toolchain/binutils/Config.in +++ b/openwrt/toolchain/binutils/Config.in @@ -19,8 +19,23 @@ choice config BR2_BINUTILS_VERSION_2_15_94_0_2_2 bool "binutils 2.15.94.0.2.2" - config BR2_BINUTILS_VERSION_2_16_90_0_1 - bool "binutils 2.16.90.0.1" + config BR2_BINUTILS_VERSION_2_15_97 + bool "binutils 2.15.97" + + config BR2_BINUTILS_VERSION_2_16 + bool "binutils 2.16" + + config BR2_BINUTILS_VERSION_2_16_1 + bool "binutils 2.16.1" + + config BR2_BINUTILS_VERSION_2_16_90_0_3 + bool "binutils 2.16.90.0.3" + + config BR2_BINUTILS_VERSION_2_16_91_0_1 + bool "binutils 2.16.91.0.1" + + config BR2_BINUTILS_VERSION_2_16_91_0_2 + bool "binutils 2.16.91.0.2" endchoice @@ -30,4 +45,9 @@ config BR2_BINUTILS_VERSION default "2.15" if BR2_BINUTILS_VERSION_2_15 default "2.15.94.0.2" if BR2_BINUTILS_VERSION_2_15_94_0_2 || !CONFIG_DEVEL default "2.15.94.0.2.2" if BR2_BINUTILS_VERSION_2_15_94_0_2_2 - default "2.16.90.0.1" if BR2_BINUTILS_VERSION_2_16_90_0_1 + default "2.15.97" if BR2_BINUTILS_VERSION_2_15_97 + default "2.16" if BR2_BINUTILS_VERSION_2_16 + default "2.16.1" if BR2_BINUTILS_VERSION_2_16_1 + default "2.16.90.0.3" if BR2_BINUTILS_VERSION_2_16_90_0_3 + default "2.16.91.0.1" if BR2_BINUTILS_VERSION_2_16_91_0_1 + default "2.16.91.0.2" if BR2_BINUTILS_VERSION_2_16_91_0_2 diff --git a/openwrt/toolchain/binutils/Makefile b/openwrt/toolchain/binutils/Makefile index e3bee5da17..2a1c728dbb 100644 --- a/openwrt/toolchain/binutils/Makefile +++ b/openwrt/toolchain/binutils/Makefile @@ -13,29 +13,27 @@ BINUTILS_SITE:=http://www.fr.kernel.org/pub/linux/devel/binutils \ http://ftp.kernel.org/pub/linux/devel/binutils \ http://www.de.kernel.org/pub/linux/devel/binutils -ifeq ($(BINUTILS_VERSION),2.15) -BINUTILS_SITE:=http://ftp.gnu.org/gnu/binutils/ \ +BINUTILS_STABLE_SITE:=http://ftp.gnu.org/gnu/binutils/ \ ftp://gatekeeper.dec.com/pub/GNU/ \ ftp://ftp.uu.net/archive/systems/gnu/ \ ftp://ftp.eu.uu.net/pub/gnu/ \ ftp://ftp.funet.fi/pub/gnu/prep/ \ ftp://ftp.leo.org/pub/comp/os/unix/gnu/ + +ifeq ($(BINUTILS_VERSION),2.16.1) +BINUTILS_SITE:=$(BINUTILS_STABLE_SITE) +endif +ifeq ($(BINUTILS_VERSION),2.16) +BINUTILS_SITE:=$(BINUTILS_STABLE_SITE) +endif +ifeq ($(BINUTILS_VERSION),2.15) +BINUTILS_SITE:=$(BINUTILS_STABLE_SITE) endif ifeq ($(BINUTILS_VERSION),2.14) -BINUTILS_SITE:=http://ftp.gnu.org/gnu/binutils/ \ - ftp://gatekeeper.dec.com/pub/GNU/ \ - ftp://ftp.uu.net/archive/systems/gnu/ \ - ftp://ftp.eu.uu.net/pub/gnu/ \ - ftp://ftp.funet.fi/pub/gnu/prep/ \ - ftp://ftp.leo.org/pub/comp/os/unix/gnu/ +BINUTILS_SITE:=$(BINUTILS_STABLE_SITE) endif ifeq ($(BINUTILS_VERSION),2.13) -BINUTILS_SITE:=http://ftp.gnu.org/gnu/binutils/ \ - ftp://gatekeeper.dec.com/pub/GNU/ \ - ftp://ftp.uu.net/archive/systems/gnu/ \ - ftp://ftp.eu.uu.net/pub/gnu/ \ - ftp://ftp.funet.fi/pub/gnu/prep/ \ - ftp://ftp.leo.org/pub/comp/os/unix/gnu/ +BINUTILS_SITE:=$(BINUTILS_STABLE_SITE) endif BINUTILS_SOURCE:=binutils-$(BINUTILS_VERSION).tar.bz2 -- 2.30.2