summaryrefslogtreecommitdiffstats
path: root/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.91.0.1-uclibc-100-conf.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.91.0.1-uclibc-100-conf.patch')
-rw-r--r--meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.91.0.1-uclibc-100-conf.patch604
1 files changed, 604 insertions, 0 deletions
diff --git a/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.91.0.1-uclibc-100-conf.patch b/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.91.0.1-uclibc-100-conf.patch
new file mode 100644
index 0000000000..d650cdbc91
--- /dev/null
+++ b/meta/packages/binutils/binutils-2.15.94.0.1/binutils-2.15.91.0.1-uclibc-100-conf.patch
@@ -0,0 +1,604 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- binutils-2.15.94.0.1/bfd/config.bfd~binutils-2.15.91.0.1-uclibc-100-conf
7+++ binutils-2.15.94.0.1/bfd/config.bfd
8@@ -140,7 +140,7 @@
9 targ_defvec=ecoffalpha_little_vec
10 targ_selvecs=bfd_elf64_alpha_vec
11 ;;
12- alpha*-*-linux-gnu* | alpha*-*-elf*)
13+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc* | alpha*-*-elf*)
14 targ_defvec=bfd_elf64_alpha_vec
15 targ_selvecs=ecoffalpha_little_vec
16 ;;
17@@ -150,7 +150,7 @@
18 alpha*-*-*)
19 targ_defvec=ecoffalpha_little_vec
20 ;;
21- ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-kfreebsd*-gnu)
22+ ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf* | ia64*-*-linux-uclibc* | ia64*-*-kfreebsd*-gnu)
23 targ_defvec=bfd_elf64_ia64_little_vec
24 targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
25 ;;
26@@ -227,7 +227,7 @@
27 targ_defvec=bfd_elf32_littlearm_vec
28 targ_selvecs=bfd_elf32_bigarm_vec
29 ;;
30- armeb-*-elf | arm*b-*-linux-gnu*)
31+ armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*)
32 targ_defvec=bfd_elf32_bigarm_vec
33 targ_selvecs=bfd_elf32_littlearm_vec
34 ;;
35@@ -237,7 +237,7 @@
36 ;;
37 arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | \
38 arm*-*-uclinux* | arm-*-kfreebsd*-gnu | arm-*-vxworks | \
39- arm*-*-eabi* )
40+ arm*-*-eabi* | arm*-*-linux-uclibc* )
41 targ_defvec=bfd_elf32_littlearm_vec
42 targ_selvecs=bfd_elf32_bigarm_vec
43 ;;
44@@ -381,7 +381,7 @@
45 ;;
46
47 #ifdef BFD64
48- hppa*64*-*-linux-gnu*)
49+ hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*)
50 targ_defvec=bfd_elf64_hppa_linux_vec
51 targ_selvecs=bfd_elf64_hppa_vec
52 ;;
53@@ -392,7 +392,7 @@
54 ;;
55 #endif
56
57- hppa*-*-linux-gnu*)
58+ hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*)
59 targ_defvec=bfd_elf32_hppa_linux_vec
60 targ_selvecs=bfd_elf32_hppa_vec
61 ;;
62@@ -525,7 +525,7 @@
63 targ_selvecs=bfd_elf32_i386_vec
64 targ_underscore=yes
65 ;;
66- i[3-7]86-*-linux-gnu*)
67+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
68 targ_defvec=bfd_elf32_i386_vec
69 targ_selvecs="i386linux_vec bfd_efi_app_ia32_vec"
70 targ64_selvecs=bfd_elf64_x86_64_vec
71@@ -539,7 +539,7 @@
72 targ_defvec=bfd_elf64_x86_64_vec
73 targ_selvecs="bfd_elf32_i386_vec i386netbsd_vec i386coff_vec bfd_efi_app_ia32_vec"
74 ;;
75- x86_64-*-linux-gnu*)
76+ x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*)
77 targ_defvec=bfd_elf64_x86_64_vec
78 targ_selvecs="bfd_elf32_i386_vec i386linux_vec bfd_efi_app_ia32_vec"
79 ;;
80@@ -715,7 +715,7 @@
81 targ_selvecs=bfd_elf32_m68k_vec
82 targ_underscore=yes
83 ;;
84- m68*-*-linux-gnu*)
85+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
86 targ_defvec=bfd_elf32_m68k_vec
87 targ_selvecs=m68klinux_vec
88 ;;
89@@ -1001,7 +1001,8 @@
90 ;;
91 #endif
92 powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \
93- powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-rtems* | \
94+ powerpc-*-solaris2* | powerpc-*-linux-gnu* | powerpc-*-linux-uclibc* | \
95+ powerpc-*-rtems* | \
96 powerpc-*-chorus* | powerpc-*-vxworks* | powerpc-*-windiss*)
97 targ_defvec=bfd_elf32_powerpc_vec
98 targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec ppcboot_vec"
99@@ -1038,8 +1039,8 @@
100 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
101 ;;
102 powerpcle-*-elf* | powerpcle-*-sysv4* | powerpcle-*-eabi* | \
103- powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-vxworks* |\
104- powerpcle-*-rtems*)
105+ powerpcle-*-solaris2* | powerpcle-*-linux-gnu* | powerpcle-*-linux-uclibc* |\
106+ powerpcle-*-vxworks* | powerpcle-*-rtems*)
107 targ_defvec=bfd_elf32_powerpcle_vec
108 targ_selvecs="rs6000coff_vec bfd_elf32_powerpc_vec ppcboot_vec"
109 targ64_selvecs="bfd_elf64_powerpc_vec bfd_elf64_powerpcle_vec"
110@@ -1206,7 +1207,7 @@
111 targ_selvecs="bfd_elf32_sparc_vec sunos_big_vec"
112 targ_underscore=yes
113 ;;
114- sparc-*-linux-gnu*)
115+ sparc-*-linux-gnu* | sparc-*-linux-uclibc*)
116 targ_defvec=bfd_elf32_sparc_vec
117 targ_selvecs="sparclinux_vec bfd_elf64_sparc_vec sunos_big_vec"
118 ;;
119@@ -1253,7 +1254,7 @@
120 targ_defvec=sunos_big_vec
121 targ_underscore=yes
122 ;;
123- sparc64-*-linux-gnu*)
124+ sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*)
125 targ_defvec=bfd_elf64_sparc_vec
126 targ_selvecs="bfd_elf32_sparc_vec sparclinux_vec sunos_big_vec"
127 ;;
128--- binutils-2.15.94.0.1/bfd/configure~binutils-2.15.91.0.1-uclibc-100-conf
129+++ binutils-2.15.94.0.1/bfd/configure
130@@ -3583,6 +3583,11 @@
131 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
132 ;;
133
134+linux-uclibc*)
135+ lt_cv_deplibs_check_method=pass_all
136+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
137+ ;;
138+
139 netbsd* | knetbsd*-gnu)
140 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
141 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
142@@ -9914,7 +9919,7 @@
143 alpha*-*-freebsd* | alpha*-*-kfreebsd*-gnu)
144 COREFILE=''
145 ;;
146- alpha*-*-linux-gnu*)
147+ alpha*-*-linux-gnu* | alpha*-*-linux-uclibc*)
148 COREFILE=trad-core.lo
149 TRAD_HEADER='"hosts/alphalinux.h"'
150 ;;
151@@ -9978,7 +9983,7 @@
152 COREFILE=trad-core.lo
153 TRAD_HEADER='"hosts/i386mach3.h"'
154 ;;
155- i[3-7]86-*-linux-gnu*)
156+ i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*)
157 COREFILE=trad-core.lo
158 TRAD_HEADER='"hosts/i386linux.h"'
159 ;;
160@@ -10016,7 +10021,7 @@
161 COREFILE=trad-core.lo
162 TRAD_HEADER='"hosts/hp300bsd.h"'
163 ;;
164- m68*-*-linux-gnu*)
165+ m68*-*-linux-gnu* | m68*-*-linux-uclibc*)
166 COREFILE=trad-core.lo
167 TRAD_HEADER='"hosts/m68klinux.h"'
168 ;;
169--- binutils-2.15.94.0.1/bfd/configure.in~binutils-2.15.91.0.1-uclibc-100-conf
170+++ binutils-2.15.94.0.1/bfd/configure.in
171@@ -163,7 +163,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@@ -248,7 +248,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@@ -289,7 +289,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--- binutils-2.15.94.0.1/gas/configure~binutils-2.15.91.0.1-uclibc-100-conf
199+++ binutils-2.15.94.0.1/gas/configure
200@@ -3420,6 +3420,11 @@
201 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
202 ;;
203
204+linux-uclibc*)
205+ lt_cv_deplibs_check_method=pass_all
206+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
207+ ;;
208+
209 netbsd* | knetbsd*-gnu)
210 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
211 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
212@@ -4256,6 +4261,7 @@
213 alpha*-*-osf*) fmt=ecoff ;;
214 alpha*-*-linuxecoff*) fmt=ecoff ;;
215 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
216+ alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
217 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
218 alpha*-*-openbsd*) fmt=elf em=obsd ;;
219
220@@ -4271,6 +4277,7 @@
221 arm*-*-conix*) fmt=elf ;;
222 arm-*-linux*aout*) fmt=aout em=linux ;;
223 arm*-*-linux-gnu*) fmt=elf em=linux ;;
224+ arm*-*-linux-uclibc*) fmt=elf em=linux ;;
225 arm*-*-uclinux*) fmt=elf em=linux ;;
226 arm-*-netbsdelf*) fmt=elf em=nbsd ;;
227 arm-*-*n*bsd*) fmt=aout em=nbsd ;;
228@@ -4284,6 +4291,7 @@
229
230 cris-*-linux-gnu* | crisv32-*-linux-gnu*)
231 fmt=multi bfd_gas=yes em=linux ;;
232+ cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
233 cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;;
234
235 crx-*-elf*) fmt=elf ;;
236@@ -4343,7 +4351,9 @@
237 i386-*-linux*oldld) fmt=aout em=linux ;;
238 i386-*-linux*coff*) fmt=coff em=linux ;;
239 i386-*-linux-gnu*) fmt=elf em=linux ;;
240+ i386-*-linux-uclibc*) fmt=elf em=linux ;;
241 x86_64-*-linux-gnu*) fmt=elf em=linux ;;
242+ x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
243 i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
244 i386-*-sysv[45]*) fmt=elf ;;
245 i386-*-solaris*) fmt=elf ;;
246@@ -4403,6 +4413,7 @@
247 ia64-*-elf*) fmt=elf ;;
248 ia64-*-aix*) fmt=elf em=ia64aix ;;
249 ia64-*-linux-gnu*) fmt=elf em=linux ;;
250+ ia64-*-linux-uclibc*) fmt=elf em=linux ;;
251 ia64-*-hpux*) fmt=elf em=hpux ;;
252 ia64-*-netbsd*) fmt=elf em=nbsd ;;
253
254@@ -4430,6 +4441,7 @@
255 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
256 m68k-*-linux*aout*) fmt=aout em=linux ;;
257 m68k-*-linux-gnu*) fmt=elf em=linux ;;
258+ m68k-*-linux-uclibc*) fmt=elf em=linux ;;
259 m68k-*-uclinux*) fmt=elf ;;
260 m68k-*-gnu*) fmt=elf ;;
261 m68k-*-lynxos*) fmt=coff em=lynx ;;
262@@ -4504,7 +4516,7 @@
263 ppc-*-beos*) fmt=coff ;;
264 ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
265 ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
266- ppc-*-linux-gnu*) fmt=elf em=linux
267+ ppc-*-linux-uclibc* | ppc-*-linux-gnu*) fmt=elf em=linux
268 case "$endian" in
269 big) ;;
270 *) { { echo "$as_me:$LINENO: error: GNU/Linux must be configured big endian" >&5
271@@ -4531,7 +4543,9 @@
272 ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
273
274 s390x-*-linux-gnu*) fmt=elf em=linux ;;
275+ s390x-*-linux-uclibc*) fmt=elf em=linux ;;
276 s390-*-linux-gnu*) fmt=elf em=linux ;;
277+ s390-*-linux-uclibc*) fmt=elf em=linux ;;
278
279 sh*-*-linux*) fmt=elf em=linux
280 case ${cpu} in
281@@ -4566,6 +4580,7 @@
282 sparc-*-coff) fmt=coff ;;
283 sparc-*-linux*aout*) fmt=aout em=linux ;;
284 sparc-*-linux-gnu*) fmt=elf em=linux ;;
285+ sparc-*-linux-uclibc*) fmt=elf em=linux ;;
286 sparc-*-lynxos*) fmt=coff em=lynx ;;
287 sparc-fujitsu-none) fmt=aout ;;
288 sparc-*-elf) fmt=elf ;;
289--- binutils-2.15.94.0.1/gas/configure.in~binutils-2.15.91.0.1-uclibc-100-conf
290+++ binutils-2.15.94.0.1/gas/configure.in
291@@ -202,6 +202,7 @@
292 alpha*-*-osf*) fmt=ecoff ;;
293 alpha*-*-linuxecoff*) fmt=ecoff ;;
294 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
295+ alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
296 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
297 alpha*-*-openbsd*) fmt=elf em=obsd ;;
298
299@@ -217,6 +218,7 @@
300 arm*-*-conix*) fmt=elf ;;
301 arm-*-linux*aout*) fmt=aout em=linux ;;
302 arm*-*-linux-gnu*) fmt=elf em=linux ;;
303+ arm*-*-linux-uclibc*) fmt=elf em=linux ;;
304 arm*-*-uclinux*) fmt=elf em=linux ;;
305 arm-*-netbsdelf*) fmt=elf em=nbsd ;;
306 arm-*-*n*bsd*) fmt=aout em=nbsd ;;
307@@ -230,6 +232,7 @@
308
309 cris-*-linux-gnu* | crisv32-*-linux-gnu*)
310 fmt=multi bfd_gas=yes em=linux ;;
311+ cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
312 cris-*-* | crisv32-*-*) fmt=multi bfd_gas=yes ;;
313
314 crx-*-elf*) fmt=elf ;;
315@@ -289,7 +292,9 @@
316 i386-*-linux*oldld) fmt=aout em=linux ;;
317 i386-*-linux*coff*) fmt=coff em=linux ;;
318 i386-*-linux-gnu*) fmt=elf em=linux ;;
319+ i386-*-linux-uclibc*) fmt=elf em=linux ;;
320 x86_64-*-linux-gnu*) fmt=elf em=linux ;;
321+ x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
322 i386-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
323 changequote(,)dnl
324 i386-*-sysv[45]*) fmt=elf ;;
325@@ -342,6 +347,7 @@
326 ia64-*-elf*) fmt=elf ;;
327 ia64-*-aix*) fmt=elf em=ia64aix ;;
328 ia64-*-linux-gnu*) fmt=elf em=linux ;;
329+ ia64-*-linux-uclibc*) fmt=elf em=linux ;;
330 ia64-*-hpux*) fmt=elf em=hpux ;;
331 ia64-*-netbsd*) fmt=elf em=nbsd ;;
332
333@@ -369,6 +375,7 @@
334 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
335 m68k-*-linux*aout*) fmt=aout em=linux ;;
336 m68k-*-linux-gnu*) fmt=elf em=linux ;;
337+ m68k-*-linux-uclibc*) fmt=elf em=linux ;;
338 m68k-*-uclinux*) fmt=elf ;;
339 m68k-*-gnu*) fmt=elf ;;
340 m68k-*-lynxos*) fmt=coff em=lynx ;;
341@@ -440,7 +447,7 @@
342 ppc-*-beos*) fmt=coff ;;
343 ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
344 ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
345- ppc-*-linux-gnu*) fmt=elf em=linux
346+ ppc-*-linux-uclibc* | ppc-*-linux-gnu*) fmt=elf em=linux
347 case "$endian" in
348 big) ;;
349 *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
350@@ -460,7 +467,9 @@
351 ppc-*-lynxos*) fmt=elf em=lynx bfd_gas=yes ;;
352
353 s390x-*-linux-gnu*) fmt=elf em=linux ;;
354+ s390x-*-linux-uclibc*) fmt=elf em=linux ;;
355 s390-*-linux-gnu*) fmt=elf em=linux ;;
356+ s390-*-linux-uclibc*) fmt=elf em=linux ;;
357
358 sh*-*-linux*) fmt=elf em=linux
359 case ${cpu} in
360@@ -491,6 +500,7 @@
361 sparc-*-coff) fmt=coff ;;
362 sparc-*-linux*aout*) fmt=aout em=linux ;;
363 sparc-*-linux-gnu*) fmt=elf em=linux ;;
364+ sparc-*-linux-uclibc*) fmt=elf em=linux ;;
365 sparc-*-lynxos*) fmt=coff em=lynx ;;
366 sparc-fujitsu-none) fmt=aout ;;
367 sparc-*-elf) fmt=elf ;;
368--- binutils-2.15.94.0.1/ld/configure~binutils-2.15.91.0.1-uclibc-100-conf
369+++ binutils-2.15.94.0.1/ld/configure
370@@ -1579,6 +1579,11 @@
371 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
372 ;;
373
374+linux-uclibc*)
375+ lt_cv_deplibs_check_method=pass_all
376+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
377+ ;;
378+
379 netbsd* | knetbsd*-gnu)
380 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
381 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
382--- binutils-2.15.94.0.1/ld/configure.tgt~binutils-2.15.91.0.1-uclibc-100-conf
383+++ binutils-2.15.94.0.1/ld/configure.tgt
384@@ -32,6 +32,7 @@
385 targ_extra_libpath=$targ_extra_emuls ;;
386 cris-*-linux-gnu* | cris-*-linux-gnu*)
387 targ_emul=crislinux ;;
388+cris-*-linux-uclibc*) targ_emul=crislinux ;;
389 cris-*-* | crisv32-*-*) targ_emul=criself
390 targ_extra_emuls="crisaout crislinux"
391 targ_extra_libpath=$targ_extra_emuls ;;
392@@ -62,14 +63,16 @@
393 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/aout//'`
394 tdir_sun4=sparc-sun-sunos4
395 ;;
396-sparc64-*-linux-gnu*) targ_emul=elf64_sparc
397+sparc64-*-linux-gnu* | sparc64-*-linux-uclibc*) \
398+ targ_emul=elf64_sparc
399 targ_extra_emuls="elf32_sparc sparclinux sun4"
400 targ_extra_libpath=elf32_sparc
401 tdir_elf32_sparc=`echo ${targ_alias} | sed -e 's/64//'`
402 tdir_sparclinux=${tdir_elf32_sparc}aout
403 tdir_sun4=sparc-sun-sunos4
404 ;;
405-sparc*-*-linux-gnu*) targ_emul=elf32_sparc
406+sparc*-*-linux-gnu* | sparc*-*-linux-uclibc*) \
407+ targ_emul=elf32_sparc
408 targ_extra_emuls="sparclinux elf64_sparc sun4"
409 targ_extra_libpath=elf64_sparc
410 tdir_sparclinux=${targ_alias}aout
411@@ -132,7 +135,7 @@
412 m68*-apple-aux*) targ_emul=m68kaux ;;
413 maxq-*-coff) targ_emul=maxqcoff;;
414 *-tandem-none) targ_emul=st2000 ;;
415-i370-*-elf* | i370-*-linux-gnu*) targ_emul=elf32i370 ;;
416+i370-*-elf* | i370-*-linux-gnu* | i370-*-linux-uclibc*) targ_emul=elf32i370 ;;
417 i[3-7]86-*-nto-qnx*) targ_emul=i386nto ;;
418 i[3-7]86-*-vsta) targ_emul=vsta ;;
419 i[3-7]86-go32-rtems*) targ_emul=i386go32 ;;
420@@ -156,14 +159,16 @@
421 tdir_elf_i386=`echo ${targ_alias} | sed -e 's/aout//'`
422 ;;
423 i[3-7]86-*-linux*oldld) targ_emul=i386linux; targ_extra_emuls=elf_i386 ;;
424-i[3-7]86-*-linux-gnu*) targ_emul=elf_i386
425+i[3-7]86-*-linux-gnu* | i[3-7]86-*-linux-uclibc*) \
426+ targ_emul=elf_i386
427 targ_extra_emuls=i386linux
428 if test x${want64} = xtrue; then
429 targ_extra_emuls="$targ_extra_emuls elf_x86_64"
430 fi
431 tdir_i386linux=${targ_alias}aout
432 ;;
433-x86_64-*-linux-gnu*) targ_emul=elf_x86_64
434+x86_64-*-linux-gnu* | x86_64-*-linux-uclibc*) \
435+ targ_emul=elf_x86_64
436 targ_extra_emuls="elf_i386 i386linux"
437 targ_extra_libpath=elf_i386
438 tdir_i386linux=`echo ${targ_alias}aout | sed -e 's/x86_64/i386/'`
439@@ -263,11 +268,14 @@
440 arm-*-kaos*) targ_emul=armelf ;;
441 arm9e-*-elf) targ_emul=armelf ;;
442 arm*b-*-linux-gnu*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
443+arm*b-*-linux-uclibc*) targ_emul=armelfb_linux; targ_extra_emuls=armelfb ;;
444 arm*-*-linux-gnueabi) targ_emul=armelf_linux_eabi ;;
445 arm*-*-linux-gnu*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
446+arm*-*-linux-uclibc*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
447 arm*-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
448 arm*-*-conix*) targ_emul=armelf ;;
449-thumb-*-linux-gnu* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
450+thumb-*-linux-gnu* | thumb-*-linux-uclibc* | thumb-*-uclinux*)
451+ targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
452 strongarm-*-coff) targ_emul=armcoff ;;
453 strongarm-*-elf) targ_emul=armelf ;;
454 strongarm-*-kaos*) targ_emul=armelf ;;
455@@ -371,7 +379,8 @@
456 targ_extra_emuls=m68kelf
457 tdir_m68kelf=`echo ${targ_alias} | sed -e 's/aout//'`
458 ;;
459-m68k-*-linux-gnu*) targ_emul=m68kelf
460+m68k-*-linux-gnu* | m68k-*-linux-uclibc*) \
461+ targ_emul=m68kelf
462 targ_extra_emuls=m68klinux
463 tdir_m68klinux=`echo ${targ_alias} | sed -e 's/linux/linuxaout/'`
464 ;;
465@@ -388,9 +397,9 @@
466 m68*-*-psos*) targ_emul=m68kpsos ;;
467 m68*-*-rtemscoff*) targ_emul=m68kcoff ;;
468 m68*-*-rtems*) targ_emul=m68kelf ;;
469-hppa*64*-*-linux-gnu*) targ_emul=hppa64linux ;;
470+hppa*64*-*-linux-gnu* | hppa*64*-*-linux-uclibc*) targ_emul=hppa64linux ;;
471 hppa*64*-*) targ_emul=elf64hppa ;;
472-hppa*-*-linux-gnu*) targ_emul=hppalinux ;;
473+hppa*-*-linux-gnu* | hppa*-*-linux-uclibc*) targ_emul=hppalinux ;;
474 hppa*-*-*elf*) targ_emul=hppaelf ;;
475 hppa*-*-lites*) targ_emul=hppaelf ;;
476 hppa*-*-netbsd*) targ_emul=hppanbsd ;;
477@@ -436,16 +445,20 @@
478 mips*-*-vxworks*) targ_emul=elf32ebmip
479 targ_extra_emuls="elf32elmip" ;;
480 mips*-*-windiss) targ_emul=elf32mipswindiss ;;
481-mips64*el-*-linux-gnu*) targ_emul=elf32ltsmipn32
482+mips64*el-*-linux-gnu* | mips64*el-*-linux-uclibc*)
483+ targ_emul=elf32ltsmipn32
484 targ_extra_emuls="elf32btsmipn32 elf32ltsmip elf32btsmip elf64ltsmip elf64btsmip"
485 ;;
486-mips64*-*-linux-gnu*) targ_emul=elf32btsmipn32
487+mips64*-*-linux-gnu* | mips64*-*-linux-uclibc*)
488+ targ_emul=elf32btsmipn32
489 targ_extra_emuls="elf32ltsmipn32 elf32btsmip elf32ltsmip elf64btsmip elf64ltsmip"
490 ;;
491-mips*el-*-linux-gnu*) targ_emul=elf32ltsmip
492+mips*el-*-linux-gnu* | mips*el-*-linux-uclibc*)
493+ targ_emul=elf32ltsmip
494 targ_extra_emuls="elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
495 ;;
496-mips*-*-linux-gnu*) targ_emul=elf32btsmip
497+mips*-*-linux-gnu* | mips*-*-linux-uclibc*)
498+ targ_emul=elf32btsmip
499 targ_extra_emuls="elf32ltsmip elf32btsmipn32 elf64btsmip elf32ltsmipn32 elf64ltsmip"
500 ;;
501 mips*-*-lnews*) targ_emul=mipslnews ;;
502@@ -468,6 +481,10 @@
503 alpha*-*-linux-gnu*) targ_emul=elf64alpha targ_extra_emuls=alpha
504 tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
505 ;;
506+alpha*-*-linux-uclibc*) targ_emul=elf64alpha targ_extra_emuls=alpha
507+ # The following needs to be checked...
508+ tdir_alpha=`echo ${targ_alias} | sed -e 's/linux/linuxecoff/'`
509+ ;;
510 alpha*-*-osf*) targ_emul=alpha ;;
511 alpha*-*-gnu*) targ_emul=elf64alpha ;;
512 alpha*-*-netware*) targ_emul=alpha ;;
513--- binutils-2.15.94.0.1/configure~binutils-2.15.91.0.1-uclibc-100-conf
514+++ binutils-2.15.94.0.1/configure
515@@ -1341,6 +1341,18 @@
516 i[3456789]86-*-coff | i[3456789]86-*-elf)
517 noconfigdirs="$noconfigdirs ${libgcj}"
518 ;;
519+ i[3456789]86-*-linux-uclibc)
520+ # This section makes it possible to build newlib natively on linux.
521+ # If we are using a cross compiler then don't configure newlib.
522+ if test x${is_cross_compiler} != xno ; then
523+ noconfigdirs="$noconfigdirs target-newlib"
524+ fi
525+ noconfigdirs="$noconfigdirs target-libgloss"
526+ # If we are not using a cross compiler, do configure newlib.
527+ # Note however, that newlib will only be configured in this situation
528+ # if the --with-newlib option has been given, because otherwise
529+ # 'target-newlib' will appear in skipdirs.
530+ ;;
531 i[3456789]86-*-linux*)
532 # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
533 # not build java stuff by default.
534--- binutils-2.15.94.0.1/configure.in~binutils-2.15.91.0.1-uclibc-100-conf
535+++ binutils-2.15.94.0.1/configure.in
536@@ -563,6 +563,19 @@
537 i[[3456789]]86-*-coff | i[[3456789]]86-*-elf)
538 noconfigdirs="$noconfigdirs ${libgcj}"
539 ;;
540+ i[3456789]86-*-linux-uclibc)
541+ # This section makes it possible to build newlib natively on linux.
542+ # If we are using a cross compiler then don't configure newlib.
543+ if test x${is_cross_compiler} != xno ; then
544+ noconfigdirs="$noconfigdirs target-newlib"
545+ fi
546+ noconfigdirs="$noconfigdirs target-libgloss"
547+ build_modules=
548+ # If we are not using a cross compiler, do configure newlib.
549+ # Note however, that newlib will only be configured in this situation
550+ # if the --with-newlib option has been given, because otherwise
551+ # 'target-newlib' will appear in skipdirs.
552+ ;;
553 i[[3456789]]86-*-linux*)
554 # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
555 # not build java stuff by default.
556--- binutils-2.15.94.0.1/libtool.m4~binutils-2.15.91.0.1-uclibc-100-conf
557+++ binutils-2.15.94.0.1/libtool.m4
558@@ -645,6 +645,11 @@
559 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
560 ;;
561
562+linux-uclibc*)
563+ lt_cv_deplibs_check_method=pass_all
564+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
565+ ;;
566+
567 netbsd* | knetbsd*-gnu)
568 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
569 [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
570--- binutils-2.15.94.0.1/ltconfig~binutils-2.15.91.0.1-uclibc-100-conf
571+++ binutils-2.15.94.0.1/ltconfig
572@@ -603,6 +603,7 @@
573 # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
574 case $host_os in
575 linux-gnu*) ;;
576+linux-uclibc*) ;;
577 linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
578 esac
579
580@@ -1270,6 +1271,24 @@
581 dynamic_linker='GNU/Linux ld.so'
582 ;;
583
584+linux-uclibc*)
585+ version_type=linux
586+ need_lib_prefix=no
587+ need_version=no
588+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
589+ soname_spec='${libname}${release}.so$major'
590+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
591+ shlibpath_var=LD_LIBRARY_PATH
592+ shlibpath_overrides_runpath=no
593+ # This implies no fast_install, which is unacceptable.
594+ # Some rework will be needed to allow for fast_install
595+ # before this can be enabled.
596+ # Note: copied from linux-gnu, and may not be appropriate.
597+ hardcode_into_libs=yes
598+ # Assume using the uClibc dynamic linker.
599+ dynamic_linker="uClibc ld.so"
600+ ;;
601+
602 netbsd*)
603 need_lib_prefix=no
604 need_version=no