diff options
author | Khem Raj <raj.khem@gmail.com> | 2010-04-22 13:07:33 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2010-04-22 13:15:52 -0700 |
commit | e1babd21c986940192872d2d9a5885df74b68117 (patch) | |
tree | ff96ee786c84f3fc31726a92c780a383e4477ff9 /recipes | |
parent | eab5346d003bd68ae8a4391ad33307559562597f (diff) |
gcc: Add recipes for version 4.5.0
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'recipes')
-rw-r--r-- | recipes/gcc/gcc-4.5.0.inc | 36 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.5.0/100-uclibc-conf.patch | 37 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.5.0/cache-amnesia.patch | 31 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.5.0/fortran-cross-compile-hack.patch | 30 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.5.0/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | 31 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.5.0/gcc-flags-for-build.patch | 178 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.5.0/gcc-uclibc-locale-ctype_touplow_t.patch | 52 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.5.0/zecke-no-host-includes.patch | 31 | ||||
-rw-r--r-- | recipes/gcc/gcc-4.5.0/zecke-xgcc-cpp.patch | 28 | ||||
-rw-r--r-- | recipes/gcc/gcc-cross-initial_4.5.0.bb | 9 | ||||
-rw-r--r-- | recipes/gcc/gcc-cross-intermediate_4.5.0.bb | 8 | ||||
-rw-r--r-- | recipes/gcc/gcc-cross-sdk_4.5.0.bb | 14 | ||||
-rw-r--r-- | recipes/gcc/gcc-cross_4.5.0.bb | 13 | ||||
-rw-r--r-- | recipes/gcc/gcc_4.5.0.bb | 13 |
14 files changed, 511 insertions, 0 deletions
diff --git a/recipes/gcc/gcc-4.5.0.inc b/recipes/gcc/gcc-4.5.0.inc new file mode 100644 index 0000000000..357592fbe6 --- /dev/null +++ b/recipes/gcc/gcc-4.5.0.inc @@ -0,0 +1,36 @@ +DEFAULT_PREFERENCE = "-999" +ARM_INSTRUCTION_SET = "arm" + +require gcc-common.inc +LICENSE = "GPLv3" + +DEPENDS = "mpfr gmp libmpc" + +FILESPATHPKG .= ":gcc-$PV" + +INC_PR = "r0" + +SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2;name=gcc450tarbz2 \ + file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch;patch=1 \ + file://100-uclibc-conf.patch;patch=1 \ + file://gcc-uclibc-locale-ctype_touplow_t.patch;patch=1 \ + file://cache-amnesia.patch;patch=1 \ + file://gcc-flags-for-build.patch;patch=1 \ + " + +# Language Overrides +FORTRAN = "" +JAVA = "" + +EXTRA_OECONF_BASE = " --enable-libssp \ + --disable-bootstrap --disable-libgomp \ + --disable-libmudflap" + +SRC_URI[gcc450tarbz2.md5sum] = "ff27b7c4a5d5060c8a8543a44abca31f" +SRC_URI[gcc450tarbz2.sha256sum] = "8293e9efa68a8ec0fdd0dae9c9bd128a8e742566acd9c8fbcfe79d98ed3756c8" + +EXTRA_OECONF_append_linux-uclibc = " --disable-decimal-float " +EXTRA_OECONF_append_linux-uclibceabi = " --disable-decimal-float " +EXTRA_OECONF_append_linux-uclibcspe = " --disable-decimal-float " +EXTRA_OECONF_append_linux-uclibc = " ${@base_contains('TARGET_ARCH', 'powerpc', '--without-long-double-128', '',d)}" + diff --git a/recipes/gcc/gcc-4.5.0/100-uclibc-conf.patch b/recipes/gcc/gcc-4.5.0/100-uclibc-conf.patch new file mode 100644 index 0000000000..0b799607e8 --- /dev/null +++ b/recipes/gcc/gcc-4.5.0/100-uclibc-conf.patch @@ -0,0 +1,37 @@ +Index: gcc-4.3.1/contrib/regression/objs-gcc.sh +=================================================================== +--- gcc-4.3.1.orig/contrib/regression/objs-gcc.sh 2007-12-24 15:18:57.000000000 -0800 ++++ gcc-4.3.1/contrib/regression/objs-gcc.sh 2008-08-16 01:15:12.000000000 -0700 +@@ -105,6 +105,10 @@ + then + make all-gdb all-dejagnu all-ld || exit 1 + make install-gdb install-dejagnu install-ld || exit 1 ++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ] ++ then ++ make all-gdb all-dejagnu all-ld || exit 1 ++ make install-gdb install-dejagnu install-ld || exit 1 + elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then + make bootstrap || exit 1 + make install || exit 1 +Index: gcc-4.3.1/libjava/classpath/ltconfig +=================================================================== +--- gcc-4.3.1.orig/libjava/classpath/ltconfig 2007-06-03 16:18:43.000000000 -0700 ++++ gcc-4.3.1/libjava/classpath/ltconfig 2008-08-16 01:15:12.000000000 -0700 +@@ -603,7 +603,7 @@ + + # Transform linux* to *-*-linux-gnu*, to support old configure scripts. + case $host_os in +-linux-gnu*) ;; ++linux-gnu*|linux-uclibc*) ;; + linux*) host=`echo $host | sed 's/^\(.*-.*-linux\)\(.*\)$/\1-gnu\2/'` + esac + +@@ -1251,7 +1251,7 @@ + ;; + + # This must be Linux ELF. +-linux-gnu*) ++linux*) + version_type=linux + need_lib_prefix=no + need_version=no diff --git a/recipes/gcc/gcc-4.5.0/cache-amnesia.patch b/recipes/gcc/gcc-4.5.0/cache-amnesia.patch new file mode 100644 index 0000000000..b889f9b6ca --- /dev/null +++ b/recipes/gcc/gcc-4.5.0/cache-amnesia.patch @@ -0,0 +1,31 @@ +--- + gcc/configure | 2 +- + gcc/configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +Index: gcc-4.5+svnr155514/gcc/configure +=================================================================== +--- gcc-4.5+svnr155514.orig/gcc/configure 2009-12-29 22:00:40.000000000 -0800 ++++ gcc-4.5+svnr155514/gcc/configure 2009-12-29 23:52:43.381592113 -0800 +@@ -10467,7 +10467,7 @@ else + saved_CFLAGS="${CFLAGS}" + CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ + LDFLAGS="${LDFLAGS_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}" +Index: gcc-4.5+svnr155514/gcc/configure.ac +=================================================================== +--- gcc-4.5+svnr155514.orig/gcc/configure.ac 2009-12-29 22:00:40.000000000 -0800 ++++ gcc-4.5+svnr155514/gcc/configure.ac 2009-12-29 23:51:54.589091778 -0800 +@@ -1458,7 +1458,7 @@ else + saved_CFLAGS="${CFLAGS}" + CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \ + LDFLAGS="${LDFLAGS_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/recipes/gcc/gcc-4.5.0/fortran-cross-compile-hack.patch b/recipes/gcc/gcc-4.5.0/fortran-cross-compile-hack.patch new file mode 100644 index 0000000000..348c77006f --- /dev/null +++ b/recipes/gcc/gcc-4.5.0/fortran-cross-compile-hack.patch @@ -0,0 +1,30 @@ +* Fortran would have searched for arm-angstrom-gnueabi-gfortran but would have used + used gfortan. For gcc_4.2.2.bb we want to use the gfortran compiler from our cross + directory. + +Index: gcc-4.5+svnr155514/libgfortran/configure +=================================================================== +--- gcc-4.5+svnr155514.orig/libgfortran/configure 2009-12-29 22:02:01.000000000 -0800 ++++ gcc-4.5+svnr155514/libgfortran/configure 2009-12-30 08:12:40.889091657 -0800 +@@ -11655,7 +11655,7 @@ CC="$lt_save_CC" + + # We need gfortran to compile parts of the library + #AC_PROG_FC(gfortran) +-FC="$GFORTRAN" ++#FC="$GFORTRAN" + ac_ext=${ac_fc_srcext-f} + ac_compile='$FC -c $FCFLAGS $ac_fcflags_srcext conftest.$ac_ext >&5' + ac_link='$FC -o conftest$ac_exeext $FCFLAGS $LDFLAGS $ac_fcflags_srcext conftest.$ac_ext $LIBS >&5' +Index: gcc-4.5+svnr155514/libgfortran/configure.ac +=================================================================== +--- gcc-4.5+svnr155514.orig/libgfortran/configure.ac 2009-12-29 22:02:01.000000000 -0800 ++++ gcc-4.5+svnr155514/libgfortran/configure.ac 2009-12-30 08:12:13.453094218 -0800 +@@ -187,7 +187,7 @@ AC_SUBST(enable_static) + + # We need gfortran to compile parts of the library + #AC_PROG_FC(gfortran) +-FC="$GFORTRAN" ++#FC="$GFORTRAN" + AC_PROG_FC(gfortran) + + # extra LD Flags which are required for targets diff --git a/recipes/gcc/gcc-4.5.0/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch b/recipes/gcc/gcc-4.5.0/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch new file mode 100644 index 0000000000..f33e6c1ea6 --- /dev/null +++ b/recipes/gcc/gcc-4.5.0/gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch @@ -0,0 +1,31 @@ +--- + configure | 2 +- + configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +Index: gcc-4.3.1/configure.ac +=================================================================== +--- gcc-4.3.1.orig/configure.ac 2008-07-21 12:29:18.000000000 -0700 ++++ gcc-4.3.1/configure.ac 2008-07-21 12:29:35.000000000 -0700 +@@ -2352,7 +2352,7 @@ fi + # for target_alias and gcc doesn't manage it consistently. + target_configargs="--cache-file=./config.cache ${target_configargs}" + +-FLAGS_FOR_TARGET= ++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET" + case " $target_configdirs " in + *" newlib "*) + case " $target_configargs " in +Index: gcc-4.3.1/configure +=================================================================== +--- gcc-4.3.1.orig/configure 2008-07-21 12:29:48.000000000 -0700 ++++ gcc-4.3.1/configure 2008-07-21 12:29:59.000000000 -0700 +@@ -5841,7 +5841,7 @@ fi + # for target_alias and gcc doesn't manage it consistently. + target_configargs="--cache-file=./config.cache ${target_configargs}" + +-FLAGS_FOR_TARGET= ++FLAGS_FOR_TARGET="$ARCH_FLAGS_FOR_TARGET" + case " $target_configdirs " in + *" newlib "*) + case " $target_configargs " in diff --git a/recipes/gcc/gcc-4.5.0/gcc-flags-for-build.patch b/recipes/gcc/gcc-4.5.0/gcc-flags-for-build.patch new file mode 100644 index 0000000000..98b3ecf2e1 --- /dev/null +++ b/recipes/gcc/gcc-4.5.0/gcc-flags-for-build.patch @@ -0,0 +1,178 @@ +Index: gcc-4.5+svnr155680/Makefile.def +=================================================================== +--- gcc-4.5+svnr155680.orig/Makefile.def 2010-01-13 01:02:22.627540169 -0800 ++++ gcc-4.5+svnr155680/Makefile.def 2010-01-13 01:05:24.260056951 -0800 +@@ -240,6 +240,7 @@ flags_to_pass = { flag= AWK ; }; + flags_to_pass = { flag= BISON ; }; + flags_to_pass = { flag= CC_FOR_BUILD ; }; + flags_to_pass = { flag= CFLAGS_FOR_BUILD ; }; ++flags_to_pass = { flag= CPPFLAGS_FOR_BUILD ; }; + flags_to_pass = { flag= CXX_FOR_BUILD ; }; + flags_to_pass = { flag= EXPECT ; }; + flags_to_pass = { flag= FLEX ; }; +Index: gcc-4.5+svnr155680/gcc/Makefile.in +=================================================================== +--- gcc-4.5+svnr155680.orig/gcc/Makefile.in 2010-01-13 01:02:22.675542832 -0800 ++++ gcc-4.5+svnr155680/gcc/Makefile.in 2010-01-13 01:05:24.264047000 -0800 +@@ -755,7 +755,7 @@ BUILD_LINKERFLAGS = $(BUILD_CFLAGS) + + # Native linker and preprocessor flags. For x-fragment overrides. + BUILD_LDFLAGS=@BUILD_LDFLAGS@ +-BUILD_CPPFLAGS=$(ALL_CPPFLAGS) ++BUILD_CPPFLAGS=$(INCLUDES) @BUILD_CPPFLAGS@ $(X_CPPFLAGS) + + # Actual name to use when installing a native compiler. + GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)') +Index: gcc-4.5+svnr155680/gcc/configure.ac +=================================================================== +--- gcc-4.5+svnr155680.orig/gcc/configure.ac 2010-01-13 01:02:22.687541624 -0800 ++++ gcc-4.5+svnr155680/gcc/configure.ac 2010-01-13 01:06:55.711583352 -0800 +@@ -1774,16 +1774,18 @@ AC_SUBST(inhibit_libc) + # Also, we cannot run fixincludes. + + # These are the normal (build=host) settings: +-CC_FOR_BUILD='$(CC)' AC_SUBST(CC_FOR_BUILD) +-BUILD_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS) +-BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS) +-STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC) ++CC_FOR_BUILD='$(CC)' AC_SUBST(CC_FOR_BUILD) ++BUILD_CFLAGS='$(ALL_CFLAGS)' AC_SUBST(BUILD_CFLAGS) ++BUILD_LDFLAGS='$(LDFLAGS)' AC_SUBST(BUILD_LDFLAGS) ++BUILD_CPPFLAGS='$(ALL_CPPFLAGS)' AC_SUBST(BUILD_CPPFLAGS) ++STMP_FIXINC=stmp-fixinc AC_SUBST(STMP_FIXINC) + + # And these apply if build != host, or we are generating coverage data + if test x$build != x$host || test "x$coverage_flags" != x + then + BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)' + BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)' ++ BUILD_CPPFLAGS='$(CPPFLAGS_FOR_BUILD)' + fi + + # Expand extra_headers to include complete path. +Index: gcc-4.5+svnr155680/Makefile.in +=================================================================== +--- gcc-4.5+svnr155680.orig/Makefile.in 2010-01-13 01:02:22.639539865 -0800 ++++ gcc-4.5+svnr155680/Makefile.in 2010-01-13 01:05:24.288038715 -0800 +@@ -328,6 +328,7 @@ AR_FOR_BUILD = @AR_FOR_BUILD@ + AS_FOR_BUILD = @AS_FOR_BUILD@ + CC_FOR_BUILD = @CC_FOR_BUILD@ + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ ++CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ + CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@ + CXX_FOR_BUILD = @CXX_FOR_BUILD@ + DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@ +@@ -657,6 +658,7 @@ BASE_FLAGS_TO_PASS = \ + "BISON=$(BISON)" \ + "CC_FOR_BUILD=$(CC_FOR_BUILD)" \ + "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \ ++ "CPPFLAGS_FOR_BUILD=$(CPPFLAGS_FOR_BUILD)" \ + "CXX_FOR_BUILD=$(CXX_FOR_BUILD)" \ + "EXPECT=$(EXPECT)" \ + "FLEX=$(FLEX)" \ +Index: gcc-4.5+svnr155680/gcc/configure +=================================================================== +--- gcc-4.5+svnr155680.orig/gcc/configure 2010-01-13 01:02:22.663539713 -0800 ++++ gcc-4.5+svnr155680/gcc/configure 2010-01-13 01:07:24.315537016 -0800 +@@ -705,6 +705,7 @@ SED + LIBTOOL + collect2 + STMP_FIXINC ++BUILD_CPPFLAGS + BUILD_LDFLAGS + BUILD_CFLAGS + CC_FOR_BUILD +@@ -10911,6 +10912,7 @@ fi + CC_FOR_BUILD='$(CC)' + BUILD_CFLAGS='$(ALL_CFLAGS)' + BUILD_LDFLAGS='$(LDFLAGS)' ++BUILD_CPPFLAGS='$(ALL_CPPFLAGS)' + STMP_FIXINC=stmp-fixinc + + # And these apply if build != host, or we are generating coverage data +@@ -10918,6 +10920,7 @@ if test x$build != x$host || test "x$cov + then + BUILD_CFLAGS='$(INTERNAL_CFLAGS) $(T_CFLAGS) $(CFLAGS_FOR_BUILD)' + BUILD_LDFLAGS='$(LDFLAGS_FOR_BUILD)' ++ BUILD_CPPFLAGS='$(CPPFLAGS_FOR_BUILD)' + fi + + # Expand extra_headers to include complete path. +@@ -17037,7 +17040,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 17040 "configure" ++#line 17043 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -17143,7 +17146,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 17146 "configure" ++#line 17149 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +Index: gcc-4.5+svnr155680/Makefile.tpl +=================================================================== +--- gcc-4.5+svnr155680.orig/Makefile.tpl 2010-01-13 01:02:22.603540396 -0800 ++++ gcc-4.5+svnr155680/Makefile.tpl 2010-01-13 01:05:24.332038114 -0800 +@@ -331,6 +331,7 @@ AR_FOR_BUILD = @AR_FOR_BUILD@ + AS_FOR_BUILD = @AS_FOR_BUILD@ + CC_FOR_BUILD = @CC_FOR_BUILD@ + CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ ++CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@ + CXXFLAGS_FOR_BUILD = @CXXFLAGS_FOR_BUILD@ + CXX_FOR_BUILD = @CXX_FOR_BUILD@ + DLLTOOL_FOR_BUILD = @DLLTOOL_FOR_BUILD@ +Index: gcc-4.5+svnr155680/configure +=================================================================== +--- gcc-4.5+svnr155680.orig/configure 2010-01-13 01:02:22.615539634 -0800 ++++ gcc-4.5+svnr155680/configure 2010-01-13 01:07:18.940037187 -0800 +@@ -651,6 +651,7 @@ GCJ_FOR_BUILD + DLLTOOL_FOR_BUILD + CXX_FOR_BUILD + CXXFLAGS_FOR_BUILD ++CPPFLAGS_FOR_BUILD + CFLAGS_FOR_BUILD + CC_FOR_BUILD + AS_FOR_BUILD +@@ -7862,6 +7863,7 @@ esac + # our build compiler if desired. + if test x"${build}" = x"${host}" ; then + CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}} ++ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}} + CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} + LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} + fi +@@ -7940,6 +7942,7 @@ done + + + ++ + # Generate default definitions for YACC, M4, LEX and other programs that run + # on the build machine. These are used if the Makefile can't locate these + # programs in objdir. +Index: gcc-4.5+svnr155680/configure.ac +=================================================================== +--- gcc-4.5+svnr155680.orig/configure.ac 2010-01-13 01:02:22.651540130 -0800 ++++ gcc-4.5+svnr155680/configure.ac 2010-01-13 01:05:24.340037763 -0800 +@@ -3022,6 +3022,7 @@ esac + # our build compiler if desired. + if test x"${build}" = x"${host}" ; then + CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}} ++ CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${CPPFLAGS}} + CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} + LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} + fi +@@ -3087,6 +3088,7 @@ AC_SUBST(AR_FOR_BUILD) + AC_SUBST(AS_FOR_BUILD) + AC_SUBST(CC_FOR_BUILD) + AC_SUBST(CFLAGS_FOR_BUILD) ++AC_SUBST(CPPFLAGS_FOR_BUILD) + AC_SUBST(CXXFLAGS_FOR_BUILD) + AC_SUBST(CXX_FOR_BUILD) + AC_SUBST(DLLTOOL_FOR_BUILD) diff --git a/recipes/gcc/gcc-4.5.0/gcc-uclibc-locale-ctype_touplow_t.patch b/recipes/gcc/gcc-4.5.0/gcc-uclibc-locale-ctype_touplow_t.patch new file mode 100644 index 0000000000..ffb37d2976 --- /dev/null +++ b/recipes/gcc/gcc-4.5.0/gcc-uclibc-locale-ctype_touplow_t.patch @@ -0,0 +1,52 @@ +Index: gcc-4.4.1/libstdc++-v3/config/locale/generic/c_locale.h +=================================================================== +--- gcc-4.4.1.orig/libstdc++-v3/config/locale/generic/c_locale.h 2009-08-06 23:38:32.398265633 -0700 ++++ gcc-4.4.1/libstdc++-v3/config/locale/generic/c_locale.h 2009-08-06 23:41:09.778242281 -0700 +@@ -41,12 +41,17 @@ + + #include <clocale> + #include <cstddef> ++#include <features.h> ++#include <ctype.h> + + #define _GLIBCXX_NUM_CATEGORIES 0 + + _GLIBCXX_BEGIN_NAMESPACE(std) +- +- typedef int* __c_locale; ++#ifdef __UCLIBC__ ++ typedef __ctype_touplow_t* __c_locale; ++#else ++ typedef int* __c_locale; ++#endif + + // Convert numeric value of type double and long double to string and + // return length of string. If vsnprintf is available use it, otherwise +Index: gcc-4.4.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h +=================================================================== +--- gcc-4.4.1.orig/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2009-08-06 23:42:27.402242608 -0700 ++++ gcc-4.4.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2009-08-06 23:43:44.842241959 -0700 +@@ -33,14 +33,21 @@ + */ + + // Information as gleaned from /usr/include/ctype.h +- ++ ++#include <features.h> ++#include <ctype.h> ++ + _GLIBCXX_BEGIN_NAMESPACE(std) + + /// @brief Base class for ctype. + struct ctype_base + { + // Non-standard typedefs. +- typedef const int* __to_type; ++#ifdef __UCLIBC__ ++ typedef const __ctype_touplow_t* __to_type; ++#else ++ typedef const int* __to_type; ++#endif + + // NB: Offsets into ctype<char>::_M_table force a particular size + // on the mask type. Because of this, we don't use an enum. diff --git a/recipes/gcc/gcc-4.5.0/zecke-no-host-includes.patch b/recipes/gcc/gcc-4.5.0/zecke-no-host-includes.patch new file mode 100644 index 0000000000..4ccf35f627 --- /dev/null +++ b/recipes/gcc/gcc-4.5.0/zecke-no-host-includes.patch @@ -0,0 +1,31 @@ +Index: gcc-4.4+svnr145550/gcc/incpath.c +=================================================================== +--- gcc-4.4+svnr145550.orig/gcc/incpath.c 2009-04-04 13:48:31.000000000 -0700 ++++ gcc-4.4+svnr145550/gcc/incpath.c 2009-04-04 14:49:29.000000000 -0700 +@@ -417,6 +417,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, _("CROSS COMPILE Badness: /usr/include in INCLUDEPATH: %s\n"), p->name); ++ abort(); ++ } else if( strstr(p->name, "/sw/include") == p->name ) { ++ fprintf(stderr, _("CROSS COMPILE Badness: /sw/include in INCLUDEPATH: %s\n"), p->name); ++ abort(); ++ } else if( strstr(p->name, "/opt/include") == p->name ) { ++ fprintf(stderr, _("CROSS COMPILE Badness: /opt/include in INCLUDEPATH: %s\n"), p->name); ++ abort(); ++ } ++ } ++#endif ++ + add_cpp_dir_path (p, chain); + } + diff --git a/recipes/gcc/gcc-4.5.0/zecke-xgcc-cpp.patch b/recipes/gcc/gcc-4.5.0/zecke-xgcc-cpp.patch new file mode 100644 index 0000000000..a7722cbfc4 --- /dev/null +++ b/recipes/gcc/gcc-4.5.0/zecke-xgcc-cpp.patch @@ -0,0 +1,28 @@ +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.3.1/Makefile.in +=================================================================== +--- gcc-4.3.1.orig/Makefile.in 2008-08-19 01:09:56.000000000 -0700 ++++ gcc-4.3.1/Makefile.in 2008-08-19 01:13:27.000000000 -0700 +@@ -204,6 +204,7 @@ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET)"; export CC; \ ++ CPP="$(CC_FOR_TARGET) -E"; export CPP; \ + CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \ +Index: gcc-4.3.1/Makefile.tpl +=================================================================== +--- gcc-4.3.1.orig/Makefile.tpl 2008-08-21 00:07:58.000000000 -0700 ++++ gcc-4.3.1/Makefile.tpl 2008-08-21 00:09:52.000000000 -0700 +@@ -223,6 +223,7 @@ + AR="$(AR_FOR_TARGET)"; export AR; \ + AS="$(COMPILER_AS_FOR_TARGET)"; export AS; \ + CC="$(CC_FOR_TARGET)"; export CC; \ ++ CPP="$(CC_FOR_TARGET) -E"; export CPP; \ + CFLAGS="$(CFLAGS_FOR_TARGET) $(SYSROOT_CFLAGS_FOR_TARGET) $(DEBUG_PREFIX_CFLAGS_FOR_TARGET)"; export CFLAGS; \ + CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \ + CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \ diff --git a/recipes/gcc/gcc-cross-initial_4.5.0.bb b/recipes/gcc/gcc-cross-initial_4.5.0.bb new file mode 100644 index 0000000000..8356dd1fac --- /dev/null +++ b/recipes/gcc/gcc-cross-initial_4.5.0.bb @@ -0,0 +1,9 @@ +require gcc-cross_${PV}.bb +require gcc-cross-initial.inc + +DEPENDS += "gmp-native mpfr-native libmpc-native" + +EXTRA_OECONF += " --disable-libmudflap \ + --disable-libgomp \ + --enable-decimal-float=no \ + --disable-libssp" diff --git a/recipes/gcc/gcc-cross-intermediate_4.5.0.bb b/recipes/gcc/gcc-cross-intermediate_4.5.0.bb new file mode 100644 index 0000000000..b816c8b81c --- /dev/null +++ b/recipes/gcc/gcc-cross-intermediate_4.5.0.bb @@ -0,0 +1,8 @@ +require gcc-cross_${PV}.bb +require gcc-cross-intermediate.inc + +DEPENDS += "libmpc-native gmp-native mpfr-native" + +EXTRA_OECONF += " --disable-libmudflap \ + --disable-libgomp \ + --disable-libssp" diff --git a/recipes/gcc/gcc-cross-sdk_4.5.0.bb b/recipes/gcc/gcc-cross-sdk_4.5.0.bb new file mode 100644 index 0000000000..48d8a0d1ed --- /dev/null +++ b/recipes/gcc/gcc-cross-sdk_4.5.0.bb @@ -0,0 +1,14 @@ +PR = "r1" + +inherit sdk + +require gcc-${PV}.inc +require gcc-cross-sdk.inc +require gcc-configure-sdk.inc +require gcc-package-sdk.inc + +DEPENDS += "libmpc-native gmp-native mpfr-native" + +EXTRA_OECONF += "--disable-libunwind-exceptions --disable-libssp \ + --disable-libgomp --disable-libmudflap \ + --with-mpfr=${STAGING_DIR_NATIVE}${prefix_native}" diff --git a/recipes/gcc/gcc-cross_4.5.0.bb b/recipes/gcc/gcc-cross_4.5.0.bb new file mode 100644 index 0000000000..2d3c1368dc --- /dev/null +++ b/recipes/gcc/gcc-cross_4.5.0.bb @@ -0,0 +1,13 @@ +PR = "r0" +require gcc-${PV}.inc +require gcc-cross4.inc +require gcc-configure-cross.inc +require gcc-package-cross.inc + +DEPENDS += "libmpc-native" + +SRC_URI_append_fail-fast = " file://zecke-no-host-includes.patch;patch=1 " + +EXTRA_OECONF += " --disable-libunwind-exceptions --with-mpfr=${STAGING_DIR_NATIVE}${prefix_native} --with-system-zlib" + +ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_DIR_TARGET}${target_includedir}" diff --git a/recipes/gcc/gcc_4.5.0.bb b/recipes/gcc/gcc_4.5.0.bb new file mode 100644 index 0000000000..55725b0044 --- /dev/null +++ b/recipes/gcc/gcc_4.5.0.bb @@ -0,0 +1,13 @@ +PR = "r0" +require gcc-${PV}.inc +require gcc-configure-target.inc +require gcc-package-target.inc + +# Gcc 4.3.3 installs crt* in a '4.3.1' dir.... +FILES_${PN} += "\ + ${gcclibdir}/${TARGET_SYS}/*/*.o \ +" + +SRC_URI_append = "file://fortran-cross-compile-hack.patch;patch=1" + +ARCH_FLAGS_FOR_TARGET += "-isystem${STAGING_INCDIR}" |