summaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/4.0.0
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2005-05-02 13:58:00 +0000
committerPaul Mundt <lethal@linux-sh.org>2005-05-02 13:58:00 +0000
commit50b47fadcc915efae2ffc46fe46dfdf80f8d8809 (patch)
treec3364c16ce0b430d992e9dc33ef70beba270fa83 /toolchain/gcc/4.0.0
parent306f002a87b6aa63e0d7df7be45d9be43dc0b4f7 (diff)
downloadbuildroot-novena-50b47fadcc915efae2ffc46fe46dfdf80f8d8809.tar.gz
buildroot-novena-50b47fadcc915efae2ffc46fe46dfdf80f8d8809.zip
Add proper target support for newfangled sh targets.
GCC folk in their infinite wisdom have added half-assed target support for newer sh cores. The support is there, but of course we have no way to actually enable the thing, so we do that with this patch. Likewise, binutils has no idea about any of these new targets either (not even a half-assed attempt, sadly), so we fix that up too.. now we're able to actually build a real toolchain for sh2a_nofpu- and other more ineptly named toolchains (and yes, there are more inept targets than that one, really. Go look, I promise).
Diffstat (limited to 'toolchain/gcc/4.0.0')
-rw-r--r--toolchain/gcc/4.0.0/100-uclibc-conf.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/toolchain/gcc/4.0.0/100-uclibc-conf.patch b/toolchain/gcc/4.0.0/100-uclibc-conf.patch
index 47f635944..c2cb87f26 100644
--- a/toolchain/gcc/4.0.0/100-uclibc-conf.patch
+++ b/toolchain/gcc/4.0.0/100-uclibc-conf.patch
@@ -338,6 +338,15 @@ diff -urN gcc-4.0.0-dist/gcc/config.gcc gcc-4.0.0/gcc/config.gcc
cris-*-linux*)
tm_file="dbxelf.h elfos.h svr4.h ${tm_file} linux.h cris/linux.h"
# We need to avoid using t-linux, so override default tmake_file
+@@ -1759,7 +1759,7 @@
+ ;;
+ sh-*-elf* | sh[12346l]*-*-elf* | sh*-*-kaos* | \
+ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
+- sh-*-linux* | sh[346lbe]*-*-linux* | \
++ sh*-*-linux* | sh[346lbe]*-*-linux* | \
+ sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \
+ sh64-*-netbsd* | sh64l*-*-netbsd*)
+ tmake_file="${tmake_file} sh/t-sh sh/t-elf"
@@ -1780,6 +1789,8 @@
esac
tm_file="${tm_file} sh/elf.h"
@@ -487,3 +496,43 @@ diff -urN gcc-4.0.0-dist/zlib/configure gcc-4.0.0/zlib/configure
netbsd* | knetbsd*-gnu)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[^/\.]+\.so\.[0-9]+\.[0-9]+$'
+diff -urN gcc-4.0.0.orig/config.sub gcc-4.0.0/config.sub
+--- gcc-4.0.0.orig/config.sub 2005-01-18 03:20:48.000000000 +0200
++++ gcc-4.0.0/config.sub 2005-05-02 13:46:44.643407037 +0300
+@@ -260,7 +260,7 @@
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+- | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
++ | sh | sh[1234]* | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
+ | strongarm \
+@@ -334,7 +334,7 @@
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* \
+- | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
++ | sh-* | sh[1234]*-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+@@ -884,9 +884,6 @@
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+- sh64)
+- basic_machine=sh64-unknown
+- ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+@@ -1086,7 +1083,7 @@
+ we32k)
+ basic_machine=we32k-att
+ ;;
+- sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
++ sh2* | sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sh64)