patches/gcc/4.3.2/180-superh-default-multilib.patch
author David Holsgrove <david.holsgrove@xilinx.com>
Thu Oct 04 15:59:31 2012 +1000 (2012-10-04)
changeset 3073 a6981147ccc0
parent 747 d3e603e7c17c
permissions -rw-r--r--
scripts/gcc: Canadian Cross skip -print-multi-lib log output

Attempting to ${CT_TARGET}-gcc -print-multi-lib will fail

In do_cc_core_backend, for the final compiler in a canadian cross
baremetal, warn that multi-libs cannot be determined

In do_cc_backend, for either final compiler for a canadian cross,
warn that multi-libs cannot be determined

(Plus fixed CT_PREFIX_DIR in do_cc_backend to be ${prefix})

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