summaryrefslogtreecommitdiffstats
path: root/meta/packages/gcc/gcc-4.1.2/100-uclibc-conf.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/gcc/gcc-4.1.2/100-uclibc-conf.patch')
-rw-r--r--meta/packages/gcc/gcc-4.1.2/100-uclibc-conf.patch544
1 files changed, 544 insertions, 0 deletions
diff --git a/meta/packages/gcc/gcc-4.1.2/100-uclibc-conf.patch b/meta/packages/gcc/gcc-4.1.2/100-uclibc-conf.patch
new file mode 100644
index 0000000000..49d576c7dd
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.1.2/100-uclibc-conf.patch
@@ -0,0 +1,544 @@
1--- gcc-4.1.0/gcc/config/t-linux-uclibc
2+++ gcc-4.1.0/gcc/config/t-linux-uclibc
3@@ -0,0 +1,5 @@
4+# Remove glibc specific files added in t-linux
5+SHLIB_MAPFILES := $(filter-out $(srcdir)/config/libgcc-glibc.ver, $(SHLIB_MAPFILES))
6+
7+# Use unwind-dw2-fde instead of unwind-dw2-fde-glibc
8+LIB2ADDEH := $(subst unwind-dw2-fde-glibc.c,unwind-dw2-fde.c,$(LIB2ADDEH))
9--- gcc-4.1.0/gcc/config.gcc
10+++ gcc-4.1.0/gcc/config.gcc
11@@ -1887,7 +1887,7 @@ s390x-ibm-tpf*)
12 ;;
13 sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
14 sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
15- sh-*-linux* | sh[346lbe]*-*-linux* | \
16+ sh*-*-linux* | sh[346lbe]*-*-linux* | \
17 sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
18 sh64-*-netbsd* | sh64l*-*-netbsd*)
19 tmake_file="${tmake_file} sh/t-sh sh/t-elf"
20@@ -2341,6 +2341,12 @@ m32c-*-elf*)
21 ;;
22 esac
23
24+# Rather than hook into each target, just do it after all the linux
25+# targets have been processed
26+case ${target} in
27+*-linux-uclibc*) tm_defines="${tm_defines} USE_UCLIBC" ; tmake_file="${tmake_file} t-linux-uclibc"
28+esac
29+
30 case ${target} in
31 i[34567]86-*-linux*aout* | i[34567]86-*-linux*libc1)
32 tmake_file="${tmake_file} i386/t-gmm_malloc"
33--- gcc-4.1.0/boehm-gc/configure
34+++ gcc-4.1.0/boehm-gc/configure
35@@ -4320,6 +4320,11 @@ linux-gnu*)
36 lt_cv_deplibs_check_method=pass_all
37 ;;
38
39+linux-uclibc*)
40+ lt_cv_deplibs_check_method=pass_all
41+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
42+ ;;
43+
44 netbsd* | knetbsd*-gnu)
45 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
46 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
47--- gcc-4.1.0/configure
48+++ gcc-4.1.0/configure
49@@ -1133,7 +1133,7 @@ no)
50 ;;
51 "")
52 case "${target}" in
53- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
54+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
55 # Enable libmudflap by default in GNU and friends.
56 ;;
57 *-*-freebsd*)
58--- gcc-4.1.0/configure.in
59+++ gcc-4.1.0/configure.in
60@@ -341,7 +341,7 @@ no)
61 ;;
62 "")
63 case "${target}" in
64- *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu)
65+ *-*-linux*-gnu | *-*-gnu* | *-*-k*bsd*-gnu | *-*-linux-uclibc*)
66 # Enable libmudflap by default in GNU and friends.
67 ;;
68 *-*-freebsd*)
69--- gcc-4.1.0/contrib/regression/objs-gcc.sh
70+++ gcc-4.1.0/contrib/regression/objs-gcc.sh
71@@ -105,6 +105,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H
72 then
73 make all-gdb all-dejagnu all-ld || exit 1
74 make install-gdb install-dejagnu install-ld || exit 1
75+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
76+ then
77+ make all-gdb all-dejagnu all-ld || exit 1
78+ make install-gdb install-dejagnu install-ld || exit 1
79 elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
80 make bootstrap || exit 1
81 make install || exit 1
82--- gcc-4.1.0/gcc/config/alpha/linux-elf.h
83+++ gcc-4.1.0/gcc/config/alpha/linux-elf.h
84@@ -27,7 +27,11 @@ Boston, MA 02110-1301, USA. */
85 #define SUBTARGET_EXTRA_SPECS \
86 { "elf_dynamic_linker", ELF_DYNAMIC_LINKER },
87
88+#if defined USE_UCLIBC
89+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
90+#else
91 #define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
92+#endif
93
94 #define LINK_SPEC "-m elf64alpha %{G*} %{relax:-relax} \
95 %{O*:-O3} %{!O*:-O1} \
96--- gcc-4.1.0/gcc/config/arm/linux-elf.h
97+++ gcc-4.1.0/gcc/config/arm/linux-elf.h
98@@ -51,7 +51,11 @@
99
100 #define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
101
102+#ifdef USE_UCLIBC
103+#define LINUX_TARGET_INTERPRETER "/lib/ld-uClibc.so.0"
104+#else
105 #define LINUX_TARGET_INTERPRETER "/lib/ld-linux.so.2"
106+#endif
107
108 #define LINUX_TARGET_LINK_SPEC "%{h*} %{version:-v} \
109 %{b} \
110--- gcc-4.1.0/gcc/config/cris/linux.h
111+++ gcc-4.1.0/gcc/config/cris/linux.h
112@@ -73,6 +73,25 @@ Boston, MA 02110-1301, USA. */
113 #undef CRIS_DEFAULT_CPU_VERSION
114 #define CRIS_DEFAULT_CPU_VERSION CRIS_CPU_NG
115
116+#ifdef USE_UCLIBC
117+
118+#undef CRIS_SUBTARGET_VERSION
119+#define CRIS_SUBTARGET_VERSION " - cris-axis-linux-uclibc"
120+
121+#undef CRIS_LINK_SUBTARGET_SPEC
122+#define CRIS_LINK_SUBTARGET_SPEC \
123+ "-mcrislinux\
124+ -rpath-link include/asm/../..%s\
125+ %{shared} %{static}\
126+ %{symbolic:-Bdynamic} %{shlib:-Bdynamic} %{static:-Bstatic}\
127+ %{!shared: \
128+ %{!static: \
129+ %{rdynamic:-export-dynamic} \
130+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}} \
131+ %{!r:%{O2|O3: --gc-sections}}"
132+
133+#else /* USE_UCLIBC */
134+
135 #undef CRIS_SUBTARGET_VERSION
136 #define CRIS_SUBTARGET_VERSION " - cris-axis-linux-gnu"
137
138@@ -87,6 +106,8 @@ Boston, MA 02110-1301, USA. */
139 %{!shared:%{!static:%{rdynamic:-export-dynamic}}}\
140 %{!r:%{O2|O3: --gc-sections}}"
141
142+#endif /* USE_UCLIBC */
143+
144
145 /* Node: Run-time Target */
146
147--- gcc-4.1.0/gcc/config/i386/linux.h
148+++ gcc-4.1.0/gcc/config/i386/linux.h
149@@ -107,6 +107,11 @@ Boston, MA 02110-1301, USA. */
150 #define LINK_EMULATION "elf_i386"
151 #define DYNAMIC_LINKER "/lib/ld-linux.so.2"
152
153+#if defined USE_UCLIBC
154+#undef DYNAMIC_LINKER
155+#define DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
156+#endif
157+
158 #undef SUBTARGET_EXTRA_SPECS
159 #define SUBTARGET_EXTRA_SPECS \
160 { "link_emulation", LINK_EMULATION },\
161--- gcc-4.1.0/gcc/config/i386/linux64.h
162+++ gcc-4.1.0/gcc/config/i386/linux64.h
163@@ -54,14 +54,21 @@ Boston, MA 02110-1301, USA. */
164 When the -shared link option is used a final link is not being
165 done. */
166
167+#ifdef USE_UCLIBC
168+#define ELF32_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
169+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
170+#else
171+#define ELF32_DYNAMIC_LINKER "/lib/ld-linux.so.2"
172+#define ELF64_DYNAMIC_LINKER "/lib64/ld-linux-x86-64.so.2"
173+#endif
174 #undef LINK_SPEC
175 #define LINK_SPEC "%{!m32:-m elf_x86_64} %{m32:-m elf_i386} \
176 %{shared:-shared} \
177 %{!shared: \
178 %{!static: \
179 %{rdynamic:-export-dynamic} \
180- %{m32:%{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
181- %{!m32:%{!dynamic-linker:-dynamic-linker /lib64/ld-linux-x86-64.so.2}}} \
182+ %{m32:%{!dynamic-linker:-dynamic-linker " ELF32_DYNAMIC_LINKER "}} \
183+ %{!m32:%{!dynamic-linker:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}} \
184 %{static:-static}}"
185
186 /* Similar to standard Linux, but adding -ffast-math support. */
187--- gcc-4.1.0/gcc/config/ia64/linux.h
188+++ gcc-4.1.0/gcc/config/ia64/linux.h
189@@ -37,13 +37,18 @@ do { \
190 /* Define this for shared library support because it isn't in the main
191 linux.h file. */
192
193+#ifdef USE_UCLIBC
194+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
195+#else
196+#define ELF_DYNAMIC_LINKER "/lib/ld-linux-ia64.so.2"
197+#endif
198 #undef LINK_SPEC
199 #define LINK_SPEC "\
200 %{shared:-shared} \
201 %{!shared: \
202 %{!static: \
203 %{rdynamic:-export-dynamic} \
204- %{!dynamic-linker:-dynamic-linker /lib/ld-linux-ia64.so.2}} \
205+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
206 %{static:-static}}"
207
208
209--- gcc-4.1.0/gcc/config/m68k/linux.h
210+++ gcc-4.1.0/gcc/config/m68k/linux.h
211@@ -123,12 +123,17 @@ Boston, MA 02110-1301, USA. */
212
213 /* If ELF is the default format, we should not use /lib/elf. */
214
215+#ifdef USE_UCLIBC
216+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
217+#else
218+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
219+#endif
220 #undef LINK_SPEC
221 #define LINK_SPEC "-m m68kelf %{shared} \
222 %{!shared: \
223 %{!static: \
224 %{rdynamic:-export-dynamic} \
225- %{!dynamic-linker*:-dynamic-linker /lib/ld.so.1}} \
226+ %{!dynamic-linker*:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
227 %{static}}"
228
229 /* For compatibility with linux/a.out */
230--- gcc-4.1.0/gcc/config/mips/linux.h
231+++ gcc-4.1.0/gcc/config/mips/linux.h
232@@ -105,6 +105,11 @@ Boston, MA 02110-1301, USA. */
233
234 /* Borrowed from sparc/linux.h */
235 #undef LINK_SPEC
236+#ifdef USE_UCLIBC
237+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
238+#else
239+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
240+#endif
241 #define LINK_SPEC \
242 "%(endian_spec) \
243 %{shared:-shared} \
244@@ -112,7 +117,7 @@ Boston, MA 02110-1301, USA. */
245 %{!ibcs: \
246 %{!static: \
247 %{rdynamic:-export-dynamic} \
248- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
249+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
250 %{static:-static}}}"
251
252 #undef SUBTARGET_ASM_SPEC
253--- gcc-4.1.0/gcc/config/pa/pa-linux.h
254+++ gcc-4.1.0/gcc/config/pa/pa-linux.h
255@@ -49,13 +49,18 @@ Boston, MA 02110-1301, USA. */
256 /* Define this for shared library support because it isn't in the main
257 linux.h file. */
258
259+#ifdef USE_UCLIBC
260+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
261+#else
262+#define ELF_DYNAMIC_LINKER "/lib/ld.so.1"
263+#endif
264 #undef LINK_SPEC
265 #define LINK_SPEC "\
266 %{shared:-shared} \
267 %{!shared: \
268 %{!static: \
269 %{rdynamic:-export-dynamic} \
270- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}} \
271+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
272 %{static:-static}}"
273
274 /* glibc's profiling functions don't need gcc to allocate counters. */
275--- gcc-4.1.0/gcc/config/rs6000/linux.h
276+++ gcc-4.1.0/gcc/config/rs6000/linux.h
277@@ -72,7 +72,11 @@
278 #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
279
280 #undef LINK_OS_DEFAULT_SPEC
281+#ifdef USE_UCLIBC
282+#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
283+#else
284 #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
285+#endif
286
287 #define LINK_GCC_C_SEQUENCE_SPEC \
288 "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
289--- gcc-4.1.0/gcc/config/rs6000/sysv4.h
290+++ gcc-4.1.0/gcc/config/rs6000/sysv4.h
291@@ -866,6 +866,7 @@ extern int fixuplabelno;
292 mcall-linux : %(link_os_linux) ; \
293 mcall-gnu : %(link_os_gnu) ; \
294 mcall-netbsd : %(link_os_netbsd) ; \
295+ mcall-linux-uclibc : %(link_os_linux_uclibc); \
296 mcall-openbsd: %(link_os_openbsd) ; \
297 : %(link_os_default) }"
298
299@@ -1043,6 +1044,10 @@ extern int fixuplabelno;
300 %{rdynamic:-export-dynamic} \
301 %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
302
303+#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
304+ %{rdynamic:-export-dynamic} \
305+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
306+
307 #if defined(HAVE_LD_EH_FRAME_HDR)
308 # define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
309 #endif
310@@ -1209,6 +1214,7 @@ ncrtn.o%s"
311 { "link_os_sim", LINK_OS_SIM_SPEC }, \
312 { "link_os_freebsd", LINK_OS_FREEBSD_SPEC }, \
313 { "link_os_linux", LINK_OS_LINUX_SPEC }, \
314+ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
315 { "link_os_gnu", LINK_OS_GNU_SPEC }, \
316 { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
317 { "link_os_openbsd", LINK_OS_OPENBSD_SPEC }, \
318--- gcc-4.1.0/gcc/config/s390/linux.h
319+++ gcc-4.1.0/gcc/config/s390/linux.h
320@@ -77,6 +77,13 @@ Software Foundation, 51 Franklin Street,
321 #define MULTILIB_DEFAULTS { "m31" }
322 #endif
323
324+#ifdef USE_UCLIBC
325+#define ELF31_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
326+#define ELF64_DYNAMIC_LINKER "/lib/ld64-uClibc.so.0"
327+#else
328+#define ELF31_DYNAMIC_LINKER "/lib/ld.so.1"
329+#define ELF64_DYNAMIC_LINKER "/lib/ld64.so.1"
330+#endif
331 #undef LINK_SPEC
332 #define LINK_SPEC \
333 "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
334@@ -86,8 +93,8 @@ Software Foundation, 51 Franklin Street,
335 %{!static: \
336 %{rdynamic:-export-dynamic} \
337 %{!dynamic-linker: \
338- %{m31:-dynamic-linker /lib/ld.so.1} \
339- %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
340+ %{m31:-dynamic-linker " ELF31_DYNAMIC_LINKER "} \
341+ %{m64:-dynamic-linker " ELF64_DYNAMIC_LINKER "}}}}"
342
343
344 #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
345--- gcc-4.1.0/gcc/config/sh/linux.h
346+++ gcc-4.1.0/gcc/config/sh/linux.h
347@@ -56,12 +56,21 @@ Boston, MA 02110-1301, USA. */
348 #undef SUBTARGET_LINK_EMUL_SUFFIX
349 #define SUBTARGET_LINK_EMUL_SUFFIX "_linux"
350 #undef SUBTARGET_LINK_SPEC
351+#ifdef USE_UCLIBC
352+#define SUBTARGET_LINK_SPEC \
353+ "%{shared:-shared} \
354+ %{!static: \
355+ %{rdynamic:-export-dynamic} \
356+ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}} \
357+ %{static:-static}"
358+#else
359 #define SUBTARGET_LINK_SPEC \
360 "%{shared:-shared} \
361 %{!static: \
362 %{rdynamic:-export-dynamic} \
363 %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
364 %{static:-static}"
365+#endif
366
367 /* Output assembler code to STREAM to call the profiler. */
368
369--- gcc-4.1.0/gcc/config/sparc/linux.h
370+++ gcc-4.1.0/gcc/config/sparc/linux.h
371@@ -125,6 +125,11 @@ Boston, MA 02110-1301, USA. */
372
373 /* If ELF is the default format, we should not use /lib/elf. */
374
375+#ifdef USE_UCLIBC
376+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
377+#else
378+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
379+#endif
380 #undef LINK_SPEC
381 #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
382 %{!mno-relax:%{!r:-relax}} \
383@@ -132,7 +137,7 @@ Boston, MA 02110-1301, USA. */
384 %{!ibcs: \
385 %{!static: \
386 %{rdynamic:-export-dynamic} \
387- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
388+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
389 %{static:-static}}}"
390
391 /* The sun bundled assembler doesn't accept -Yd, (and neither does gas).
392--- gcc-4.1.0/gcc/config/sparc/linux64.h
393+++ gcc-4.1.0/gcc/config/sparc/linux64.h
394@@ -162,12 +162,17 @@ Boston, MA 02110-1301, USA. */
395 { "link_arch_default", LINK_ARCH_DEFAULT_SPEC }, \
396 { "link_arch", LINK_ARCH_SPEC },
397
398+#ifdef USE_UCLIBC
399+#define ELF_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
400+#else
401+#define ELF_DYNAMIC_LINKER "/lib/ld-linux.so.2"
402+#endif
403 #define LINK_ARCH32_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
404 %{!shared: \
405 %{!ibcs: \
406 %{!static: \
407 %{rdynamic:-export-dynamic} \
408- %{!dynamic-linker:-dynamic-linker /lib/ld-linux.so.2}} \
409+ %{!dynamic-linker:-dynamic-linker " ELF_DYNAMIC_LINKER "}} \
410 %{static:-static}}} \
411 "
412
413--- gcc-4.1.0/libffi/configure
414+++ gcc-4.1.0/libffi/configure
415@@ -3457,6 +3457,11 @@ linux-gnu*)
416 lt_cv_deplibs_check_method=pass_all
417 ;;
418
419+linux-uclibc*)
420+ lt_cv_deplibs_check_method=pass_all
421+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
422+ ;;
423+
424 netbsd* | knetbsd*-gnu)
425 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
426 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
427--- gcc-4.1.0/libgfortran/configure
428+++ gcc-4.1.0/libgfortran/configure
429@@ -3699,6 +3699,11 @@ linux-gnu*)
430 lt_cv_deplibs_check_method=pass_all
431 ;;
432
433+linux-uclibc*)
434+ lt_cv_deplibs_check_method=pass_all
435+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
436+ ;;
437+
438 netbsd* | knetbsd*-gnu)
439 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
440 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
441--- gcc-4.1.0/libjava/configure
442+++ gcc-4.1.0/libjava/configure
443@@ -5137,6 +5137,11 @@ linux-gnu*)
444 lt_cv_deplibs_check_method=pass_all
445 ;;
446
447+linux-uclibc*)
448+ lt_cv_deplibs_check_method=pass_all
449+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
450+ ;;
451+
452 netbsd* | knetbsd*-gnu)
453 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
454 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
455--- gcc-4.1.0/libmudflap/configure
456+++ gcc-4.1.0/libmudflap/configure
457@@ -5382,6 +5382,11 @@ linux-gnu*)
458 lt_cv_deplibs_check_method=pass_all
459 ;;
460
461+linux-uclibc*)
462+ lt_cv_deplibs_check_method=pass_all
463+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
464+ ;;
465+
466 netbsd* | knetbsd*-gnu)
467 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
468 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
469--- gcc-4.1.0/libobjc/configure
470+++ gcc-4.1.0/libobjc/configure
471@@ -3312,6 +3312,11 @@ linux-gnu*)
472 lt_cv_deplibs_check_method=pass_all
473 ;;
474
475+linux-uclibc*)
476+ lt_cv_deplibs_check_method=pass_all
477+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
478+ ;;
479+
480 netbsd* | knetbsd*-gnu)
481 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
482 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
483--- gcc-4.1.0/libtool.m4
484+++ gcc-4.1.0/libtool.m4
485@@ -743,6 +743,11 @@ linux-gnu*)
486 lt_cv_deplibs_check_method=pass_all
487 ;;
488
489+linux-uclibc*)
490+ lt_cv_deplibs_check_method=pass_all
491+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
492+ ;;
493+
494 netbsd* | knetbsd*-gnu)
495 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
496 [lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$']
497--- gcc-4.1.0/ltconfig
498+++ gcc-4.1.0/ltconfig
499@@ -603,6 +603,7 @@ host_os=`echo $host | sed 's/^\([^-]*\)-
500
501 # Transform linux* to *-*-linux-gnu*, to support old configure scripts.
502 case $host_os in
503+linux-uclibc*) ;;
504 linux-gnu*) ;;
505 linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'`
506 esac
507@@ -1274,6 +1275,23 @@ linux-gnu*)
508 dynamic_linker='GNU/Linux ld.so'
509 ;;
510
511+linux-uclibc*)
512+ version_type=linux
513+ need_lib_prefix=no
514+ need_version=no
515+ library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major $libname.so'
516+ soname_spec='${libname}${release}.so$major'
517+ finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
518+ shlibpath_var=LD_LIBRARY_PATH
519+ shlibpath_overrides_runpath=no
520+ # This implies no fast_install, which is unacceptable.
521+ # Some rework will be needed to allow for fast_install
522+ # before this can be enabled.
523+ hardcode_into_libs=yes
524+ # Assume using the uClibc dynamic linker.
525+ dynamic_linker="uClibc ld.so"
526+ ;;
527+
528 netbsd*)
529 need_lib_prefix=no
530 need_version=no
531--- gcc-4.1.0/zlib/configure
532+++ gcc-4.1.0/zlib/configure
533@@ -3426,6 +3426,11 @@ linux-gnu*)
534 lt_cv_deplibs_check_method=pass_all
535 ;;
536
537+linux-uclibc*)
538+ lt_cv_deplibs_check_method=pass_all
539+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
540+ ;;
541+
542 netbsd* | knetbsd*-gnu)
543 if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
544 lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'