| 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 |
| 443 | |