patches/gcc/4.1.2/100-uclibc-conf.patch
author "Benoît Thébaudeau" <benoit.thebaudeau@advansee.com>
Mon Apr 16 15:25:36 2012 +0200 (2012-04-16)
changeset 2941 13e40098fffc
parent 1 eeea35fbf182
permissions -rw-r--r--
cc/gcc: update Linaro GCC revisions to 2012.04

Update Linaro GCC with the latest available revisions.

The 4.7 revision is also released, but the infrastructure is not yet ready for
it in CT-NG.

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