patches/binutils/2.15/110-uclibc-conf.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Sep 04 17:27:16 2009 +0200 (2009-09-04)
changeset 1512 439a6b292917
parent 1 eeea35fbf182
permissions -rw-r--r--
TODO: update

Add TODO list for m4, autoconf, automake and libtool.
Building our own versions would remove burden from the users
who have older versions on their distributions, and are not
ready/able/allowed to upgrade.
     1 diff -urN binutils-2.15-dist/bfd/config.bfd binutils-2.15/bfd/config.bfd
     2 --- binutils-2.15-dist/bfd/config.bfd	2004-05-17 14:35:56.000000000 -0500
     3 +++ binutils-2.15/bfd/config.bfd	2004-08-04 12:01:44.000000000 -0500
     4 @@ -126,7 +126,7 @@
     5      targ_defvec=ecoffalpha_little_vec
     6      targ_selvecs=bfd_elf64_alpha_vec
     7      ;;
     8 -  alpha*-*-linux-gnu* | alpha*-*-elf*)
     9 +  alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | alpha*-*-elf*)
    10      targ_defvec=bfd_elf64_alpha_vec
    11      targ_selvecs=ecoffalpha_little_vec
    12      ;;
    13 @@ -136,7 +136,7 @@
    14    alpha*-*-*)
    15      targ_defvec=ecoffalpha_little_vec
    16      ;;
    17 -  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
    18 +  ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-linux-uclibc* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
    19      targ_defvec=bfd_elf64_ia64_little_vec
    20      targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
    21      ;;
    22 @@ -213,7 +213,7 @@
    23      targ_defvec=bfd_elf32_littlearm_vec
    24      targ_selvecs=bfd_elf32_bigarm_vec
    25      ;;
    26 -  armeb-*-elf | arm*b-*-linux-gnu*)
    27 +  armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*)
    28      targ_defvec=bfd_elf32_bigarm_vec
    29      targ_selvecs=bfd_elf32_littlearm_vec
    30      ;;
    31 @@ -221,7 +221,7 @@
    32      targ_defvec=bfd_elf32_littlearm_vec
    33      targ_selvecs=bfd_elf32_bigarm_vec
    34      ;;
    35 -  arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
    36 +  arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-linux-uclibc* | arm*-*-conix* | \
    37    arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks)
    38      targ_defvec=bfd_elf32_littlearm_vec
    39      targ_selvecs=bfd_elf32_bigarm_vec
    40 @@ -360,7 +360,7 @@
    41      ;;
    42  
    43  #ifdef BFD64
    44 -  hppa*64*-*-linux-gnu*)
    45 +  hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*)
    46      targ_defvec=bfd_elf64_hppa_linux_vec
    47      targ_selvecs=bfd_elf64_hppa_vec
    48      ;;
    49 @@ -371,7 +371,7 @@
    50      ;;
    51  #endif
    52  
    53 -  hppa*-*-linux-gnu* | hppa*-*-netbsd*)
    54 +  hppa*-*-linux-gnu* | hppa*-*-linux-uclibc* | hppa*-*-netbsd*)
    55      targ_defvec=bfd_elf32_hppa_linux_vec
    56      targ_selvecs=bfd_elf32_hppa_vec
    57      ;;
    58 @@ -494,7 +494,7 @@
    59      targ_selvecs=bfd_elf32_i386_vec
    60      targ_underscore=yes
    61      ;;
    62 -  i[3-7]86-*-linux-gnu*)
    63 +  i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
    64      targ_defvec=bfd_elf32_i386_vec
    65      targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
    66      targ64_selvecs=bfd_elf64_x86_64_vec
    67 @@ -508,7 +508,7 @@
    68      targ_defvec=bfd_elf64_x86_64_vec
    69      targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
    70      ;;
    71 -  x86_64-*-linux-gnu*)
    72 +  x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*)
    73      targ_defvec=bfd_elf64_x86_64_vec
    74      targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
    75      ;;
    76 @@ -683,7 +683,7 @@
    77      targ_selvecs=bfd_elf32_m68k_vec
    78      targ_underscore=yes
    79      ;;
    80 -  m68*-*-linux-gnu*)
    81 +  m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
    82      targ_defvec=bfd_elf32_m68k_vec
    83      targ_selvecs=m68klinux_vec
    84      ;;
    85 @@ -955,7 +955,8 @@
    86      ;;
    87  #endif
    88    powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
    89 -  powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
    90 +  powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | \
    91 +  powerpc-*-rtems* | \
    92    powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
    93      targ_defvec=bfd_elf32_powerpc_vec
    94      targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
    95 @@ -987,8 +988,8 @@
    96      targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
    97      ;;
    98    powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
    99 -  powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
   100 -  powerpcle-*-rtems*)
   101 +  powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* |\
   102 +  powerpcle-*-vxworks* | powerpcle-*-rtems*)
   103      targ_defvec=bfd_elf32_powerpcle_vec
   104      targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
   105      targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
   106 @@ -1149,7 +1150,7 @@
   107      targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
   108      targ_underscore=yes
   109      ;;
   110 -  sparc-*-linux-gnu*)
   111 +  sparc-*-linux-gnu* | sparc-*-linux-uclibc*)
   112      targ_defvec=bfd_elf32_sparc_vec
   113      targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
   114      ;;
   115 @@ -1196,7 +1197,7 @@
   116      targ_defvec=sunos_big_vec
   117      targ_underscore=yes
   118      ;;
   119 -  sparc64-*-linux-gnu*)
   120 +  sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)
   121      targ_defvec=bfd_elf64_sparc_vec
   122      targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
   123      ;;
   124 @@ -1265,7 +1266,7 @@
   125      targ_underscore=yes
   126      ;;
   127  
   128 -  vax-*-linux-gnu*)
   129 +  vax-*-linux-gnu* | vax-*-linux-uclibc*)
   130      targ_defvec=bfd_elf32_vax_vec
   131      ;;
   132  
   133 diff -urN binutils-2.15-dist/bfd/configure binutils-2.15/bfd/configure
   134 --- binutils-2.15-dist/bfd/configure	2004-05-17 14:35:57.000000000 -0500
   135 +++ binutils-2.15/bfd/configure	2004-08-04 12:01:44.000000000 -0500
   136 @@ -1699,6 +1699,11 @@
   137    lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   138    ;;
   139  
   140 +linux-uclibc*)
   141 +  lt_cv_deplibs_check_method=pass_all
   142 +  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
   143 +  ;;
   144 +
   145  netbsd*)
   146    if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
   147      lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
   148 @@ -5278,7 +5283,7 @@
   149    alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
   150  	COREFILE=''
   151  	;;
   152 -  alpha*-*-linux-gnu*)
   153 +  alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
   154  	COREFILE=trad-core.lo
   155  	TRAD_HEADER='"hosts/alphalinux.h"'
   156  	;;
   157 @@ -5338,7 +5343,7 @@
   158  	COREFILE=trad-core.lo
   159  	TRAD_HEADER='"hosts/i386mach3.h"'
   160  	;;
   161 -  i[3-7]86-*-linux-gnu*)
   162 +  i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
   163  	COREFILE=trad-core.lo
   164  	TRAD_HEADER='"hosts/i386linux.h"'
   165  	;;
   166 @@ -5376,7 +5381,7 @@
   167  	COREFILE=trad-core.lo
   168  	TRAD_HEADER='"hosts/hp300bsd.h"'
   169  	;;
   170 -  m68*-*-linux-gnu*)
   171 +  m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
   172  	COREFILE=trad-core.lo
   173  	TRAD_HEADER='"hosts/m68klinux.h"'
   174  	;;
   175 @@ -5477,7 +5482,7 @@
   176  	COREFILE=trad-core.lo
   177  	TRAD_HEADER='"hosts/vaxult2.h"'
   178  	;;
   179 -  vax-*-linux-gnu*)
   180 +  vax-*-linux-gnu* | vax-*-linux-uclibc*)
   181  	COREFILE=trad-core.lo
   182  	TRAD_HEADER='"hosts/vaxlinux.h"'
   183  	;;
   184 diff -urN binutils-2.15-dist/bfd/configure.in binutils-2.15/bfd/configure.in
   185 --- binutils-2.15-dist/bfd/configure.in	2004-05-17 14:35:57.000000000 -0500
   186 +++ binutils-2.15/bfd/configure.in	2004-08-04 12:01:44.000000000 -0500
   187 @@ -178,7 +178,7 @@
   188    alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
   189  	COREFILE=''
   190  	;;
   191 -  alpha*-*-linux-gnu*)
   192 +  alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
   193  	COREFILE=trad-core.lo
   194  	TRAD_HEADER='"hosts/alphalinux.h"'
   195  	;;
   196 @@ -259,7 +259,7 @@
   197  	TRAD_HEADER='"hosts/i386mach3.h"'
   198  	;;
   199  changequote(,)dnl
   200 -  i[3-7]86-*-linux-gnu*)
   201 +  i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
   202  changequote([,])dnl
   203  	COREFILE=trad-core.lo
   204  	TRAD_HEADER='"hosts/i386linux.h"'
   205 @@ -300,7 +300,7 @@
   206  	COREFILE=trad-core.lo
   207  	TRAD_HEADER='"hosts/hp300bsd.h"'
   208  	;;
   209 -  m68*-*-linux-gnu*)
   210 +  m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
   211  	COREFILE=trad-core.lo
   212  	TRAD_HEADER='"hosts/m68klinux.h"'
   213  	;;
   214 @@ -385,7 +385,7 @@
   215  	COREFILE=trad-core.lo
   216  	TRAD_HEADER='"hosts/vaxult2.h"'
   217  	;;
   218 -  vax-*-linux-gnu*)
   219 +  vax-*-linux-gnu* | vax-*-linux-uclibc*)
   220  	COREFILE=trad-core.lo
   221  	TRAD_HEADER='"hosts/vaxlinux.h"'
   222  	;;
   223 diff -urN binutils-2.15-dist/binutils/configure binutils-2.15/binutils/configure
   224 --- binutils-2.15-dist/binutils/configure	2004-01-02 11:08:04.000000000 -0600
   225 +++ binutils-2.15/binutils/configure	2004-08-04 12:01:44.000000000 -0500
   226 @@ -1585,6 +1585,11 @@
   227    lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   228    ;;
   229  
   230 +linux-uclibc*)
   231 +  lt_cv_deplibs_check_method=pass_all
   232 +  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
   233 +  ;;
   234 +
   235  netbsd*)
   236    if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
   237      lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
   238 diff -urN binutils-2.15-dist/configure binutils-2.15/configure
   239 --- binutils-2.15-dist/configure	2004-05-17 14:36:20.000000000 -0500
   240 +++ binutils-2.15/configure	2004-08-04 12:01:44.000000000 -0500
   241 @@ -1288,6 +1288,18 @@
   242    i[3456789]86-*-freebsd* | i[3456789]86-*-kfreebsd*-gnu)
   243      noconfigdirs="$noconfigdirs target-newlib target-libgloss"
   244      ;;
   245 +  i[3456789]86-*-linux-uclibc*)
   246 +    # This section makes it possible to build newlib natively on linux.
   247 +    # If we are using a cross compiler then don't configure newlib.
   248 +    if test x${is_cross_compiler} != xno ; then
   249 +      noconfigdirs="$noconfigdirs target-newlib"
   250 +    fi
   251 +    noconfigdirs="$noconfigdirs target-libgloss"
   252 +    # If we are not using a cross compiler, do configure newlib.
   253 +    # Note however, that newlib will only be configured in this situation
   254 +    # if the --with-newlib option has been given, because otherwise
   255 +    # 'target-newlib' will appear in skipdirs.
   256 +    ;;
   257    i[3456789]86-*-linux*)
   258      # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
   259      # not build java stuff by default.
   260 diff -urN binutils-2.15-dist/configure.in binutils-2.15/configure.in
   261 --- binutils-2.15-dist/configure.in	2004-05-17 14:40:54.000000000 -0500
   262 +++ binutils-2.15/configure.in	2004-08-04 12:01:44.000000000 -0500
   263 @@ -521,6 +521,18 @@
   264    i[[3456789]]86-*-freebsd* | i[[3456789]]86-*-kfreebsd*-gnu)
   265      noconfigdirs="$noconfigdirs target-newlib target-libgloss"
   266      ;;
   267 +  i[[3456789]]86-*-linux-uclibc*)
   268 +    # This section makes it possible to build newlib natively on linux.
   269 +    # If we are using a cross compiler then don't configure newlib.
   270 +    if test x${is_cross_compiler} != xno ; then
   271 +      noconfigdirs="$noconfigdirs target-newlib"
   272 +    fi
   273 +    noconfigdirs="$noconfigdirs target-libgloss"
   274 +    # If we are not using a cross compiler, do configure newlib.
   275 +    # Note however, that newlib will only be configured in this situation
   276 +    # if the --with-newlib option has been given, because otherwise
   277 +    # 'target-newlib' will appear in skipdirs.
   278 +    ;;
   279    i[[3456789]]86-*-linux*)
   280      # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
   281      # not build java stuff by default.
   282 diff -urN binutils-2.15-dist/gas/configure binutils-2.15/gas/configure
   283 --- binutils-2.15-dist/gas/configure	2004-05-17 14:36:07.000000000 -0500
   284 +++ binutils-2.15/gas/configure	2004-08-04 12:07:50.000000000 -0500
   285 @@ -3400,6 +3400,11 @@
   286    lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   287    ;;
   288  
   289 +linux-uclibc*)
   290 +  lt_cv_deplibs_check_method=pass_all
   291 +  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
   292 +  ;;
   293 +
   294  netbsd*)
   295    if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
   296      lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
   297 @@ -4224,6 +4229,7 @@
   298        alpha*-*-osf*)			fmt=ecoff ;;
   299        alpha*-*-linuxecoff*)		fmt=ecoff ;;
   300        alpha*-*-linux-gnu*)		fmt=elf em=linux ;;
   301 +      alpha*-*-linux-uclibc*)		fmt=elf em=linux ;;
   302        alpha*-*-netbsd*)			fmt=elf em=nbsd ;;
   303        alpha*-*-openbsd*)		fmt=elf em=obsd ;;
   304  
   305 @@ -4240,6 +4246,7 @@
   306        arm*-*-conix*)			fmt=elf ;;
   307        arm-*-linux*aout*)		fmt=aout em=linux ;;
   308        arm*-*-linux-gnu*)		fmt=elf  em=linux ;;
   309 +      arm*-*-linux-uclibc*)		fmt=elf  em=linux ;;
   310        arm*-*-uclinux*)			fmt=elf  em=linux ;;
   311        arm-*-netbsdelf*)                 fmt=elf  em=nbsd ;;
   312        arm-*-*n*bsd*)			fmt=aout em=nbsd ;;
   313 @@ -4253,6 +4260,7 @@
   314        avr-*-*)				fmt=elf ;;
   315  
   316        cris-*-linux-gnu*)		fmt=multi bfd_gas=yes em=linux ;;
   317 +      cris-*-linux-uclibc*)		fmt=multi bfd_gas=yes em=linux ;;
   318        cris-*-*)				fmt=multi bfd_gas=yes ;;
   319  
   320        d10v-*-*)				fmt=elf ;;
   321 @@ -4310,7 +4318,9 @@
   322        i386-*-linux*oldld)		fmt=aout em=linux ;;
   323        i386-*-linux*coff*)		fmt=coff em=linux ;;
   324        i386-*-linux-gnu*)		fmt=elf em=linux ;;
   325 +      i386-*-linux-uclibc*)		fmt=elf em=linux ;;
   326        x86_64-*-linux-gnu*)		fmt=elf em=linux ;;
   327 +      x86_64-*-linux-uclibc*)		fmt=elf em=linux ;;
   328        i386-*-lynxos*)			fmt=coff em=lynx ;;
   329        i386-*-sysv[45]*)			fmt=elf ;;
   330        i386-*-solaris*)			fmt=elf ;;
   331 @@ -4370,6 +4380,7 @@
   332        ia64-*-elf*)			fmt=elf ;;
   333        ia64-*-aix*)			fmt=elf em=ia64aix ;;
   334        ia64-*-linux-gnu*)		fmt=elf em=linux ;;
   335 +      ia64-*-linux-uclibc*)		fmt=elf em=linux ;;
   336        ia64-*-hpux*)			fmt=elf em=hpux ;;
   337        ia64-*-netbsd*)			fmt=elf em=nbsd ;;
   338  
   339 @@ -4397,6 +4408,7 @@
   340        m68k-*-hpux*)			fmt=hp300 em=hp300 ;;
   341        m68k-*-linux*aout*)		fmt=aout em=linux ;;
   342        m68k-*-linux-gnu*)		fmt=elf em=linux ;;
   343 +      m68k-*-linux-uclibc*)		fmt=elf em=linux ;;
   344        m68k-*-uclinux*)			fmt=elf ;;
   345        m68k-*-gnu*)			fmt=elf ;;
   346        m68k-*-lynxos*)			fmt=coff em=lynx ;;
   347 @@ -4459,6 +4471,7 @@
   348        ppc-*-beos*)			fmt=coff ;;
   349        ppc-*-*n*bsd* | ppc-*-elf*)	fmt=elf ;;
   350        ppc-*-eabi* | ppc-*-sysv4*)	fmt=elf ;;
   351 +      ppc-*-linux-uclibc* | \
   352        ppc-*-linux-gnu*)			fmt=elf em=linux
   353  	    case "$endian" in
   354  		big)  ;;
   355 @@ -4486,7 +4499,9 @@
   356        ppc-*-kaos*)			fmt=elf ;;
   357  
   358        s390x-*-linux-gnu*)		fmt=elf em=linux ;;
   359 +      s390x-*-linux-uclibc*)		fmt=elf em=linux ;;
   360        s390-*-linux-gnu*)		fmt=elf em=linux ;;
   361 +      s390-*-linux-uclibc*)		fmt=elf em=linux ;;
   362  
   363        sh*-*-linux*)			fmt=elf em=linux
   364  	    case ${cpu} in
   365 @@ -4519,6 +4534,7 @@
   366        sparc-*-coff)			fmt=coff ;;
   367        sparc-*-linux*aout*)		fmt=aout em=linux ;;
   368        sparc-*-linux-gnu*)		fmt=elf em=linux ;;
   369 +      sparc-*-linux-uclibc*)		fmt=elf em=linux ;;
   370        sparc-*-lynxos*)			fmt=coff em=lynx ;;
   371        sparc-fujitsu-none)		fmt=aout ;;
   372        sparc-*-elf)			fmt=elf ;;
   373 diff -urN binutils-2.15-dist/gas/configure.in binutils-2.15/gas/configure.in
   374 --- binutils-2.15-dist/gas/configure.in	2004-05-17 14:36:07.000000000 -0500
   375 +++ binutils-2.15/gas/configure.in	2004-08-04 12:07:21.000000000 -0500
   376 @@ -194,6 +194,7 @@
   377        alpha*-*-osf*)			fmt=ecoff ;;
   378        alpha*-*-linuxecoff*)		fmt=ecoff ;;
   379        alpha*-*-linux-gnu*)		fmt=elf em=linux ;;
   380 +      alpha*-*-linux-uclibc*)		fmt=elf em=linux ;;
   381        alpha*-*-netbsd*)			fmt=elf em=nbsd ;;
   382        alpha*-*-openbsd*)		fmt=elf em=obsd ;;
   383  
   384 @@ -210,6 +211,7 @@
   385        arm*-*-conix*)			fmt=elf ;;
   386        arm-*-linux*aout*)		fmt=aout em=linux ;;
   387        arm*-*-linux-gnu*)		fmt=elf  em=linux ;;
   388 +      arm*-*-linux-uclibc*)		fmt=elf  em=linux ;;
   389        arm*-*-uclinux*)			fmt=elf  em=linux ;;
   390        arm-*-netbsdelf*)                 fmt=elf  em=nbsd ;;
   391        arm-*-*n*bsd*)			fmt=aout em=nbsd ;;
   392 @@ -223,6 +225,7 @@
   393        avr-*-*)				fmt=elf ;;
   394  
   395        cris-*-linux-gnu*)		fmt=multi bfd_gas=yes em=linux ;;
   396 +      cris-*-linux-uclibc*)		fmt=multi bfd_gas=yes em=linux ;;
   397        cris-*-*)				fmt=multi bfd_gas=yes ;;
   398  
   399        d10v-*-*)				fmt=elf ;;
   400 @@ -280,7 +283,9 @@
   401        i386-*-linux*oldld)		fmt=aout em=linux ;;
   402        i386-*-linux*coff*)		fmt=coff em=linux ;;
   403        i386-*-linux-gnu*)		fmt=elf em=linux ;;
   404 +      i386-*-linux-uclibc*)		fmt=elf em=linux ;;
   405        x86_64-*-linux-gnu*)		fmt=elf em=linux ;;
   406 +      x86_64-*-linux-uclibc*)		fmt=elf em=linux ;;
   407        i386-*-lynxos*)			fmt=coff em=lynx ;;
   408  changequote(,)dnl
   409        i386-*-sysv[45]*)			fmt=elf ;;
   410 @@ -333,6 +338,7 @@
   411        ia64-*-elf*)			fmt=elf ;;
   412        ia64-*-aix*)			fmt=elf em=ia64aix ;;
   413        ia64-*-linux-gnu*)		fmt=elf em=linux ;;
   414 +      ia64-*-linux-uclibc*)		fmt=elf em=linux ;;
   415        ia64-*-hpux*)			fmt=elf em=hpux ;;
   416        ia64-*-netbsd*)			fmt=elf em=nbsd ;;
   417  
   418 @@ -360,6 +366,7 @@
   419        m68k-*-hpux*)			fmt=hp300 em=hp300 ;;
   420        m68k-*-linux*aout*)		fmt=aout em=linux ;;
   421        m68k-*-linux-gnu*)		fmt=elf em=linux ;;
   422 +      m68k-*-linux-uclibc*)		fmt=elf em=linux ;;
   423        m68k-*-uclinux*)			fmt=elf ;;
   424        m68k-*-gnu*)			fmt=elf ;;
   425        m68k-*-lynxos*)			fmt=coff em=lynx ;;
   426 @@ -419,6 +426,7 @@
   427        ppc-*-beos*)			fmt=coff ;;
   428        ppc-*-*n*bsd* | ppc-*-elf*)	fmt=elf ;;
   429        ppc-*-eabi* | ppc-*-sysv4*)	fmt=elf ;;
   430 +      ppc-*-linux-uclibc* | \
   431        ppc-*-linux-gnu*)			fmt=elf em=linux
   432  	    case "$endian" in
   433  		big)  ;;
   434 @@ -439,7 +447,9 @@
   435        ppc-*-kaos*)			fmt=elf ;;
   436  
   437        s390x-*-linux-gnu*)		fmt=elf em=linux ;;
   438 +      s390x-*-linux-uclibc*)		fmt=elf em=linux ;;
   439        s390-*-linux-gnu*)		fmt=elf em=linux ;;
   440 +      s390-*-linux-uclibc*)		fmt=elf em=linux ;;
   441  
   442        sh*-*-linux*)			fmt=elf em=linux
   443  	    case ${cpu} in
   444 @@ -472,6 +482,7 @@
   445        sparc-*-coff)			fmt=coff ;;
   446        sparc-*-linux*aout*)		fmt=aout em=linux ;;
   447        sparc-*-linux-gnu*)		fmt=elf em=linux ;;
   448 +      sparc-*-linux-uclibc*)		fmt=elf em=linux ;;
   449        sparc-*-lynxos*)			fmt=coff em=lynx ;;
   450        sparc-fujitsu-none)		fmt=aout ;;
   451        sparc-*-elf)			fmt=elf ;;
   452 diff -urN binutils-2.15-dist/gprof/configure binutils-2.15/gprof/configure
   453 --- binutils-2.15-dist/gprof/configure	2003-08-26 12:19:19.000000000 -0500
   454 +++ binutils-2.15/gprof/configure	2004-08-04 12:01:45.000000000 -0500
   455 @@ -1581,6 +1581,11 @@
   456    lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   457    ;;
   458  
   459 +linux-uclibc*)
   460 +  lt_cv_deplibs_check_method=pass_all
   461 +  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
   462 +  ;;
   463 +
   464  netbsd*)
   465    if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
   466      lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
   467 diff -urN binutils-2.15-dist/ld/configure binutils-2.15/ld/configure
   468 --- binutils-2.15-dist/ld/configure	2003-04-24 07:36:07.000000000 -0500
   469 +++ binutils-2.15/ld/configure	2004-08-04 12:01:45.000000000 -0500
   470 @@ -1589,6 +1589,11 @@
   471    lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   472    ;;
   473  
   474 +linux-uclibc*)
   475 +  lt_cv_deplibs_check_method=pass_all
   476 +  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
   477 +  ;;
   478 +
   479  netbsd*)
   480    if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
   481      lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
   482 diff -urN binutils-2.15-dist/ld/configure.tgt binutils-2.15/ld/configure.tgt
   483 --- binutils-2.15-dist/ld/configure.tgt	2004-05-17 14:36:15.000000000 -0500
   484 +++ binutils-2.15/ld/configure.tgt	2004-08-04 12:01:45.000000000 -0500
   485 @@ -30,6 +30,7 @@
   486  			targ_extra_emuls="criself crislinux"
   487  			targ_extra_libpath=$targ_extra_emuls ;;
   488  cris-*-linux-gnu*)	targ_emul=crislinux ;;
   489 +cris-*-linux-uclibc*)	targ_emul=crislinux ;;
   490  cris-*-*)		targ_emul=criself
   491  			targ_extra_emuls="crisaout crislinux"
   492  			targ_extra_libpath=$targ_extra_emuls ;;
   493 @@ -59,14 +60,16 @@
   494  			tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
   495  			tdir_sun4=sparc-sun-sunos4
   496  			;;
   497 -sparc64-*-linux-gnu*)	targ_emul=elf64_sparc
   498 +sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)	 \
   499 +			targ_emul=elf64_sparc
   500  			targ_extra_emuls="elf32_sparc sparclinux sun4"
   501  			targ_extra_libpath=elf32_sparc
   502  			tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
   503  			tdir_sparclinux=${tdir_elf32_sparc}aout
   504  			tdir_sun4=sparc-sun-sunos4
   505  			;;
   506 -sparc*-*-linux-gnu*)	targ_emul=elf32_sparc
   507 +sparc*-*-linux-gnu* | sparc*-*-linux-uclibc*) \
   508 +			targ_emul=elf32_sparc
   509  			targ_extra_emuls="sparclinux elf64_sparc sun4"
   510  			targ_extra_libpath=elf64_sparc
   511  			tdir_sparclinux=${targ_alias}aout
   512 @@ -118,7 +121,9 @@
   513  m32r*le-*-elf*)         targ_emul=m32rlelf ;;
   514  m32r*-*-elf*)           targ_emul=m32relf ;;
   515  m32r*le-*-linux-gnu*)   targ_emul=m32rlelf_linux ;;
   516 +m32r*le-*-linux-uclibc*) targ_emul=m32rlelf_linux ;;
   517  m32r*-*-linux-gnu*)     targ_emul=m32relf_linux ;;
   518 +m32r*-*-linux-uclibc*)  targ_emul=m32relf_linux ;;
   519  m68hc11-*-*|m6811-*-*)	targ_emul=m68hc11elf 
   520  			targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
   521  m68hc12-*-*|m6812-*-*)	targ_emul=m68hc12elf 
   522 @@ -128,7 +133,7 @@
   523  m68*-ericsson-ose)	targ_emul=sun3 ;;
   524  m68*-apple-aux*)	targ_emul=m68kaux ;;
   525  *-tandem-none)		targ_emul=st2000 ;;
   526 -i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;;
   527 +i370-*-elf* | i370-*-linux-gnu* | i370-*-linux-uclibc*) targ_emul=elf32i370 ;;
   528  i[3-7]86-*-nto-qnx*)	targ_emul=i386nto ;;
   529  i[3-7]86-*-vsta)	targ_emul=vsta ;;
   530  i[3-7]86-go32-rtems*)	targ_emul=i386go32 ;;
   531 @@ -152,14 +157,16 @@
   532  			tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
   533  			;;
   534  i[3-7]86-*-linux*oldld)	targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
   535 -i[3-7]86-*-linux-gnu*)	targ_emul=elf_i386
   536 +i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) \
   537 +			targ_emul=elf_i386
   538  			targ_extra_emuls=i386linux
   539  			if test x${want64} = xtrue; then
   540  			  targ_extra_emuls="$targ_extra_emuls elf_x86_64"
   541  			fi
   542  			tdir_i386linux=${targ_alias}aout
   543  			;;
   544 -x86_64-*-linux-gnu*)	targ_emul=elf_x86_64
   545 +x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) \
   546 +			targ_emul=elf_x86_64
   547  			targ_extra_emuls="elf_i386 i386linux"
   548  			targ_extra_libpath=elf_i386
   549  			tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
   550 @@ -259,10 +266,13 @@
   551  arm9e-*-elf)		targ_emul=armelf ;;
   552  arm-*-oabi)		targ_emul=armelf_oabi ;;
   553  arm*b-*-linux-gnu*)	targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
   554 +arm*b-*-linux-uclibc*)	targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
   555  arm*-*-linux-gnu*)	targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
   556 +arm*-*-linux-uclibc*)	targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
   557  arm*-*-uclinux*)	targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
   558  arm*-*-conix*)		targ_emul=armelf ;;
   559 -thumb-*-linux-gnu* | thumb-*-uclinux*)	targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
   560 +thumb-*-linux-gnu* | thumb-*-linux-uclibc* | thumb-*-uclinux*) \
   561 +			targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
   562  strongarm-*-coff)	targ_emul=armcoff ;;
   563  strongarm-*-elf)	targ_emul=armelf ;;
   564  strongarm-*-kaos*)	targ_emul=armelf ;;
   565 @@ -364,7 +374,8 @@
   566  			targ_extra_emuls=m68kelf
   567  			tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
   568  			;;
   569 -m68k-*-linux-gnu*)	targ_emul=m68kelf
   570 +m68k-*-linux-gnu* | m68k-*-linux-uclibc*) \
   571 +			targ_emul=m68kelf
   572  			targ_extra_emuls=m68klinux
   573  			tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
   574  			;;
   575 @@ -381,9 +392,9 @@
   576  m68*-*-psos*)		targ_emul=m68kpsos ;;
   577  m68*-*-rtemscoff*)	targ_emul=m68kcoff ;;
   578  m68*-*-rtems*)		targ_emul=m68kelf ;;
   579 -hppa*64*-*-linux-gnu*)	targ_emul=hppa64linux ;;
   580 +hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*)  targ_emul=hppa64linux ;;
   581  hppa*64*-*)		targ_emul=elf64hppa ;;
   582 -hppa*-*-linux-gnu*)	targ_emul=hppalinux ;;
   583 +hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*)	targ_emul=hppalinux ;;
   584  hppa*-*-*elf*)		targ_emul=hppaelf ;;
   585  hppa*-*-lites*)		targ_emul=hppaelf ;;
   586  hppa*-*-netbsd*)	targ_emul=hppanbsd ;;
   587 @@ -396,6 +407,7 @@
   588  			targ_emul=vaxnbsd
   589  			targ_extra_emuls=elf32vax ;;
   590  vax-*-linux-gnu*)	targ_emul=elf32vax ;;
   591 +vax-*-linux-uclibc*)	targ_emul=elf32vax ;;
   592  mips*-*-pe)		targ_emul=mipspe ;
   593  			targ_extra_ofiles="deffilep.o pe-dll.o" ;;
   594  mips*-dec-ultrix*)	targ_emul=mipslit ;;
   595 @@ -429,16 +441,16 @@
   596  mips*-*-vxworks*)	targ_emul=elf32ebmip
   597  		        targ_extra_emuls="elf32elmip" ;;
   598  mips*-*-windiss)	targ_emul=elf32mipswindiss ;;
   599 -mips64*el-*-linux-gnu*)	targ_emul=elf32ltsmipn32
   600 +mips64*el-*-linux-gnu* | mips64*el-*-linux-uclibc*)	targ_emul=elf32ltsmipn32
   601  			targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
   602  			;;
   603 -mips64*-*-linux-gnu*)	targ_emul=elf32btsmipn32
   604 +mips64*-*-linux-gnu* | mips64*-*-linux-uclibc*)	targ_emul=elf32btsmipn32
   605  			targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
   606  			;;
   607 -mips*el-*-linux-gnu*)	targ_emul=elf32ltsmip
   608 +mips*el-*-linux-gnu* | mips*el-*-linux-uclibc*)	targ_emul=elf32ltsmip
   609  			targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
   610  			;;
   611 -mips*-*-linux-gnu*)	targ_emul=elf32btsmip
   612 +mips*-*-linux-gnu* | mips*-*-linux-uclibc*)	targ_emul=elf32btsmip
   613  			targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
   614  			;;
   615  mips*-*-lnews*)		targ_emul=mipslnews ;;
   616 @@ -461,6 +473,10 @@
   617  alpha*-*-linux-gnu*)	targ_emul=elf64alpha targ_extra_emuls=alpha
   618  			tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
   619  			;;
   620 +alpha*-*-linux-uclibc*)	targ_emul=elf64alpha targ_extra_emuls=alpha
   621 +			# The following needs to be checked...
   622 +			tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
   623 +			;;
   624  alpha*-*-osf*)		targ_emul=alpha ;;
   625  alpha*-*-gnu*)		targ_emul=elf64alpha ;;
   626  alpha*-*-netware*)	targ_emul=alpha ;;
   627 diff -urN binutils-2.15-dist/libtool.m4 binutils-2.15/libtool.m4
   628 --- binutils-2.15-dist/libtool.m4	2003-04-10 22:58:39.000000000 -0500
   629 +++ binutils-2.15/libtool.m4	2004-08-04 12:01:45.000000000 -0500
   630 @@ -645,6 +645,11 @@
   631    lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   632    ;;
   633  
   634 +linux-uclibc*)
   635 +  lt_cv_deplibs_check_method=pass_all
   636 +  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
   637 +  ;;
   638 +
   639  netbsd*)
   640    if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
   641      [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
   642 diff -urN binutils-2.15-dist/ltconfig binutils-2.15/ltconfig
   643 --- binutils-2.15-dist/ltconfig	2003-10-03 23:54:47.000000000 -0500
   644 +++ binutils-2.15/ltconfig	2004-08-04 12:01:45.000000000 -0500
   645 @@ -603,6 +603,7 @@
   646  # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
   647  case $host_os in
   648  linux-gnu*) ;;
   649 +linux-uclibc*) ;;
   650  linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
   651  esac
   652  
   653 @@ -1259,6 +1260,24 @@
   654    dynamic_linker='GNU/Linux ld.so'
   655    ;;
   656  
   657 +linux-uclibc*)
   658 +  version_type=linux
   659 +  need_lib_prefix=no
   660 +  need_version=no
   661 +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
   662 +  soname_spec='${libname}${release}.so$major'
   663 +  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
   664 +  shlibpath_var=LD_LIBRARY_PATH
   665 +  shlibpath_overrides_runpath=no
   666 +  # This implies no fast_install, which is unacceptable.
   667 +  # Some rework will be needed to allow for fast_install
   668 +  # before this can be enabled.
   669 +  # Note: copied from linux-gnu, and may not be appropriate.
   670 +  hardcode_into_libs=yes
   671 +  # Assume using the uClibc dynamic linker.
   672 +  dynamic_linker="uClibc ld.so"
   673 +  ;;
   674 +
   675  netbsd*)
   676    need_lib_prefix=no
   677    need_version=no
   678 diff -urN binutils-2.15-dist/opcodes/configure binutils-2.15/opcodes/configure
   679 --- binutils-2.15-dist/opcodes/configure	2003-08-05 04:39:31.000000000 -0500
   680 +++ binutils-2.15/opcodes/configure	2004-08-04 12:01:45.000000000 -0500
   681 @@ -1700,6 +1700,11 @@
   682    lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
   683    ;;
   684  
   685 +linux-uclibc*)
   686 +  lt_cv_deplibs_check_method=pass_all
   687 +  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
   688 +  ;;
   689 +
   690  netbsd*)
   691    if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
   692      lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'