Initial revision
[openwrt.git] / toolchain / gcc / 3.3.4 / 110-uclibc-conf.patch
1 Use the patch by Carl Miller <chaz@energoncube.net> for powerpc, with
2 some minor modifications.  Changed *os_uclibc to *os_linux_uclibc since
3 at some point we might support other platforms.  Also updated to 3.3.3.
4 diff -urN gcc-3.3.3/gcc/config/rs6000/linux.h gcc-3.3.3-new/gcc/config/rs6000/linux.h
5 --- gcc-3.3.3/gcc/config/rs6000/linux.h 2003-11-14 00:46:10.000000000 -0600
6 +++ gcc-3.3.3-new/gcc/config/rs6000/linux.h     2004-02-16 21:13:40.000000000 -0600
7 @@ -64,7 +64,11 @@
8  #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
9  
10  #undef LINK_OS_DEFAULT_SPEC
11 +#ifdef USE_UCLIBC
12 +#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
13 +#else
14  #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
15 +#endif
16  
17  #undef TARGET_VERSION
18  #define TARGET_VERSION fprintf (stderr, " (PowerPC GNU/Linux)");
19 diff -urN gcc-3.3.3/gcc/config/rs6000/sysv4.h gcc-3.3.3-new/gcc/config/rs6000/sysv4.h
20 --- gcc-3.3.3/gcc/config/rs6000/sysv4.h 2003-10-28 13:55:41.000000000 -0600
21 +++ gcc-3.3.3-new/gcc/config/rs6000/sysv4.h     2004-02-16 21:13:40.000000000 -0600
22 @@ -968,9 +968,11 @@
23  %{mcall-linux: %(link_os_linux) } \
24  %{mcall-gnu: %(link_os_gnu) } \
25  %{mcall-netbsd: %(link_os_netbsd) } \
26 +%{mcall-uclibc: %(link_os_linux_uclibc) } \
27  %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
28           %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \
29 -         %{!mcall-netbsd: %(link_os_default) }}}}}}}}}"
30 +         %{!mcall-netbsd: %{!mcall-uclibc: \
31 +         %(link_os_default) }}}}}}}}}}"
32  
33  #define LINK_OS_DEFAULT_SPEC ""
34  
35 @@ -1307,6 +1309,12 @@
36  
37  #define LINK_OS_WINDISS_SPEC ""
38  
39 +/* uClibc support for Linux. */
40 +
41 +#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
42 +  %{rdynamic:-export-dynamic} \
43 +  %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
44 +
45  /* Define any extra SPECS that the compiler needs to generate.  */
46  /* Override rs6000.h definition.  */
47  #undef SUBTARGET_EXTRA_SPECS
48 @@ -1372,6 +1380,7 @@
49    { "link_os_netbsd",          LINK_OS_NETBSD_SPEC },                  \
50    { "link_os_vxworks",         LINK_OS_VXWORKS_SPEC },                 \
51    { "link_os_windiss",         LINK_OS_WINDISS_SPEC },                 \
52 +  { "link_os_linux_uclibc",    LINK_OS_LINUX_UCLIBC_SPEC },            \
53    { "link_os_default",         LINK_OS_DEFAULT_SPEC },                 \
54    { "cc1_endian_big",          CC1_ENDIAN_BIG_SPEC },                  \
55    { "cc1_endian_little",       CC1_ENDIAN_LITTLE_SPEC },               \