diff options
| author | Dongxiao Xu <dongxiao.xu@intel.com> | 2010-09-19 22:29:09 +0800 |
|---|---|---|
| committer | Saul Wold <Saul.Wold@intel.com> | 2010-09-22 09:52:41 -0700 |
| commit | 460954b1b31981f0857f338d2fa702af9395a652 (patch) | |
| tree | a4ac4ad642a9cebf7e9d799e574b495dcbe4945e | |
| parent | b80483094f3b08d86cf753d75a5ca6e79d103bff (diff) | |
| download | poky-460954b1b31981f0857f338d2fa702af9395a652.tar.gz | |
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 <dongxiao.xu@intel.com>
| -rw-r--r-- | meta/conf/distro/include/poky-default.inc | 1 | ||||
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.5.0.inc | 1 | ||||
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.5.0/disable_relax_pic_calls_flag.patch | 44 | ||||
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-cross-canadian_4.5.0.bb | 2 | ||||
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-cross_4.5.0.bb | 2 | ||||
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc-runtime_4.5.0.bb | 2 | ||||
| -rw-r--r-- | meta/recipes-devtools/gcc/gcc_4.5.0.bb | 2 |
7 files changed, 49 insertions, 5 deletions
diff --git a/meta/conf/distro/include/poky-default.inc b/meta/conf/distro/include/poky-default.inc index 0dabeec27c..1e1a04c1f2 100644 --- a/meta/conf/distro/include/poky-default.inc +++ b/meta/conf/distro/include/poky-default.inc | |||
| @@ -16,7 +16,6 @@ PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk ?= "${POKYLIBC}-n | |||
| 16 | 16 | ||
| 17 | 17 | ||
| 18 | GCCVERSION ?= "4.5.0" | 18 | GCCVERSION ?= "4.5.0" |
| 19 | GCCVERSION_mips ?= "4.3.3" | ||
| 20 | SDKGCCVERSION ?= "4.5.0" | 19 | SDKGCCVERSION ?= "4.5.0" |
| 21 | BINUVERSION ?= "2.20.1" | 20 | BINUVERSION ?= "2.20.1" |
| 22 | GLIBCVERSION ?= "2.10.1" | 21 | GLIBCVERSION ?= "2.10.1" |
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 \ | |||
| 47 | file://gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ | 47 | file://gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \ |
| 48 | file://64bithack.patch \ | 48 | file://64bithack.patch \ |
| 49 | file://optional_libstdc.patch \ | 49 | file://optional_libstdc.patch \ |
| 50 | file://disable_relax_pic_calls_flag.patch \ | ||
| 50 | " | 51 | " |
| 51 | 52 | ||
| 52 | SRC_URI_append_sh3 = " file://sh3-installfix-fixheaders.patch;patch=1 " | 53 | 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 @@ | |||
| 1 | GCC: disable MASK_RELAX_PIC_CALLS bit | ||
| 2 | |||
| 3 | The new feature added after 4.3.3 | ||
| 4 | "http://www.pubbs.net/200909/gcc/94048-patch-add-support-for-rmipsjalr.html" | ||
| 5 | will cause cc1plus eat up all the system memory when build webkit-gtk. | ||
| 6 | The function mips_get_pic_call_symbol keeps on recursively calling itself. | ||
| 7 | Disable this feature to walk aside the bug. | ||
| 8 | |||
| 9 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> | ||
| 10 | |||
| 11 | diff -ruN gcc-4.5.0-orig/gcc/configure gcc-4.5.0/gcc/configure | ||
| 12 | --- gcc-4.5.0-orig/gcc/configure 2010-09-17 23:30:21.000000000 +0800 | ||
| 13 | +++ gcc-4.5.0/gcc/configure 2010-09-19 18:21:28.000000000 +0800 | ||
| 14 | @@ -23945,13 +23945,6 @@ | ||
| 15 | rm -f conftest.* | ||
| 16 | fi | ||
| 17 | fi | ||
| 18 | - if test $gcc_cv_as_ld_jalr_reloc = yes; then | ||
| 19 | - if test x$target_cpu_default = x; then | ||
| 20 | - target_cpu_default=MASK_RELAX_PIC_CALLS | ||
| 21 | - else | ||
| 22 | - target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" | ||
| 23 | - fi | ||
| 24 | - fi | ||
| 25 | { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ld_jalr_reloc" >&5 | ||
| 26 | $as_echo "$gcc_cv_as_ld_jalr_reloc" >&6; } | ||
| 27 | |||
| 28 | diff -ruN gcc-4.5.0-orig/gcc/configure.ac gcc-4.5.0/gcc/configure.ac | ||
| 29 | --- gcc-4.5.0-orig/gcc/configure.ac 2010-09-17 23:30:21.000000000 +0800 | ||
| 30 | +++ gcc-4.5.0/gcc/configure.ac 2010-09-19 18:21:11.000000000 +0800 | ||
| 31 | @@ -3467,13 +3467,6 @@ | ||
| 32 | rm -f conftest.* | ||
| 33 | fi | ||
| 34 | fi | ||
| 35 | - if test $gcc_cv_as_ld_jalr_reloc = yes; then | ||
| 36 | - if test x$target_cpu_default = x; then | ||
| 37 | - target_cpu_default=MASK_RELAX_PIC_CALLS | ||
| 38 | - else | ||
| 39 | - target_cpu_default="($target_cpu_default)|MASK_RELAX_PIC_CALLS" | ||
| 40 | - fi | ||
| 41 | - fi | ||
| 42 | AC_MSG_RESULT($gcc_cv_as_ld_jalr_reloc) | ||
| 43 | |||
| 44 | 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 | |||
| 5 | require gcc-configure-sdk.inc | 5 | require gcc-configure-sdk.inc |
| 6 | require gcc-package-sdk.inc | 6 | require gcc-package-sdk.inc |
| 7 | 7 | ||
| 8 | PR = "r7" | 8 | PR = "r8" |
| 9 | 9 | ||
| 10 | DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" | 10 | DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" |
| 11 | RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk" | 11 | 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 @@ | |||
| 1 | PR = "r8" | 1 | PR = "r9" |
| 2 | 2 | ||
| 3 | require gcc-${PV}.inc | 3 | require gcc-${PV}.inc |
| 4 | require gcc-cross4.inc | 4 | 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 @@ | |||
| 1 | PR = "r7" | 1 | PR = "r8" |
| 2 | 2 | ||
| 3 | require gcc-${PV}.inc | 3 | require gcc-${PV}.inc |
| 4 | require gcc-configure-runtime.inc | 4 | 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 @@ | |||
| 1 | PR = "r7" | 1 | PR = "r8" |
| 2 | 2 | ||
| 3 | require gcc-${PV}.inc | 3 | require gcc-${PV}.inc |
| 4 | require gcc-configure-target.inc | 4 | require gcc-configure-target.inc |
