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/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 -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)