summaryrefslogtreecommitdiffstats
path: root/meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch
diff options
context:
space:
mode:
authorRichard Purdie <richard@openedhand.com>2006-07-21 10:10:31 +0000
committerRichard Purdie <richard@openedhand.com>2006-07-21 10:10:31 +0000
commitb2f192faabe412adce79534e22efe9fb69ee40e2 (patch)
tree7076c49d4286f8a1733650bd8fbc7161af200d57 /meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch
parent2cf0eadf9f730027833af802d7e6c90b44248f80 (diff)
downloadpoky-b2f192faabe412adce79534e22efe9fb69ee40e2.tar.gz
Rename /openembedded/ -> /meta/
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@530 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch')
-rw-r--r--meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch442
1 files changed, 442 insertions, 0 deletions
diff --git a/meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch
new file mode 100644
index 0000000000..29e4c802e2
--- /dev/null
+++ b/meta/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch
@@ -0,0 +1,442 @@
1diff -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]+$'
16diff -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
43diff -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
73diff -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
111diff -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)
118diff -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
145diff -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 "\
174diff -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}"
189diff -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 }, \
219diff -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 \
244diff -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
261diff -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=
278diff -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
297diff -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"
392diff -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]+$']
407diff -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