Initial revision
[openwrt/staging/dedeckeh.git] / openwrt / toolchain / binutils / 2.14.90.0.6 / 100-uclibc-conf.patch
1 diff -urN binutils-2.14.90.0.6/bfd/config.bfd binutils-2.14.90.0.6-uClibc/bfd/config.bfd
2 --- binutils-2.14.90.0.6/bfd/config.bfd 2003-08-21 10:28:47.000000000 -0500
3 +++ binutils-2.14.90.0.6-uClibc/bfd/config.bfd 2004-01-06 23:20:32.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,8 @@
14 alpha*-*-*)
15 targ_defvec=ecoffalpha_little_vec
16 ;;
17 - ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | ia64*-*-elf*)
18 + ia64*-*-freebsd* | ia64*-*-netbsd* | ia64*-*-linux-gnu* | \
19 + ia64*-*-linux-uclibc* | ia64*-*-elf*)
20 targ_defvec=bfd_elf64_ia64_little_vec
21 targ_selvecs="bfd_elf64_ia64_big_vec bfd_efi_app_ia64_vec"
22 ;;
23 @@ -214,7 +215,7 @@
24 targ_defvec=bfd_elf32_littlearm_vec
25 targ_selvecs=bfd_elf32_bigarm_vec
26 ;;
27 - armeb-*-elf | arm*b-*-linux-gnu*)
28 + armeb-*-elf | arm*b-*-linux-gnu* | arm*b-*-linux-uclibc*)
29 targ_defvec=bfd_elf32_bigarm_vec
30 targ_selvecs=bfd_elf32_littlearm_vec
31 ;;
32 @@ -222,7 +223,8 @@
33 targ_defvec=bfd_elf32_littlearm_vec
34 targ_selvecs=bfd_elf32_bigarm_vec
35 ;;
36 - arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-conix* | arm*-*-uclinux*)
37 + arm-*-elf | arm-*-freebsd* | arm*-*-linux-gnu* | arm*-*-linux-uclibc* | \
38 + arm*-*-conix* | arm*-*-uclinux*)
39 targ_defvec=bfd_elf32_littlearm_vec
40 targ_selvecs=bfd_elf32_bigarm_vec
41 ;;
42 @@ -355,7 +357,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 @@ -366,7 +368,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 @@ -488,7 +490,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 @@ -502,7 +504,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 @@ -662,7 +664,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 @@ -929,7 +931,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 @@ -961,8 +964,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 @@ -1110,7 +1113,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 @@ -1157,7 +1160,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.6/bfd/configure binutils-2.14.90.0.6-uClibc/bfd/configure
127 --- binutils-2.14.90.0.6/bfd/configure 2003-08-21 10:28:47.000000000 -0500
128 +++ binutils-2.14.90.0.6-uClibc/bfd/configure 2004-01-06 20:26:51.000000000 -0600
129 @@ -1698,6 +1698,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 @@ -5102,7 +5107,7 @@
142 alpha*-*-freebsd*)
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 @@ -5161,7 +5166,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 @@ -5211,7 +5216,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.6/bfd/configure.in binutils-2.14.90.0.6-uClibc/bfd/configure.in
169 --- binutils-2.14.90.0.6/bfd/configure.in 2003-08-21 10:28:47.000000000 -0500
170 +++ binutils-2.14.90.0.6-uClibc/bfd/configure.in 2004-01-06 20:33:02.000000000 -0600
171 @@ -153,7 +153,7 @@
172 alpha*-*-freebsd*)
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 @@ -233,7 +233,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 @@ -286,7 +286,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.6/config.sub binutils-2.14.90.0.6-uClibc/config.sub
199 --- binutils-2.14.90.0.6/config.sub 2003-08-21 10:28:47.000000000 -0500
200 +++ binutils-2.14.90.0.6-uClibc/config.sub 2004-01-06 22:56:56.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.6/configure binutils-2.14.90.0.6-uClibc/configure
221 --- binutils-2.14.90.0.6/configure 2003-08-21 10:29:32.000000000 -0500
222 +++ binutils-2.14.90.0.6-uClibc/configure 2004-01-07 05:43:40.000000000 -0600
223 @@ -1257,6 +1262,18 @@
224 i[3456789]86-*-freebsd*)
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.6/configure.in binutils-2.14.90.0.6-uClibc/configure.in
243 --- binutils-2.14.90.0.6/configure.in 2003-08-21 10:29:30.000000000 -0500
244 +++ binutils-2.14.90.0.6-uClibc/configure.in 2004-01-07 05:44:02.000000000 -0600
245 @@ -508,6 +513,19 @@
246 i[[3456789]]86-*-freebsd*)
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 + build_modules=
257 + # If we are not using a cross compiler, do configure newlib.
258 + # Note however, that newlib will only be configured in this situation
259 + # if the --with-newlib option has been given, because otherwise
260 + # 'target-newlib' will appear in skipdirs.
261 + ;;
262 i[[3456789]]86-*-linux*)
263 # The GCC port for glibc1 has no MD_FALLBACK_FRAME_STATE_FOR, so let's
264 # not build java stuff by default.
265 diff -urN binutils-2.14.90.0.6/demangler/configure binutils-2.14.90.0.6-uClibc/demangler/configure
266 --- binutils-2.14.90.0.6/demangler/configure 2003-08-21 10:29:31.000000000 -0500
267 +++ binutils-2.14.90.0.6-uClibc/demangler/configure 2004-01-06 21:45:51.000000000 -0600
268 @@ -1363,6 +1363,11 @@
269 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
270 ;;
271
272 +linux-uclibc*)
273 + lt_cv_deplibs_check_method=pass_all
274 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
275 + ;;
276 +
277 netbsd*)
278 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
279 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
280 diff -urN binutils-2.14.90.0.6/gas/configure binutils-2.14.90.0.6-uClibc/gas/configure
281 --- binutils-2.14.90.0.6/gas/configure 2003-07-23 10:08:10.000000000 -0500
282 +++ binutils-2.14.90.0.6-uClibc/gas/configure 2004-01-06 21:57:25.000000000 -0600
283 @@ -1576,6 +1576,11 @@
284 lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
285 ;;
286
287 +linux-uclibc*)
288 + lt_cv_deplibs_check_method=pass_all
289 + lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
290 + ;;
291 +
292 netbsd*)
293 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
294 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
295 @@ -2370,6 +2375,7 @@
296 alpha*-*-osf*) fmt=ecoff ;;
297 alpha*-*-linuxecoff*) fmt=ecoff ;;
298 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
299 + alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
300 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
301 alpha*-*-openbsd*) fmt=elf em=obsd ;;
302
303 @@ -2386,6 +2392,7 @@
304 arm*-*-conix*) fmt=elf ;;
305 arm-*-linux*aout*) fmt=aout em=linux ;;
306 arm*-*-linux-gnu*) fmt=elf em=linux ;;
307 + arm*-*-linux-uclibc*) fmt=elf em=linux ;;
308 arm*-*-uclinux*) fmt=elf em=linux ;;
309 arm-*-netbsdelf*) fmt=elf em=nbsd ;;
310 arm-*-*n*bsd*) fmt=aout em=nbsd ;;
311 @@ -2400,6 +2407,7 @@
312 avr-*-*) fmt=elf ;;
313
314 cris-*-linux-gnu*) fmt=multi bfd_gas=yes em=linux ;;
315 + cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
316 cris-*-*) fmt=multi bfd_gas=yes ;;
317
318 d10v-*-*) fmt=elf ;;
319 @@ -2455,7 +2463,9 @@
320 i386-*-linux*oldld) fmt=aout em=linux ;;
321 i386-*-linux*coff*) fmt=coff em=linux ;;
322 i386-*-linux-gnu*) fmt=elf em=linux ;;
323 + i386-*-linux-uclibc*) fmt=elf em=linux ;;
324 x86_64-*-linux-gnu*) fmt=elf em=linux ;;
325 + x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
326 i386-*-lynxos*) fmt=coff em=lynx ;;
327 i386-*-sysv[45]*) fmt=elf ;;
328 i386-*-solaris*) fmt=elf ;;
329 @@ -2512,6 +2522,7 @@
330 ia64-*-elf*) fmt=elf ;;
331 ia64-*-aix*) fmt=elf em=ia64aix ;;
332 ia64-*-linux-gnu*) fmt=elf em=linux ;;
333 + ia64-*-linux-uclibc*) fmt=elf em=linux ;;
334 ia64-*-hpux*) fmt=elf em=hpux ;;
335 ia64-*-netbsd*) fmt=elf em=nbsd ;;
336
337 @@ -2538,6 +2549,7 @@
338 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
339 m68k-*-linux*aout*) fmt=aout em=linux ;;
340 m68k-*-linux-gnu*) fmt=elf em=linux ;;
341 + m68k-*-linux-uclibc*) fmt=elf em=linux ;;
342 m68k-*-gnu*) fmt=elf ;;
343 m68k-*-lynxos*) fmt=coff em=lynx ;;
344 m68k-*-netbsdelf*) fmt=elf em=nbsd ;;
345 @@ -2592,6 +2604,7 @@
346 ppc-*-beos*) fmt=coff ;;
347 ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
348 ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
349 + ppc-*-linux-uclibc* | \
350 ppc-*-linux-gnu*) fmt=elf
351 case "$endian" in
352 big) ;;
353 @@ -2616,7 +2629,9 @@
354 ppc-*-kaos*) fmt=elf ;;
355
356 s390x-*-linux-gnu*) fmt=elf em=linux ;;
357 + s390x-*-linux-uclibc*) fmt=elf em=linux ;;
358 s390-*-linux-gnu*) fmt=elf em=linux ;;
359 + s390-*-linux-uclibc*) fmt=elf em=linux ;;
360
361 sh*-*-linux*) fmt=elf em=linux
362 case ${cpu} in
363 @@ -2649,6 +2664,7 @@
364 sparc-*-coff) fmt=coff ;;
365 sparc-*-linux*aout*) fmt=aout em=linux ;;
366 sparc-*-linux-gnu*) fmt=elf em=linux ;;
367 + sparc-*-linux-uclibc*) fmt=elf em=linux ;;
368 sparc-*-lynxos*) fmt=coff em=lynx ;;
369 sparc-fujitsu-none) fmt=aout ;;
370 sparc-*-elf) fmt=elf ;;
371 diff -urN binutils-2.14.90.0.6/gas/configure.in binutils-2.14.90.0.6-uClibc/gas/configure.in
372 --- binutils-2.14.90.0.6/gas/configure.in 2003-07-23 10:08:10.000000000 -0500
373 +++ binutils-2.14.90.0.6-uClibc/gas/configure.in 2004-01-06 21:57:26.000000000 -0600
374 @@ -184,6 +184,7 @@
375 alpha*-*-osf*) fmt=ecoff ;;
376 alpha*-*-linuxecoff*) fmt=ecoff ;;
377 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
378 + alpha*-*-linux-uclibc*) fmt=elf em=linux ;;
379 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
380 alpha*-*-openbsd*) fmt=elf em=obsd ;;
381
382 @@ -200,6 +201,7 @@
383 arm*-*-conix*) fmt=elf ;;
384 arm-*-linux*aout*) fmt=aout em=linux ;;
385 arm*-*-linux-gnu*) fmt=elf em=linux ;;
386 + arm*-*-linux-uclibc*) fmt=elf em=linux ;;
387 arm*-*-uclinux*) fmt=elf em=linux ;;
388 arm-*-netbsdelf*) fmt=elf em=nbsd ;;
389 arm-*-*n*bsd*) fmt=aout em=nbsd ;;
390 @@ -214,6 +216,7 @@
391 avr-*-*) fmt=elf ;;
392
393 cris-*-linux-gnu*) fmt=multi bfd_gas=yes em=linux ;;
394 + cris-*-linux-uclibc*) fmt=multi bfd_gas=yes em=linux ;;
395 cris-*-*) fmt=multi bfd_gas=yes ;;
396
397 d10v-*-*) fmt=elf ;;
398 @@ -269,7 +272,9 @@
399 i386-*-linux*oldld) fmt=aout em=linux ;;
400 i386-*-linux*coff*) fmt=coff em=linux ;;
401 i386-*-linux-gnu*) fmt=elf em=linux ;;
402 + i386-*-linux-uclibc*) fmt=elf em=linux ;;
403 x86_64-*-linux-gnu*) fmt=elf em=linux ;;
404 + x86_64-*-linux-uclibc*) fmt=elf em=linux ;;
405 i386-*-lynxos*) fmt=coff em=lynx ;;
406 changequote(,)dnl
407 i386-*-sysv[45]*) fmt=elf ;;
408 @@ -322,6 +327,7 @@
409 ia64-*-elf*) fmt=elf ;;
410 ia64-*-aix*) fmt=elf em=ia64aix ;;
411 ia64-*-linux-gnu*) fmt=elf em=linux ;;
412 + ia64-*-linux-uclibc*) fmt=elf em=linux ;;
413 ia64-*-hpux*) fmt=elf em=hpux ;;
414 ia64-*-netbsd*) fmt=elf em=nbsd ;;
415
416 @@ -348,6 +354,7 @@
417 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
418 m68k-*-linux*aout*) fmt=aout em=linux ;;
419 m68k-*-linux-gnu*) fmt=elf em=linux ;;
420 + m68k-*-linux-uclibc*) fmt=elf em=linux ;;
421 m68k-*-gnu*) fmt=elf ;;
422 m68k-*-lynxos*) fmt=coff em=lynx ;;
423 m68k-*-netbsdelf*) fmt=elf em=nbsd ;;
424 @@ -402,6 +409,7 @@
425 ppc-*-beos*) fmt=coff ;;
426 ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
427 ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
428 + ppc-*-linux-uclibc* | \
429 ppc-*-linux-gnu*) fmt=elf
430 case "$endian" in
431 big) ;;
432 @@ -424,7 +432,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 @@ -457,6 +467,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.6/ld/configure binutils-2.14.90.0.6-uClibc/ld/configure
451 --- binutils-2.14.90.0.6/ld/configure 2003-05-05 16:46:49.000000000 -0500
452 +++ binutils-2.14.90.0.6-uClibc/ld/configure 2004-01-06 21:59:31.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.6/ld/configure.tgt binutils-2.14.90.0.6-uClibc/ld/configure.tgt
466 --- binutils-2.14.90.0.6/ld/configure.tgt 2003-08-21 10:28:48.000000000 -0500
467 +++ binutils-2.14.90.0.6-uClibc/ld/configure.tgt 2004-01-06 22:09:40.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 @@ -124,7 +127,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 @@ -148,14 +151,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 @@ -250,10 +255,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 @@ -354,7 +362,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 @@ -370,9 +379,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 @@ -416,16 +425,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 @@ -447,6 +460,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.6/libtool.m4 binutils-2.14.90.0.6-uClibc/libtool.m4
597 --- binutils-2.14.90.0.6/libtool.m4 2003-05-05 16:46:46.000000000 -0500
598 +++ binutils-2.14.90.0.6-uClibc/libtool.m4 2004-01-06 20:30:39.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.6/ltconfig binutils-2.14.90.0.6-uClibc/ltconfig
612 --- binutils-2.14.90.0.6/ltconfig 2003-07-23 10:08:08.000000000 -0500
613 +++ binutils-2.14.90.0.6-uClibc/ltconfig 2004-01-06 21:05:11.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