aboutsummaryrefslogtreecommitdiff
path: root/4.1.1
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-09-17 19:28:14 +0000
committerMike Frysinger <vapier@gentoo.org>2006-09-17 19:28:14 +0000
commitd723177640cc1cbfe0756a993f10d1f59aac04d6 (patch)
treeb545b7fb2c27d7b80394ce36be9a56d8b362194e /4.1.1
parentbackport fix from upstream (diff)
downloadgcc-patches-d723177640cc1cbfe0756a993f10d1f59aac04d6.tar.gz
gcc-patches-d723177640cc1cbfe0756a993f10d1f59aac04d6.tar.bz2
gcc-patches-d723177640cc1cbfe0756a993f10d1f59aac04d6.zip
restore gcc3 multilib functionality for superh targets #140205
Diffstat (limited to '4.1.1')
-rw-r--r--4.1.1/gentoo/53_all_gcc4-superh-default-multilib.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/4.1.1/gentoo/53_all_gcc4-superh-default-multilib.patch b/4.1.1/gentoo/53_all_gcc4-superh-default-multilib.patch
new file mode 100644
index 0000000..0b9f0d8
--- /dev/null
+++ b/4.1.1/gentoo/53_all_gcc4-superh-default-multilib.patch
@@ -0,0 +1,23 @@
+The gcc-3.x toolchains would contain all the targets by default. With gcc-4,
+you have to actually list out the multilibs you want or you will end up with
+just one when using targets like 'sh4-linux-gnu'.
+
+The resulting toolchain can't even build a kernel as the kernel needs to build
+with the nofpu flag to be sure that no fpu ops are generated.
+
+Here we restore the gcc-3.x behavior; the additional overhead of building all
+of these multilibs by default is negligible.
+
+http://bugs.gentoo.org/140205
+
+--- gcc-4.1.1/gcc/config.gcc
++++ gcc-4.1.1/gcc/config.gcc
+@@ -1992,7 +1992,7 @@
+ sh_multilibs=${with_multilib_list}
+ if test x${sh_multilibs} = x ; then
+ case ${target} in
+- sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
++ sh[1234]*) sh_multilibs=`cd ${srcdir}/config/sh ; echo t-mlib-sh[1-4]* | sed 's:t-mlib-sh:,m:g;s: ::g'` ;;
+ 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*-*-linux*) sh_multilibs=m1,m3e,m4 ;;