binutils-cvs: Update to work better with recent binutils cvs and use the common ...
authorRichard Purdie <rpurdie@rpsys.net>
Fri, 10 Aug 2007 08:04:59 +0000 (08:04 +0000)
committerRichard Purdie <rpurdie@rpsys.net>
Fri, 10 Aug 2007 08:04:59 +0000 (08:04 +0000)
packages/binutils/binutils-cvs/110-arm-eabi-conf.patch [new file with mode: 0644]
packages/binutils/binutils-cvs/binutils-100_cflags_for_build.patch [deleted file]
packages/binutils/binutils-cvs/binutils-2.15.90.0.3-uclibc-200-build_modules.patch [deleted file]
packages/binutils/binutils-cvs/binutils-2.15.90.0.3-uclibc-210-cflags.patch [deleted file]
packages/binutils/binutils-cvs/binutils-2.15.91.0.1-uclibc-100-conf.patch [deleted file]
packages/binutils/binutils-cvs/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch [new file with mode: 0644]
packages/binutils/binutils-cvs/binutils-uclibc-300-001_ld_makefile_patch.patch [new file with mode: 0644]
packages/binutils/binutils-cvs/binutils-uclibc-300-006_better_file_error.patch [new file with mode: 0644]
packages/binutils/binutils-cvs/binutils-uclibc-300-012_check_ldrunpath_length.patch [new file with mode: 0644]
packages/binutils/binutils-cvs/build_fix.patch [new file with mode: 0644]
packages/binutils/binutils_cvs.bb

diff --git a/packages/binutils/binutils-cvs/110-arm-eabi-conf.patch b/packages/binutils/binutils-cvs/110-arm-eabi-conf.patch
new file mode 100644 (file)
index 0000000..ca58684
--- /dev/null
@@ -0,0 +1,24 @@
+diff -urN binutils-2.16.91.0.7.orig/configure binutils-2.16.91.0.7/configure
+--- binutils-2.16.91.0.7.orig/configure        2006-05-31 14:54:24.000000000 +0300
++++ binutils-2.16.91.0.7/configure     2006-05-31 14:55:53.000000000 +0300
+@@ -1299,7 +1299,7 @@
+   arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
+     noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+     ;;
+-  arm*-*-linux-gnueabi)
++  arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+     noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+     noconfigdirs="$noconfigdirs target-libjava target-libobjc"
+     ;;
+diff -urN binutils-2.16.91.0.7.orig/configure.ac binutils-2.16.91.0.7/configure.ac
+--- binutils-2.16.91.0.7.orig/configure.ac     2006-05-31 14:54:24.000000000 +0300
++++ binutils-2.16.91.0.7/configure.ac  2006-05-31 14:55:53.000000000 +0300
+@@ -497,7 +497,7 @@
+   arm-*-elf* | strongarm-*-elf* | xscale-*-elf* | arm*-*-eabi* )
+     noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+     ;;
+-  arm*-*-linux-gnueabi)
++  arm*-*-linux-gnueabi | arm*-*-linux-uclibcgnueabi)
+     noconfigdirs="$noconfigdirs target-libffi target-qthreads"
+     noconfigdirs="$noconfigdirs target-libjava target-libobjc"
+     ;;
diff --git a/packages/binutils/binutils-cvs/binutils-100_cflags_for_build.patch b/packages/binutils/binutils-cvs/binutils-100_cflags_for_build.patch
deleted file mode 100644 (file)
index 468808b..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- src/bfd/doc/Makefile.am~binutils-100_cflags_for_build.patch
-+++ src/bfd/doc/Makefile.am
-@@ -55,10 +55,10 @@
- MKDOC = chew$(EXEEXT_FOR_BUILD)
- $(MKDOC): chew.o
--      $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS) $(LOADLIBES) $(LDFLAGS)
-+      $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LOADLIBES) $(LDFLAGS_FOR_BUILD)
- chew.o: chew.c
--      $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c
-+      $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c
- protos: libbfd.h libcoff.h bfd.h
---- src/binutils/Makefile.am~binutils-100_cflags_for_build.patch
-+++ src/binutils/Makefile.am
-@@ -219,20 +219,20 @@
-       ./sysinfo$(EXEEXT_FOR_BUILD) -d <$(srcdir)/sysroff.info >sysroff.h
- sysinfo$(EXEEXT_FOR_BUILD): sysinfo.o syslex.o
--      $(CC_FOR_BUILD) $(CFLAGS) $(LDFLAGS) -o $@ sysinfo.o syslex.o 
-+      $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ sysinfo.o syslex.o 
- syslex.o: syslex.c sysinfo.h
-       if [ -r syslex.c ]; then \
--        $(CC_FOR_BUILD) -c -I. $(CFLAGS)  syslex.c  ; \
-+        $(CC_FOR_BUILD) -c -I. $(CFLAGS_FOR_BUILD)  syslex.c  ; \
-       else \
--        $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(CFLAGS) $(srcdir)/syslex.c ;\
-+        $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(CFLAGS_FOR_BUILD) $(srcdir)/syslex.c ;\
-       fi
- sysinfo.o: sysinfo.c
-       if [ -r sysinfo.c ]; then \
--        $(CC_FOR_BUILD) -c -I. $(CFLAGS)  sysinfo.c  ; \
-+        $(CC_FOR_BUILD) -c -I. $(CFLAGS_FOR_BUILD)  sysinfo.c  ; \
-       else \
--        $(CC_FOR_BUILD) -c -I. $(CFLAGS) $(srcdir)/sysinfo.c ; \
-+        $(CC_FOR_BUILD) -c -I. $(CFLAGS_FOR_BUILD) $(srcdir)/sysinfo.c ; \
-       fi
- # We need these for parallel make.
---- src/bfd/doc/Makefile.in~binutils-100_cflags_for_build.patch
-+++ src/bfd/doc/Makefile.in
-@@ -470,10 +470,10 @@
- $(MKDOC): chew.o
--      $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS) $(LOADLIBES) $(LDFLAGS)
-+      $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LOADLIBES) $(LDFLAGS_FOR_BUILD)
- chew.o: chew.c
--      $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c
-+      $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c
- protos: libbfd.h libcoff.h bfd.h
---- src/binutils/Makefile.in~binutils-100_cflags_for_build.patch
-+++ src/binutils/Makefile.in
-@@ -978,20 +978,20 @@
-       ./sysinfo$(EXEEXT_FOR_BUILD) -d <$(srcdir)/sysroff.info >sysroff.h
- sysinfo$(EXEEXT_FOR_BUILD): sysinfo.o syslex.o
--      $(CC_FOR_BUILD) $(CFLAGS) $(LDFLAGS) -o $@ sysinfo.o syslex.o 
-+      $(CC_FOR_BUILD) $(CFLAGS_FOR_BUILD) $(LDFLAGS_FOR_BUILD) -o $@ sysinfo.o syslex.o 
- syslex.o: syslex.c sysinfo.h
-       if [ -r syslex.c ]; then \
--        $(CC_FOR_BUILD) -c -I. $(CFLAGS)  syslex.c  ; \
-+        $(CC_FOR_BUILD) -c -I. $(CFLAGS_FOR_BUILD)  syslex.c  ; \
-       else \
--        $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(CFLAGS) $(srcdir)/syslex.c ;\
-+        $(CC_FOR_BUILD) -c -I. -I$(srcdir) $(CFLAGS_FOR_BUILD) $(srcdir)/syslex.c ;\
-       fi
- sysinfo.o: sysinfo.c
-       if [ -r sysinfo.c ]; then \
--        $(CC_FOR_BUILD) -c -I. $(CFLAGS)  sysinfo.c  ; \
-+        $(CC_FOR_BUILD) -c -I. $(CFLAGS_FOR_BUILD)  sysinfo.c  ; \
-       else \
--        $(CC_FOR_BUILD) -c -I. $(CFLAGS) $(srcdir)/sysinfo.c ; \
-+        $(CC_FOR_BUILD) -c -I. $(CFLAGS_FOR_BUILD) $(srcdir)/sysinfo.c ; \
-       fi
- # We need these for parallel make.
diff --git a/packages/binutils/binutils-cvs/binutils-2.15.90.0.3-uclibc-200-build_modules.patch b/packages/binutils/binutils-cvs/binutils-2.15.90.0.3-uclibc-200-build_modules.patch
deleted file mode 100644 (file)
index 3560d2c..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- src/configure~binutils-2.15.90.0.3-uclibc-200-build_modules.patch
-+++ src/configure
-@@ -940,6 +940,11 @@
-   build_configdirs=`echo ${build_libs} ${build_tools}`
- fi
-+case "$target" in
-+  *-*-*-uclibc*)
-+    build_modules=
-+    ;;
-+esac
- ################################################################################
- srcname="gnu development package"
---- src/configure.in~binutils-2.15.90.0.3-uclibc-200-build_modules.patch
-+++ src/configure.in
-@@ -189,6 +189,11 @@
-   build_configdirs=`echo ${build_libs} ${build_tools}`
- fi
-+case "$target" in
-+  *-*-*-uclibc*)
-+    build_modules=
-+    ;;
-+esac
- ################################################################################
- srcname="gnu development package"
diff --git a/packages/binutils/binutils-cvs/binutils-2.15.90.0.3-uclibc-210-cflags.patch b/packages/binutils/binutils-cvs/binutils-2.15.90.0.3-uclibc-210-cflags.patch
deleted file mode 100644 (file)
index 40a71c6..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
---- binutils-2.15.90.0.3/bfd/doc/Makefile.am.cflags    2004-01-14 16:07:44.000000000 -0500
-+++ binutils-2.15.90.0.3/bfd/doc/Makefile.am   2004-04-22 22:06:35.000000000 -0400
-@@ -55,10 +55,10 @@
- MKDOC = chew$(EXEEXT_FOR_BUILD)
- $(MKDOC): chew.o
--      $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS) $(LOADLIBES) $(LDFLAGS)
-+      $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LOADLIBES) $(LDFLAGS)
- chew.o: chew.c
--      $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c
-+      $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c
- protos: libbfd.h libcoff.h bfd.h
---- binutils-2.15.90.0.3/bfd/doc/Makefile.in.cflags    2004-04-12 15:56:34.000000000 -0400
-+++ binutils-2.15.90.0.3/bfd/doc/Makefile.in   2004-04-22 22:06:35.000000000 -0400
-@@ -472,10 +472,10 @@
- $(MKDOC): chew.o
--      $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS) $(LOADLIBES) $(LDFLAGS)
-+      $(CC_FOR_BUILD) -o $(MKDOC) chew.o $(CFLAGS_FOR_BUILD) $(LOADLIBES) $(LDFLAGS)
- chew.o: chew.c
--      $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS) $(srcdir)/chew.c
-+      $(CC_FOR_BUILD) -c -I.. -I$(srcdir)/.. -I$(srcdir)/../../include -I$(srcdir)/../../intl -I../../intl $(H_CFLAGS) $(CFLAGS_FOR_BUILD) $(srcdir)/chew.c
- protos: libbfd.h libcoff.h bfd.h
diff --git a/packages/binutils/binutils-cvs/binutils-2.15.91.0.1-uclibc-100-conf.patch b/packages/binutils/binutils-cvs/binutils-2.15.91.0.1-uclibc-100-conf.patch
deleted file mode 100644 (file)
index 6d0ce34..0000000
+++ /dev/null
@@ -1,603 +0,0 @@
-
-#
-# Patch managed by http://www.holgerschurig.de/patcher.html
-#
-
---- src/bfd/config.bfd~binutils-2.15.91.0.1-uclibc-100-conf
-+++ src/bfd/config.bfd
-@@ -140,7 +140,7 @@
-     targ_defvec=ecoffalpha_little_vec
-     targ_selvecs=bfd_elf64_alpha_vec
-     ;;
--  alpha*-*-linux-gnu* | alpha*-*-elf*)
-+  alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | 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-gnu* | ia64*-*-elf* | ia64*-*-linux-uclibc* | 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-gnu* | arm*b-*-linux-uclibc*)
-     targ_defvec=bfd_elf32_bigarm_vec
-     targ_selvecs=bfd_elf32_littlearm_vec
-     ;;
-@@ -237,7 +237,7 @@
-     ;;
-   arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
-   arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks | \
--  arm*-*-eabi* )
-+  arm*-*-eabi* | arm*-*-linux-uclibc* )
-     targ_defvec=bfd_elf32_littlearm_vec
-     targ_selvecs=bfd_elf32_bigarm_vec
-     ;;
-@@ -381,7 +381,7 @@
-     ;;
- #ifdef BFD64
--  hppa*64*-*-linux-gnu*)
-+  hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*)
-     targ_defvec=bfd_elf64_hppa_linux_vec
-     targ_selvecs=bfd_elf64_hppa_vec
-     ;;
-@@ -392,7 +392,7 @@
-     ;;
- #endif
--  hppa*-*-linux-gnu*)
-+  hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*)
-     targ_defvec=bfd_elf32_hppa_linux_vec
-     targ_selvecs=bfd_elf32_hppa_vec
-     ;;
-@@ -525,7 +525,7 @@
-     targ_selvecs=bfd_elf32_i386_vec
-     targ_underscore=yes
-     ;;
--  i[3-7]86-*-linux-gnu*)
-+  i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
-     targ_defvec=bfd_elf32_i386_vec
-     targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
-     targ64_selvecs=bfd_elf64_x86_64_vec
-@@ -539,7 +539,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-gnu* | x86_64-*-linux-uclibc*)
-     targ_defvec=bfd_elf64_x86_64_vec
-     targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
-     ;;
-@@ -715,7 +715,7 @@
-     targ_selvecs=bfd_elf32_m68k_vec
-     targ_underscore=yes
-     ;;
--  m68*-*-linux-gnu*)
-+  m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
-     targ_defvec=bfd_elf32_m68k_vec
-     targ_selvecs=m68klinux_vec
-     ;;
-@@ -1001,7 +1001,8 @@
-     ;;
- #endif
-   powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
--  powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
-+  powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | \
-+  powerpc-*-rtems* | \
-   powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
-     targ_defvec=bfd_elf32_powerpc_vec
-     targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
-@@ -1038,8 +1039,8 @@
-     targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
-     ;;
-   powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
--  powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
--  powerpcle-*-rtems*)
-+  powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* |\
-+  powerpcle-*-vxworks* | powerpcle-*-rtems*)
-     targ_defvec=bfd_elf32_powerpcle_vec
-     targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
-     targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
-@@ -1206,7 +1207,7 @@
-     targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
-     targ_underscore=yes
-     ;;
--  sparc-*-linux-gnu*)
-+  sparc-*-linux-gnu* | sparc-*-linux-uclibc*)
-     targ_defvec=bfd_elf32_sparc_vec
-     targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
-     ;;
-@@ -1253,7 +1254,7 @@
-     targ_defvec=sunos_big_vec
-     targ_underscore=yes
-     ;;
--  sparc64-*-linux-gnu*)
-+  sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)
-     targ_defvec=bfd_elf64_sparc_vec
-     targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
-     ;;
---- src/bfd/configure~binutils-2.15.91.0.1-uclibc-100-conf
-+++ src/bfd/configure
-@@ -3583,6 +3583,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]+$'
-@@ -9914,7 +9919,7 @@
-   alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
-       COREFILE=''
-       ;;
--  alpha*-*-linux-gnu*)
-+  alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/alphalinux.h"'
-       ;;
-@@ -9978,7 +9983,7 @@
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/i386mach3.h"'
-       ;;
--  i[3-7]86-*-linux-gnu*)
-+  i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/i386linux.h"'
-       ;;
-@@ -10016,7 +10021,7 @@
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/hp300bsd.h"'
-       ;;
--  m68*-*-linux-gnu*)
-+  m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/m68klinux.h"'
-       ;;
---- src/bfd/configure.in~binutils-2.15.91.0.1-uclibc-100-conf
-+++ src/bfd/configure.in
-@@ -163,7 +163,7 @@
-   alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
-       COREFILE=''
-       ;;
--  alpha*-*-linux-gnu*)
-+  alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
-       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-gnu* | i[3-7]86-*-linux-uclibc*)
- 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-gnu* | m68*-*-linux-uclibc*)
-       COREFILE=trad-core.lo
-       TRAD_HEADER='"hosts/m68klinux.h"'
-       ;;
---- src/gas/configure~binutils-2.15.91.0.1-uclibc-100-conf
-+++ src/gas/configure
-@@ -3420,6 +3420,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]+$'
-@@ -4256,6 +4261,7 @@
-       alpha*-*-osf*)                  fmt=ecoff ;;
-       alpha*-*-linuxecoff*)           fmt=ecoff ;;
-       alpha*-*-linux-gnu*)            fmt=elf em=linux ;;
-+      alpha*-*-linux-uclibc*)         fmt=elf em=linux ;;
-       alpha*-*-netbsd*)                       fmt=elf em=nbsd ;;
-       alpha*-*-openbsd*)              fmt=elf em=obsd ;;
-@@ -4271,6 +4277,7 @@
-       arm*-*-conix*)                  fmt=elf ;;
-       arm-*-linux*aout*)              fmt=aout em=linux ;;
-       arm*-*-linux-gnu*)              fmt=elf  em=linux ;;
-+      arm*-*-linux-uclibc*)           fmt=elf  em=linux ;;
-       arm*-*-uclinux*)                        fmt=elf  em=linux ;;
-       arm-*-netbsdelf*)                 fmt=elf  em=nbsd ;;
-       arm-*-*n*bsd*)                  fmt=aout em=nbsd ;;
-@@ -4284,6 +4291,7 @@
-       cris-*-linux-gnu* | crisv32-*-linux-gnu*)
-                                       fmt=multi bfd_gas=yes em=linux ;;
-+      cris-*-linux-uclibc*)           fmt=multi bfd_gas=yes em=linux ;;
-       cris-*-* | crisv32-*-*)         fmt=multi bfd_gas=yes ;;
-       crx-*-elf*)                     fmt=elf ;;
-@@ -4343,7 +4351,9 @@
-       i386-*-linux*oldld)             fmt=aout em=linux ;;
-       i386-*-linux*coff*)             fmt=coff em=linux ;;
-       i386-*-linux-gnu*)              fmt=elf em=linux ;;
-+      i386-*-linux-uclibc*)           fmt=elf em=linux ;;
-       x86_64-*-linux-gnu*)            fmt=elf em=linux ;;
-+      x86_64-*-linux-uclibc*)         fmt=elf em=linux ;;
-       i386-*-lynxos*)                 fmt=elf em=lynx bfd_gas=yes ;;
-       i386-*-sysv[45]*)                       fmt=elf ;;
-       i386-*-solaris*)                        fmt=elf ;;
-@@ -4403,6 +4413,7 @@
-       ia64-*-elf*)                    fmt=elf ;;
-       ia64-*-aix*)                    fmt=elf em=ia64aix ;;
-       ia64-*-linux-gnu*)              fmt=elf em=linux ;;
-+      ia64-*-linux-uclibc*)           fmt=elf em=linux ;;
-       ia64-*-hpux*)                   fmt=elf em=hpux ;;
-       ia64-*-netbsd*)                 fmt=elf em=nbsd ;;
-@@ -4430,6 +4441,7 @@
-       m68k-*-hpux*)                   fmt=hp300 em=hp300 ;;
-       m68k-*-linux*aout*)             fmt=aout em=linux ;;
-       m68k-*-linux-gnu*)              fmt=elf em=linux ;;
-+      m68k-*-linux-uclibc*)           fmt=elf em=linux ;;
-       m68k-*-uclinux*)                        fmt=elf ;;
-       m68k-*-gnu*)                    fmt=elf ;;
-       m68k-*-lynxos*)                 fmt=coff em=lynx ;;
-@@ -4504,7 +4516,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-uclibc* | ppc-*-linux-gnu*)                 fmt=elf em=linux
-           case "$endian" in
-               big)  ;;
-               *)    { { echo "$as_me:$LINENO: error: GNU/Linux must be configured big endian" >&5
-@@ -4531,7 +4543,9 @@
-       ppc-*-lynxos*)                  fmt=elf em=lynx bfd_gas=yes ;;
-       s390x-*-linux-gnu*)             fmt=elf em=linux ;;
-+      s390x-*-linux-uclibc*)          fmt=elf em=linux ;;
-       s390-*-linux-gnu*)              fmt=elf em=linux ;;
-+      s390-*-linux-uclibc*)           fmt=elf em=linux ;;
-       sh*-*-linux*)                   fmt=elf em=linux
-           case ${cpu} in
-@@ -4566,6 +4580,7 @@
-       sparc-*-coff)                   fmt=coff ;;
-       sparc-*-linux*aout*)            fmt=aout em=linux ;;
-       sparc-*-linux-gnu*)             fmt=elf em=linux ;;
-+      sparc-*-linux-uclibc*)          fmt=elf em=linux ;;
-       sparc-*-lynxos*)                        fmt=coff em=lynx ;;
-       sparc-fujitsu-none)             fmt=aout ;;
-       sparc-*-elf)                    fmt=elf ;;
---- src/gas/configure.in~binutils-2.15.91.0.1-uclibc-100-conf
-+++ src/gas/configure.in
-@@ -202,6 +202,7 @@
-       alpha*-*-osf*)                  fmt=ecoff ;;
-       alpha*-*-linuxecoff*)           fmt=ecoff ;;
-       alpha*-*-linux-gnu*)            fmt=elf em=linux ;;
-+      alpha*-*-linux-uclibc*)         fmt=elf em=linux ;;
-       alpha*-*-netbsd*)                       fmt=elf em=nbsd ;;
-       alpha*-*-openbsd*)              fmt=elf em=obsd ;;
-@@ -217,6 +218,7 @@
-       arm*-*-conix*)                  fmt=elf ;;
-       arm-*-linux*aout*)              fmt=aout em=linux ;;
-       arm*-*-linux-gnu*)              fmt=elf  em=linux ;;
-+      arm*-*-linux-uclibc*)           fmt=elf  em=linux ;;
-       arm*-*-uclinux*)                        fmt=elf  em=linux ;;
-       arm-*-netbsdelf*)                 fmt=elf  em=nbsd ;;
-       arm-*-*n*bsd*)                  fmt=aout em=nbsd ;;
-@@ -230,6 +232,7 @@
-       cris-*-linux-gnu* | crisv32-*-linux-gnu*)
-                                       fmt=multi bfd_gas=yes em=linux ;;
-+      cris-*-linux-uclibc*)           fmt=multi bfd_gas=yes em=linux ;;
-       cris-*-* | crisv32-*-*)         fmt=multi bfd_gas=yes ;;
-       crx-*-elf*)                     fmt=elf ;;
-@@ -289,7 +292,9 @@
-       i386-*-linux*oldld)             fmt=aout em=linux ;;
-       i386-*-linux*coff*)             fmt=coff em=linux ;;
-       i386-*-linux-gnu*)              fmt=elf em=linux ;;
-+      i386-*-linux-uclibc*)           fmt=elf em=linux ;;
-       x86_64-*-linux-gnu*)            fmt=elf em=linux ;;
-+      x86_64-*-linux-uclibc*)         fmt=elf em=linux ;;
-       i386-*-lynxos*)                 fmt=elf em=lynx bfd_gas=yes ;;
- changequote(,)dnl
-       i386-*-sysv[45]*)                       fmt=elf ;;
-@@ -342,6 +347,7 @@
-       ia64-*-elf*)                    fmt=elf ;;
-       ia64-*-aix*)                    fmt=elf em=ia64aix ;;
-       ia64-*-linux-gnu*)              fmt=elf em=linux ;;
-+      ia64-*-linux-uclibc*)           fmt=elf em=linux ;;
-       ia64-*-hpux*)                   fmt=elf em=hpux ;;
-       ia64-*-netbsd*)                 fmt=elf em=nbsd ;;
-@@ -369,6 +375,7 @@
-       m68k-*-hpux*)                   fmt=hp300 em=hp300 ;;
-       m68k-*-linux*aout*)             fmt=aout em=linux ;;
-       m68k-*-linux-gnu*)              fmt=elf em=linux ;;
-+      m68k-*-linux-uclibc*)           fmt=elf em=linux ;;
-       m68k-*-uclinux*)                        fmt=elf ;;
-       m68k-*-gnu*)                    fmt=elf ;;
-       m68k-*-lynxos*)                 fmt=coff em=lynx ;;
-@@ -440,7 +447,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-uclibc* | ppc-*-linux-gnu*)                 fmt=elf em=linux
-           case "$endian" in
-               big)  ;;
-               *)    AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
-@@ -460,7 +467,9 @@
-       ppc-*-lynxos*)                  fmt=elf em=lynx bfd_gas=yes ;;
-       s390x-*-linux-gnu*)             fmt=elf em=linux ;;
-+      s390x-*-linux-uclibc*)          fmt=elf em=linux ;;
-       s390-*-linux-gnu*)              fmt=elf em=linux ;;
-+      s390-*-linux-uclibc*)           fmt=elf em=linux ;;
-       sh*-*-linux*)                   fmt=elf em=linux
-           case ${cpu} in
-@@ -491,6 +500,7 @@
-       sparc-*-coff)                   fmt=coff ;;
-       sparc-*-linux*aout*)            fmt=aout em=linux ;;
-       sparc-*-linux-gnu*)             fmt=elf em=linux ;;
-+      sparc-*-linux-uclibc*)          fmt=elf em=linux ;;
-       sparc-*-lynxos*)                        fmt=coff em=lynx ;;
-       sparc-fujitsu-none)             fmt=aout ;;
-       sparc-*-elf)                    fmt=elf ;;
---- src/ld/configure~binutils-2.15.91.0.1-uclibc-100-conf
-+++ src/ld/configure
-@@ -1579,6 +1579,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]+$'
---- src/ld/configure.tgt~binutils-2.15.91.0.1-uclibc-100-conf
-+++ src/ld/configure.tgt
-@@ -32,6 +32,7 @@
-                       targ_extra_libpath=$targ_extra_emuls ;;
- cris-*-linux-gnu* | cris-*-linux-gnu*)
-                       targ_emul=crislinux ;;
-+cris-*-linux-uclibc*) targ_emul=crislinux ;;
- cris-*-* | crisv32-*-*)       targ_emul=criself
-                       targ_extra_emuls="crisaout crislinux"
-                       targ_extra_libpath=$targ_extra_emuls ;;
-@@ -62,14 +63,16 @@
-                       tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
-                       tdir_sun4=sparc-sun-sunos4
-                       ;;
--sparc64-*-linux-gnu*) targ_emul=elf64_sparc
-+sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)        \
-+                      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-gnu* | sparc*-*-linux-uclibc*) \
-+                      targ_emul=elf32_sparc
-                       targ_extra_emuls="sparclinux elf64_sparc sun4"
-                       targ_extra_libpath=elf64_sparc
-                       tdir_sparclinux=${targ_alias}aout
-@@ -132,7 +135,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-gnu* | i370-*-linux-uclibc*) 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 ;;
-@@ -156,14 +159,16 @@
-                       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-gnu* | i[3-7]86-*-linux-uclibc*) \
-+                      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-gnu* | x86_64-*-linux-uclibc*) \
-+                      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/'`
-@@ -263,10 +268,13 @@
- arm-*-kaos*)          targ_emul=armelf ;;
- arm9e-*-elf)          targ_emul=armelf ;;
- arm*b-*-linux-gnu*)   targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
-+arm*b-*-linux-uclibc*)        targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
- arm*-*-linux-gnu*)    targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
-+arm*-*-linux-uclibc*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
- arm*-*-uclinux*)      targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
- arm*-*-conix*)                targ_emul=armelf ;;
--thumb-*-linux-gnu* | thumb-*-uclinux*)        targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
-+thumb-*-linux-gnu* | thumb-*-linux-uclibc* | 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 ;;
-@@ -370,7 +378,8 @@
-                       targ_extra_emuls=m68kelf
-                       tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
-                       ;;
--m68k-*-linux-gnu*)    targ_emul=m68kelf
-+m68k-*-linux-gnu* | m68k-*-linux-uclibc*) \
-+                      targ_emul=m68kelf
-                       targ_extra_emuls=m68klinux
-                       tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
-                       ;;
-@@ -387,9 +396,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-gnu* | hppa*64*-*-linux-uclibc*)  targ_emul=hppa64linux ;;
- hppa*64*-*)           targ_emul=elf64hppa ;;
--hppa*-*-linux-gnu*)   targ_emul=hppalinux ;;
-+hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*)   targ_emul=hppalinux ;;
- hppa*-*-*elf*)                targ_emul=hppaelf ;;
- hppa*-*-lites*)               targ_emul=hppaelf ;;
- hppa*-*-netbsd*)      targ_emul=hppanbsd ;;
-@@ -435,16 +444,20 @@
- mips*-*-vxworks*)     targ_emul=elf32ebmip
-                       targ_extra_emuls="elf32elmip" ;;
- mips*-*-windiss)      targ_emul=elf32mipswindiss ;;
--mips64*el-*-linux-gnu*)       targ_emul=elf32ltsmipn32
-+mips64*el-*-linux-gnu* | mips64*el-*-linux-uclibc*)
-+                      targ_emul=elf32ltsmipn32
-                       targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
-                       ;;
--mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32
-+mips64*-*-linux-gnu* | mips64*-*-linux-uclibc*)
-+                      targ_emul=elf32btsmipn32
-                       targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
-                       ;;
--mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
-+mips*el-*-linux-gnu* | mips*el-*-linux-uclibc*)
-+                      targ_emul=elf32ltsmip
-                       targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
-                       ;;
--mips*-*-linux-gnu*)   targ_emul=elf32btsmip
-+mips*-*-linux-gnu* | mips*-*-linux-uclibc*)
-+                      targ_emul=elf32btsmip
-                       targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
-                       ;;
- mips*-*-lnews*)               targ_emul=mipslnews ;;
-@@ -467,6 +480,10 @@
- alpha*-*-linux-gnu*)  targ_emul=elf64alpha targ_extra_emuls=alpha
-                       tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
-                       ;;
-+alpha*-*-linux-uclibc*)       targ_emul=elf64alpha targ_extra_emuls=alpha
-+                      # The following needs to be checked...
-+                      tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
-+                      ;;
- alpha*-*-osf*)                targ_emul=alpha ;;
- alpha*-*-gnu*)                targ_emul=elf64alpha ;;
- alpha*-*-netware*)    targ_emul=alpha ;;
---- src/configure~binutils-2.15.91.0.1-uclibc-100-conf
-+++ src/configure
-@@ -1344,6 +1344,18 @@
-   i[3456789]86-*-coff | i[3456789]86-*-elf)
-     noconfigdirs="$noconfigdirs ${libgcj}"
-     ;;
-+  i[3456789]86-*-linux-uclibc)
-+    # This section makes it possible to build newlib natively on linux.
-+    # If we are using a cross compiler then don't configure newlib.
-+    if test x${is_cross_compiler} != xno ; then
-+      noconfigdirs="$noconfigdirs target-newlib"
-+    fi
-+    noconfigdirs="$noconfigdirs target-libgloss"
-+    # If we are not using a cross compiler, do configure newlib.
-+    # Note however, that newlib will only be configured in this situation
-+    # if the --with-newlib option has been given, because otherwise
-+    # 'target-newlib' will appear in skipdirs.
-+    ;;
-   i[3456789]86-*-linux*)
-     # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
-     # not build java stuff by default.
---- src/configure.in~binutils-2.15.91.0.1-uclibc-100-conf
-+++ src/configure.in
-@@ -566,6 +566,19 @@
-   i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
-     noconfigdirs="$noconfigdirs ${libgcj}"
-     ;;
-+  i[3456789]86-*-linux-uclibc)
-+    # This section makes it possible to build newlib natively on linux.
-+    # If we are using a cross compiler then don't configure newlib.
-+    if test x${is_cross_compiler} != xno ; then
-+      noconfigdirs="$noconfigdirs target-newlib"
-+    fi
-+    noconfigdirs="$noconfigdirs target-libgloss"
-+    build_modules=
-+    # If we are not using a cross compiler, do configure newlib.
-+    # Note however, that newlib will only be configured in this situation
-+    # if the --with-newlib option has been given, because otherwise
-+    # 'target-newlib' will appear in skipdirs.
-+    ;;
-   i[[3456789]]86-*-linux*)
-     # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
-     # not build java stuff by default.
---- src/libtool.m4~binutils-2.15.91.0.1-uclibc-100-conf
-+++ src/libtool.m4
-@@ -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]+$']
---- src/ltconfig~binutils-2.15.91.0.1-uclibc-100-conf
-+++ src/ltconfig
-@@ -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 --git a/packages/binutils/binutils-cvs/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch b/packages/binutils/binutils-cvs/binutils-2.16.91.0.6-objcopy-rename-errorcode.patch
new file mode 100644 (file)
index 0000000..8df5b1f
--- /dev/null
@@ -0,0 +1,39 @@
+# strip (and objcopy) fail to set the error code if there is no
+# output file name and the rename of the stripped (or copied) file
+# fails, yet the command fails to do anything.  This fixes both
+# objcopy and strip.
+#
+# modification by bero: Ported to 2.16.91.0.6
+#
+#Signed-off-by: John Bowler <jbowler@acm.org>
+#Signed-off-by: Bernhard Rosenkraenzer <bero@arklinux.org>
+---
+# binutils/objcopy.c |    8 +++++---
+# 1 file changed, 5 insertions(+), 3 deletions(-)
+#
+Index: src/binutils/objcopy.c
+===================================================================
+--- src.orig/binutils/objcopy.c        2007-08-09 13:26:03.000000000 +0100
++++ src/binutils/objcopy.c     2007-08-09 16:36:12.000000000 +0100
+@@ -2787,8 +2787,9 @@ strip_main (int argc, char *argv[])
+         if (preserve_dates)
+           set_times (tmpname, &statbuf);
+         if (output_file != tmpname)
+-          smart_rename (tmpname, output_file ? output_file : argv[i],
+-                        preserve_dates);
++          if (smart_rename (tmpname, output_file ? output_file : argv[i],
++                        preserve_dates))
++            hold_status = 1;
+         status = hold_status;
+       }
+       else
+@@ -3411,7 +3412,8 @@ copy_main (int argc, char *argv[])
+       if (preserve_dates)
+       set_times (tmpname, &statbuf);
+       if (tmpname != output_filename)
+-      smart_rename (tmpname, input_filename, preserve_dates);
++      if (smart_rename (tmpname, input_filename, preserve_dates))
++        status = 1;
+     }
+   else
+     unlink_if_ordinary (tmpname);
diff --git a/packages/binutils/binutils-cvs/binutils-uclibc-300-001_ld_makefile_patch.patch b/packages/binutils/binutils-cvs/binutils-uclibc-300-001_ld_makefile_patch.patch
new file mode 100644 (file)
index 0000000..04a7e61
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/sh -e
+## 001_ld_makefile_patch.dpatch
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Description: correct where ld scripts are installed
+## DP: Author: Chris Chimelis <chris@debian.org>
+## DP: Upstream status: N/A
+## DP: Date: ??
+
+if [ $# -ne 1 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+       -patch) patch $patch_opts -p1 < $0;;
+       -unpatch) patch $patch_opts -p1 -R < $0;;
+        *)
+                echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+                exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+--- binutils-2.16.91.0.1/ld/Makefile.am
++++ binutils-2.16.91.0.1/ld/Makefile.am
+@@ -20,7 +20,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+ EMUL = @EMUL@
+ EMULATION_OFILES = @EMULATION_OFILES@
+--- binutils-2.16.91.0.1/ld/Makefile.in
++++ binutils-2.16.91.0.1/ld/Makefile.in
+@@ -268,7 +268,7 @@
+ # We put the scripts in the directory $(scriptdir)/ldscripts.
+ # We can't put the scripts in $(datadir) because the SEARCH_DIR
+ # directives need to be different for native and cross linkers.
+-scriptdir = $(tooldir)/lib
++scriptdir = $(libdir)
+ BASEDIR = $(srcdir)/..
+ BFDDIR = $(BASEDIR)/bfd
+ INCDIR = $(BASEDIR)/include
diff --git a/packages/binutils/binutils-cvs/binutils-uclibc-300-006_better_file_error.patch b/packages/binutils/binutils-cvs/binutils-uclibc-300-006_better_file_error.patch
new file mode 100644 (file)
index 0000000..f337611
--- /dev/null
@@ -0,0 +1,43 @@
+#!/bin/sh -e
+## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
+##
+## 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/packages/binutils/binutils-cvs/binutils-uclibc-300-012_check_ldrunpath_length.patch b/packages/binutils/binutils-cvs/binutils-uclibc-300-012_check_ldrunpath_length.patch
new file mode 100644 (file)
index 0000000..498651a
--- /dev/null
@@ -0,0 +1,47 @@
+#!/bin/sh -e
+## 012_check_ldrunpath_length.dpatch by Chris Chimelis <chris@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Only generate an RPATH entry if LD_RUN_PATH is not empty, for
+## DP: cases where -rpath isn't specified. (#151024)
+
+if [ $# -ne 1 ]; then
+    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+    exit 1
+fi
+
+[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
+patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
+
+case "$1" in
+       -patch) patch $patch_opts -p1 < $0;;
+       -unpatch) patch $patch_opts -p1 -R < $0;;
+        *)
+                echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
+                exit 1;;
+esac
+
+exit 0
+
+@DPATCH@
+diff -urNad /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em binutils-2.15/ld/emultempl/elf32.em
+--- /home/james/debian/packages/binutils/new/binutils-2.15/ld/emultempl/elf32.em       2004-05-21 23:12:58.000000000 +0100
++++ binutils-2.15/ld/emultempl/elf32.em        2004-05-21 23:12:59.000000000 +0100
+@@ -692,6 +692,8 @@
+             && command_line.rpath == NULL)
+           {
+             lib_path = (const char *) getenv ("LD_RUN_PATH");
++            if ((lib_path) && (strlen (lib_path) == 0))
++                lib_path = NULL;
+             if (gld${EMULATION_NAME}_search_needed (lib_path, &n,
+                                                     force))
+               break;
+@@ -871,6 +873,8 @@
+   rpath = command_line.rpath;
+   if (rpath == NULL)
+     rpath = (const char *) getenv ("LD_RUN_PATH");
++  if ((rpath) && (strlen (rpath) == 0))
++      rpath = NULL;
+   if (! (bfd_elf_size_dynamic_sections
+        (output_bfd, command_line.soname, rpath,
+         command_line.filter_shlib,
diff --git a/packages/binutils/binutils-cvs/build_fix.patch b/packages/binutils/binutils-cvs/build_fix.patch
new file mode 100644 (file)
index 0000000..eb8f5f2
--- /dev/null
@@ -0,0 +1,16 @@
+---
+ libiberty/fopen_unlocked.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+Index: src/libiberty/fopen_unlocked.c
+===================================================================
+--- src.orig/libiberty/fopen_unlocked.c        2007-08-09 20:12:13.000000000 +0100
++++ src/libiberty/fopen_unlocked.c     2007-08-09 20:12:21.000000000 +0100
+@@ -70,6 +70,7 @@ unchanged.
+ #endif
+ #include <stdio.h>
+ #ifdef HAVE_STDIO_EXT_H
++#include <sys/cdefs.h>
+ #include <stdio_ext.h>
+ #endif
index 3529166..40268ae 100644 (file)
-SECTION = "devel"
-inherit autotools gettext
-
-DESCRIPTION = "A GNU collection of binary utilities"
-HOMEPAGE = "http://www.gnu.org/software/binutils/"
-LICENSE = "GPL"
 FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/binutils-cvs"
 PV = "0.0+cvs${SRCDATE}"
-PR = "r3"
-
-PACKAGES = "${PN} ${PN}-dev ${PN}-doc ${PN}-symlinks"
-
-FILES_${PN} = " \
-       ${bindir}/${TARGET_PREFIX}* \
-       ${libdir}/lib*-*.so \
-       ${prefix}/${TARGET_SYS}/bin/*"
-
-FILES_${PN}-dev = " \
-       ${includedir} \
-       ${libdir}/*.a \
-       ${libdir}/*.la \
-       ${libdir}/libbfd.so \
-       ${libdir}/libopcodes.so"
-
-FILES_${PN}-symlinks = " \
-       ${bindir}/addr2line \
-       ${bindir}/ar \
-       ${bindir}/as \
-       ${bindir}/c++filt \
-       ${bindir}/gprof \
-       ${bindir}/ld \
-       ${bindir}/nm \
-       ${bindir}/objcopy \
-       ${bindir}/objdump \
-       ${bindir}/ranlib \
-       ${bindir}/readelf \
-       ${bindir}/size \
-       ${bindir}/strings \
-       ${bindir}/strip"
+PR = "r0"
 
-SRC_URI = "cvs://anoncvs:anoncvs@sources.redhat.com/cvs/src;module=binutils;method=pserver;localdir=src \
-     file://ld_makefile.patch;patch=1 \
-     file://better_file_error.patch;patch=1 \
-     file://signed_char_fix.patch;patch=1 \
-     file://binutils-100_cflags_for_build.patch;patch=1 \
-     file://binutils-2.15.91.0.1-uclibc-100-conf.patch;patch=1 \
-     file://binutils-2.15.90.0.3-uclibc-200-build_modules.patch;patch=1"
+require binutils.inc
 
 S = "${WORKDIR}/src"
-B = "${S}/build.${HOST_SYS}.${TARGET_SYS}"
-
-EXTRA_OECONF = "--with-sysroot=/ \
-               --program-prefix=${TARGET_PREFIX} \
-               --enable-shared"
-
-# This is necessary due to a bug in the binutils Makefiles
-EXTRA_OEMAKE = "configure-build-libiberty all"
-
-export AR = "${HOST_PREFIX}ar"
-export AS = "${HOST_PREFIX}as"
-export LD = "${HOST_PREFIX}ld"
-export NM = "${HOST_PREFIX}nm"
-export RANLIB = "${HOST_PREFIX}ranlib"
-export OBJCOPY = "${HOST_PREFIX}objcopy"
-export OBJDUMP = "${HOST_PREFIX}objdump"
-
-export AR_FOR_TARGET = "${TARGET_PREFIX}ar"
-export AS_FOR_TARGET = "${TARGET_PREFIX}as"
-export LD_FOR_TARGET = "${TARGET_PREFIX}ld"
-export NM_FOR_TARGET = "${TARGET_PREFIX}nm"
-export RANLIB_FOR_TARGET = "${TARGET_PREFIX}ranlib"
 
-export CC_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc"
-export CXX_FOR_HOST = "${CCACHE} ${HOST_PREFIX}gcc"
-
-export CC_FOR_BUILD = "${BUILD_CC}"
-
-export CC = "${CCACHE} ${HOST_PREFIX}gcc"
-
-do_configure () {
-       (cd ${S}; gnu-configize) || die "Failed to run gnu-configize"
-       oe_runconf
-}
-
-do_stage () {
-       oe_libinstall -so -a -C opcodes libopcodes ${STAGING_LIBDIR}/
-       oe_libinstall -a -C libiberty libiberty ${STAGING_LIBDIR}/
-       oe_libinstall -so -a -C bfd libbfd ${STAGING_LIBDIR}/
-       install -m 0644 ${S}/include/dis-asm.h ${STAGING_INCDIR}/
-       install -m 0644 ${S}/include/symcat.h ${STAGING_INCDIR}/
-       install -m 0644 ${S}/include/libiberty.h ${STAGING_INCDIR}/
-       install -m 0644 ${S}/include/ansidecl.h ${STAGING_INCDIR}/
-       install -m 0644 ${S}/include/bfdlink.h ${STAGING_INCDIR}/
-       install -m 0644 bfd/bfd.h ${STAGING_INCDIR}/
-}
-
-do_install () {
-       autotools_do_install
-
-       # We don't really need these, so we'll remove them...
-       rm -rf ${D}${libdir}/ldscripts
-
-       # Fix the /usr/${TARGET_SYS}/bin/* links
-       for l in ${D}${prefix}/${TARGET_SYS}/bin/*; do
-               rm -f $l
-               ln -sf `echo ${prefix}/${TARGET_SYS}/bin \
-                       | tr -s / \
-                       | sed -e 's,^/,,' -e 's,[^/]*,..,g'`${bindir}/${TARGET_PREFIX}`basename $l` $l
-       done
-
-       # Install the libiberty header
-       install -m 644 ${S}/include/ansidecl.h ${D}${includedir}
-       install -m 644 ${S}/include/libiberty.h ${D}${includedir}
+SRC_URI = "cvs://anoncvs:anoncvs@sources.redhat.com/cvs/src;module=binutils;method=pserver;localdir=src \
+     file://build_fix.patch;patch=1 \
+     file://binutils-2.16.91.0.6-objcopy-rename-errorcode.patch;patch=1 \
+     file://110-arm-eabi-conf.patch;patch=1 \
+     file://binutils-uclibc-300-001_ld_makefile_patch.patch;patch=1 \
+     file://binutils-uclibc-300-006_better_file_error.patch;patch=1 \
+     file://binutils-uclibc-300-012_check_ldrunpath_length.patch;patch=1"
 
-       cd ${D}${bindir}
+#EXTRA_OECONF = "--with-sysroot=/"
 
-       # Symlinks for ease of running these on the native target
-       for p in ${TARGET_SYS}-* ; do
-               ln -sf $p `echo $p | sed -e s,${TARGET_SYS}-,,`
-       done
-}