Initial revision
[openwrt/svn-archive/archive.git] / openwrt / toolchain / binutils / 2.14.90.0.8 / 100-uclibc-conf.patch
1 diff -urN binutils-2.14.90.0.8-001-debian/bfd/config.bfd binutils-2.14.90.0.8/bfd/config.bfd
2 --- binutils-2.14.90.0.8-001-debian/bfd/config.bfd 2004-01-14 15:07:43.000000000 -0600
3 +++ binutils-2.14.90.0.8/bfd/config.bfd 2004-02-12 14:18:14.000000000 -0600
4 @@ -121,7 +121,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 @@ -131,7 +131,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 @@ -208,7 +208,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 @@ -216,8 +216,8 @@
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*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks)
37 + arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-linux-uclibc* | \
38 + arm*-*-conix* | arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks)
39 targ_defvec=bfd_elf32_littlearm_vec
40 targ_selvecs=bfd_elf32_bigarm_vec
41 ;;
42 @@ -350,7 +350,7 @@
43 ;;
44
45 #ifdef BFD64
46 - hppa*64*-*-linux-gnu*)
47 + hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*)
48 targ_defvec=bfd_elf64_hppa_linux_vec
49 targ_selvecs=bfd_elf64_hppa_vec
50 ;;
51 @@ -361,7 +361,7 @@
52 ;;
53 #endif
54
55 - hppa*-*-linux-gnu* | hppa*-*-netbsd*)
56 + hppa*-*-linux-gnu* | hppa*-*-linux-uclibc* | hppa*-*-netbsd*)
57 targ_defvec=bfd_elf32_hppa_linux_vec
58 targ_selvecs=bfd_elf32_hppa_vec
59 ;;
60 @@ -483,7 +483,7 @@
61 targ_selvecs=bfd_elf32_i386_vec
62 targ_underscore=yes
63 ;;
64 - i[3-7]86-*-linux-gnu*)
65 + i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
66 targ_defvec=bfd_elf32_i386_vec
67 targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
68 targ64_selvecs=bfd_elf64_x86_64_vec
69 @@ -497,7 +497,7 @@
70 targ_defvec=bfd_elf64_x86_64_vec
71 targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
72 ;;
73 - x86_64-*-linux-gnu*)
74 + x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*)
75 targ_defvec=bfd_elf64_x86_64_vec
76 targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
77 ;;
78 @@ -672,7 +672,7 @@
79 targ_selvecs=bfd_elf32_m68k_vec
80 targ_underscore=yes
81 ;;
82 - m68*-*-linux-gnu*)
83 + m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
84 targ_defvec=bfd_elf32_m68k_vec
85 targ_selvecs=m68klinux_vec
86 ;;
87 @@ -952,7 +952,8 @@
88 ;;
89 #endif
90 powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
91 - powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
92 + powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | \
93 + powerpc-*-rtems* | \
94 powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
95 targ_defvec=bfd_elf32_powerpc_vec
96 targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
97 @@ -984,8 +985,8 @@
98 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
99 ;;
100 powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
101 - powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
102 - powerpcle-*-rtems*)
103 + powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* |\
104 + powerpcle-*-vxworks* | powerpcle-*-rtems*)
105 targ_defvec=bfd_elf32_powerpcle_vec
106 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
107 targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
108 @@ -1141,7 +1142,7 @@
109 targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
110 targ_underscore=yes
111 ;;
112 - sparc-*-linux-gnu*)
113 + sparc-*-linux-gnu* | sparc-*-linux-uclibc*)
114 targ_defvec=bfd_elf32_sparc_vec
115 targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
116 ;;
117 @@ -1188,7 +1189,7 @@
118 targ_defvec=sunos_big_vec
119 targ_underscore=yes
120 ;;
121 - sparc64-*-linux-gnu*)
122 + sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)
123 targ_defvec=bfd_elf64_sparc_vec
124 targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
125 ;;
126 diff -urN binutils-2.14.90.0.8-001-debian/bfd/configure binutils-2.14.90.0.8/bfd/configure
127 --- binutils-2.14.90.0.8-001-debian/bfd/configure 2004-01-14 15:07:43.000000000 -0600
128 +++ binutils-2.14.90.0.8/bfd/configure 2004-02-12 14:09:10.000000000 -0600
129 @@ -1699,6 +1699,11 @@
130 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
131 ;;
132
133 +linux-uclibc*)
134 + lt_cv_deplibs_check_method=pass_all
135 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
136 + ;;
137 +
138 netbsd*)
139 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
140 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
141 @@ -5278,7 +5283,7 @@
142 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
143 COREFILE=''
144 ;;
145 - alpha*-*-linux-gnu*)
146 + alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
147 COREFILE=trad-core.lo
148 TRAD_HEADER='"hosts/alphalinux.h"'
149 ;;
150 @@ -5338,7 +5343,7 @@
151 COREFILE=trad-core.lo
152 TRAD_HEADER='"hosts/i386mach3.h"'
153 ;;
154 - i[3-7]86-*-linux-gnu*)
155 + i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
156 COREFILE=trad-core.lo
157 TRAD_HEADER='"hosts/i386linux.h"'
158 ;;
159 @@ -5388,7 +5393,7 @@
160 COREFILE=trad-core.lo
161 TRAD_HEADER='"hosts/hp300bsd.h"'
162 ;;
163 - m68*-*-linux-gnu*)
164 + m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
165 COREFILE=trad-core.lo
166 TRAD_HEADER='"hosts/m68klinux.h"'
167 ;;
168 diff -urN binutils-2.14.90.0.8-001-debian/bfd/configure.in binutils-2.14.90.0.8/bfd/configure.in
169 --- binutils-2.14.90.0.8-001-debian/bfd/configure.in 2004-01-14 15:07:43.000000000 -0600
170 +++ binutils-2.14.90.0.8/bfd/configure.in 2004-02-12 14:09:10.000000000 -0600
171 @@ -178,7 +178,7 @@
172 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
173 COREFILE=''
174 ;;
175 - alpha*-*-linux-gnu*)
176 + alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
177 COREFILE=trad-core.lo
178 TRAD_HEADER='"hosts/alphalinux.h"'
179 ;;
180 @@ -259,7 +259,7 @@
181 TRAD_HEADER='"hosts/i386mach3.h"'
182 ;;
183 changequote(,)dnl
184 - i[3-7]86-*-linux-gnu*)
185 + i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
186 changequote([,])dnl
187 COREFILE=trad-core.lo
188 TRAD_HEADER='"hosts/i386linux.h"'
189 @@ -312,7 +312,7 @@
190 COREFILE=trad-core.lo
191 TRAD_HEADER='"hosts/hp300bsd.h"'
192 ;;
193 - m68*-*-linux-gnu*)
194 + m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
195 COREFILE=trad-core.lo
196 TRAD_HEADER='"hosts/m68klinux.h"'
197 ;;
198 diff -urN binutils-2.14.90.0.8-001-debian/config.sub binutils-2.14.90.0.8/config.sub
199 --- binutils-2.14.90.0.8-001-debian/config.sub 2004-01-14 15:07:42.000000000 -0600
200 +++ binutils-2.14.90.0.8/config.sub 2004-02-12 14:09:10.000000000 -0600
201 @@ -118,7 +118,7 @@
202 # Here we must recognize all the valid KERNEL-OS combinations.
203 maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
204 case $maybe_os in
205 - nto-qnx* | linux-gnu* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
206 + nto-qnx* | linux-gnu* | linux-uclibc* | freebsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
207 os=-$maybe_os
208 basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
209 ;;
210 @@ -1131,7 +1131,8 @@
211 | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
212 | -chorusos* | -chorusrdb* \
213 | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
214 - | -mingw32* | -linux-gnu* | -uxpv* | -beos* | -mpeix* | -udk* \
215 + | -mingw32* | -linux-gnu* | -linux-uclibc* \
216 + | -uxpv* | -beos* | -mpeix* | -udk* \
217 | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
218 | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
219 | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
220 diff -urN binutils-2.14.90.0.8-001-debian/configure binutils-2.14.90.0.8/configure
221 --- binutils-2.14.90.0.8-001-debian/configure 2004-01-14 15:07:42.000000000 -0600
222 +++ binutils-2.14.90.0.8/configure 2004-02-12 14:09:10.000000000 -0600
223 @@ -1273,6 +1273,18 @@
224 i[3456789]86-*-freebsd* | i[3456789]86-*-kfreebsd*-gnu)
225 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
226 ;;
227 + i[3456789]86-*-linux-uclibc)
228 + # This section makes it possible to build newlib natively on linux.
229 + # If we are using a cross compiler then don't configure newlib.
230 + if test x${is_cross_compiler} != xno ; then
231 + noconfigdirs="$noconfigdirs target-newlib"
232 + fi
233 + noconfigdirs="$noconfigdirs target-libgloss"
234 + # If we are not using a cross compiler, do configure newlib.
235 + # Note however, that newlib will only be configured in this situation
236 + # if the --with-newlib option has been given, because otherwise
237 + # 'target-newlib' will appear in skipdirs.
238 + ;;
239 i[3456789]86-*-linux*)
240 # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
241 # not build java stuff by default.
242 diff -urN binutils-2.14.90.0.8-001-debian/configure.in binutils-2.14.90.0.8/configure.in
243 --- binutils-2.14.90.0.8-001-debian/configure.in 2004-01-14 15:07:42.000000000 -0600
244 +++ binutils-2.14.90.0.8/configure.in 2004-02-12 14:50:56.000000000 -0600
245 @@ -512,6 +512,18 @@
246 i[[3456789]]86-*-freebsd* | i[[3456789]]86-*-kfreebsd*-gnu)
247 noconfigdirs="$noconfigdirs target-newlib target-libgloss"
248 ;;
249 + i[[3456789]]86-*-linux-uclibc)
250 + # This section makes it possible to build newlib natively on linux.
251 + # If we are using a cross compiler then don't configure newlib.
252 + if test x${is_cross_compiler} != xno ; then
253 + noconfigdirs="$noconfigdirs target-newlib"
254 + fi
255 + noconfigdirs="$noconfigdirs target-libgloss"
256 + # If we are not using a cross compiler, do configure newlib.
257 + # Note however, that newlib will only be configured in this situation
258 + # if the --with-newlib option has been given, because otherwise
259 + # 'target-newlib' will appear in skipdirs.
260 + ;;
261 i[[3456789]]86-*-linux*)
262 # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
263 # not build java stuff by default.
264 diff -urN binutils-2.14.90.0.8-001-debian/gas/configure binutils-2.14.90.0.8/gas/configure
265 --- binutils-2.14.90.0.8-001-debian/gas/configure 2004-01-14 15:07:45.000000000 -0600
266 +++ binutils-2.14.90.0.8/gas/configure 2004-02-12 14:57:43.000000000 -0600
267 @@ -3215,6 +3215,11 @@
268 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
269 ;;
270
271 +linux-uclibc*)
272 + lt_cv_deplibs_check_method=pass_all
273 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
274 + ;;
275 +
276 netbsd*)
277 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
278 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
279 @@ -4030,6 +4035,7 @@
280 alpha*-*-osf*) fmt=ecoff ;;
281 alpha*-*-linuxecoff*) fmt=ecoff ;;
282 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
283 + alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
284 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
285 alpha*-*-openbsd*) fmt=elf em=obsd ;;
286
287 @@ -4046,6 +4052,7 @@
288 arm*-*-conix*) fmt=elf ;;
289 arm-*-linux*aout*) fmt=aout em=linux ;;
290 arm*-*-linux-gnu*) fmt=elf em=linux ;;
291 + arm*-*-linux-uclibc*) fmt=elf em=linux ;;
292 arm*-*-uclinux*) fmt=elf em=linux ;;
293 arm-*-netbsdelf*) fmt=elf em=nbsd ;;
294 arm-*-*n*bsd*) fmt=aout em=nbsd ;;
295 @@ -4059,6 +4066,7 @@
296 avr-*-*) fmt=elf ;;
297
298 cris-*-linux-gnu*) fmt=multi bfd_gas=yes em=linux ;;
299 + cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
300 cris-*-*) fmt=multi bfd_gas=yes ;;
301
302 d10v-*-*) fmt=elf ;;
303 @@ -4115,7 +4123,9 @@
304 i386-*-linux*oldld) fmt=aout em=linux ;;
305 i386-*-linux*coff*) fmt=coff em=linux ;;
306 i386-*-linux-gnu*) fmt=elf em=linux ;;
307 + i386-*-linux-uclibc*) fmt=elf em=linux ;;
308 x86_64-*-linux-gnu*) fmt=elf em=linux ;;
309 + x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
310 i386-*-lynxos*) fmt=coff em=lynx ;;
311 i386-*-sysv[45]*) fmt=elf ;;
312 i386-*-solaris*) fmt=elf ;;
313 @@ -4175,6 +4185,7 @@
314 ia64-*-elf*) fmt=elf ;;
315 ia64-*-aix*) fmt=elf em=ia64aix ;;
316 ia64-*-linux-gnu*) fmt=elf em=linux ;;
317 + ia64-*-linux-uclibc*) fmt=elf em=linux ;;
318 ia64-*-hpux*) fmt=elf em=hpux ;;
319 ia64-*-netbsd*) fmt=elf em=nbsd ;;
320
321 @@ -4202,6 +4213,7 @@
322 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
323 m68k-*-linux*aout*) fmt=aout em=linux ;;
324 m68k-*-linux-gnu*) fmt=elf em=linux ;;
325 + m68k-*-linux-uclibc*) fmt=elf em=linux ;;
326 m68k-*-uclinux*) fmt=elf ;;
327 m68k-*-gnu*) fmt=elf ;;
328 m68k-*-lynxos*) fmt=coff em=lynx ;;
329 @@ -4265,6 +4277,7 @@
330 ppc-*-beos*) fmt=coff ;;
331 ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
332 ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
333 + ppc-*-linux-uclibc* | \
334 ppc-*-linux-gnu*) fmt=elf em=linux
335 case "$endian" in
336 big) ;;
337 @@ -4292,7 +4305,9 @@
338 ppc-*-kaos*) fmt=elf ;;
339
340 s390x-*-linux-gnu*) fmt=elf em=linux ;;
341 + s390x-*-linux-uclibc*) fmt=elf em=linux ;;
342 s390-*-linux-gnu*) fmt=elf em=linux ;;
343 + s390-*-linux-uclibc*) fmt=elf em=linux ;;
344
345 sh*-*-linux*) fmt=elf em=linux
346 case ${cpu} in
347 @@ -4325,6 +4340,7 @@
348 sparc-*-coff) fmt=coff ;;
349 sparc-*-linux*aout*) fmt=aout em=linux ;;
350 sparc-*-linux-gnu*) fmt=elf em=linux ;;
351 + sparc-*-linux-uclibc*) fmt=elf em=linux ;;
352 sparc-*-lynxos*) fmt=coff em=lynx ;;
353 sparc-fujitsu-none) fmt=aout ;;
354 sparc-*-elf) fmt=elf ;;
355 diff -urN binutils-2.14.90.0.8-001-debian/gas/configure.in binutils-2.14.90.0.8/gas/configure.in
356 --- binutils-2.14.90.0.8-001-debian/gas/configure.in 2004-01-14 15:07:45.000000000 -0600
357 +++ binutils-2.14.90.0.8/gas/configure.in 2004-02-12 14:21:06.000000000 -0600
358 @@ -194,6 +194,7 @@
359 alpha*-*-osf*) fmt=ecoff ;;
360 alpha*-*-linuxecoff*) fmt=ecoff ;;
361 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
362 + alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
363 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
364 alpha*-*-openbsd*) fmt=elf em=obsd ;;
365
366 @@ -210,6 +211,7 @@
367 arm*-*-conix*) fmt=elf ;;
368 arm-*-linux*aout*) fmt=aout em=linux ;;
369 arm*-*-linux-gnu*) fmt=elf em=linux ;;
370 + arm*-*-linux-uclibc*) fmt=elf em=linux ;;
371 arm*-*-uclinux*) fmt=elf em=linux ;;
372 arm-*-netbsdelf*) fmt=elf em=nbsd ;;
373 arm-*-*n*bsd*) fmt=aout em=nbsd ;;
374 @@ -223,6 +225,7 @@
375 avr-*-*) fmt=elf ;;
376
377 cris-*-linux-gnu*) fmt=multi bfd_gas=yes em=linux ;;
378 + cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
379 cris-*-*) fmt=multi bfd_gas=yes ;;
380
381 d10v-*-*) fmt=elf ;;
382 @@ -279,7 +282,9 @@
383 i386-*-linux*oldld) fmt=aout em=linux ;;
384 i386-*-linux*coff*) fmt=coff em=linux ;;
385 i386-*-linux-gnu*) fmt=elf em=linux ;;
386 + i386-*-linux-uclibc*) fmt=elf em=linux ;;
387 x86_64-*-linux-gnu*) fmt=elf em=linux ;;
388 + x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
389 i386-*-lynxos*) fmt=coff em=lynx ;;
390 changequote(,)dnl
391 i386-*-sysv[45]*) fmt=elf ;;
392 @@ -332,6 +337,7 @@
393 ia64-*-elf*) fmt=elf ;;
394 ia64-*-aix*) fmt=elf em=ia64aix ;;
395 ia64-*-linux-gnu*) fmt=elf em=linux ;;
396 + ia64-*-linux-uclibc*) fmt=elf em=linux ;;
397 ia64-*-hpux*) fmt=elf em=hpux ;;
398 ia64-*-netbsd*) fmt=elf em=nbsd ;;
399
400 @@ -359,6 +365,7 @@
401 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
402 m68k-*-linux*aout*) fmt=aout em=linux ;;
403 m68k-*-linux-gnu*) fmt=elf em=linux ;;
404 + m68k-*-linux-uclibc*) fmt=elf em=linux ;;
405 m68k-*-uclinux*) fmt=elf ;;
406 m68k-*-gnu*) fmt=elf ;;
407 m68k-*-lynxos*) fmt=coff em=lynx ;;
408 @@ -419,6 +426,7 @@
409 ppc-*-beos*) fmt=coff ;;
410 ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
411 ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
412 + ppc-*-linux-uclibc* | \
413 ppc-*-linux-gnu*) fmt=elf em=linux
414 case "$endian" in
415 big) ;;
416 @@ -439,7 +447,9 @@
417 ppc-*-kaos*) fmt=elf ;;
418
419 s390x-*-linux-gnu*) fmt=elf em=linux ;;
420 + s390x-*-linux-uclibc*) fmt=elf em=linux ;;
421 s390-*-linux-gnu*) fmt=elf em=linux ;;
422 + s390-*-linux-uclibc*) fmt=elf em=linux ;;
423
424 sh*-*-linux*) fmt=elf em=linux
425 case ${cpu} in
426 @@ -472,6 +482,7 @@
427 sparc-*-coff) fmt=coff ;;
428 sparc-*-linux*aout*) fmt=aout em=linux ;;
429 sparc-*-linux-gnu*) fmt=elf em=linux ;;
430 + sparc-*-linux-uclibc*) fmt=elf em=linux ;;
431 sparc-*-lynxos*) fmt=coff em=lynx ;;
432 sparc-fujitsu-none) fmt=aout ;;
433 sparc-*-elf) fmt=elf ;;
434 diff -urN binutils-2.14.90.0.8-001-debian/ld/configure binutils-2.14.90.0.8/ld/configure
435 --- binutils-2.14.90.0.8-001-debian/ld/configure 2003-05-05 16:46:49.000000000 -0500
436 +++ binutils-2.14.90.0.8/ld/configure 2004-02-12 14:09:10.000000000 -0600
437 @@ -1578,6 +1578,11 @@
438 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
439 ;;
440
441 +linux-uclibc*)
442 + lt_cv_deplibs_check_method=pass_all
443 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
444 + ;;
445 +
446 netbsd*)
447 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
448 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
449 diff -urN binutils-2.14.90.0.8-001-debian/ld/configure.tgt binutils-2.14.90.0.8/ld/configure.tgt
450 --- binutils-2.14.90.0.8-001-debian/ld/configure.tgt 2004-01-14 15:07:52.000000000 -0600
451 +++ binutils-2.14.90.0.8/ld/configure.tgt 2004-02-12 14:14:12.000000000 -0600
452 @@ -30,6 +30,7 @@
453 targ_extra_emuls="criself crislinux"
454 targ_extra_libpath=$targ_extra_emuls ;;
455 cris-*-linux-gnu*) targ_emul=crislinux ;;
456 +cris-*-linux-uclibc*) targ_emul=crislinux ;;
457 cris-*-*) targ_emul=criself
458 targ_extra_emuls="crisaout crislinux"
459 targ_extra_libpath=$targ_extra_emuls ;;
460 @@ -59,14 +60,16 @@
461 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
462 tdir_sun4=sparc-sun-sunos4
463 ;;
464 -sparc64-*-linux-gnu*) targ_emul=elf64_sparc
465 +sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) \
466 + targ_emul=elf64_sparc
467 targ_extra_emuls="elf32_sparc sparclinux sun4"
468 targ_extra_libpath=elf32_sparc
469 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
470 tdir_sparclinux=${tdir_elf32_sparc}aout
471 tdir_sun4=sparc-sun-sunos4
472 ;;
473 -sparc*-*-linux-gnu*) targ_emul=elf32_sparc
474 +sparc*-*-linux-gnu* | sparc*-*-linux-uclibc*) \
475 + targ_emul=elf32_sparc
476 targ_extra_emuls="sparclinux elf64_sparc sun4"
477 targ_extra_libpath=elf64_sparc
478 tdir_sparclinux=${targ_alias}aout
479 @@ -128,7 +131,7 @@
480 m68*-ericsson-ose) targ_emul=sun3 ;;
481 m68*-apple-aux*) targ_emul=m68kaux ;;
482 *-tandem-none) targ_emul=st2000 ;;
483 -i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;;
484 +i370-*-elf* | i370-*-linux-gnu* | i370-*-linux-uclibc*) targ_emul=elf32i370 ;;
485 i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;;
486 i[3-7]86-*-vsta) targ_emul=vsta ;;
487 i[3-7]86-go32-rtems*) targ_emul=i386go32 ;;
488 @@ -152,14 +155,16 @@
489 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
490 ;;
491 i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
492 -i[3-7]86-*-linux-gnu*) targ_emul=elf_i386
493 +i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) \
494 + targ_emul=elf_i386
495 targ_extra_emuls=i386linux
496 if test x${want64} = xtrue; then
497 targ_extra_emuls="$targ_extra_emuls elf_x86_64"
498 fi
499 tdir_i386linux=${targ_alias}aout
500 ;;
501 -x86_64-*-linux-gnu*) targ_emul=elf_x86_64
502 +x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) \
503 + targ_emul=elf_x86_64
504 targ_extra_emuls="elf_i386 i386linux"
505 targ_extra_libpath=elf_i386
506 tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
507 @@ -259,10 +264,13 @@
508 arm9e-*-elf) targ_emul=armelf ;;
509 arm-*-oabi) targ_emul=armelf_oabi ;;
510 arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
511 +arm*b-*-linux-uclibc*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
512 arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
513 +arm*-*-linux-uclibc*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
514 arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
515 arm*-*-conix*) targ_emul=armelf ;;
516 -thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
517 +thumb-*-linux-gnu* | thumb-*-linux-uclibc* | thumb-*-uclinux*) \
518 + targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
519 strongarm-*-coff) targ_emul=armcoff ;;
520 strongarm-*-elf) targ_emul=armelf ;;
521 strongarm-*-kaos*) targ_emul=armelf ;;
522 @@ -363,7 +371,8 @@
523 targ_extra_emuls=m68kelf
524 tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
525 ;;
526 -m68k-*-linux-gnu*) targ_emul=m68kelf
527 +m68k-*-linux-gnu* | m68k-*-linux-uclibc*) \
528 + targ_emul=m68kelf
529 targ_extra_emuls=m68klinux
530 tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
531 ;;
532 @@ -380,9 +389,9 @@
533 m68*-*-psos*) targ_emul=m68kpsos ;;
534 m68*-*-rtemscoff*) targ_emul=m68kcoff ;;
535 m68*-*-rtems*) targ_emul=m68kelf ;;
536 -hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;;
537 +hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) targ_emul=hppa64linux ;;
538 hppa*64*-*) targ_emul=elf64hppa ;;
539 -hppa*-*-linux-gnu*) targ_emul=hppalinux ;;
540 +hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*) targ_emul=hppalinux ;;
541 hppa*-*-*elf*) targ_emul=hppaelf ;;
542 hppa*-*-lites*) targ_emul=hppaelf ;;
543 hppa*-*-netbsd*) targ_emul=hppanbsd ;;
544 @@ -429,16 +438,20 @@
545 mips*-*-vxworks*) targ_emul=elf32ebmip
546 targ_extra_emuls="elf32elmip" ;;
547 mips*-*-windiss) targ_emul=elf32mipswindiss ;;
548 -mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32
549 +mips64*el-*-linux-gnu* | mips64*el-*-linux-uclibc*) \
550 + targ_emul=elf32ltsmipn32
551 targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
552 ;;
553 -mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32
554 +mips64*-*-linux-gnu* | mips64*-*-linux-uclibc*) \
555 + targ_emul=elf32btsmipn32
556 targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
557 ;;
558 -mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
559 +mips*el-*-linux-gnu* | mips*el-*-linux-uclibc*) \
560 + targ_emul=elf32ltsmip
561 targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
562 ;;
563 -mips*-*-linux-gnu*) targ_emul=elf32btsmip
564 +mips*-*-linux-gnu* | mips*-*-linux-uclibc*) \
565 + targ_emul=elf32btsmip
566 targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
567 ;;
568 mips*-*-lnews*) targ_emul=mipslnews ;;
569 @@ -461,6 +474,10 @@
570 alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha
571 tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
572 ;;
573 +alpha*-*-linux-uclibc*) targ_emul=elf64alpha targ_extra_emuls=alpha
574 + # The following needs to be checked...
575 + tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
576 + ;;
577 alpha*-*-osf*) targ_emul=alpha ;;
578 alpha*-*-gnu*) targ_emul=elf64alpha ;;
579 alpha*-*-netware*) targ_emul=alpha ;;
580 diff -urN binutils-2.14.90.0.8-001-debian/libtool.m4 binutils-2.14.90.0.8/libtool.m4
581 --- binutils-2.14.90.0.8-001-debian/libtool.m4 2003-05-05 16:46:46.000000000 -0500
582 +++ binutils-2.14.90.0.8/libtool.m4 2004-02-12 14:09:10.000000000 -0600
583 @@ -645,6 +645,11 @@
584 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
585 ;;
586
587 +linux-uclibc*)
588 + lt_cv_deplibs_check_method=pass_all
589 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
590 + ;;
591 +
592 netbsd*)
593 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
594 [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
595 diff -urN binutils-2.14.90.0.8-001-debian/ltconfig binutils-2.14.90.0.8/ltconfig
596 --- binutils-2.14.90.0.8-001-debian/ltconfig 2004-01-14 15:07:42.000000000 -0600
597 +++ binutils-2.14.90.0.8/ltconfig 2004-02-12 14:09:10.000000000 -0600
598 @@ -603,6 +603,7 @@
599 # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
600 case $host_os in
601 linux-gnu*) ;;
602 +linux-uclibc*) ;;
603 linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
604 esac
605
606 @@ -1259,6 +1260,24 @@
607 dynamic_linker='GNU/Linux ld.so'
608 ;;
609
610 +linux-uclibc*)
611 + version_type=linux
612 + need_lib_prefix=no
613 + need_version=no
614 + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
615 + soname_spec='${libname}${release}.so$major'
616 + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
617 + shlibpath_var=LD_LIBRARY_PATH
618 + shlibpath_overrides_runpath=no
619 + # This implies no fast_install, which is unacceptable.
620 + # Some rework will be needed to allow for fast_install
621 + # before this can be enabled.
622 + # Note: copied from linux-gnu, and may not be appropriate.
623 + hardcode_into_libs=yes
624 + # Assume using the uClibc dynamic linker.
625 + dynamic_linker="uClibc ld.so"
626 + ;;
627 +
628 netbsd*)
629 need_lib_prefix=no
630 need_version=no