aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2011-01-09 13:36:19 -0800
committerKhem Raj <raj.khem@gmail.com>2011-01-09 13:39:23 -0800
commit3aa8afe97e9cf1340feb9c4442a6ed88b7e32c96 (patch)
treebb65589cc83685105cf4e194cda820629c723330
parent8d51dd82e8e26bf9c4bd780d1a63a23128f938b0 (diff)
downloadopenembedded-3aa8afe97e9cf1340feb9c4442a6ed88b7e32c96.tar.gz
openembedded-3aa8afe97e9cf1340feb9c4442a6ed88b7e32c96.tar.bz2
openembedded-3aa8afe97e9cf1340feb9c4442a6ed88b7e32c96.zip
gcc-4.5: Fix toolchain builds for SH4/SH3
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--recipes/gcc/gcc-4.5.inc1
-rw-r--r--recipes/gcc/gcc-4.5/sh4-multilib.patch25
-rw-r--r--recipes/gcc/gcc-cross4.inc3
3 files changed, 27 insertions, 2 deletions
diff --git a/recipes/gcc/gcc-4.5.inc b/recipes/gcc/gcc-4.5.inc
index bac15ef1ea..377496dcd2 100644
--- a/recipes/gcc/gcc-4.5.inc
+++ b/recipes/gcc/gcc-4.5.inc
@@ -32,6 +32,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc/branches;module=${BRANCH} \
file://arm-bswapsi2.patch \
file://Makefile.in.patch \
file://gcc-armv4-pass-fix-v4bx-to-ld.patch \
+ file://sh4-multilib.patch \
file://linaro/gcc-4.5-linaro-r99297.patch \
file://linaro/gcc-4.5-linaro-r99298.patch \
file://linaro/gcc-4.5-linaro-r99299.patch \
diff --git a/recipes/gcc/gcc-4.5/sh4-multilib.patch b/recipes/gcc/gcc-4.5/sh4-multilib.patch
new file mode 100644
index 0000000000..c895c95e12
--- /dev/null
+++ b/recipes/gcc/gcc-4.5/sh4-multilib.patch
@@ -0,0 +1,25 @@
+# DP: Fix multilib (m4/m4-nofpu) for sh4-linux
+
+---
+ a/gcc/config.gcc | 5 +++--
+ 1 files changed, 3 insertions(+), 2 deletions(-)
+
+Index: gcc-4_5-branch/gcc/config.gcc
+===================================================================
+--- gcc-4_5-branch.orig/gcc/config.gcc 2010-12-23 00:33:39.000000000 -0800
++++ gcc-4_5-branch/gcc/config.gcc 2011-01-09 02:57:36.608656002 -0800
+@@ -2321,11 +2321,12 @@
+ if test "$sh_multilibs" = "default" ; then
+ case ${target} in
+ sh64-superh-linux* | \
+- sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
+ sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
+- sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
++ sh-superh-* | \
++ sh4-*-linux*) sh_multilibs=m4,m4-nofpu ;;
+ sh*-*-linux*) sh_multilibs=m1,m3e,m4 ;;
+ sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
++ sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
+ *) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
+ esac
+ if test x$with_fp = xno; then
diff --git a/recipes/gcc/gcc-cross4.inc b/recipes/gcc/gcc-cross4.inc
index 51d0529342..3b9377f810 100644
--- a/recipes/gcc/gcc-cross4.inc
+++ b/recipes/gcc/gcc-cross4.inc
@@ -1,3 +1,2 @@
require gcc-cross.inc
-
-EXTRA_OECONF_append_sh4 = " --with-multilib-list=m4,m4-nofpu "
+EXTRA_OECONF_append_sh4 = " --with-multilib-list= --enable-incomplete-targets "