From 460954b1b31981f0857f338d2fa702af9395a652 Mon Sep 17 00:00:00 2001 From: Dongxiao Xu Date: Sun, 19 Sep 2010 22:29:09 +0800 Subject: upgrade gcc to 4.5.0 for mips architecture Fix the out of memory when building webkit-gtk with gcc-4.5.0 The new feature added after 4.3.3 "http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html" will cause cc1plus eat up all the system memory when build webkit-gtk. The function mips_get_pic_call_symbol keeps on recursively calling itself. Disable this feature to walk aside the bug. Signed-off-by: Dongxiao Xu --- meta/recipes-devtools/gcc/gcc-4.5.0.inc | 1 + .../gcc-4.5.0/disable_relax_pic_calls_flag.patch | 44 ++++++++++++++++++++++ .../gcc/gcc-cross-canadian_4.5.0.bb | 2 +- meta/recipes-devtools/gcc/gcc-cross_4.5.0.bb | 2 +- meta/recipes-devtools/gcc/gcc-runtime_4.5.0.bb | 2 +- meta/recipes-devtools/gcc/gcc_4.5.0.bb | 2 +- 6 files changed, 49 insertions(+), 4 deletions(-) create mode 100644 meta/recipes-devtools/gcc/gcc-4.5.0/disable_relax_pic_calls_flag.patch (limited to 'meta/recipes-devtools/gcc') diff --git a/meta/recipes-devtools/gcc/gcc-4.5.0.inc b/meta/recipes-devtools/gcc/gcc-4.5.0.inc index 6ca2f98bc8..6da8ddaa53 100644 --- a/meta/recipes-devtools/gcc/gcc-4.5.0.inc +++ b/meta/recipes-devtools/gcc/gcc-4.5.0.inc @@ -47,6 +47,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ file://64bithack.patch \ file://optional_libstdc.patch \ + file://disable_relax_pic_calls_flag.patch \ " SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 " diff --git a/meta/recipes-devtools/gcc/gcc-4.5.0/disable_relax_pic_calls_flag.patch b/meta/recipes-devtools/gcc/gcc-4.5.0/disable_relax_pic_calls_flag.patch new file mode 100644 index 0000000000..b1d5a1a3cb --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.5.0/disable_relax_pic_calls_flag.patch @@ -0,0 +1,44 @@ +GCC: disable MASK_RELAX_PIC_CALLS bit + +The new feature added after 4.3.3 +"http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html" +will cause cc1plus eat up all the system memory when build webkit-gtk. +The function mips_get_pic_call_symbol keeps on recursively calling itself. +Disable this feature to walk aside the bug. + +Signed-off-by: Dongxiao Xu + +diff -ruN gcc-4.5.0-orig/gcc/configure gcc-4.5.0/gcc/configure +--- gcc-4.5.0-orig/gcc/configure 2010-09-17 23:30:21.000000000 +0800 ++++ gcc-4.5.0/gcc/configure 2010-09-19 18:21:28.000000000 +0800 +@@ -23945,13 +23945,6 @@ + rm -f conftest.* + fi + fi +- if test $gcc_cv_as_ld_jalr_reloc = yes; then +- if test x$target_cpu_default = x; then +- target_cpu_default=MASK_RELAX_PIC_CALLS +- else +- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" +- fi +- fi + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5 + $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; } + +diff -ruN gcc-4.5.0-orig/gcc/configure.ac gcc-4.5.0/gcc/configure.ac +--- gcc-4.5.0-orig/gcc/configure.ac 2010-09-17 23:30:21.000000000 +0800 ++++ gcc-4.5.0/gcc/configure.ac 2010-09-19 18:21:11.000000000 +0800 +@@ -3467,13 +3467,6 @@ + rm -f conftest.* + fi + fi +- if test $gcc_cv_as_ld_jalr_reloc = yes; then +- if test x$target_cpu_default = x; then +- target_cpu_default=MASK_RELAX_PIC_CALLS +- else +- target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" +- fi +- fi + AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc) + + AC_CACHE_CHECK([linker for .eh_frame personality relaxation], diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.0.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.0.bb index e1a8e970d0..a9f79b6509 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.0.bb +++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.0.bb @@ -5,7 +5,7 @@ require gcc-cross-canadian.inc require gcc-configure-sdk.inc require gcc-package-sdk.inc -PR = "r7" +PR = "r8" DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" diff --git a/meta/recipes-devtools/gcc/gcc-cross_4.5.0.bb b/meta/recipes-devtools/gcc/gcc-cross_4.5.0.bb index 2246663594..d3a068e1f6 100644 --- a/meta/recipes-devtools/gcc/gcc-cross_4.5.0.bb +++ b/meta/recipes-devtools/gcc/gcc-cross_4.5.0.bb @@ -1,4 +1,4 @@ -PR = "r8" +PR = "r9" require gcc-${PV}.inc require gcc-cross4.inc diff --git a/meta/recipes-devtools/gcc/gcc-runtime_4.5.0.bb b/meta/recipes-devtools/gcc/gcc-runtime_4.5.0.bb index 2231c4269e..79ce466a29 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime_4.5.0.bb +++ b/meta/recipes-devtools/gcc/gcc-runtime_4.5.0.bb @@ -1,4 +1,4 @@ -PR = "r7" +PR = "r8" require gcc-${PV}.inc require gcc-configure-runtime.inc diff --git a/meta/recipes-devtools/gcc/gcc_4.5.0.bb b/meta/recipes-devtools/gcc/gcc_4.5.0.bb index 45bbb01e40..a42fb39764 100644 --- a/meta/recipes-devtools/gcc/gcc_4.5.0.bb +++ b/meta/recipes-devtools/gcc/gcc_4.5.0.bb @@ -1,4 +1,4 @@ -PR = "r7" +PR = "r8" require gcc-${PV}.inc require gcc-configure-target.inc -- cgit 1.2.3-korg