summaryrefslogtreecommitdiff
path: root/sources/gcc-uclibc-3.3-110-conf.patch
diff options
context:
space:
mode:
Diffstat (limited to 'sources/gcc-uclibc-3.3-110-conf.patch')
-rw-r--r--sources/gcc-uclibc-3.3-110-conf.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/sources/gcc-uclibc-3.3-110-conf.patch b/sources/gcc-uclibc-3.3-110-conf.patch
new file mode 100644
index 000000000..1eaacae95
--- /dev/null
+++ b/sources/gcc-uclibc-3.3-110-conf.patch
@@ -0,0 +1,63 @@
+Use the patch by Carl Miller <chaz@energoncube.net> for powerpc, with
+some minor modifications. Changed *os_uclibc to *os_linux_uclibc since
+at some point we might support other platforms.
+Index: gcc/config/rs6000/linux.h
+===================================================================
+RCS file: /home/cvs/tools/gcc-3.3.2/gcc/config/rs6000/linux.h,v
+retrieving revision 1.1.1.1
+diff -d -u -r1.1.1.1 linux.h
+--- gcc-3.3.2/gcc/config/rs6000/linux.h 4 Dec 2003 01:19:31 -0000 1.1.1.1
++++ gcc-3.3.2/gcc/config/rs6000/linux.h 4 Dec 2003 23:18:01 -0000
+@@ -64,7 +64,11 @@
+ #define LINK_START_DEFAULT_SPEC "%(link_start_linux)"
+
+ #undef LINK_OS_DEFAULT_SPEC
++#ifdef USE_UCLIBC
++#define LINK_OS_DEFAULT_SPEC "%(link_os_linux_uclibc)"
++#else
+ #define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
++#endif
+
+ #undef TARGET_VERSION
+ #define TARGET_VERSION fprintf (stderr, " (PowerPC GNU/Linux)");
+Index: gcc/config/rs6000/sysv4.h
+===================================================================
+RCS file: /home/cvs/tools/gcc-3.3.2/gcc/config/rs6000/sysv4.h,v
+retrieving revision 1.1.1.1
+diff -d -u -r1.1.1.1 sysv4.h
+--- gcc-3.3.2/gcc/config/rs6000/sysv4.h 4 Dec 2003 01:19:31 -0000 1.1.1.1
++++ gcc-3.3.2/gcc/config/rs6000/sysv4.h 4 Dec 2003 23:18:18 -0000
+@@ -953,9 +953,11 @@
+ %{mcall-linux: %(link_os_linux) } \
+ %{mcall-gnu: %(link_os_gnu) } \
+ %{mcall-netbsd: %(link_os_netbsd) } \
++%{mcall-uclibc: %(link_os_linux_uclibc) } \
+ %{!mads: %{!myellowknife: %{!mmvme: %{!msim: %{!mwindiss: \
+ %{!mcall-freebsd: %{!mcall-linux: %{!mcall-gnu: \
+- %{!mcall-netbsd: %(link_os_default) }}}}}}}}}"
++ %{!mcall-netbsd: %{!mcall-uclibc: \
++ %(link_os_default) }}}}}}}}}}"
+
+ #define LINK_OS_DEFAULT_SPEC ""
+
+@@ -1292,6 +1294,12 @@
+
+ #define LINK_OS_WINDISS_SPEC ""
+
++/* uClibc support for Linux. */
++
++#define LINK_OS_LINUX_UCLIBC_SPEC "-m elf32ppclinux %{!shared: %{!static: \
++ %{rdynamic:-export-dynamic} \
++ %{!dynamic-linker:-dynamic-linker /lib/ld-uClibc.so.0}}}"
++
+ /* Define any extra SPECS that the compiler needs to generate. */
+ /* Override rs6000.h definition. */
+ #undef SUBTARGET_EXTRA_SPECS
+@@ -1357,6 +1365,7 @@
+ { "link_os_netbsd", LINK_OS_NETBSD_SPEC }, \
+ { "link_os_vxworks", LINK_OS_VXWORKS_SPEC }, \
+ { "link_os_windiss", LINK_OS_WINDISS_SPEC }, \
++ { "link_os_linux_uclibc", LINK_OS_LINUX_UCLIBC_SPEC }, \
+ { "link_os_default", LINK_OS_DEFAULT_SPEC }, \
+ { "cc1_endian_big", CC1_ENDIAN_BIG_SPEC }, \
+ { "cc1_endian_little", CC1_ENDIAN_LITTLE_SPEC }, \