patches/gcc/4.1.1/100-uclibc-conf.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Feb 17 22:08:06 2008 +0000 (2008-02-17)
changeset 431 8bde4c6ea47a
permissions -rw-r--r--
Robert P. J. DAY says:

apparently, the patchset for gcc 4.2.1 applies properly to the
source for gcc 4.2.2 and gcc 4.2.3. so, if you want, you can simply
add support for those last two just by augmenting menuconfig and
adding a couple symlinks for those two directories. seems like a
cheap way to add a couple new versions.
     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]+$'