finally move buildroot-ng to trunk
[openwrt.git] / toolchain / gcc / patches / 3.4.6-nonmips / 100-uclibc-conf.patch
1 diff -urN gcc-3.4.1-dist/boehm-gc/configure gcc-3.4.1/boehm-gc/configure
2 --- gcc-3.4.1-dist/boehm-gc/configure   2004-07-01 14:14:03.000000000 -0500
3 +++ gcc-3.4.1/boehm-gc/configure        2004-08-12 16:22:57.000000000 -0500
4 @@ -1947,6 +1947,11 @@
5    lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
6    ;;
7  
8 +linux-uclibc*)
9 +  lt_cv_deplibs_check_method=pass_all
10 +  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
11 +  ;;
12 +
13  netbsd*)
14    if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
15      lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
16 diff -urN gcc-3.4.1-dist/boehm-gc/ltconfig gcc-3.4.1/boehm-gc/ltconfig
17 --- gcc-3.4.1-dist/boehm-gc/ltconfig    2002-11-20 09:59:06.000000000 -0600
18 +++ gcc-3.4.1/boehm-gc/ltconfig 2004-08-12 15:54:42.000000000 -0500
19 @@ -1981,6 +1981,23 @@
20    fi
21    ;;
22  
23 +linux-uclibc*)
24 +  version_type=linux
25 +  need_lib_prefix=no
26 +  need_version=no
27 +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
28 +  soname_spec='${libname}${release}.so$major'
29 +  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
30 +  shlibpath_var=LD_LIBRARY_PATH
31 +  shlibpath_overrides_runpath=no
32 +  deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
33 +  file_magic_cmd=/usr/bin/file
34 +  file_magic_test_file=`echo /lib/libuClibc-*.so`
35 +
36 +  # Assume using the uClibc dynamic linker.
37 +  dynamic_linker="uClibc ld.so"
38 +  ;;
39 +
40  netbsd*)
41    version_type=sunos
42    if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
43 diff -urN gcc-3.4.1-dist/gcc/config/arm/linux-elf.h gcc-3.4.1/gcc/config/arm/linux-elf.h
44 --- gcc-3.4.1-dist/gcc/config/arm/linux-elf.h   2004-01-31 00:18:11.000000000 -0600
45 +++ gcc-3.4.1/gcc/config/arm/linux-elf.h        2004-08-12 15:54:42.000000000 -0500
46 @@ -81,6 +81,18 @@
47    "%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s"
48  
49  #undef  LINK_SPEC
50 +#ifdef USE_UCLIBC
51 +#define LINK_SPEC "%{h*} %{version:-v} \
52 +   %{b} %{Wl,*:%*} \
53 +   %{static:-Bstatic} \
54 +   %{shared:-shared} \
55 +   %{symbolic:-Bsymbolic} \
56 +   %{rdynamic:-export-dynamic} \
57 +   %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0} \
58 +   -X \
59 +   %{mbig-endian:-EB}" \
60 +   SUBTARGET_EXTRA_LINK_SPEC
61 +#else
62  #define LINK_SPEC "%{h*} %{version:-v} \
63     %{b} %{Wl,*:%*} \
64     %{static:-Bstatic} \
65 @@ -91,6 +103,7 @@
66     -X \
67     %{mbig-endian:-EB}" \
68     SUBTARGET_EXTRA_LINK_SPEC
69 +#endif
70  
71  #define TARGET_OS_CPP_BUILTINS() LINUX_TARGET_OS_CPP_BUILTINS()
72  
73 diff -urN gcc-3.4.1-dist/gcc/config/cris/linux.h gcc-3.4.1/gcc/config/cris/linux.h
74 --- gcc-3.4.1-dist/gcc/config/cris/linux.h      2003-11-28 21:08:09.000000000 -0600
75 +++ gcc-3.4.1/gcc/config/cris/linux.h   2004-08-12 15:54:43.000000000 -0500
76 @@ -79,6 +79,25 @@
77  #undef CRIS_DEFAULT_CPU_VERSION
78  #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
79  
80 +#ifdef USE_UCLIBC
81 +
82 +#undef CRIS_SUBTARGET_VERSION
83 +#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
84 +
85 +#undef CRIS_LINK_SUBTARGET_SPEC
86 +#define CRIS_LINK_SUBTARGET_SPEC \
87 + "-mcrislinux\
88 +  -rpath-link include/asm/../..%s\
89 +  %{shared} %{static}\
90 +  %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
91 +  %{!shared: \
92 +    %{!static: \
93 +      %{rdynamic:-export-dynamic} \
94 +      %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
95 +  %{!r:%{O2|O3: --gc-sections}}"
96 +
97 +#else  /* USE_UCLIBC */
98 +
99  #undef CRIS_SUBTARGET_VERSION
100  #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
101  
102 @@ -93,6 +112,8 @@
103    %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
104    %{!r:%{O2|O3: --gc-sections}}"
105  
106 +#endif  /* USE_UCLIBC */
107 +
108  
109  /* Node: Run-time Target */
110  
111 diff -urN gcc-3.4.1-dist/gcc/config/cris/t-linux-uclibc gcc-3.4.1/gcc/config/cris/t-linux-uclibc
112 --- gcc-3.4.1-dist/gcc/config/cris/t-linux-uclibc       1969-12-31 18:00:00.000000000 -0600
113 +++ gcc-3.4.1/gcc/config/cris/t-linux-uclibc    2004-08-12 15:54:43.000000000 -0500
114 @@ -0,0 +1,3 @@
115 +T_CFLAGS = -DUSE_UCLIBC
116 +TARGET_LIBGCC2_CFLAGS += -fPIC
117 +CRTSTUFF_T_CFLAGS_S = $(TARGET_LIBGCC2_CFLAGS)
118 diff -urN gcc-3.4.1-dist/gcc/config/i386/linux.h gcc-3.4.1/gcc/config/i386/linux.h
119 --- gcc-3.4.1-dist/gcc/config/i386/linux.h      2003-11-28 21:08:10.000000000 -0600
120 +++ gcc-3.4.1/gcc/config/i386/linux.h   2004-08-12 15:54:43.000000000 -0500
121 @@ -118,6 +118,15 @@
122         %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.1}} \
123         %{static:-static}}}"
124  #else
125 +#if defined USE_UCLIBC
126 +#define LINK_SPEC "-m elf_i386 %{shared:-shared} \
127 +  %{!shared: \
128 +    %{!ibcs: \
129 +      %{!static: \
130 +       %{rdynamic:-export-dynamic} \
131 +       %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
132 +       %{static:-static}}}"
133 +#else
134  #define LINK_SPEC "-m elf_i386 %{shared:-shared} \
135    %{!shared: \
136      %{!ibcs: \
137 @@ -126,6 +135,7 @@
138         %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
139         %{static:-static}}}"
140  #endif
141 +#endif
142  
143  /* A C statement (sans semicolon) to output to the stdio stream
144     FILE the assembler definition of uninitialized global DECL named
145 diff -urN gcc-3.4.1-dist/gcc/config/mips/linux.h gcc-3.4.1/gcc/config/mips/linux.h
146 --- gcc-3.4.1-dist/gcc/config/mips/linux.h      2004-06-15 20:42:24.000000000 -0500
147 +++ gcc-3.4.1/gcc/config/mips/linux.h   2004-08-12 15:54:43.000000000 -0500
148 @@ -109,6 +109,17 @@
149  
150  /* Borrowed from sparc/linux.h */
151  #undef LINK_SPEC
152 +#ifdef USE_UCLIBC
153 +#define LINK_SPEC \
154 + "%(endian_spec) \
155 +  %{shared:-shared} \
156 +  %{!shared: \
157 +    %{!ibcs: \
158 +      %{!static: \
159 +        %{rdynamic:-export-dynamic} \
160 +        %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
161 +        %{static:-static}}}"
162 +#else
163  #define LINK_SPEC \
164   "%(endian_spec) \
165    %{shared:-shared} \
166 @@ -118,6 +129,7 @@
167          %{rdynamic:-export-dynamic} \
168          %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
169          %{static:-static}}}"
170 +#endif
171  
172  #undef SUBTARGET_ASM_SPEC
173  #define SUBTARGET_ASM_SPEC "\
174 diff -urN gcc-3.4.1-dist/gcc/config/rs6000/linux.h gcc-3.4.1/gcc/config/rs6000/linux.h
175 --- gcc-3.4.1-dist/gcc/config/rs6000/linux.h    2004-02-25 09:11:19.000000000 -0600
176 +++ gcc-3.4.1/gcc/config/rs6000/linux.h 2004-08-12 15:54:43.000000000 -0500
177 @@ -61,7 +61,11 @@
178  #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
179  
180  #undef LINK_OS_DEFAULT_SPEC
181 +#ifdef USE_UCLIBC
182 +#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
183 +#else
184  #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
185 +#endif
186  
187  #define LINK_GCC_C_SEQUENCE_SPEC \
188    "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
189 diff -urN gcc-3.4.1-dist/gcc/config/rs6000/sysv4.h gcc-3.4.1/gcc/config/rs6000/sysv4.h
190 --- gcc-3.4.1-dist/gcc/config/rs6000/sysv4.h    2004-06-10 01:39:50.000000000 -0500
191 +++ gcc-3.4.1/gcc/config/rs6000/sysv4.h 2004-08-12 15:54:43.000000000 -0500
192 @@ -947,6 +947,7 @@
193    mcall-linux  : %(link_os_linux)       ; \
194    mcall-gnu    : %(link_os_gnu)         ; \
195    mcall-netbsd : %(link_os_netbsd)      ; \
196 +  mcall-linux-uclibc : %(link_os_linux_uclibc); \
197    mcall-openbsd: %(link_os_openbsd)     ; \
198                 : %(link_os_default)     }"
199  
200 @@ -1124,6 +1125,10 @@
201    %{rdynamic:-export-dynamic} \
202    %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
203  
204 +#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
205 +  %{rdynamic:-export-dynamic} \
206 +  %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
207 +
208  #if defined(HAVE_LD_EH_FRAME_HDR)
209  # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
210  #endif
211 @@ -1290,6 +1295,7 @@
212    { "link_os_sim",             LINK_OS_SIM_SPEC },                     \
213    { "link_os_freebsd",         LINK_OS_FREEBSD_SPEC },                 \
214    { "link_os_linux",           LINK_OS_LINUX_SPEC },                   \
215 +  { "link_os_linux_uclibc",    LINK_OS_LINUX_UCLIBC_SPEC },            \
216    { "link_os_gnu",             LINK_OS_GNU_SPEC },                     \
217    { "link_os_netbsd",          LINK_OS_NETBSD_SPEC },                  \
218    { "link_os_openbsd",         LINK_OS_OPENBSD_SPEC },                 \
219 diff -urN gcc-3.4.1-dist/gcc/config/sh/linux.h gcc-3.4.1/gcc/config/sh/linux.h
220 --- gcc-3.4.1-dist/gcc/config/sh/linux.h        2004-01-11 20:29:13.000000000 -0600
221 +++ gcc-3.4.1/gcc/config/sh/linux.h     2004-08-12 15:54:43.000000000 -0500
222 @@ -73,12 +73,21 @@
223  #undef SUBTARGET_LINK_EMUL_SUFFIX
224  #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
225  #undef SUBTARGET_LINK_SPEC
226 +#ifdef USE_UCLIBC
227 +#define SUBTARGET_LINK_SPEC \
228 +  "%{shared:-shared} \
229 +   %{!static: \
230 +     %{rdynamic:-export-dynamic} \
231 +     %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
232 +   %{static:-static}"
233 +#else
234  #define SUBTARGET_LINK_SPEC \
235    "%{shared:-shared} \
236     %{!static: \
237       %{rdynamic:-export-dynamic} \
238       %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
239     %{static:-static}"
240 +#endif
241  
242  #undef LIB_SPEC
243  #define LIB_SPEC \
244 diff -urN gcc-3.4.1-dist/gcc/config/sh/t-linux-uclibc gcc-3.4.1/gcc/config/sh/t-linux-uclibc
245 --- gcc-3.4.1-dist/gcc/config/sh/t-linux-uclibc 1969-12-31 18:00:00.000000000 -0600
246 +++ gcc-3.4.1/gcc/config/sh/t-linux-uclibc      2004-08-12 15:54:43.000000000 -0500
247 @@ -0,0 +1,13 @@
248 +T_CFLAGS = -DUSE_UCLIBC
249 +
250 +TARGET_LIBGCC2_CFLAGS = -fpic -DNO_FPSCR_VALUES
251 +LIB1ASMFUNCS_CACHE = _ic_invalidate
252 +
253 +LIB2FUNCS_EXTRA=
254 +
255 +MULTILIB_OPTIONS= $(MULTILIB_ENDIAN) m3e/m4
256 +MULTILIB_DIRNAMES= 
257 +MULTILIB_MATCHES = 
258 +MULTILIB_EXCEPTIONS=
259 +
260 +EXTRA_MULTILIB_PARTS= crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
261 diff -urN gcc-3.4.1-dist/gcc/config/sh/t-sh64-uclibc gcc-3.4.1/gcc/config/sh/t-sh64-uclibc
262 --- gcc-3.4.1-dist/gcc/config/sh/t-sh64-uclibc  1969-12-31 18:00:00.000000000 -0600
263 +++ gcc-3.4.1/gcc/config/sh/t-sh64-uclibc       2004-08-12 15:54:43.000000000 -0500
264 @@ -0,0 +1,13 @@
265 +EXTRA_MULTILIB_PARTS= crt1.o crti.o crtn.o crtbegin.o crtend.o
266 +
267 +LIB1ASMFUNCS = \
268 +  _sdivsi3 _sdivsi3_i4 _udivsi3 _udivsi3_i4 _set_fpscr \
269 +  _shcompact_call_trampoline _shcompact_return_trampoline \
270 +  _shcompact_incoming_args _ic_invalidate _nested_trampoline \
271 +  _push_pop_shmedia_regs \
272 +  _udivdi3 _divdi3 _umoddi3 _moddi3
273 +
274 +MULTILIB_OPTIONS = $(MULTILIB_ENDIAN) m5-32media-nofpu/m5-compact/m5-compact-nofpu/m5-64media/m5-64media-nofpu
275 +MULTILIB_DIRNAMES= $(MULTILIB_ENDIAN) nofpu compact nofpu/compact media64 nofpu/media64
276 +MULTILIB_MATCHES=
277 +MULTILIB_EXCEPTIONS=
278 diff -urN gcc-3.4.1-dist/gcc/config/t-linux-uclibc gcc-3.4.1/gcc/config/t-linux-uclibc
279 --- gcc-3.4.1-dist/gcc/config/t-linux-uclibc    1969-12-31 18:00:00.000000000 -0600
280 +++ gcc-3.4.1/gcc/config/t-linux-uclibc 2004-08-12 15:54:43.000000000 -0500
281 @@ -0,0 +1,15 @@
282 +T_CFLAGS = -DUSE_UCLIBC
283 +
284 +# Compile crtbeginS.o and crtendS.o with pic.
285 +CRTSTUFF_T_CFLAGS_S = $(CRTSTUFF_T_CFLAGS) -fPIC
286 +# Compile libgcc2.a with pic.
287 +TARGET_LIBGCC2_CFLAGS = -fPIC
288 +
289 +# Override t-slibgcc-elf-ver to export some libgcc symbols with
290 +# the symbol versions that glibc used.
291 +#SHLIB_MAPFILES += $(srcdir)/config/libgcc-glibc.ver
292 +
293 +# Use unwind-dw2-fde
294 +LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
295 +  $(srcdir)/unwind-sjlj.c $(srcdir)/gthr-gnat.c $(srcdir)/unwind-c.c
296 +LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h
297 diff -urN gcc-3.4.1-dist/gcc/config.gcc gcc-3.4.1/gcc/config.gcc
298 --- gcc-3.4.1-dist/gcc/config.gcc       2004-04-21 10:12:35.000000000 -0500
299 +++ gcc-3.4.1/gcc/config.gcc    2004-08-12 15:59:46.000000000 -0500
300 @@ -664,6 +664,12 @@
301         extra_parts=""
302         use_collect2=yes
303         ;;
304 +arm*-*-linux-uclibc*)          # ARM GNU/Linux with ELF - uClibc
305 +       tm_file="dbxelf.h elfos.h linux.h arm/elf.h  arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
306 +       tmake_file="t-slibgcc-elf-ver t-linux-uclibc arm/t-linux"
307 +       extra_parts="crtbegin.o crtbeginS.o crtend.o crtendS.o"
308 +       gnu_ld=yes
309 +       ;;
310  arm*-*-linux*)                 # ARM GNU/Linux with ELF
311         tm_file="dbxelf.h elfos.h linux.h arm/elf.h  arm/linux-gas.h arm/linux-elf.h arm/aout.h arm/arm.h"
312         tmake_file="t-slibgcc-elf-ver t-linux arm/t-linux"
313 @@ -725,6 +731,10 @@
314         tmake_file="cris/t-cris cris/t-elfmulti"
315         gas=yes
316         ;;
317 +cris-*-linux-uclibc*)
318 +       tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
319 +       tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux-uclibc"
320 +       ;;
321  cris-*-linux*)
322         tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
323         tmake_file="cris/t-cris t-slibgcc-elf-ver cris/t-linux"
324 @@ -988,6 +998,11 @@
325                 thread_file='single'
326         fi
327         ;;
328 +i[34567]86-*-linux*uclibc*)    # Intel 80386's running GNU/Linux
329 +                               # with ELF format using uClibc
330 +       tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h svr4.h linux.h i386/linux.h"
331 +       tmake_file="t-slibgcc-elf-ver t-linux-uclibc i386/t-crtstuff"
332 +       ;;
333  i[34567]86-*-linux*)   # Intel 80386's running GNU/Linux
334                         # with ELF format using glibc 2
335                         # aka GNU/Linux C library 6
336 @@ -1547,6 +1562,16 @@
337         gnu_ld=yes
338         gas=yes
339         ;;
340 +mips*-*-linux-uclibc*)                 # Linux MIPS, either endian. uClibc
341 +        tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
342 +       case ${target} in
343 +        mipsisa32*-*)
344 +                target_cpu_default="MASK_SOFT_FLOAT"
345 +               tm_defines="MIPS_ISA_DEFAULT=32"
346 +                ;;
347 +        esac
348 +       tmake_file="t-slibgcc-elf-ver t-linux-uclibc"
349 +       ;;
350  mips*-*-linux*)                                # Linux MIPS, either endian.
351          tm_file="dbxelf.h elfos.h svr4.h linux.h ${tm_file} mips/linux.h"
352         case ${target} in
353 @@ -1764,6 +1789,10 @@
354         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h rs6000/linuxspe.h"
355         tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
356         ;;
357 +powerpc-*-linux-uclibc*)
358 +       tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
359 +       tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux-uclibc rs6000/t-ppccomm"
360 +       ;;
361  powerpc-*-linux*)
362         tm_file="${tm_file} dbxelf.h elfos.h svr4.h freebsd-spec.h rs6000/sysv4.h rs6000/linux.h"
363         tmake_file="rs6000/t-fprules rs6000/t-ppcos t-slibgcc-elf-ver t-linux rs6000/t-ppccomm"
364 @@ -1916,7 +1945,7 @@
365         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/embed-elf.h sh/rtemself.h rtems.h"
366         ;;
367  sh-*-linux* | sh[2346lbe]*-*-linux*)
368 -       tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver t-linux"
369 +       tmake_file="sh/t-sh sh/t-elf t-slibgcc-elf-ver"
370         case ${target} in
371         sh*be-*-* | sh*eb-*-*) ;;
372         *)
373 @@ -1924,9 +1953,17 @@
374                 tmake_file="${tmake_file} sh/t-le"
375                 ;;
376         esac
377 -       tmake_file="${tmake_file} sh/t-linux"
378 +       case ${target} in
379 +       *-*-linux-uclibc*) tmake_file="${tmake_file} t-linux-uclibc sh/t-linux-uclibc" ;;
380 +       *) tmake_file="${tmake_file} t-linux sh/t-linux" ;;
381 +       esac
382         tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h"
383         case ${target} in
384 +       sh64*-*-linux-uclibc*)
385 +               tmake_file="${tmake_file} sh/t-sh64-uclibc"
386 +               tm_file="${tm_file} sh/sh64.h"
387 +               extra_headers="shmedia.h ushmedia.h sshmedia.h"
388 +               ;;
389         sh64*)
390                 tmake_file="${tmake_file} sh/t-sh64"
391                 tm_file="${tm_file} sh/sh64.h"
392 diff -urN gcc-3.4.1-dist/libtool.m4 gcc-3.4.1/libtool.m4
393 --- gcc-3.4.1-dist/libtool.m4   2004-05-18 04:08:37.000000000 -0500
394 +++ gcc-3.4.1/libtool.m4        2004-08-12 15:54:43.000000000 -0500
395 @@ -689,6 +689,11 @@
396    lt_cv_file_magic_test_file=`echo /lib/libc.so* /lib/libc-*.so`
397    ;;
398  
399 +linux-uclibc*)
400 +  lt_cv_deplibs_check_method=pass_all
401 +  lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
402 +  ;;
403 +
404  netbsd*)
405    if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
406      [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
407 diff -urN gcc-3.4.1-dist/ltconfig gcc-3.4.1/ltconfig
408 --- gcc-3.4.1-dist/ltconfig     2004-03-05 15:05:41.000000000 -0600
409 +++ gcc-3.4.1/ltconfig  2004-08-12 15:55:48.000000000 -0500
410 @@ -602,6 +602,7 @@
411  
412  # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
413  case $host_os in
414 +linux-uclibc*) ;;
415  linux-gnu*) ;;
416  linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
417  esac
418 @@ -1262,6 +1263,24 @@
419    dynamic_linker='GNU/Linux ld.so'
420    ;;
421  
422 +linux-uclibc*)
423 +  version_type=linux
424 +  need_lib_prefix=no
425 +  need_version=no
426 +  library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
427 +  soname_spec='${libname}${release}.so$major'
428 +  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
429 +  shlibpath_var=LD_LIBRARY_PATH
430 +  shlibpath_overrides_runpath=no
431 +  # This implies no fast_install, which is unacceptable.
432 +  # Some rework will be needed to allow for fast_install
433 +  # before this can be enabled.
434 +  # Note: copied from linux-gnu, and may not be appropriate.
435 +  hardcode_into_libs=yes
436 +  # Assume using the uClibc dynamic linker.
437 +  dynamic_linker="uClibc ld.so"
438 +  ;;
439 +
440  netbsd*)
441    need_lib_prefix=no
442    need_version=no