patches/gcc/4.3.1/300-gcc4-superh-default-multilib.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed Jun 11 21:45:57 2008 +0000 (2008-06-11)
changeset 554 be6197b5b33b
permissions -rw-r--r--
Include the full version number in the directory paths installed.
Change the version string so that it does not break 'make', and so that it has no '/' (it would be a hell if installed directories would mirror the SVN branches... :-/ )
Do not use implicit rules for the Makefile.
Simplify and enc=hance the --local test to refuse (un)installing.
Double-quotes variables, they are based on user input.
Eye-candy in the 'compile' and install messages.

/trunk/configure | 26 14 12 0 ++++++++++---------
/trunk/Makefile.in | 83 45 38 0 +++++++++++++++++++++++++++++++++---------------------------
2 files changed, 59 insertions(+), 50 deletions(-)
yann@552
     1
Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/53_all_gcc4-superh-default-multilib.patch
yann@552
     2
The gcc-3.x toolchains would contain all the targets by default.  With gcc-4,
yann@552
     3
you have to actually list out the multilibs you want or you will end up with
yann@552
     4
just one when using targets like 'sh4-linux-gnu'.
yann@552
     5
yann@552
     6
The resulting toolchain can't even build a kernel as the kernel needs to build
yann@552
     7
with the nofpu flag to be sure that no fpu ops are generated.
yann@552
     8
yann@552
     9
Here we restore the gcc-3.x behavior; the additional overhead of building all
yann@552
    10
of these multilibs by default is negligible.
yann@552
    11
yann@552
    12
http://bugs.gentoo.org/140205
yann@552
    13
yann@552
    14
diff -durN gcc-4.3.1.orig/gcc/config.gcc gcc-4.3.1/gcc/config.gcc
yann@552
    15
--- gcc-4.3.1.orig/gcc/config.gcc	2008-05-21 10:54:15.000000000 +0200
yann@552
    16
+++ gcc-4.3.1/gcc/config.gcc	2008-06-10 14:58:06.000000000 +0200
yann@552
    17
@@ -2278,7 +2278,7 @@
yann@552
    18
 	if test x${sh_multilibs} = x ; then
yann@552
    19
 		case ${target} in
yann@552
    20
 		sh64-superh-linux* | \
yann@552
    21
-		sh[1234]*)	sh_multilibs=${sh_cpu_target} ;;
yann@552
    22
+		sh[1234]*)	sh_multilibs=`cd ${srcdir}/config/sh ; echo t-mlib-sh[1-4]* | sed 's:t-mlib-sh:,m:g;s: ::g'` ;;
yann@552
    23
 		sh64* | sh5*)	sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
yann@552
    24
 		sh-superh-*)	sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
yann@552
    25
 		sh*-*-linux*)	sh_multilibs=m1,m3e,m4 ;;