patches/gcc/4.3.4/180-superh-default-multilib.patch
author Johannes Stezenbach <js@sig21.net>
Thu Jul 29 19:30:37 2010 +0200 (2010-07-29)
branch1.7
changeset 2047 ace1d90c9b15
permissions -rw-r--r--
scripts: remove . from $PATH

Add CT_SanitizePath function which removes entries referring to ., /tmp
and non-existing directories from $PATH, and call it early in the
build script.

If . is in PATH, gcc-4.4.4 build breaks:

[ALL ] checking what assembler to use...
/tmp/build/targets/arm-unknown-linux-uclibcgnueabi/build/gcc-core-static/arm-unknown-linux-uclibcgnueabi/bin/as
...
[ALL ] config.status: creating as

i.e. "as" is supposed to be the arm-unknown-linux-uclibcgnueabi cross assembler,
but config.status creates a local "as" script which is calling the
host assembler.

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