diff options
Diffstat (limited to 'openembedded/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch')
-rw-r--r-- | openembedded/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch | 442 |
1 files changed, 442 insertions, 0 deletions
diff --git a/openembedded/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch b/openembedded/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch new file mode 100644 index 0000000000..29e4c802e2 --- /dev/null +++ b/openembedded/packages/gcc/gcc-3.4.4/gcc-3.4.1-uclibc-100-conf.patch | |||
@@ -0,0 +1,442 @@ | |||
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 | ||