patches/gcc/4.3.6/180-superh-default-multilib.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Dec 12 21:41:16 2011 +0200 (2011-12-12)
branch1.13
changeset 2845 0dc9d4931246
parent 2124 5dd0b83ae528
permissions -rw-r--r--
scripts: unset CONFIG_SITE

Some distributions (eg. openSUSE 12.1) systematically export
the CONFIG_SITE environment variable to point to a custom
script setting misc paths for ./configure.

This can, and does, break when cross-compiling for architectures
that are not supported by this script.

The simple workaround is to unset this variable.
NB: buildroot has a similar fix:
http://git.buildroot.org/buildroot/commit/?id=12c9f7dd6dee9c6029b4f9a12d6aac1516911ab4

Reported-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
(transplanted from 21f4f28e60ec0342133086c9a51e7f0e5b181fb8)
     1 Original patch from: ../4.3.2/180-superh-default-multilib.patch
     2 
     3 -= BEGIN original header =-
     4 Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.1/gentoo/53_all_gcc4-superh-default-multilib.patch
     5 The gcc-3.x toolchains would contain all the targets by default.  With gcc-4,
     6 you have to actually list out the multilibs you want or you will end up with
     7 just one when using targets like 'sh4-linux-gnu'.
     8 
     9 The resulting toolchain can't even build a kernel as the kernel needs to build
    10 with the nofpu flag to be sure that no fpu ops are generated.
    11 
    12 Here we restore the gcc-3.x behavior; the additional overhead of building all
    13 of these multilibs by default is negligible.
    14 
    15 http://bugs.gentoo.org/140205
    16 
    17 -= END original header =-
    18 
    19 diff -durN gcc-4.3.3.orig/gcc/config.gcc gcc-4.3.3/gcc/config.gcc
    20 --- gcc-4.3.3.orig/gcc/config.gcc	2008-11-20 18:09:53.000000000 +0100
    21 +++ gcc-4.3.3/gcc/config.gcc	2009-01-27 22:19:32.000000000 +0100
    22 @@ -2275,7 +2275,7 @@
    23  	if test x${sh_multilibs} = x ; then
    24  		case ${target} in
    25  		sh64-superh-linux* | \
    26 -		sh[1234]*)	sh_multilibs=${sh_cpu_target} ;;
    27 +		sh[1234]*)	sh_multilibs=`cd ${srcdir}/config/sh ; echo t-mlib-sh[1-4]* | sed 's:t-mlib-sh:,m:g;s: ::g'` ;;
    28  		sh64* | sh5*)	sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
    29  		sh-superh-*)	sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
    30  		sh*-*-linux*)	sh_multilibs=m1,m3e,m4 ;;