diff options
Diffstat (limited to 'sources/gcc-uclibc-3.3-110-conf.patch')
-rw-r--r-- | sources/gcc-uclibc-3.3-110-conf.patch | 63 |
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 }, \ |