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