summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-csl-arm
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-devtools/gcc/gcc-csl-arm
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadopenembedded-core-contrib-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-csl-arm')
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/15342.patch22
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/arm-nolibfloat.patch24
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/arm-softfloat.patch16
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/cache-amnesia.patch13
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/fortran-static-linking.patch48
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/gcc-3.4.0-arm-lib1asm.patch24
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/gcc-3.4.4-eabi-bigendian.patch12
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/gcc-3.4.4-makefile-fix.patch29
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/gcc-configure-no-fortran.patch1075
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/gcc-new-makeinfo.patch35
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/gcc34-arm-tune.patch9
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/gcc41-configure.in.patch22
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/gcc_optab_arm.patch95
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/no-libfloat.patch11
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/pic-without-sl.patch303
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/pr34130.patch16
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/zecke-no-host-includes.patch31
-rw-r--r--meta/recipes-devtools/gcc/gcc-csl-arm/zecke-xgcc-cpp.patch16
18 files changed, 1801 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/15342.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/15342.patch
new file mode 100644
index 0000000000..d0f3e72d47
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/15342.patch
@@ -0,0 +1,22 @@
+--- gcc/gcc/regrename.c~ 2004-01-14 17:55:20.000000000 +0000
++++ gcc/gcc/regrename.c 2005-02-28 07:24:25.893015200 +0000
+@@ -671,7 +671,8 @@
+
+ case SET:
+ scan_rtx (insn, &SET_SRC (x), class, action, OP_IN, 0);
+- scan_rtx (insn, &SET_DEST (x), class, action, OP_OUT, 0);
++ scan_rtx (insn, &SET_DEST (x), class, action,
++ GET_CODE (PATTERN (insn)) == COND_EXEC ? OP_INOUT : OP_OUT, 0);
+ return;
+
+ case STRICT_LOW_PART:
+@@ -696,7 +697,8 @@
+ abort ();
+
+ case CLOBBER:
+- scan_rtx (insn, &SET_DEST (x), class, action, OP_OUT, 1);
++ scan_rtx (insn, &SET_DEST (x), class, action,
++ GET_CODE (PATTERN (insn)) == COND_EXEC ? OP_INOUT : OP_OUT, 0);
+ return;
+
+ case EXPR_LIST:
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/arm-nolibfloat.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/arm-nolibfloat.patch
new file mode 100644
index 0000000000..c4897c0330
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/arm-nolibfloat.patch
@@ -0,0 +1,24 @@
+# Dimitry Andric <dimitry@andric.com>, 2004-05-01
+#
+# * Removed the extra -lfloat option from LIBGCC_SPEC, since it isn't needed
+# anymore. (The required functions are now in libgcc.)
+#
+# Fixes errors like
+# arm-softfloat-linux-gnu/3.4.0/../../../../arm-softfloat-linux-gnu/bin/ld: cannot find -lfloat
+# collect2: ld returned 1 exit status
+# make[2]: *** [arm-softfloat-linux-gnu/gcc-3.4.0-glibc-2.3.2/build-glibc/iconvdata/ISO8859-1.so] Error 1
+# when building glibc-2.3.3 with gcc-3.4.0 for arm-softfloat
+
+Index: gcc-4.0.2/gcc/config/arm/linux-elf.h
+===================================================================
+--- gcc-4.0.2.orig/gcc/config/arm/linux-elf.h 2005-03-04 16:14:01.000000000 +0000
++++ gcc-4.0.2/gcc/config/arm/linux-elf.h 2005-11-11 18:02:54.000000000 +0000
+@@ -56,7 +56,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
+ the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/arm-softfloat.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/arm-softfloat.patch
new file mode 100644
index 0000000000..5e1edd9208
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/arm-softfloat.patch
@@ -0,0 +1,16 @@
+Index: gcc-4.0.2/gcc/config/arm/t-linux
+===================================================================
+--- gcc-4.0.2.orig/gcc/config/arm/t-linux 2004-05-15 12:41:35.000000000 +0000
++++ gcc-4.0.2/gcc/config/arm/t-linux 2005-11-11 16:07:53.000000000 +0000
+@@ -4,7 +4,10 @@
+ LIBGCC2_DEBUG_CFLAGS = -g0
+
+ LIB1ASMSRC = arm/lib1funcs.asm
+-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _fixsfsi _fixunssfsi _floatdidf _floatdisf _floatundisf _floatundidf
+
+ # MULTILIB_OPTIONS = mhard-float/msoft-float
+ # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/cache-amnesia.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/cache-amnesia.patch
new file mode 100644
index 0000000000..ef7cd111c5
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/cache-amnesia.patch
@@ -0,0 +1,13 @@
+diff --git a/gcc/configure b/gcc/configure
+index 44620ab..6e1830c 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -12272,7 +12272,7 @@ else
+ esac
+ saved_CFLAGS="${CFLAGS}"
+ CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
+- ${realsrcdir}/configure \
++ CONFIG_SITE= ${realsrcdir}/configure --cache-file=./other.cache \
+ --enable-languages=${enable_languages-all} \
+ --target=$target_alias --host=$build_alias --build=$build_alias
+ CFLAGS="${saved_CFLAGS}"
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/fortran-static-linking.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/fortran-static-linking.patch
new file mode 100644
index 0000000000..3dd6321dc3
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/fortran-static-linking.patch
@@ -0,0 +1,48 @@
+f951 (fortran) links to MPFR and GMP of our staging area but when executing
+the command the libs can not be found. Use rpath like all the other apps in
+our staging bin/ directory.
+
+Patch the configure to avoid the regeneration...
+
+Index: gcc-4.2.2/configure
+===================================================================
+--- gcc-4.2.2.orig/configure 2008-01-15 23:23:41.000000000 +0100
++++ gcc-4.2.2/configure 2008-01-15 23:25:20.000000000 +0100
+@@ -2278,14 +2278,14 @@
+
+
+ if test "x$with_mpfr" != x; then
+- gmplibs="-L$with_mpfr/lib $gmplibs"
++ gmplibs="-static -L$with_mpfr/lib $gmplibs"
+ gmpinc="-I$with_mpfr/include"
+ fi
+ if test "x$with_mpfr_include" != x; then
+ gmpinc="-I$with_mpfr_include"
+ fi
+ if test "x$with_mpfr_lib" != x; then
+- gmplibs="-L$with_mpfr_lib $gmplibs"
++ gmplibs="-static -L$with_mpfr_lib $gmplibs"
+ fi
+
+ # Specify a location for gmp
+Index: gcc-4.2.2/configure.in
+===================================================================
+--- gcc-4.2.2.orig/configure.in 2008-01-15 23:23:41.000000000 +0100
++++ gcc-4.2.2/configure.in 2008-01-15 23:24:36.000000000 +0100
+@@ -1066,14 +1066,14 @@
+ AC_ARG_WITH(mpfr_lib, [ --with-mpfr-lib=PATH Specify the directory for the installed MPFR library])
+
+ if test "x$with_mpfr" != x; then
+- gmplibs="-L$with_mpfr/lib $gmplibs"
++ gmplibs="-static -L$with_mpfr/lib $gmplibs"
+ gmpinc="-I$with_mpfr/include"
+ fi
+ if test "x$with_mpfr_include" != x; then
+ gmpinc="-I$with_mpfr_include"
+ fi
+ if test "x$with_mpfr_lib" != x; then
+- gmplibs="-L$with_mpfr_lib $gmplibs"
++ gmplibs="-static -L$with_mpfr_lib $gmplibs"
+ fi
+
+ # Specify a location for gmp
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-3.4.0-arm-lib1asm.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-3.4.0-arm-lib1asm.patch
new file mode 100644
index 0000000000..cf17da6a02
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-3.4.0-arm-lib1asm.patch
@@ -0,0 +1,24 @@
+# Fixes errors like the following when building glibc (or any other executable
+# or shared library) when using gcc 3.4.0 for ARM with softfloat:
+#
+# .../libc_pic.os(.text+0x15834): In function `__modf': undefined reference to `__subdf3'
+# .../libc_pic.os(.text+0x158b8): In function `__modf': undefined reference to `__subdf3'
+# .../libc_pic.os(.text+0x1590c): In function `scalbn': undefined reference to `__muldf3'
+# .../libc_pic.os(.text+0x15e94): In function `__ldexpf': undefined reference to `__eqsf2'
+# .../libc_pic.os(.text+0xcee4c): In function `monstartup': undefined reference to `__fixsfsi'
+
+diff -urNd gcc-3.4.0-orig/gcc/config/arm/t-linux gcc-3.4.0/gcc/config/arm/t-linux
+--- gcc-3.4.0-orig/gcc/config/arm/t-linux 2003-09-20 23:09:07.000000000 +0200
++++ gcc-3.4.0/gcc/config/arm/t-linux 2004-05-01 20:31:59.102846400 +0200
+@@ -4,7 +4,10 @@
+ LIBGCC2_DEBUG_CFLAGS = -g0
+
+ LIB1ASMSRC = arm/lib1funcs.asm
+-LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx
++LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx \
++ _negdf2 _addsubdf3 _muldivdf3 _cmpdf2 _unorddf2 _fixdfsi _fixunsdfsi \
++ _truncdfsf2 _negsf2 _addsubsf3 _muldivsf3 _cmpsf2 _unordsf2 \
++ _fixsfsi _fixunssfsi _floatdidf _floatdisf
+
+ # MULTILIB_OPTIONS = mhard-float/msoft-float
+ # MULTILIB_DIRNAMES = hard-float soft-float
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-3.4.4-eabi-bigendian.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-3.4.4-eabi-bigendian.patch
new file mode 100644
index 0000000000..e6cc42bb65
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-3.4.4-eabi-bigendian.patch
@@ -0,0 +1,12 @@
+--- gcc-2005q3/gcc/config/arm/linux-eabi.h~ 2007-07-10 09:19:47.000000000 +0930
++++ gcc-2005q3/gcc/config/arm/linux-eabi.h 2007-07-10 10:42:37.000000000 +0930
+@@ -48,7 +48,8 @@
+ #define SUBTARGET_CPU_DEFAULT TARGET_CPU_arm10tdmi
+
+ #undef SUBTARGET_EXTRA_LINK_SPEC
+-#define SUBTARGET_EXTRA_LINK_SPEC " -m armelf_linux_eabi"
++#define SUBTARGET_EXTRA_LINK_SPEC \
++ " %{mbig-endian:-m armelfb_linux_eabi} %{mlittle-endian:-m armelf_linux_eabi} "
+
+ /* Use ld-linux.so.3 so that it will be possible to run "classic"
+ GNU/Linux binaries on an EABI system. */
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-3.4.4-makefile-fix.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-3.4.4-makefile-fix.patch
new file mode 100644
index 0000000000..74c1f26833
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-3.4.4-makefile-fix.patch
@@ -0,0 +1,29 @@
+--- gcc-3.4.4/gcc/Makefile.in.orig 2005-07-25 21:00:37 +0200
++++ gcc-3.4.4/gcc/Makefile.in 2005-07-25 21:01:19 +0200
+@@ -304,7 +304,7 @@
+ if [ "$(host)" = "$(target)" ] ; then \
+ echo ar; \
+ else \
+- t='$(program_transform_name)'; echo ar | sed -e $$t ; \
++ t='$(program_transform_name)'; echo ar | sed -e "$$t" ; \
+ fi; \
+ fi`
+ AR_FLAGS_FOR_TARGET =
+@@ -317,7 +317,7 @@
+ if [ "$(host)" = "$(target)" ] ; then \
+ echo $(RANLIB); \
+ else \
+- t='$(program_transform_name)'; echo ranlib | sed -e $$t ; \
++ t='$(program_transform_name)'; echo ranlib | sed -e "$$t" ; \
+ fi; \
+ fi`
+ NM_FOR_TARGET = ` \
+@@ -329,7 +329,7 @@
+ if [ "$(host)" = "$(target)" ] ; then \
+ echo nm; \
+ else \
+- t='$(program_transform_name)'; echo nm | sed -e $$t ; \
++ t='$(program_transform_name)'; echo nm | sed -e "$$t" ; \
+ fi; \
+ fi`
+
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-configure-no-fortran.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-configure-no-fortran.patch
new file mode 100644
index 0000000000..c845503303
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-configure-no-fortran.patch
@@ -0,0 +1,1075 @@
+--- tmp/configure.in.orig 2006-09-05 17:50:48.000000000 +0100
++++ tmp/configure.in 2006-09-05 17:50:48.000000000 +0100
+@@ -157,7 +157,6 @@
+ target-libstdc++-v3 \
+ target-libmudflap \
+ target-libssp \
+- target-libgfortran \
+ ${libgcj} \
+ target-libobjc \
+ target-libada"
+@@ -1084,77 +1083,6 @@
+ AC_SUBST(docdir)
+ AC_SUBST(htmldir)
+
+-# Check for GMP and MPFR
+-gmplibs=
+-gmpinc=
+-have_gmp=yes
+-# Specify a location for mpfr
+-# check for this first so it ends up on the link line before gmp.
+-AC_ARG_WITH(mpfr-dir, [ --with-mpfr-dir=PATH Specify source directory for MPFR library])
+-
+-if test "x$with_mpfr_dir" != x; then
+- gmpinc="-I$with_mpfr_dir"
+- gmplibs="$with_mpfr_dir/libmpfr.a"
+-else
+- gmplibs="-lmpfr"
+-fi
+-
+-AC_ARG_WITH(mpfr, [ --with-mpfr=PATH Specify directory for installed MPFR library])
+-
+-if test "x$with_mpfr" != x; then
+- gmplibs="-L$with_mpfr/lib $gmplibs"
+- gmpinc="-I$with_mpfr/include"
+-fi
+-
+-# Specify a location for gmp
+-AC_ARG_WITH(gmp-dir, [ --with-gmp-dir=PATH Specify source directory for GMP library])
+-
+-if test "x$with_gmp_dir" != x; then
+- gmpinc="$gmpinc -I$with_gmp_dir"
+- if test -f "$with_gmp_dir/.libs/libgmp.a"; then
+- gmplibs="$gmplibs $with_gmp_dir/.libs/libgmp.a"
+- elif test -f "$with_gmp_dir/_libs/libgmp.a"; then
+- gmplibs="$gmplibs $with_gmp_dir/_libs/libgmp.a"
+- fi
+- # One of the later tests will catch the error if neither library is present.
+-else
+- gmplibs="$gmplibs -lgmp"
+-fi
+-
+-AC_ARG_WITH(gmp, [ --with-gmp=PATH Specify directory for installed GMP library])
+-
+-if test "x$with_gmp" != x; then
+- gmplibs="-L$with_gmp/lib $gmplibs"
+- gmpinc="-I$with_gmp/include $gmpinc"
+-fi
+-
+-saved_CFLAGS="$CFLAGS"
+-CFLAGS="$CFLAGS $gmpinc"
+-# Check GMP actually works
+-AC_MSG_CHECKING([for correct version of gmp.h])
+-AC_TRY_COMPILE([#include "gmp.h"],[
+-#if __GNU_MP_VERSION < 3
+-choke me
+-#endif
+-], [AC_MSG_RESULT([yes])],
+- [AC_MSG_RESULT([no]); have_gmp=no])
+-
+-if test x"$have_gmp" = xyes; then
+- AC_MSG_CHECKING([for MPFR])
+-
+- saved_LIBS="$LIBS"
+- LIBS="$LIBS $gmplibs"
+- AC_TRY_LINK([#include <gmp.h>
+-#include <mpfr.h>], [mpfr_t n; mpfr_init(n);],
+- [AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no]); have_gmp=no])
+- LIBS="$saved_LIBS"
+- CFLAGS="$saved_CFLAGS"
+-fi
+-
+-# Flags needed for both GMP and/or MPFR
+-AC_SUBST(gmplibs)
+-AC_SUBST(gmpinc)
+-
+ # By default, C is the only stage 1 language.
+ stage1_languages=c
+ AC_SUBST(stage1_languages)
+@@ -1182,15 +1110,6 @@
+ fi
+ enable_languages=`echo "${enable_languages}" | sed -e 's/[[ ,]][[ ,]]*/,/g' -e 's/,$//'`
+
+- # 'f95' is the old name for the 'fortran' language. We issue a warning
+- # and make the substitution.
+- case ,${enable_languages}, in
+- *,f95,*)
+- echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
+- enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
+- ;;
+- esac
+-
+ # First scan to see if an enabled language requires some other language.
+ # We assume that a given config-lang.in will list all the language
+ # front ends it requires, even if some are required indirectly.
+@@ -2213,7 +2132,6 @@
+ NCN_STRICT_CHECK_TARGET_TOOLS(DLLTOOL_FOR_TARGET, dlltool)
+ NCN_STRICT_CHECK_TARGET_TOOLS(GCC_FOR_TARGET, gcc, ${CC_FOR_TARGET})
+ NCN_STRICT_CHECK_TARGET_TOOLS(GCJ_FOR_TARGET, gcj)
+-NCN_STRICT_CHECK_TARGET_TOOLS(GFORTRAN_FOR_TARGET, gfortran)
+ NCN_STRICT_CHECK_TARGET_TOOLS(LD_FOR_TARGET, ld)
+ NCN_STRICT_CHECK_TARGET_TOOLS(LIPO_FOR_TARGET, lipo)
+ NCN_STRICT_CHECK_TARGET_TOOLS(NM_FOR_TARGET, nm)
+@@ -2237,9 +2155,7 @@
+ GCC_TARGET_TOOL(gcc, GCC_FOR_TARGET, , [gcc/xgcc -B$$r/$(HOST_SUBDIR)/gcc/])
+ GCC_TARGET_TOOL(gcj, GCJ_FOR_TARGET, GCJ,
+ [gcc/gcj -B$$r/$(HOST_SUBDIR)/gcc/], java)
+-GCC_TARGET_TOOL(gfortran, GFORTRAN_FOR_TARGET, GFORTRAN,
+- [gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/], fortran)
+ GCC_TARGET_TOOL(ld, LD_FOR_TARGET, LD, [ld/ld-new])
+ GCC_TARGET_TOOL(lipo, LIPO_FOR_TARGET, LIPO)
+ GCC_TARGET_TOOL(nm, NM_FOR_TARGET, NM, [binutils/nm-new])
+
+--- tmp/Makefile.in.orig 2006-09-06 08:33:46.000000000 +0100
++++ tmp/Makefile.in 2006-09-06 08:33:46.000000000 +0100
+@@ -119,7 +119,6 @@
+ CXX="$(CXX_FOR_BUILD)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
+- GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
+ DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
+ LD="$(LD_FOR_BUILD)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
+@@ -201,7 +200,6 @@
+ CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+- GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+@@ -313,7 +311,6 @@
+ CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+ RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+ GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+-GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+ DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
+ LD_FOR_TARGET=@LD_FOR_TARGET@
+
+@@ -452,7 +449,6 @@
+ "CXXFLAGS_FOR_TARGET=$(CXXFLAGS_FOR_TARGET)" \
+ "DLLTOOL_FOR_TARGET=$(DLLTOOL_FOR_TARGET)" \
+ "GCJ_FOR_TARGET=$(GCJ_FOR_TARGET)" \
+- "GFORTRAN_FOR_TARGET=$(GFORTRAN_FOR_TARGET)" \
+ "LD_FOR_TARGET=$(LD_FOR_TARGET)" \
+ "LIPO_FOR_TARGET=$(LIPO_FOR_TARGET)" \
+ "LDFLAGS_FOR_TARGET=$(LDFLAGS_FOR_TARGET)" \
+@@ -618,7 +614,6 @@
+ maybe-configure-target-libmudflap \
+ maybe-configure-target-libssp \
+ maybe-configure-target-newlib \
+- maybe-configure-target-libgfortran \
+ maybe-configure-target-libobjc \
+ maybe-configure-target-libtermcap \
+ maybe-configure-target-winsup \
+@@ -737,7 +732,6 @@
+ maybe-all-target-libmudflap \
+ maybe-all-target-libssp \
+ maybe-all-target-newlib \
+- maybe-all-target-libgfortran \
+ maybe-all-target-libobjc \
+ maybe-all-target-libtermcap \
+ maybe-all-target-winsup \
+@@ -844,7 +838,6 @@
+ maybe-info-target-libmudflap \
+ maybe-info-target-libssp \
+ maybe-info-target-newlib \
+- maybe-info-target-libgfortran \
+ maybe-info-target-libobjc \
+ maybe-info-target-libtermcap \
+ maybe-info-target-winsup \
+@@ -946,7 +939,6 @@
+ maybe-dvi-target-libmudflap \
+ maybe-dvi-target-libssp \
+ maybe-dvi-target-newlib \
+- maybe-dvi-target-libgfortran \
+ maybe-dvi-target-libobjc \
+ maybe-dvi-target-libtermcap \
+ maybe-dvi-target-winsup \
+@@ -1048,7 +1040,6 @@
+ maybe-html-target-libmudflap \
+ maybe-html-target-libssp \
+ maybe-html-target-newlib \
+- maybe-html-target-libgfortran \
+ maybe-html-target-libobjc \
+ maybe-html-target-libtermcap \
+ maybe-html-target-winsup \
+@@ -1150,7 +1141,6 @@
+ maybe-TAGS-target-libmudflap \
+ maybe-TAGS-target-libssp \
+ maybe-TAGS-target-newlib \
+- maybe-TAGS-target-libgfortran \
+ maybe-TAGS-target-libobjc \
+ maybe-TAGS-target-libtermcap \
+ maybe-TAGS-target-winsup \
+@@ -1252,7 +1242,6 @@
+ maybe-install-info-target-libmudflap \
+ maybe-install-info-target-libssp \
+ maybe-install-info-target-newlib \
+- maybe-install-info-target-libgfortran \
+ maybe-install-info-target-libobjc \
+ maybe-install-info-target-libtermcap \
+ maybe-install-info-target-winsup \
+@@ -1354,7 +1343,6 @@
+ maybe-install-html-target-libmudflap \
+ maybe-install-html-target-libssp \
+ maybe-install-html-target-newlib \
+- maybe-install-html-target-libgfortran \
+ maybe-install-html-target-libobjc \
+ maybe-install-html-target-libtermcap \
+ maybe-install-html-target-winsup \
+@@ -1456,7 +1444,6 @@
+ maybe-installcheck-target-libmudflap \
+ maybe-installcheck-target-libssp \
+ maybe-installcheck-target-newlib \
+- maybe-installcheck-target-libgfortran \
+ maybe-installcheck-target-libobjc \
+ maybe-installcheck-target-libtermcap \
+ maybe-installcheck-target-winsup \
+@@ -1558,7 +1545,6 @@
+ maybe-mostlyclean-target-libmudflap \
+ maybe-mostlyclean-target-libssp \
+ maybe-mostlyclean-target-newlib \
+- maybe-mostlyclean-target-libgfortran \
+ maybe-mostlyclean-target-libobjc \
+ maybe-mostlyclean-target-libtermcap \
+ maybe-mostlyclean-target-winsup \
+@@ -1660,7 +1646,6 @@
+ maybe-clean-target-libmudflap \
+ maybe-clean-target-libssp \
+ maybe-clean-target-newlib \
+- maybe-clean-target-libgfortran \
+ maybe-clean-target-libobjc \
+ maybe-clean-target-libtermcap \
+ maybe-clean-target-winsup \
+@@ -1762,7 +1747,6 @@
+ maybe-distclean-target-libmudflap \
+ maybe-distclean-target-libssp \
+ maybe-distclean-target-newlib \
+- maybe-distclean-target-libgfortran \
+ maybe-distclean-target-libobjc \
+ maybe-distclean-target-libtermcap \
+ maybe-distclean-target-winsup \
+@@ -1864,7 +1848,6 @@
+ maybe-maintainer-clean-target-libmudflap \
+ maybe-maintainer-clean-target-libssp \
+ maybe-maintainer-clean-target-newlib \
+- maybe-maintainer-clean-target-libgfortran \
+ maybe-maintainer-clean-target-libobjc \
+ maybe-maintainer-clean-target-libtermcap \
+ maybe-maintainer-clean-target-winsup \
+@@ -2024,7 +2007,6 @@
+ maybe-check-target-libmudflap \
+ maybe-check-target-libssp \
+ maybe-check-target-newlib \
+- maybe-check-target-libgfortran \
+ maybe-check-target-libobjc \
+ maybe-check-target-libtermcap \
+ maybe-check-target-winsup \
+@@ -2223,7 +2205,6 @@
+ maybe-install-target-libmudflap \
+ maybe-install-target-libssp \
+ maybe-install-target-newlib \
+- maybe-install-target-libgfortran \
+ maybe-install-target-libobjc \
+ maybe-install-target-libtermcap \
+ maybe-install-target-winsup \
+@@ -31606,382 +31587,6 @@
+
+
+ # There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
+-@if target-libgfortran
+-$(TARGET_SUBDIR)/libgfortran/multilib.out: multilib.out
+- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgfortran ; \
+- rm -f $(TARGET_SUBDIR)/libgfortran/Makefile || : ; \
+- cp multilib.out $(TARGET_SUBDIR)/libgfortran/multilib.out
+-@endif target-libgfortran
+-
+-
+-
+-.PHONY: configure-target-libgfortran maybe-configure-target-libgfortran
+-maybe-configure-target-libgfortran:
+-@if target-libgfortran
+-maybe-configure-target-libgfortran: configure-target-libgfortran
+-configure-target-libgfortran: $(TARGET_SUBDIR)/libgfortran/multilib.out
+- @$(unstage)
+- @test ! -f $(TARGET_SUBDIR)/libgfortran/Makefile || exit 0; \
+- $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libgfortran ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo Configuring in $(TARGET_SUBDIR)/libgfortran; \
+- cd "$(TARGET_SUBDIR)/libgfortran" || exit 1; \
+- case $(srcdir) in \
+- /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \
+- *) topdir=`echo $(TARGET_SUBDIR)/libgfortran/ | \
+- sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
+- esac; \
+- srcdiroption="--srcdir=$${topdir}/libgfortran"; \
+- libsrcdir="$$s/libgfortran"; \
+- rm -f no-such-file || : ; \
+- CONFIG_SITE=no-such-file $(SHELL) $${libsrcdir}/configure \
+- $(TARGET_CONFIGARGS) $${srcdiroption} \
+- || exit 1
+-@endif target-libgfortran
+-
+-
+-
+-
+-
+-.PHONY: all-target-libgfortran maybe-all-target-libgfortran
+-maybe-all-target-libgfortran:
+-@if target-libgfortran
+-TARGET-target-libgfortran=all
+-maybe-all-target-libgfortran: all-target-libgfortran
+-all-target-libgfortran: configure-target-libgfortran
+- @$(unstage)
+- @r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) $(TARGET-target-libgfortran))
+-@endif target-libgfortran
+-
+-
+-
+-
+-
+-.PHONY: check-target-libgfortran maybe-check-target-libgfortran
+-maybe-check-target-libgfortran:
+-@if target-libgfortran
+-maybe-check-target-libgfortran: check-target-libgfortran
+-
+-check-target-libgfortran:
+- @: $(MAKE); $(unstage)
+- @r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) check)
+-
+-@endif target-libgfortran
+-
+-.PHONY: install-target-libgfortran maybe-install-target-libgfortran
+-maybe-install-target-libgfortran:
+-@if target-libgfortran
+-maybe-install-target-libgfortran: install-target-libgfortran
+-
+-install-target-libgfortran: installdirs
+- @: $(MAKE); $(unstage)
+- @r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(TARGET_FLAGS_TO_PASS) install)
+-
+-@endif target-libgfortran
+-
+-# Other targets (info, dvi, etc.)
+-
+-.PHONY: maybe-info-target-libgfortran info-target-libgfortran
+-maybe-info-target-libgfortran:
+-@if target-libgfortran
+-maybe-info-target-libgfortran: info-target-libgfortran
+-
+-info-target-libgfortran: \
+- configure-target-libgfortran
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing info in $(TARGET_SUBDIR)/libgfortran" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+- info) \
+- || exit 1
+-
+-@endif target-libgfortran
+-
+-.PHONY: maybe-dvi-target-libgfortran dvi-target-libgfortran
+-maybe-dvi-target-libgfortran:
+-@if target-libgfortran
+-maybe-dvi-target-libgfortran: dvi-target-libgfortran
+-
+-dvi-target-libgfortran: \
+- configure-target-libgfortran
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing dvi in $(TARGET_SUBDIR)/libgfortran" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+- dvi) \
+- || exit 1
+-
+-@endif target-libgfortran
+-
+-.PHONY: maybe-html-target-libgfortran html-target-libgfortran
+-maybe-html-target-libgfortran:
+-@if target-libgfortran
+-maybe-html-target-libgfortran: html-target-libgfortran
+-
+-html-target-libgfortran: \
+- configure-target-libgfortran
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing html in $(TARGET_SUBDIR)/libgfortran" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+- html) \
+- || exit 1
+-
+-@endif target-libgfortran
+-
+-.PHONY: maybe-TAGS-target-libgfortran TAGS-target-libgfortran
+-maybe-TAGS-target-libgfortran:
+-@if target-libgfortran
+-maybe-TAGS-target-libgfortran: TAGS-target-libgfortran
+-
+-TAGS-target-libgfortran: \
+- configure-target-libgfortran
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing TAGS in $(TARGET_SUBDIR)/libgfortran" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+- TAGS) \
+- || exit 1
+-
+-@endif target-libgfortran
+-
+-.PHONY: maybe-install-info-target-libgfortran install-info-target-libgfortran
+-maybe-install-info-target-libgfortran:
+-@if target-libgfortran
+-maybe-install-info-target-libgfortran: install-info-target-libgfortran
+-
+-install-info-target-libgfortran: \
+- configure-target-libgfortran \
+- info-target-libgfortran
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing install-info in $(TARGET_SUBDIR)/libgfortran" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+- install-info) \
+- || exit 1
+-
+-@endif target-libgfortran
+-
+-.PHONY: maybe-install-html-target-libgfortran install-html-target-libgfortran
+-maybe-install-html-target-libgfortran:
+-@if target-libgfortran
+-maybe-install-html-target-libgfortran: install-html-target-libgfortran
+-
+-install-html-target-libgfortran: \
+- configure-target-libgfortran \
+- html-target-libgfortran
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing install-html in $(TARGET_SUBDIR)/libgfortran" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+- install-html) \
+- || exit 1
+-
+-@endif target-libgfortran
+-
+-.PHONY: maybe-installcheck-target-libgfortran installcheck-target-libgfortran
+-maybe-installcheck-target-libgfortran:
+-@if target-libgfortran
+-maybe-installcheck-target-libgfortran: installcheck-target-libgfortran
+-
+-installcheck-target-libgfortran: \
+- configure-target-libgfortran
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing installcheck in $(TARGET_SUBDIR)/libgfortran" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+- installcheck) \
+- || exit 1
+-
+-@endif target-libgfortran
+-
+-.PHONY: maybe-mostlyclean-target-libgfortran mostlyclean-target-libgfortran
+-maybe-mostlyclean-target-libgfortran:
+-@if target-libgfortran
+-maybe-mostlyclean-target-libgfortran: mostlyclean-target-libgfortran
+-
+-mostlyclean-target-libgfortran:
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing mostlyclean in $(TARGET_SUBDIR)/libgfortran" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+- mostlyclean) \
+- || exit 1
+-
+-@endif target-libgfortran
+-
+-.PHONY: maybe-clean-target-libgfortran clean-target-libgfortran
+-maybe-clean-target-libgfortran:
+-@if target-libgfortran
+-maybe-clean-target-libgfortran: clean-target-libgfortran
+-
+-clean-target-libgfortran:
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing clean in $(TARGET_SUBDIR)/libgfortran" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+- clean) \
+- || exit 1
+-
+-@endif target-libgfortran
+-
+-.PHONY: maybe-distclean-target-libgfortran distclean-target-libgfortran
+-maybe-distclean-target-libgfortran:
+-@if target-libgfortran
+-maybe-distclean-target-libgfortran: distclean-target-libgfortran
+-
+-distclean-target-libgfortran:
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing distclean in $(TARGET_SUBDIR)/libgfortran" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+- distclean) \
+- || exit 1
+-
+-@endif target-libgfortran
+-
+-.PHONY: maybe-maintainer-clean-target-libgfortran maintainer-clean-target-libgfortran
+-maybe-maintainer-clean-target-libgfortran:
+-@if target-libgfortran
+-maybe-maintainer-clean-target-libgfortran: maintainer-clean-target-libgfortran
+-
+-maintainer-clean-target-libgfortran:
+- @: $(MAKE); $(unstage)
+- @[ -f $(TARGET_SUBDIR)/libgfortran/Makefile ] || exit 0 ; \
+- r=`${PWD_COMMAND}`; export r; \
+- s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
+- $(NORMAL_TARGET_EXPORTS) \
+- echo "Doing maintainer-clean in $(TARGET_SUBDIR)/libgfortran" ; \
+- for flag in $(EXTRA_TARGET_FLAGS); do \
+- eval `echo "$$flag" | sed -e "s|^\([^=]*\)=\(.*\)|\1='\2'; export \1|"`; \
+- done; \
+- (cd $(TARGET_SUBDIR)/libgfortran && \
+- $(MAKE) $(BASE_FLAGS_TO_PASS) "AR=$${AR}" "AS=$${AS}" \
+- "CC=$${CC}" "CXX=$${CXX}" "LD=$${LD}" "NM=$${NM}" \
+- "RANLIB=$${RANLIB}" \
+- "DLLTOOL=$${DLLTOOL}" "WINDRES=$${WINDRES}" \
+- maintainer-clean) \
+- || exit 1
+-
+-@endif target-libgfortran
+-
+-
+-
+-# There's only one multilib.out. Cleverer subdirs shouldn't need it copied.
+ @if target-libobjc
+ $(TARGET_SUBDIR)/libobjc/multilib.out: multilib.out
+ $(SHELL) $(srcdir)/mkinstalldirs $(TARGET_SUBDIR)/libobjc ; \
+@@ -38574,8 +38179,6 @@
+
+ configure-target-newlib: maybe-all-gcc
+
+-configure-target-libgfortran: maybe-all-gcc
+-
+ configure-target-libobjc: maybe-all-gcc
+
+ configure-target-libtermcap: maybe-all-gcc
+@@ -38613,9 +38216,7 @@
+
+ configure-target-libada: maybe-all-target-newlib maybe-all-target-libgloss
+
+-configure-target-libgfortran: maybe-all-target-newlib maybe-all-target-libgloss
+-
+ configure-target-libffi: maybe-all-target-newlib maybe-all-target-libgloss
+
+ configure-target-libjava: maybe-all-target-newlib maybe-all-target-libgloss
+
+--- tmp/Makefile.tpl.orig 2006-09-06 08:36:52.000000000 +0100
++++ tmp/Makefile.tpl 2006-09-06 08:36:52.000000000 +0100
+@@ -122,7 +122,6 @@
+ CXX="$(CXX_FOR_BUILD)"; export CXX; \
+ CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_BUILD)"; export GCJ; \
+- GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
+ DLLTOOL="$(DLLTOOL_FOR_BUILD)"; export DLLTOOL; \
+ LD="$(LD_FOR_BUILD)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_BUILD)"; export LDFLAGS; \
+@@ -204,7 +203,6 @@
+ CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
+ GCJ="$(GCJ_FOR_TARGET)"; export GCJ; \
+- GFORTRAN="$(GFORTRAN_FOR_TARGET)"; export GFORTRAN; \
+ DLLTOOL="$(DLLTOOL_FOR_TARGET)"; export DLLTOOL; \
+ LD="$(COMPILER_LD_FOR_TARGET)"; export LD; \
+ LDFLAGS="$(LDFLAGS_FOR_TARGET)"; export LDFLAGS; \
+@@ -316,7 +314,6 @@
+ CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+ RAW_CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) @RAW_CXX_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+ GCJ_FOR_TARGET=$(STAGE_CC_WRAPPER) @GCJ_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+-GFORTRAN_FOR_TARGET=$(STAGE_CC_WRAPPER) @GFORTRAN_FOR_TARGET@ $(FLAGS_FOR_TARGET)
+ DLLTOOL_FOR_TARGET=@DLLTOOL_FOR_TARGET@
+ LD_FOR_TARGET=@LD_FOR_TARGET@
+
+--- tmp/Makefile.def.orig 2006-09-06 08:38:50.000000000 +0100
++++ tmp/Makefile.def 2006-09-06 08:38:50.000000000 +0100
+@@ -117,7 +117,6 @@
+ target_modules = { module= libmudflap; lib_path=.libs; };
+ target_modules = { module= libssp; lib_path=.libs; };
+ target_modules = { module= newlib; };
+-target_modules = { module= libgfortran; };
+ target_modules = { module= libobjc; };
+ target_modules = { module= libtermcap; no_check=true;
+ missing=mostlyclean;
+@@ -227,7 +226,6 @@
+ flags_to_pass = { flag= CXXFLAGS_FOR_TARGET ; };
+ flags_to_pass = { flag= DLLTOOL_FOR_TARGET ; };
+ flags_to_pass = { flag= GCJ_FOR_TARGET ; };
+-flags_to_pass = { flag= GFORTRAN_FOR_TARGET ; };
+ flags_to_pass = { flag= LD_FOR_TARGET ; };
+ flags_to_pass = { flag= LIPO_FOR_TARGET ; };
+ flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; };
+@@ -415,7 +413,6 @@
+ lang_env_dependencies = { module=boehm-gc; };
+ lang_env_dependencies = { module=gperf; cxx=true; };
+ lang_env_dependencies = { module=libada; };
+-lang_env_dependencies = { module=libgfortran; };
+ lang_env_dependencies = { module=libffi; };
+ lang_env_dependencies = { module=libjava; cxx=true; };
+ lang_env_dependencies = { module=libmudflap; };
+
+--- tmp/configure.orgig 2006-09-06 10:01:52.000000000 +0100
++++ tmp/configure 2006-09-06 10:01:52.000000000 +0100
+@@ -921,7 +921,6 @@
+ target-libstdc++-v3 \
+ target-libmudflap \
+ target-libssp \
+- target-libgfortran \
+ ${libgcj} \
+ target-libobjc \
+ target-libada"
+@@ -2246,135 +2245,6 @@
+ fi
+
+
+-
+-
+-
+-
+-# Check for GMP and MPFR
+-gmplibs=
+-gmpinc=
+-have_gmp=yes
+-# Specify a location for mpfr
+-# check for this first so it ends up on the link line before gmp.
+-# Check whether --with-mpfr-dir or --without-mpfr-dir was given.
+-if test "${with_mpfr_dir+set}" = set; then
+- withval="$with_mpfr_dir"
+- :
+-fi
+-
+-
+-if test "x$with_mpfr_dir" != x; then
+- gmpinc="-I$with_mpfr_dir"
+- gmplibs="$with_mpfr_dir/libmpfr.a"
+-else
+- gmplibs="-lmpfr"
+-fi
+-
+-# Check whether --with-mpfr or --without-mpfr was given.
+-if test "${with_mpfr+set}" = set; then
+- withval="$with_mpfr"
+- :
+-fi
+-
+-
+-if test "x$with_mpfr" != x; then
+- gmplibs="-L$with_mpfr/lib $gmplibs"
+- gmpinc="-I$with_mpfr/include"
+-fi
+-
+-# Specify a location for gmp
+-# Check whether --with-gmp-dir or --without-gmp-dir was given.
+-if test "${with_gmp_dir+set}" = set; then
+- withval="$with_gmp_dir"
+- :
+-fi
+-
+-
+-if test "x$with_gmp_dir" != x; then
+- gmpinc="$gmpinc -I$with_gmp_dir"
+- if test -f "$with_gmp_dir/.libs/libgmp.a"; then
+- gmplibs="$gmplibs $with_gmp_dir/.libs/libgmp.a"
+- elif test -f "$with_gmp_dir/_libs/libgmp.a"; then
+- gmplibs="$gmplibs $with_gmp_dir/_libs/libgmp.a"
+- fi
+- # One of the later tests will catch the error if neither library is present.
+-else
+- gmplibs="$gmplibs -lgmp"
+-fi
+-
+-# Check whether --with-gmp or --without-gmp was given.
+-if test "${with_gmp+set}" = set; then
+- withval="$with_gmp"
+- :
+-fi
+-
+-
+-if test "x$with_gmp" != x; then
+- gmplibs="-L$with_gmp/lib $gmplibs"
+- gmpinc="-I$with_gmp/include $gmpinc"
+-fi
+-
+-saved_CFLAGS="$CFLAGS"
+-CFLAGS="$CFLAGS $gmpinc"
+-# Check GMP actually works
+-echo $ac_n "checking for correct version of gmp.h""... $ac_c" 1>&6
+-echo "configure:2322: checking for correct version of gmp.h" >&5
+-cat > conftest.$ac_ext <<EOF
+-#line 2324 "configure"
+-#include "confdefs.h"
+-#include "gmp.h"
+-int main() {
+-
+-#if __GNU_MP_VERSION < 3
+-choke me
+-#endif
+-
+-; return 0; }
+-EOF
+-if { (eval echo configure:2335: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+- rm -rf conftest*
+- echo "$ac_t""yes" 1>&6
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- echo "$ac_t""no" 1>&6; have_gmp=no
+-fi
+-rm -f conftest*
+-
+-if test x"$have_gmp" = xyes; then
+- echo $ac_n "checking for MPFR""... $ac_c" 1>&6
+-echo "configure:2348: checking for MPFR" >&5
+-
+- saved_LIBS="$LIBS"
+- LIBS="$LIBS $gmplibs"
+- cat > conftest.$ac_ext <<EOF
+-#line 2353 "configure"
+-#include "confdefs.h"
+-#include <gmp.h>
+-#include <mpfr.h>
+-int main() {
+-mpfr_t n; mpfr_init(n);
+-; return 0; }
+-EOF
+-if { (eval echo configure:2361: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+- rm -rf conftest*
+- echo "$ac_t""yes" 1>&6
+-else
+- echo "configure: failed program was:" >&5
+- cat conftest.$ac_ext >&5
+- rm -rf conftest*
+- echo "$ac_t""no" 1>&6; have_gmp=no
+-fi
+-rm -f conftest*
+- LIBS="$saved_LIBS"
+- CFLAGS="$saved_CFLAGS"
+-fi
+-
+-# Flags needed for both GMP and/or MPFR
+-
+-
+-
+ # By default, C is the only stage 1 language.
+ stage1_languages=c
+
+@@ -2402,15 +2272,6 @@
+ fi
+ enable_languages=`echo "${enable_languages}" | sed -e 's/[ ,][ ,]*/,/g' -e 's/,$//'`
+
+- # 'f95' is the old name for the 'fortran' language. We issue a warning
+- # and make the substitution.
+- case ,${enable_languages}, in
+- *,f95,*)
+- echo configure.in: warning: 'f95' as language name is deprecated, use 'fortran' instead 1>&2
+- enable_languages=`echo "${enable_languages}" | sed -e 's/f95/fortran/g'`
+- ;;
+- esac
+-
+ # First scan to see if an enabled language requires some other language.
+ # We assume that a given config-lang.in will list all the language
+ # front ends it requires, even if some are required indirectly.
+@@ -5036,81 +4897,6 @@
+ fi
+ fi
+
+- for ncn_progname in gfortran; do
+- if test -n "$ncn_target_tool_prefix"; then
+- # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+-set dummy ${ncn_target_tool_prefix}${ncn_progname}; ac_word=$2
+-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:5045: checking for $ac_word" >&5
+-if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- if test -n "$GFORTRAN_FOR_TARGET"; then
+- ac_cv_prog_GFORTRAN_FOR_TARGET="$GFORTRAN_FOR_TARGET" # Let the user override the test.
+-else
+- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+- ac_dummy="$PATH"
+- for ac_dir in $ac_dummy; do
+- test -z "$ac_dir" && ac_dir=.
+- if test -f $ac_dir/$ac_word; then
+- ac_cv_prog_GFORTRAN_FOR_TARGET="${ncn_target_tool_prefix}${ncn_progname}"
+- break
+- fi
+- done
+- IFS="$ac_save_ifs"
+-fi
+-fi
+-GFORTRAN_FOR_TARGET="$ac_cv_prog_GFORTRAN_FOR_TARGET"
+-if test -n "$GFORTRAN_FOR_TARGET"; then
+- echo "$ac_t""$GFORTRAN_FOR_TARGET" 1>&6
+-else
+- echo "$ac_t""no" 1>&6
+-fi
+-
+- fi
+- if test -z "$ac_cv_prog_GFORTRAN_FOR_TARGET" && test $build = $target ; then
+- # Extract the first word of "${ncn_progname}", so it can be a program name with args.
+-set dummy ${ncn_progname}; ac_word=$2
+-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+-echo "configure:5076: checking for $ac_word" >&5
+-if eval "test \"`echo '$''{'ac_cv_prog_GFORTRAN_FOR_TARGET'+set}'`\" = set"; then
+- echo $ac_n "(cached) $ac_c" 1>&6
+-else
+- if test -n "$GFORTRAN_FOR_TARGET"; then
+- ac_cv_prog_GFORTRAN_FOR_TARGET="$GFORTRAN_FOR_TARGET" # Let the user override the test.
+-else
+- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+- ac_dummy="$PATH"
+- for ac_dir in $ac_dummy; do
+- test -z "$ac_dir" && ac_dir=.
+- if test -f $ac_dir/$ac_word; then
+- ac_cv_prog_GFORTRAN_FOR_TARGET="${ncn_progname}"
+- break
+- fi
+- done
+- IFS="$ac_save_ifs"
+-fi
+-fi
+-GFORTRAN_FOR_TARGET="$ac_cv_prog_GFORTRAN_FOR_TARGET"
+-if test -n "$GFORTRAN_FOR_TARGET"; then
+- echo "$ac_t""$GFORTRAN_FOR_TARGET" 1>&6
+-else
+- echo "$ac_t""no" 1>&6
+-fi
+-
+- fi
+- test -n "$ac_cv_prog_GFORTRAN_FOR_TARGET" && break
+-done
+-
+-if test -z "$ac_cv_prog_GFORTRAN_FOR_TARGET" ; then
+- set dummy gfortran
+- if test $build = $target ; then
+- GFORTRAN_FOR_TARGET="$2"
+- else
+- GFORTRAN_FOR_TARGET="${ncn_target_tool_prefix}$2"
+- fi
+-fi
+-
+ for ncn_progname in ld; do
+ if test -n "$ncn_target_tool_prefix"; then
+ # Extract the first word of "${ncn_target_tool_prefix}${ncn_progname}", so it can be a program name with args.
+@@ -5843,34 +5629,6 @@
+ echo "$ac_t""pre-installed" 1>&6
+ fi
+ fi
+-echo $ac_n "checking where to find the target gfortran""... $ac_c" 1>&6
+-echo "configure:5848: checking where to find the target gfortran" >&5
+-if test "x${build}" != "x${host}" ; then
+- # Canadian cross, just use what we found
+- echo "$ac_t""pre-installed" 1>&6
+-else
+- ok=yes
+- case " ${configdirs} " in
+- *" gcc "*) ;;
+- *) ok=no ;;
+- esac
+- case ,${enable_languages}, in
+- *,fortran,*) ;;
+- *) ok=no ;;
+- esac
+- if test $ok = yes; then
+- # An in-tree tool is available and we can use it
+- GFORTRAN_FOR_TARGET='$$r/$(HOST_SUBDIR)/gcc/gfortran -B$$r/$(HOST_SUBDIR)/gcc/'
+- echo "$ac_t""just compiled" 1>&6
+- elif test "x$target" = "x$host"; then
+- # We can use an host tool
+- GFORTRAN_FOR_TARGET='$(GFORTRAN)'
+- echo "$ac_t""host tool" 1>&6
+- else
+- # We need a cross tool
+- echo "$ac_t""pre-installed" 1>&6
+- fi
+-fi
+ echo $ac_n "checking where to find the target ld""... $ac_c" 1>&6
+ echo "configure:5876: checking where to find the target ld" >&5
+ if test "x${build}" != "x${host}" ; then
+@@ -6413,7 +6171,6 @@
+ s%@DLLTOOL_FOR_TARGET@%$DLLTOOL_FOR_TARGET%g
+ s%@GCC_FOR_TARGET@%$GCC_FOR_TARGET%g
+ s%@GCJ_FOR_TARGET@%$GCJ_FOR_TARGET%g
+-s%@GFORTRAN_FOR_TARGET@%$GFORTRAN_FOR_TARGET%g
+ s%@LD_FOR_TARGET@%$LD_FOR_TARGET%g
+ s%@LIPO_FOR_TARGET@%$LIPO_FOR_TARGET%g
+ s%@NM_FOR_TARGET@%$NM_FOR_TARGET%g
+
+--- tmp/config-ml.in.orig 2006-09-06 10:27:49.000000000 +0100
++++ tmp/config-ml.in 2006-09-06 10:27:49.000000000 +0100
+@@ -785,14 +785,12 @@
+ break
+ fi
+ done
+- ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" F77="${F77_}$flags" GCJ="${GCJ_}$flags" GFORTRAN="${GFORTRAN_}$flags"'
++ ml_config_env='CC="${CC_}$flags" CXX="${CXX_}$flags" GCJ="${GCJ_}$flags"'
+
+ if [ "${with_target_subdir}" = "." ]; then
+ CC_=$CC' '
+ CXX_=$CXX' '
+- F77_=$F77' '
+ GCJ_=$GCJ' '
+- GFORTRAN_=$GFORTRAN' '
+ else
+ # Create a regular expression that matches any string as long
+ # as ML_POPDIR.
+@@ -821,18 +819,6 @@
+ esac
+ done
+
+- F77_=
+- for arg in ${F77}; do
+- case $arg in
+- -[BIL]"${ML_POPDIR}"/*)
+- F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+- "${ML_POPDIR}"/*)
+- F77_="${F77_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+- *)
+- F77_="${F77_}${arg} " ;;
+- esac
+- done
+-
+ GCJ_=
+ for arg in ${GCJ}; do
+ case $arg in
+@@ -845,18 +831,6 @@
+ esac
+ done
+
+- GFORTRAN_=
+- for arg in ${GFORTRAN}; do
+- case $arg in
+- -[BIL]"${ML_POPDIR}"/*)
+- GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(-[BIL]${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X-[BIL]${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+- "${ML_POPDIR}"/*)
+- GFORTRAN_="${GFORTRAN_}"`echo "X${arg}" | sed -n "s/X\\(${popdir_rx}\\).*/\\1/p"`/${ml_dir}`echo "X${arg}" | sed -n "s/X${popdir_rx}\\(.*\\)/\\1/p"`' ' ;;
+- *)
+- GFORTRAN_="${GFORTRAN_}${arg} " ;;
+- esac
+- done
+-
+ if test "x${LD_LIBRARY_PATH+set}" = xset; then
+ LD_LIBRARY_PATH_=
+ for arg in `echo "$LD_LIBRARY_PATH" | tr ':' ' '`; do
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-new-makeinfo.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-new-makeinfo.patch
new file mode 100644
index 0000000000..b984605af7
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc-new-makeinfo.patch
@@ -0,0 +1,35 @@
+---
+ configure | 2 +-
+ configure.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+--- gcc-2006q1.orig/configure
++++ gcc-2006q1/configure
+@@ -3453,11 +3453,11 @@ case " $build_configdirs " in
+ *)
+
+ # For an installed makeinfo, we require it to be from texinfo 4.2 or
+ # higher, else we use the "missing" dummy.
+ if ${MAKEINFO} --version \
+- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])' >/dev/null 2>&1; then
++ | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
+ :
+ else
+ MAKEINFO="$MISSING makeinfo"
+ fi
+ ;;
+--- gcc-2006q1.orig/configure.in
++++ gcc-2006q1/configure.in
+@@ -2078,11 +2078,11 @@ case " $build_configdirs " in
+ *)
+ changequote(,)
+ # For an installed makeinfo, we require it to be from texinfo 4.2 or
+ # higher, else we use the "missing" dummy.
+ if ${MAKEINFO} --version \
+- | egrep 'texinfo[^0-9]*([1-3][0-9]|4\.[2-9]|[5-9])' >/dev/null 2>&1; then
++ | egrep 'texinfo[^0-9]*(4\.([6-9]|[1-9][0-9])|[5-9]|[1-9][0-9])' >/dev/null 2>&1; then
+ :
+ else
+ MAKEINFO="$MISSING makeinfo"
+ fi
+ ;;
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/gcc34-arm-tune.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc34-arm-tune.patch
new file mode 100644
index 0000000000..cdb20bef9b
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc34-arm-tune.patch
@@ -0,0 +1,9 @@
+--- gcc-3.4.0/gcc/config/arm/linux-elf.h.arm-tune 2004-01-31 01:18:11.000000000 -0500
++++ gcc-3.4.0/gcc/config/arm/linux-elf.h 2004-04-24 18:19:10.000000000 -0400
+@@ -126,3 +126,6 @@
+
+ #define LINK_GCC_C_SEQUENCE_SPEC \
+ "%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
++
++/* Tune for XScale. */
++#define TARGET_TUNE_DEFAULT TARGET_CPU_xscale
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/gcc41-configure.in.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc41-configure.in.patch
new file mode 100644
index 0000000000..3d33bcb978
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc41-configure.in.patch
@@ -0,0 +1,22 @@
+--- gcc-3.4.4/configure.in.orig 2005-08-09 19:57:51.504323183 -0700
++++ gcc-3.4.4/configure.in 2005-08-09 20:00:12.073168623 -0700
+@@ -1907,7 +1907,7 @@
+ *) gxx_include_dir=${with_gxx_include_dir} ;;
+ esac
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
+--- gcc-3.4.4/configure.orig 2005-08-09 21:02:29.668360660 -0700
++++ gcc-3.4.4/configure 2005-08-09 21:02:50.157649970 -0700
+@@ -2669,7 +2669,7 @@
+ *) gxx_include_dir=${with_gxx_include_dir} ;;
+ esac
+
+-FLAGS_FOR_TARGET=
++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET"
+ case " $target_configdirs " in
+ *" newlib "*)
+ case " $target_configargs " in
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/gcc_optab_arm.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc_optab_arm.patch
new file mode 100644
index 0000000000..fa21b26554
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/gcc_optab_arm.patch
@@ -0,0 +1,95 @@
+ARM is the only architecture that has a helper function that returns
+an unbiased result. This fix is trivial enough that we can show it
+doesn't effect any of the other arches. Can we consider this a
+regression fix since it used to work until the helper was added :}
+
+Tested with no regressions on x86_64-pc-linux-gnu and arm-none-eabi.
+
+Cheers,
+Carlos.
+--
+Carlos O'Donell
+CodeSourcery
+carlos@codesourcery.com
+(650) 331-3385 x716
+
+gcc/
+
+2006-01-27 Carlos O'Donell <carlos@codesourcery.com>
+
+ * optabs.c (prepare_cmp_insn): If unbaised and unsigned then bias
+ the comparison routine return.
+
+gcc/testsuite/
+
+2006-01-27 Carlos O'Donell <carlos@codesourcery.com>
+
+ * gcc.dg/unsigned-long-compare.c: New test.
+
+Index: gcc/optabs.c
+===================================================================
+--- 1/gcc/optabs.c (revision 110300)
++++ 2/gcc/optabs.c (working copy)
+@@ -3711,18 +3711,24 @@
+ result = emit_library_call_value (libfunc, NULL_RTX, LCT_CONST_MAKE_BLOCK,
+ word_mode, 2, x, mode, y, mode);
+
++ /* There are two kinds of comparison routines. Biased routines
++ return 0/1/2, and unbiased routines return -1/0/1. Other parts
++ of gcc expect that the comparison operation is equivalent
++ to the modified comparison. For signed comparisons compare the
++ result against 1 in the unbiased case, and zero in the biased
++ case. For unsigned comparisons always compare against 1 after
++ biasing the unbased result by adding 1. This gives us a way to
++ represent LTU. */
+ *px = result;
+ *pmode = word_mode;
+- if (TARGET_LIB_INT_CMP_BIASED)
+- /* Integer comparison returns a result that must be compared
+- against 1, so that even if we do an unsigned compare
+- afterward, there is still a value that can represent the
+- result "less than". */
+- *py = const1_rtx;
+- else
++ *py = const1_rtx;
++
++ if (!TARGET_LIB_INT_CMP_BIASED)
+ {
+- *py = const0_rtx;
+- *punsignedp = 1;
++ if (*punsignedp)
++ *px = plus_constant (result, 1);
++ else
++ *py = const0_rtx;
+ }
+ return;
+ }
+Index: gcc/testsuite/gcc.dg/unsigned-long-compare.c
+===================================================================
+--- 1/gcc/testsuite/gcc.dg/unsigned-long-compare.c (revision 0)
++++ 2/gcc/testsuite/gcc.dg/unsigned-long-compare.c (revision 0)
+@@ -0,0 +1,24 @@
++/* Copyright (C) 2006 Free Software Foundation, Inc. */
++/* Contributed by Carlos O'Donell on 2006-01-27 */
++
++/* Test a division corner case where the expression simplifies
++ to a comparison, and the optab expansion is wrong. The optab
++ expansion emits a function whose return is unbiased and needs
++ adjustment. */
++/* Origin: Carlos O'Donell <carlos@codesourcery.com> */
++/* { dg-do run { target arm-*-*eabi* } } */
++/* { dg-options "" } */
++#include <stdlib.h>
++
++#define BIG_CONSTANT 0xFFFFFFFF80000000ULL
++
++int main (void)
++{
++ unsigned long long OneULL = 1ULL;
++ unsigned long long result;
++
++ result = OneULL / BIG_CONSTANT;
++ if (result)
++ abort ();
++ exit (0);
++}
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/no-libfloat.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/no-libfloat.patch
new file mode 100644
index 0000000000..e5d12cfb4f
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/no-libfloat.patch
@@ -0,0 +1,11 @@
+--- gcc/gcc/config/arm/linux-elf.h.old 2005-04-20 00:46:28.923375320 +0100
++++ gcc/gcc/config/arm/linux-elf.h 2005-04-20 00:46:34.181575952 +0100
+@@ -56,7 +56,7 @@
+ %{shared:-lc} \
+ %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+
+-#define LIBGCC_SPEC "%{msoft-float:-lfloat} %{mfloat-abi=soft*:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+
+ /* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
+ the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/pic-without-sl.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/pic-without-sl.patch
new file mode 100644
index 0000000000..9a49794da4
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/pic-without-sl.patch
@@ -0,0 +1,303 @@
+Index: gcc/config/arm/arm-protos.h
+===================================================================
+RCS file: /cvsroot/gcc/gcc/gcc/config/arm/arm-protos.h,v
+retrieving revision 1.60.4.20
+diff -u -r1.60.4.20 arm-protos.h
+--- gcc/config/arm/arm-protos.h 29 Mar 2005 03:00:11 -0000 1.60.4.20
++++ gcc/config/arm/arm-protos.h 23 Apr 2005 04:41:06 -0000
+@@ -64,6 +64,7 @@
+ extern enum reg_class vfp_secondary_reload_class (enum machine_mode, rtx);
+ extern int tls_symbolic_operand (rtx, enum machine_mode);
+ extern bool arm_tls_operand_p (rtx x);
++extern bool arm_pc_pic_operand_p (rtx x);
+
+ /* Predicates. */
+ extern int s_register_operand (rtx, enum machine_mode);
+Index: gcc/config/arm/arm.c
+===================================================================
+RCS file: /cvsroot/gcc/gcc/gcc/config/arm/arm.c,v
+retrieving revision 1.303.2.79
+diff -u -r1.303.2.79 arm.c
+--- gcc/config/arm/arm.c 12 Apr 2005 06:17:07 -0000 1.303.2.79
++++ gcc/config/arm/arm.c 23 Apr 2005 04:41:09 -0000
+@@ -1003,7 +1003,7 @@
+
+ /* If stack checking is disabled, we can use r10 as the PIC register,
+ which keeps r9 available. */
+- if (flag_pic)
++ if (0 && flag_pic)
+ arm_pic_register = TARGET_APCS_STACK ? 9 : 10;
+
+ if (TARGET_APCS_FLOAT)
+@@ -3120,6 +3120,10 @@
+ rtx
+ legitimize_pic_address (rtx orig, enum machine_mode mode, rtx reg)
+ {
++ if (GET_CODE (orig) == UNSPEC
++ && XINT (orig, 1) == UNSPEC_GOTSLOTPC)
++ abort ();
++
+ if (GET_CODE (orig) == SYMBOL_REF
+ || GET_CODE (orig) == LABEL_REF)
+ {
+@@ -3149,27 +3153,80 @@
+ else
+ address = reg;
+
+- if (TARGET_ARM)
+- emit_insn (gen_pic_load_addr_arm (address, orig));
+- else
+- emit_insn (gen_pic_load_addr_thumb (address, orig));
++ if (arm_pic_register != INVALID_REGNUM)
++ {
++ /* Using GP-based PIC addressing. */
++ if (TARGET_ARM)
++ emit_insn (gen_pic_load_addr_arm (address, orig));
++ else
++ emit_insn (gen_pic_load_addr_thumb (address, orig));
++
++ if ((GET_CODE (orig) == LABEL_REF
++ || (GET_CODE (orig) == SYMBOL_REF &&
++ SYMBOL_REF_LOCAL_P (orig)))
++ && NEED_GOT_RELOC)
++ pic_ref = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, address);
++ else
++ {
++ pic_ref = gen_rtx_MEM (Pmode,
++ gen_rtx_PLUS (Pmode, pic_offset_table_rtx,
++ address));
++ RTX_UNCHANGING_P (pic_ref) = 1;
++ }
+
+- if ((GET_CODE (orig) == LABEL_REF
+- || (GET_CODE (orig) == SYMBOL_REF &&
+- SYMBOL_REF_LOCAL_P (orig)))
+- && NEED_GOT_RELOC)
+- pic_ref = gen_rtx_PLUS (Pmode, pic_offset_table_rtx, address);
++ current_function_uses_pic_offset_table = 1;
++ }
+ else
+ {
+- pic_ref = gen_rtx_MEM (Pmode,
+- gen_rtx_PLUS (Pmode, pic_offset_table_rtx,
+- address));
+- RTX_UNCHANGING_P (pic_ref) = 1;
++ /* Using PC-based PIC addressing. */
++ rtx label, tmp;
++ int offset;
++
++ label = gen_label_rtx ();
++ offset = TARGET_ARM ? 8 : 4;
++
++ if (GET_CODE (orig) == LABEL_REF
++ || (GET_CODE (orig) == SYMBOL_REF && SYMBOL_REF_LOCAL_P (orig)))
++ {
++ /* This symbol is defined locally. We don't need a GOT entry. */
++ tmp = gen_rtx_MINUS (Pmode, gen_rtx_UNSPEC (Pmode, gen_rtvec (1, orig), UNSPEC_PIC_SYM), gen_rtx_PLUS (Pmode,
++ gen_rtx_LABEL_REF (Pmode, label),
++ GEN_INT (offset)));
++
++ load_tls_operand (tmp, address);
++
++ if (TARGET_ARM)
++ emit_insn (gen_pic_add_dot_plus_eight (address, label));
++ else
++ emit_insn (gen_pic_add_dot_plus_four (address, label));
++ }
++ else
++ {
++ rtx x = gen_rtx_UNSPEC (Pmode, gen_rtvec (1, orig), UNSPEC_GOTSLOTPC);
++ rtx dummy_label;
++
++ dummy_label = gen_label_rtx ();
++ LABEL_PRESERVE_P (dummy_label) = 1;
++ LABEL_NUSES (dummy_label) = 1;
++
++ tmp = gen_rtx_MINUS (Pmode, x, gen_rtx_PLUS (Pmode,
++ gen_rtx_LABEL_REF (Pmode, label),
++ GEN_INT (offset)));
++
++ load_tls_operand (tmp, address);
++
++ if (TARGET_ARM)
++ emit_insn (gen_tls_load_dot_plus_eight (address, address, label, dummy_label));
++ else
++ emit_insn (gen_tls_load_dot_plus_four (address, address, label, dummy_label));
++ }
++
++ pic_ref = address;
+ }
+
+ insn = emit_move_insn (reg, pic_ref);
+ #endif
+- current_function_uses_pic_offset_table = 1;
++
+ /* Put a REG_EQUAL note on this insn, so that it can be optimized
+ by loop. */
+ REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_EQUAL, orig,
+@@ -3179,11 +3236,17 @@
+ else if (GET_CODE (orig) == CONST)
+ {
+ rtx base, offset;
++ bool minus = FALSE;
+
+ if (GET_CODE (XEXP (orig, 0)) == PLUS
+ && XEXP (XEXP (orig, 0), 0) == pic_offset_table_rtx)
+ return orig;
+
++ if (GET_CODE (XEXP (orig, 0)) == MINUS
++ && GET_CODE (XEXP (XEXP (orig, 0), 0)) == UNSPEC
++ && XINT (XEXP (XEXP (orig, 0), 0), 1) == UNSPEC_GOTSLOTPC)
++ return orig;
++
+ if (GET_CODE (XEXP (orig, 0)) == UNSPEC)
+ return orig;
+
+@@ -3201,6 +3264,13 @@
+ offset = legitimize_pic_address (XEXP (XEXP (orig, 0), 1), Pmode,
+ base == reg ? 0 : reg);
+ }
++ else if (GET_CODE (XEXP (orig, 0)) == MINUS)
++ {
++ minus = TRUE;
++ base = legitimize_pic_address (XEXP (XEXP (orig, 0), 0), Pmode, reg);
++ offset = legitimize_pic_address (XEXP (XEXP (orig, 0), 1), Pmode,
++ base == reg ? 0 : reg);
++ }
+ else
+ abort ();
+
+@@ -3228,7 +3298,7 @@
+ return reg;
+ }
+
+- return gen_rtx_PLUS (Pmode, base, offset);
++ return minus ? gen_rtx_MINUS (Pmode, base, offset) : gen_rtx_PLUS (Pmode, base, offset);
+ }
+
+ return orig;
+@@ -3267,7 +3337,7 @@
+ rtx l1, pic_tmp, pic_tmp2, pic_rtx;
+ rtx global_offset_table;
+
+- if (current_function_uses_pic_offset_table == 0 || TARGET_SINGLE_PIC_BASE)
++ if (current_function_uses_pic_offset_table == 0 || TARGET_SINGLE_PIC_BASE || arm_pic_register == INVALID_REGNUM)
+ return;
+
+ if (!flag_pic)
+@@ -3341,8 +3411,11 @@
+ static int
+ pcrel_constant_p (rtx x)
+ {
++ if (GET_CODE (x) == CONST)
++ return pcrel_constant_p (XEXP (x, 0));
++
+ if (GET_CODE (x) == MINUS)
+- return symbol_mentioned_p (XEXP (x, 0)) && label_mentioned_p (XEXP (x, 1));
++ return (((GET_CODE (XEXP (x, 0)) == UNSPEC && XINT (XEXP (x, 0), 1) == UNSPEC_PIC_SYM)) || symbol_mentioned_p (XEXP (x, 0))) && label_mentioned_p (XEXP (x, 1));
+
+ if (GET_CODE (x) == UNSPEC
+ && XINT (x, 1) == UNSPEC_TLS
+@@ -3946,12 +4019,32 @@
+ return SYMBOL_REF_TLS_MODEL (op);
+ }
+
++bool
++arm_pc_pic_operand_p (rtx op)
++{
++ if (GET_CODE (op) == CONST
++ && GET_CODE (XEXP (op, 0)) == MINUS
++ && GET_CODE (XEXP (XEXP (op, 0), 0)) == UNSPEC
++ && XINT (XEXP (XEXP (op, 0), 0), 1) == UNSPEC_GOTSLOTPC)
++ return 1;
++
++ if (GET_CODE (op) == CONST
++ && GET_CODE (XEXP (op, 0)) == MINUS
++ && GET_CODE (XEXP (XEXP (op, 0), 0)) == UNSPEC
++ && XINT (XEXP (XEXP (op, 0), 0), 1) == UNSPEC_PIC_SYM)
++ return 1;
++
++ return 0;
++}
++
+ /* Valid input to a move instruction. */
+ int
+ move_input_operand (rtx op, enum machine_mode mode)
+ {
+ if (tls_symbolic_operand (op, mode))
+ return 0;
++ if (pcrel_constant_p (op))
++ return 1;
+ return general_operand (op, mode);
+ }
+
+@@ -15634,11 +15727,34 @@
+ return TRUE;
+ }
+
++static bool
++arm_emit_got_decoration (FILE *fp, rtx x)
++{
++ rtx val;
++
++ val = XVECEXP (x, 0, 0);
++
++ fputs ("_gotslotpc_(", fp);
++
++ output_addr_const (fp, val);
++
++ fputc (')', fp);
++
++ return TRUE;
++}
++
+ bool
+ arm_output_addr_const_extra (FILE *fp, rtx x)
+ {
+ if (GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_TLS)
+ return arm_emit_tls_decoration (fp, x);
++ else if (GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_GOTSLOTPC)
++ return arm_emit_got_decoration (fp, x);
++ else if (GET_CODE (x) == UNSPEC && XINT (x, 1) == UNSPEC_PIC_SYM)
++ {
++ output_addr_const (fp, XVECEXP (x, 0, 0));
++ return TRUE;
++ }
+ else if (GET_CODE (x) == CONST_VECTOR)
+ return arm_emit_vector_const (fp, x);
+
+Index: gcc/config/arm/arm.md
+===================================================================
+RCS file: /cvsroot/gcc/gcc/gcc/config/arm/arm.md,v
+retrieving revision 1.145.2.31
+diff -u -r1.145.2.31 arm.md
+--- gcc/config/arm/arm.md 28 Mar 2005 19:04:37 -0000 1.145.2.31
++++ gcc/config/arm/arm.md 23 Apr 2005 04:41:11 -0000
+@@ -88,6 +88,7 @@
+ (UNSPEC_WMADDS 18) ; Used by the intrinsic form of the iWMMXt WMADDS instruction.
+ (UNSPEC_WMADDU 19) ; Used by the intrinsic form of the iWMMXt WMADDU instruction.
+ (UNSPEC_TLS 20) ; A symbol that has been treated properly for TLS usage.
++ (UNSPEC_GOTSLOTPC 21)
+ ]
+ )
+
+@@ -4179,7 +4180,8 @@
+ && (CONSTANT_P (operands[1])
+ || symbol_mentioned_p (operands[1])
+ || label_mentioned_p (operands[1]))
+- && ! tls_mentioned_p (operands[1]))
++ && ! tls_mentioned_p (operands[1])
++ && ! arm_pc_pic_operand_p (operands[1]))
+ operands[1] = legitimize_pic_address (operands[1], SImode,
+ (no_new_pseudos ? operands[0] : 0));
+ }
+@@ -4412,7 +4414,8 @@
+ (mem:SI (unspec:SI [(plus:SI (match_dup 0)
+ (const (plus:SI (pc) (const_int 8))))]
+ UNSPEC_PIC_BASE)))
+- (use (label_ref (match_operand 1 "" "")))])]
++ (use (label_ref (match_operand 1 "" "")))
++ (use (label_ref (match_operand 1 "" "")))])]
+ ""
+ )
+
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/pr34130.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/pr34130.patch
new file mode 100644
index 0000000000..415335f4b4
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/pr34130.patch
@@ -0,0 +1,16 @@
+Index: gcc-4.1.2/gcc/fold-const.c
+===================================================================
+--- gcc-4.1.2.orig/gcc/fold-const.c 2007-11-21 18:53:42.000000000 +0100
++++ gcc-4.1.2/gcc/fold-const.c 2007-11-21 18:56:26.000000000 +0100
+@@ -5339,7 +5339,10 @@
+ }
+ break;
+ }
+- /* FALLTHROUGH */
++ /* If the constant is negative, we cannot simplify this. */
++ if (tree_int_cst_sgn (c) == -1)
++ break;
++ /* FALLTHROUGH */
+ case NEGATE_EXPR:
+ if ((t1 = extract_muldiv (op0, c, code, wide_type)) != 0)
+ return fold_build1 (tcode, ctype, fold_convert (ctype, t1));
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/zecke-no-host-includes.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/zecke-no-host-includes.patch
new file mode 100644
index 0000000000..8b05cb73a9
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/zecke-no-host-includes.patch
@@ -0,0 +1,31 @@
+Index: gcc-4.0.2/gcc/c-incpath.c
+===================================================================
+--- gcc-4.0.2.orig/gcc/c-incpath.c 2005-01-23 16:05:27.000000000 +0100
++++ gcc-4.0.2/gcc/c-incpath.c 2006-05-15 21:23:02.000000000 +0200
+@@ -350,6 +350,26 @@
+ p->construct = 0;
+ p->user_supplied_p = user_supplied_p;
+
++#ifdef CROSS_COMPILE
++ /* A common error when cross compiling is including
++ host headers. This code below will try to fail fast
++ for cross compiling. Currently we consider /usr/include,
++ /opt/include and /sw/include as harmful. */
++ {
++ /* printf("Adding Path: %s\n", p->name ); */
++ if( strstr(p->name, "/usr/include" ) == p->name ) {
++ fprintf(stderr, _("BUILD ISOLATION FAILURE: /usr/include in INCLUDEPATH: %s\n Please fix the flags passed to the compiler to use the correct prefix.\n"), p->name);
++ abort();
++ } else if( strstr(p->name, "/sw/include") == p->name ) {
++ fprintf(stderr, _("BUILD ISOLATION FAILURE: /sw/include in INCLUDEPATH: %s\n Please fix the flags passed to the compiler to use the correct prefix.\n"), p->name);
++ abort();
++ } else if( strstr(p->name, "/opt/include") == p->name ) {
++ fprintf(stderr, _("BUILD ISOLATION FAILURE: /opt/include in INCLUDEPATH: %s\n Please fix the flags passed to the compiler to use the correct prefix.\n"), p->name);
++ abort();
++ }
++ }
++#endif
++
+ add_cpp_dir_path (p, chain);
+ }
+
diff --git a/meta/recipes-devtools/gcc/gcc-csl-arm/zecke-xgcc-cpp.patch b/meta/recipes-devtools/gcc/gcc-csl-arm/zecke-xgcc-cpp.patch
new file mode 100644
index 0000000000..921cab6e18
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-csl-arm/zecke-xgcc-cpp.patch
@@ -0,0 +1,16 @@
+upstream: n/a
+comment: Use the preprocessor we have just compiled instead the one of
+the system. There might be incompabilities between us and them.
+
+Index: gcc-4.1.1/Makefile.in
+===================================================================
+--- gcc-4.1.1.orig/Makefile.in 2006-08-06 13:32:44.000000000 +0200
++++ gcc-4.1.1/Makefile.in 2006-08-06 13:32:46.000000000 +0200
+@@ -194,6 +194,7 @@
+ AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \
+ CC="$(CC_FOR_TARGET)"; export CC; \
+ CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
++ CPP="$(CC_FOR_TARGET) -E"; export CCP; \
+ CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
+ CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
+ CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \