patches/binutils/2.15/100-uclibc-conf.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Feb 24 11:00:05 2007 +0000 (2007-02-24)
changeset 1 eeea35fbf182
permissions -rw-r--r--
Add the full crosstool-NG sources to the new repository of its own.
You might just say: 'Yeah! crosstool-NG's got its own repo!".
Unfortunately, that's because the previous repo got damaged beyond repair and I had no backup.
That means I'm putting backups in place in the afternoon.
That also means we've lost history... :-(
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]+$'