let ipkg fail when a package file to be installed is not found
[openwrt/staging/wigyori.git] / openwrt / toolchain / binutils / 2.15.94.0.2 / 100-uclibc-conf.patch
1 diff -ur binutils-2.15.94.0.2.orig/bfd/config.bfd binutils-2.15.94.0.2/bfd/config.bfd
2 --- binutils-2.15.94.0.2.orig/bfd/config.bfd 2004-12-22 15:00:57.219024360 -0500
3 +++ binutils-2.15.94.0.2/bfd/config.bfd 2004-12-22 15:01:18.982715776 -0500
4 @@ -140,7 +140,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 @@ -150,7 +150,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 @@ -227,7 +227,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 @@ -235,8 +235,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 arm*-*-eabi* )
40 targ_defvec=bfd_elf32_littlearm_vec
41 targ_selvecs=bfd_elf32_bigarm_vec
42 @@ -381,7 +381,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 @@ -392,7 +392,7 @@
52 ;;
53 #endif
54
55 - hppa*-*-linux-gnu*)
56 + hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*)
57 targ_defvec=bfd_elf32_hppa_linux_vec
58 targ_selvecs=bfd_elf32_hppa_vec
59 ;;
60 @@ -525,7 +525,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 @@ -539,7 +539,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 @@ -715,7 +715,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 @@ -1001,7 +1001,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 @@ -1038,8 +1039,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 @@ -1209,7 +1210,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 @@ -1256,7 +1257,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 @@ -1325,7 +1326,7 @@
127 targ_underscore=yes
128 ;;
129
130 - vax-*-linux-gnu*)
131 + vax-*-linux-gnu* | vax-*-linux-uclibc*)
132 targ_defvec=bfd_elf32_vax_vec
133 ;;
134
135 diff -ur binutils-2.15.94.0.2.orig/bfd/configure binutils-2.15.94.0.2/bfd/configure
136 --- binutils-2.15.94.0.2.orig/bfd/configure 2004-12-22 15:00:57.221024056 -0500
137 +++ binutils-2.15.94.0.2/bfd/configure 2004-12-22 15:01:18.996713648 -0500
138 @@ -3583,6 +3583,11 @@
139 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
140 ;;
141
142 +linux-uclibc*)
143 + lt_cv_deplibs_check_method=pass_all
144 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
145 + ;;
146 +
147 netbsd* | knetbsd*-gnu)
148 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
149 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
150 @@ -9914,7 +9919,7 @@
151 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
152 COREFILE=''
153 ;;
154 - alpha*-*-linux-gnu*)
155 + alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
156 COREFILE=trad-core.lo
157 TRAD_HEADER='"hosts/alphalinux.h"'
158 ;;
159 @@ -9978,7 +9983,7 @@
160 COREFILE=trad-core.lo
161 TRAD_HEADER='"hosts/i386mach3.h"'
162 ;;
163 - i[3-7]86-*-linux-gnu*)
164 + i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
165 COREFILE=trad-core.lo
166 TRAD_HEADER='"hosts/i386linux.h"'
167 ;;
168 @@ -10016,7 +10021,7 @@
169 COREFILE=trad-core.lo
170 TRAD_HEADER='"hosts/hp300bsd.h"'
171 ;;
172 - m68*-*-linux-gnu*)
173 + m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
174 COREFILE=trad-core.lo
175 TRAD_HEADER='"hosts/m68klinux.h"'
176 ;;
177 @@ -10150,7 +10155,7 @@
178 COREFILE=trad-core.lo
179 TRAD_HEADER='"hosts/vaxult2.h"'
180 ;;
181 - vax-*-linux-gnu*)
182 + vax-*-linux-gnu* | vax-*-linux-uclibc*)
183 COREFILE=trad-core.lo
184 TRAD_HEADER='"hosts/vaxlinux.h"'
185 ;;
186 diff -ur binutils-2.15.94.0.2.orig/bfd/configure.in binutils-2.15.94.0.2/bfd/configure.in
187 --- binutils-2.15.94.0.2.orig/bfd/configure.in 2004-12-22 15:00:57.223023752 -0500
188 +++ binutils-2.15.94.0.2/bfd/configure.in 2004-12-22 15:01:18.998713344 -0500
189 @@ -163,7 +163,7 @@
190 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
191 COREFILE=''
192 ;;
193 - alpha*-*-linux-gnu*)
194 + alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
195 COREFILE=trad-core.lo
196 TRAD_HEADER='"hosts/alphalinux.h"'
197 ;;
198 @@ -248,7 +248,7 @@
199 TRAD_HEADER='"hosts/i386mach3.h"'
200 ;;
201 changequote(,)dnl
202 - i[3-7]86-*-linux-gnu*)
203 + i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
204 changequote([,])dnl
205 COREFILE=trad-core.lo
206 TRAD_HEADER='"hosts/i386linux.h"'
207 @@ -289,7 +289,7 @@
208 COREFILE=trad-core.lo
209 TRAD_HEADER='"hosts/hp300bsd.h"'
210 ;;
211 - m68*-*-linux-gnu*)
212 + m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
213 COREFILE=trad-core.lo
214 TRAD_HEADER='"hosts/m68klinux.h"'
215 ;;
216 @@ -375,7 +375,7 @@
217 COREFILE=trad-core.lo
218 TRAD_HEADER='"hosts/vaxult2.h"'
219 ;;
220 - vax-*-linux-gnu*)
221 + vax-*-linux-gnu* | vax-*-linux-uclibc*)
222 COREFILE=trad-core.lo
223 TRAD_HEADER='"hosts/vaxlinux.h"'
224 ;;
225 diff -ur binutils-2.15.94.0.2.orig/binutils/configure binutils-2.15.94.0.2/binutils/configure
226 --- binutils-2.15.94.0.2.orig/binutils/configure 2004-12-22 15:00:57.351004296 -0500
227 +++ binutils-2.15.94.0.2/binutils/configure 2004-12-22 15:01:19.002712736 -0500
228 @@ -1575,6 +1575,11 @@
229 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
230 ;;
231
232 +linux-uclibc*)
233 + lt_cv_deplibs_check_method=pass_all
234 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
235 + ;;
236 +
237 netbsd* | knetbsd*-gnu)
238 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
239 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
240 diff -ur binutils-2.15.94.0.2.orig/configure binutils-2.15.94.0.2/configure
241 --- binutils-2.15.94.0.2.orig/configure 2004-12-22 15:00:57.321008856 -0500
242 +++ binutils-2.15.94.0.2/configure 2004-12-22 15:01:19.007711976 -0500
243 @@ -1352,6 +1352,18 @@
244 i[3456789]86-*-coff | i[3456789]86-*-elf)
245 noconfigdirs="$noconfigdirs ${libgcj}"
246 ;;
247 + i[3456789]86-*-linux-uclibc*)
248 + # This section makes it possible to build newlib natively on linux.
249 + # If we are using a cross compiler then don't configure newlib.
250 + if test x${is_cross_compiler} != xno ; then
251 + noconfigdirs="$noconfigdirs target-newlib"
252 + fi
253 + noconfigdirs="$noconfigdirs target-libgloss"
254 + # If we are not using a cross compiler, do configure newlib.
255 + # Note however, that newlib will only be configured in this situation
256 + # if the --with-newlib option has been given, because otherwise
257 + # 'target-newlib' will appear in skipdirs.
258 + ;;
259 i[3456789]86-*-linux*)
260 # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
261 # not build java stuff by default.
262 diff -ur binutils-2.15.94.0.2.orig/configure.in binutils-2.15.94.0.2/configure.in
263 --- binutils-2.15.94.0.2.orig/configure.in 2004-12-22 15:00:57.321008856 -0500
264 +++ binutils-2.15.94.0.2/configure.in 2004-12-22 15:01:19.010711520 -0500
265 @@ -561,6 +561,18 @@
266 i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
267 noconfigdirs="$noconfigdirs ${libgcj}"
268 ;;
269 + i[[3456789]]86-*-linux-uclibc*)
270 + # This section makes it possible to build newlib natively on linux.
271 + # If we are using a cross compiler then don't configure newlib.
272 + if test x${is_cross_compiler} != xno ; then
273 + noconfigdirs="$noconfigdirs target-newlib"
274 + fi
275 + noconfigdirs="$noconfigdirs target-libgloss"
276 + # If we are not using a cross compiler, do configure newlib.
277 + # Note however, that newlib will only be configured in this situation
278 + # if the --with-newlib option has been given, because otherwise
279 + # 'target-newlib' will appear in skipdirs.
280 + ;;
281 i[[3456789]]86-*-linux*)
282 # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
283 # not build java stuff by default.
284 diff -ur binutils-2.15.94.0.2.orig/gas/configure binutils-2.15.94.0.2/gas/configure
285 --- binutils-2.15.94.0.2.orig/gas/configure 2004-12-22 15:00:57.461987424 -0500
286 +++ binutils-2.15.94.0.2/gas/configure 2004-12-22 15:01:19.019710152 -0500
287 @@ -3420,6 +3420,11 @@
288 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
289 ;;
290
291 +linux-uclibc*)
292 + lt_cv_deplibs_check_method=pass_all
293 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
294 + ;;
295 +
296 netbsd* | knetbsd*-gnu)
297 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
298 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
299 @@ -4256,6 +4261,7 @@
300 alpha*-*-osf*) fmt=ecoff ;;
301 alpha*-*-linuxecoff*) fmt=ecoff ;;
302 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
303 + alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
304 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
305 alpha*-*-openbsd*) fmt=elf em=obsd ;;
306
307 @@ -4272,6 +4278,7 @@
308 arm-*-linux*aout*) fmt=aout em=linux ;;
309 arm*-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;;
310 arm*-*-linux-gnu*) fmt=elf em=linux ;;
311 + arm*-*-linux-uclibc*) fmt=elf em=linux ;;
312 arm*-*-uclinux*) fmt=elf em=linux ;;
313 arm-*-netbsdelf*) fmt=elf em=nbsd ;;
314 arm-*-*n*bsd*) fmt=aout em=nbsd ;;
315 @@ -4285,6 +4292,7 @@
316
317 cris-*-linux-gnu* | crisv32-*-linux-gnu*)
318 fmt=multi bfd_gas=yes em=linux ;;
319 + cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
320 cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;;
321
322 crx-*-elf*) fmt=elf ;;
323 @@ -4344,7 +4352,9 @@
324 i386-*-linux*oldld) fmt=aout em=linux ;;
325 i386-*-linux*coff*) fmt=coff em=linux ;;
326 i386-*-linux-gnu*) fmt=elf em=linux ;;
327 + i386-*-linux-uclibc*) fmt=elf em=linux ;;
328 x86_64-*-linux-gnu*) fmt=elf em=linux ;;
329 + x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
330 i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
331 i386-*-sysv[45]*) fmt=elf ;;
332 i386-*-solaris*) fmt=elf ;;
333 @@ -4404,6 +4414,7 @@
334 ia64-*-elf*) fmt=elf ;;
335 ia64-*-aix*) fmt=elf em=ia64aix ;;
336 ia64-*-linux-gnu*) fmt=elf em=linux ;;
337 + ia64-*-linux-uclibc*) fmt=elf em=linux ;;
338 ia64-*-hpux*) fmt=elf em=hpux ;;
339 ia64-*-netbsd*) fmt=elf em=nbsd ;;
340
341 @@ -4431,6 +4442,7 @@
342 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
343 m68k-*-linux*aout*) fmt=aout em=linux ;;
344 m68k-*-linux-gnu*) fmt=elf em=linux ;;
345 + m68k-*-linux-uclibc*) fmt=elf em=linux ;;
346 m68k-*-uclinux*) fmt=elf ;;
347 m68k-*-gnu*) fmt=elf ;;
348 m68k-*-lynxos*) fmt=coff em=lynx ;;
349 @@ -4505,6 +4517,7 @@
350 ppc-*-beos*) fmt=coff ;;
351 ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
352 ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
353 + ppc-*-linux-uclibc* | \
354 ppc-*-linux-gnu*) fmt=elf em=linux
355 case "$endian" in
356 big) ;;
357 @@ -4532,7 +4545,9 @@
358 ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
359
360 s390x-*-linux-gnu*) fmt=elf em=linux ;;
361 + s390x-*-linux-uclibc*) fmt=elf em=linux ;;
362 s390-*-linux-gnu*) fmt=elf em=linux ;;
363 + s390-*-linux-uclibc*) fmt=elf em=linux ;;
364 s390-*-tpf*) fmt=elf ;;
365
366 sh*-*-linux*) fmt=elf em=linux
367 @@ -4568,6 +4583,7 @@
368 sparc-*-coff) fmt=coff ;;
369 sparc-*-linux*aout*) fmt=aout em=linux ;;
370 sparc-*-linux-gnu*) fmt=elf em=linux ;;
371 + sparc-*-linux-uclibc*) fmt=elf em=linux ;;
372 sparc-*-lynxos*) fmt=coff em=lynx ;;
373 sparc-fujitsu-none) fmt=aout ;;
374 sparc-*-elf) fmt=elf ;;
375 diff -ur binutils-2.15.94.0.2.orig/gas/configure.in binutils-2.15.94.0.2/gas/configure.in
376 --- binutils-2.15.94.0.2.orig/gas/configure.in 2004-12-22 15:00:57.461987424 -0500
377 +++ binutils-2.15.94.0.2/gas/configure.in 2004-12-22 15:01:19.022709696 -0500
378 @@ -202,6 +202,7 @@
379 alpha*-*-osf*) fmt=ecoff ;;
380 alpha*-*-linuxecoff*) fmt=ecoff ;;
381 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
382 + alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
383 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
384 alpha*-*-openbsd*) fmt=elf em=obsd ;;
385
386 @@ -218,6 +219,7 @@
387 arm-*-linux*aout*) fmt=aout em=linux ;;
388 arm*-*-linux-gnueabi*) fmt=elf em=armlinuxeabi ;;
389 arm*-*-linux-gnu*) fmt=elf em=linux ;;
390 + arm*-*-linux-uclibc*) fmt=elf em=linux ;;
391 arm*-*-uclinux*) fmt=elf em=linux ;;
392 arm-*-netbsdelf*) fmt=elf em=nbsd ;;
393 arm-*-*n*bsd*) fmt=aout em=nbsd ;;
394 @@ -231,6 +233,7 @@
395
396 cris-*-linux-gnu* | crisv32-*-linux-gnu*)
397 fmt=multi bfd_gas=yes em=linux ;;
398 + cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
399 cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;;
400
401 crx-*-elf*) fmt=elf ;;
402 @@ -290,7 +293,9 @@
403 i386-*-linux*oldld) fmt=aout em=linux ;;
404 i386-*-linux*coff*) fmt=coff em=linux ;;
405 i386-*-linux-gnu*) fmt=elf em=linux ;;
406 + i386-*-linux-uclibc*) fmt=elf em=linux ;;
407 x86_64-*-linux-gnu*) fmt=elf em=linux ;;
408 + x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
409 i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
410 changequote(,)dnl
411 i386-*-sysv[45]*) fmt=elf ;;
412 @@ -343,6 +348,7 @@
413 ia64-*-elf*) fmt=elf ;;
414 ia64-*-aix*) fmt=elf em=ia64aix ;;
415 ia64-*-linux-gnu*) fmt=elf em=linux ;;
416 + ia64-*-linux-uclibc*) fmt=elf em=linux ;;
417 ia64-*-hpux*) fmt=elf em=hpux ;;
418 ia64-*-netbsd*) fmt=elf em=nbsd ;;
419
420 @@ -370,6 +376,7 @@
421 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
422 m68k-*-linux*aout*) fmt=aout em=linux ;;
423 m68k-*-linux-gnu*) fmt=elf em=linux ;;
424 + m68k-*-linux-uclibc*) fmt=elf em=linux ;;
425 m68k-*-uclinux*) fmt=elf ;;
426 m68k-*-gnu*) fmt=elf ;;
427 m68k-*-lynxos*) fmt=coff em=lynx ;;
428 @@ -441,6 +448,7 @@
429 ppc-*-beos*) fmt=coff ;;
430 ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
431 ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
432 + ppc-*-linux-uclibc* | \
433 ppc-*-linux-gnu*) fmt=elf em=linux
434 case "$endian" in
435 big) ;;
436 @@ -461,7 +469,9 @@
437 ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
438
439 s390x-*-linux-gnu*) fmt=elf em=linux ;;
440 + s390x-*-linux-uclibc*) fmt=elf em=linux ;;
441 s390-*-linux-gnu*) fmt=elf em=linux ;;
442 + s390-*-linux-uclibc*) fmt=elf em=linux ;;
443 s390-*-tpf*) fmt=elf ;;
444
445 sh*-*-linux*) fmt=elf em=linux
446 @@ -493,6 +503,7 @@
447 sparc-*-coff) fmt=coff ;;
448 sparc-*-linux*aout*) fmt=aout em=linux ;;
449 sparc-*-linux-gnu*) fmt=elf em=linux ;;
450 + sparc-*-linux-uclibc*) fmt=elf em=linux ;;
451 sparc-*-lynxos*) fmt=coff em=lynx ;;
452 sparc-fujitsu-none) fmt=aout ;;
453 sparc-*-elf) fmt=elf ;;
454 diff -ur binutils-2.15.94.0.2.orig/gprof/configure binutils-2.15.94.0.2/gprof/configure
455 --- binutils-2.15.94.0.2.orig/gprof/configure 2004-12-22 15:00:57.949913248 -0500
456 +++ binutils-2.15.94.0.2/gprof/configure 2004-12-22 15:01:19.030708480 -0500
457 @@ -3418,6 +3418,11 @@
458 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
459 ;;
460
461 +linux-uclibc*)
462 + lt_cv_deplibs_check_method=pass_all
463 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
464 + ;;
465 +
466 netbsd* | knetbsd*-gnu)
467 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
468 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
469 diff -ur binutils-2.15.94.0.2.orig/ld/configure binutils-2.15.94.0.2/ld/configure
470 --- binutils-2.15.94.0.2.orig/ld/configure 2004-12-22 15:00:58.032900632 -0500
471 +++ binutils-2.15.94.0.2/ld/configure 2004-12-22 15:01:19.035707720 -0500
472 @@ -1579,6 +1579,11 @@
473 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
474 ;;
475
476 +linux-uclibc*)
477 + lt_cv_deplibs_check_method=pass_all
478 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
479 + ;;
480 +
481 netbsd* | knetbsd*-gnu)
482 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
483 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
484 diff -ur binutils-2.15.94.0.2.orig/ld/configure.tgt binutils-2.15.94.0.2/ld/configure.tgt
485 --- binutils-2.15.94.0.2.orig/ld/configure.tgt 2004-12-22 15:00:58.033900480 -0500
486 +++ binutils-2.15.94.0.2/ld/configure.tgt 2004-12-22 15:01:19.036707568 -0500
487 @@ -32,6 +32,7 @@
488 targ_extra_libpath=$targ_extra_emuls ;;
489 cris-*-linux-gnu* | cris-*-linux-gnu*)
490 targ_emul=crislinux ;;
491 +cris-*-linux-uclibc*) targ_emul=crislinux ;;
492 cris-*-* | crisv32-*-*) targ_emul=criself
493 targ_extra_emuls="crisaout crislinux"
494 targ_extra_libpath=$targ_extra_emuls ;;
495 @@ -62,14 +63,16 @@
496 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
497 tdir_sun4=sparc-sun-sunos4
498 ;;
499 -sparc64-*-linux-gnu*) targ_emul=elf64_sparc
500 +sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) \
501 + targ_emul=elf64_sparc
502 targ_extra_emuls="elf32_sparc sparclinux sun4"
503 targ_extra_libpath=elf32_sparc
504 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
505 tdir_sparclinux=${tdir_elf32_sparc}aout
506 tdir_sun4=sparc-sun-sunos4
507 ;;
508 -sparc*-*-linux-gnu*) targ_emul=elf32_sparc
509 +sparc*-*-linux-gnu* | sparc*-*-linux-uclibc*) \
510 + targ_emul=elf32_sparc
511 targ_extra_emuls="sparclinux elf64_sparc sun4"
512 targ_extra_libpath=elf64_sparc
513 tdir_sparclinux=${targ_alias}aout
514 @@ -121,7 +124,9 @@
515 m32r*le-*-elf*) targ_emul=m32rlelf ;;
516 m32r*-*-elf*) targ_emul=m32relf ;;
517 m32r*le-*-linux-gnu*) targ_emul=m32rlelf_linux ;;
518 +m32r*le-*-linux-uclibc*) targ_emul=m32rlelf_linux ;;
519 m32r*-*-linux-gnu*) targ_emul=m32relf_linux ;;
520 +m32r*-*-linux-uclibc*) targ_emul=m32relf_linux ;;
521 m68hc11-*-*|m6811-*-*) targ_emul=m68hc11elf
522 targ_extra_emuls="m68hc11elfb m68hc12elf m68hc12elfb" ;;
523 m68hc12-*-*|m6812-*-*) targ_emul=m68hc12elf
524 @@ -132,7 +137,7 @@
525 m68*-apple-aux*) targ_emul=m68kaux ;;
526 maxq-*-coff) targ_emul=maxqcoff;;
527 *-tandem-none) targ_emul=st2000 ;;
528 -i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;;
529 +i370-*-elf* | i370-*-linux-gnu* | i370-*-linux-uclibc*) targ_emul=elf32i370 ;;
530 i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;;
531 i[3-7]86-*-vsta) targ_emul=vsta ;;
532 i[3-7]86-go32-rtems*) targ_emul=i386go32 ;;
533 @@ -156,14 +161,16 @@
534 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
535 ;;
536 i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
537 -i[3-7]86-*-linux-gnu*) targ_emul=elf_i386
538 +i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) \
539 + targ_emul=elf_i386
540 targ_extra_emuls=i386linux
541 if test x${want64} = xtrue; then
542 targ_extra_emuls="$targ_extra_emuls elf_x86_64"
543 fi
544 tdir_i386linux=${targ_alias}aout
545 ;;
546 -x86_64-*-linux-gnu*) targ_emul=elf_x86_64
547 +x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) \
548 + targ_emul=elf_x86_64
549 targ_extra_emuls="elf_i386 i386linux"
550 targ_extra_libpath=elf_i386
551 tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
552 @@ -263,11 +270,14 @@
553 arm-*-kaos*) targ_emul=armelf ;;
554 arm9e-*-elf) targ_emul=armelf ;;
555 arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
556 +arm*b-*-linux-uclibc*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
557 arm*-*-linux-gnueabi) targ_emul=armelf_linux_eabi ;;
558 arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
559 +arm*-*-linux-uclibc*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
560 arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
561 arm*-*-conix*) targ_emul=armelf ;;
562 -thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
563 +thumb-*-linux-gnu* | thumb-*-linux-uclibc* | thumb-*-uclinux*) \
564 + targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
565 strongarm-*-coff) targ_emul=armcoff ;;
566 strongarm-*-elf) targ_emul=armelf ;;
567 strongarm-*-kaos*) targ_emul=armelf ;;
568 @@ -371,7 +381,8 @@
569 targ_extra_emuls=m68kelf
570 tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
571 ;;
572 -m68k-*-linux-gnu*) targ_emul=m68kelf
573 +m68k-*-linux-gnu* | m68k-*-linux-uclibc*) \
574 + targ_emul=m68kelf
575 targ_extra_emuls=m68klinux
576 tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
577 ;;
578 @@ -388,9 +399,9 @@
579 m68*-*-psos*) targ_emul=m68kpsos ;;
580 m68*-*-rtemscoff*) targ_emul=m68kcoff ;;
581 m68*-*-rtems*) targ_emul=m68kelf ;;
582 -hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;;
583 +hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) targ_emul=hppa64linux ;;
584 hppa*64*-*) targ_emul=elf64hppa ;;
585 -hppa*-*-linux-gnu*) targ_emul=hppalinux ;;
586 +hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*) targ_emul=hppalinux ;;
587 hppa*-*-*elf*) targ_emul=hppaelf ;;
588 hppa*-*-lites*) targ_emul=hppaelf ;;
589 hppa*-*-netbsd*) targ_emul=hppanbsd ;;
590 @@ -403,6 +414,7 @@
591 targ_emul=vaxnbsd
592 targ_extra_emuls=elf32vax ;;
593 vax-*-linux-gnu*) targ_emul=elf32vax ;;
594 +vax-*-linux-uclibc*) targ_emul=elf32vax ;;
595 mips*-*-pe) targ_emul=mipspe ;
596 targ_extra_ofiles="deffilep.o pe-dll.o" ;;
597 mips*-dec-ultrix*) targ_emul=mipslit ;;
598 @@ -436,16 +448,16 @@
599 mips*-*-vxworks*) targ_emul=elf32ebmip
600 targ_extra_emuls="elf32elmip" ;;
601 mips*-*-windiss) targ_emul=elf32mipswindiss ;;
602 -mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32
603 +mips64*el-*-linux-gnu* | mips64*el-*-linux-uclibc*) targ_emul=elf32ltsmipn32
604 targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
605 ;;
606 -mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32
607 +mips64*-*-linux-gnu* | mips64*-*-linux-uclibc*) targ_emul=elf32btsmipn32
608 targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
609 ;;
610 -mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
611 +mips*el-*-linux-gnu* | mips*el-*-linux-uclibc*) targ_emul=elf32ltsmip
612 targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
613 ;;
614 -mips*-*-linux-gnu*) targ_emul=elf32btsmip
615 +mips*-*-linux-gnu* | mips*-*-linux-uclibc*) targ_emul=elf32btsmip
616 targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
617 ;;
618 mips*-*-lnews*) targ_emul=mipslnews ;;
619 @@ -468,6 +480,10 @@
620 alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha
621 tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
622 ;;
623 +alpha*-*-linux-uclibc*) targ_emul=elf64alpha targ_extra_emuls=alpha
624 + # The following needs to be checked...
625 + tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
626 + ;;
627 alpha*-*-osf*) targ_emul=alpha ;;
628 alpha*-*-gnu*) targ_emul=elf64alpha ;;
629 alpha*-*-netware*) targ_emul=alpha ;;
630 diff -ur binutils-2.15.94.0.2.orig/ld/emultempl/elf32.em binutils-2.15.94.0.2/ld/emultempl/elf32.em
631 --- binutils-2.15.94.0.2.orig/ld/emultempl/elf32.em 2004-12-22 15:00:58.044898808 -0500
632 +++ binutils-2.15.94.0.2/ld/emultempl/elf32.em 2004-12-22 15:01:19.038707264 -0500
633 @@ -65,7 +65,7 @@
634
635 if [ "x${USE_LIBPATH}" = xyes ] ; then
636 case ${target} in
637 - *-*-linux-gnu*)
638 + *-*-linux-gnu* | *-*-linux-uclibc*)
639 cat >>e${EMULATION_NAME}.c <<EOF
640 #include <glob.h>
641 EOF
642 @@ -337,7 +337,7 @@
643
644 EOF
645 case ${target} in
646 - *-*-linux-gnu*)
647 + *-*-linux-gnu* | *-*-linux-uclibc*)
648 cat >>e${EMULATION_NAME}.c <<EOF
649 {
650 struct bfd_link_needed_list *l;
651 @@ -510,7 +510,7 @@
652
653 EOF
654 case ${target} in
655 - *-*-linux-gnu*)
656 + *-*-linux-gnu* | *-*-linux-uclibc*)
657 cat >>e${EMULATION_NAME}.c <<EOF
658 /* For a native linker, check the file /etc/ld.so.conf for directories
659 in which we may find shared libraries. /etc/ld.so.conf is really
660 @@ -894,7 +894,7 @@
661 EOF
662 if [ "x${USE_LIBPATH}" = xyes ] ; then
663 case ${target} in
664 - *-*-linux-gnu*)
665 + *-*-linux-gnu* | *-*-linux-uclibc*)
666 cat >>e${EMULATION_NAME}.c <<EOF
667 if (gld${EMULATION_NAME}_check_ld_so_conf (l->name, force))
668 break;
669 diff -ur binutils-2.15.94.0.2.orig/libiberty/configure binutils-2.15.94.0.2/libiberty/configure
670 --- binutils-2.15.94.0.2.orig/libiberty/configure 2004-12-22 15:00:59.263713520 -0500
671 +++ binutils-2.15.94.0.2/libiberty/configure 2004-12-22 15:03:55.744884304 -0500
672 @@ -3682,6 +3682,11 @@
673 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
674 ;;
675
676 +linux-uclibc*)
677 + lt_cv_deplibs_check_method=pass_all
678 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
679 + ;;
680 +
681 netbsd* | knetbsd*-gnu)
682 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
683 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
684 diff -ur binutils-2.15.94.0.2.orig/libtool.m4 binutils-2.15.94.0.2/libtool.m4
685 --- binutils-2.15.94.0.2.orig/libtool.m4 2004-12-22 15:00:57.329007640 -0500
686 +++ binutils-2.15.94.0.2/libtool.m4 2004-12-22 15:01:19.039707112 -0500
687 @@ -645,6 +645,11 @@
688 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
689 ;;
690
691 +linux-uclibc*)
692 + lt_cv_deplibs_check_method=pass_all
693 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
694 + ;;
695 +
696 netbsd* | knetbsd*-gnu)
697 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
698 [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
699 diff -ur binutils-2.15.94.0.2.orig/ltconfig binutils-2.15.94.0.2/ltconfig
700 --- binutils-2.15.94.0.2.orig/ltconfig 2004-12-22 15:00:57.330007488 -0500
701 +++ binutils-2.15.94.0.2/ltconfig 2004-12-22 15:01:19.041706808 -0500
702 @@ -603,6 +603,7 @@
703 # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
704 case $host_os in
705 linux-gnu*) ;;
706 +linux-uclibc*) ;;
707 linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
708 esac
709
710 @@ -1270,6 +1271,24 @@
711 dynamic_linker='GNU/Linux ld.so'
712 ;;
713
714 +linux-uclibc*)
715 + version_type=linux
716 + need_lib_prefix=no
717 + need_version=no
718 + library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
719 + soname_spec='${libname}${release}.so$major'
720 + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
721 + shlibpath_var=LD_LIBRARY_PATH
722 + shlibpath_overrides_runpath=no
723 + # This implies no fast_install, which is unacceptable.
724 + # Some rework will be needed to allow for fast_install
725 + # before this can be enabled.
726 + # Note: copied from linux-gnu, and may not be appropriate.
727 + hardcode_into_libs=yes
728 + # Assume using the uClibc dynamic linker.
729 + dynamic_linker="uClibc ld.so"
730 + ;;
731 +
732 netbsd*)
733 need_lib_prefix=no
734 need_version=no
735 diff -ur binutils-2.15.94.0.2.orig/opcodes/configure binutils-2.15.94.0.2/opcodes/configure
736 --- binutils-2.15.94.0.2.orig/opcodes/configure 2004-12-22 15:00:59.334702728 -0500
737 +++ binutils-2.15.94.0.2/opcodes/configure 2004-12-22 15:01:19.053704984 -0500
738 @@ -3587,6 +3587,11 @@
739 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
740 ;;
741
742 +linux-uclibc*)
743 + lt_cv_deplibs_check_method=pass_all
744 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
745 + ;;
746 +
747 netbsd* | knetbsd*-gnu)
748 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
749 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'