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