summaryrefslogtreecommitdiff
path: root/meta/packages/gcc
diff options
context:
space:
mode:
authorNitin A Kamble <nitin.a.kamble@intel.com>2010-07-30 14:05:16 -0700
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-10 15:02:09 +0100
commit1842635ee89b1ffb3b6fda2c9fecaff973900f0a (patch)
tree99cdf8ed7bb8c20e5ea209f15c7fc56d4fb280e2 /meta/packages/gcc
parent8fd7cc38b54a62cdc00f505cbfcb25a37013f641 (diff)
downloadopenembedded-core-1842635ee89b1ffb3b6fda2c9fecaff973900f0a.tar.gz
openembedded-core-1842635ee89b1ffb3b6fda2c9fecaff973900f0a.tar.bz2
openembedded-core-1842635ee89b1ffb3b6fda2c9fecaff973900f0a.zip
gcc-4.5.0: import some ppc & mips fixes from oe recipes
for ppc glibc build failes with -os (optimize for size) gcc option. so the fix disables this gcc options on ppc. MIPS fix is added in the hope of helping webkit-gtk build failure (gcc seg fault). And fix the PR bumps for all affected recipes Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Diffstat (limited to 'meta/packages/gcc')
-rw-r--r--meta/packages/gcc/gcc-common.inc5
-rw-r--r--meta/packages/gcc/gcc-configure-common.inc11
-rw-r--r--meta/packages/gcc/gcc-cross-canadian_4.5.0.bb2
-rw-r--r--meta/packages/gcc/gcc-cross-initial.inc2
-rw-r--r--meta/packages/gcc/gcc-cross-initial_4.5.0.bb2
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate.inc2
-rw-r--r--meta/packages/gcc/gcc-cross-intermediate_4.5.0.bb2
-rw-r--r--meta/packages/gcc/gcc-cross_4.5.0.bb2
-rw-r--r--meta/packages/gcc/gcc-crosssdk-initial_4.5.0.bb2
-rw-r--r--meta/packages/gcc/gcc-crosssdk-intermediate_4.5.0.bb2
-rw-r--r--meta/packages/gcc/gcc-crosssdk_4.5.0.bb2
-rw-r--r--meta/packages/gcc/gcc-runtime_4.5.0.bb2
-rw-r--r--meta/packages/gcc/gcc_4.5.0.bb2
13 files changed, 25 insertions, 13 deletions
diff --git a/meta/packages/gcc/gcc-common.inc b/meta/packages/gcc/gcc-common.inc
index ea0a48ea0c..1e9c65e662 100644
--- a/meta/packages/gcc/gcc-common.inc
+++ b/meta/packages/gcc/gcc-common.inc
@@ -14,6 +14,11 @@ def get_gcc_fpu_setting(bb, d):
return "--with-float=soft"
return ""
+def get_gcc_mips_plt_setting(bb, d):
+ if bb.data.getVar('TARGET_ARCH', d, 1) in [ 'mips', 'mipsel' ] and 'mplt' in bb.data.getVar('DISTRO_FEATURES',d,1).split() :
+ return "--with-mips-plt"
+ return ""
+
# We really need HOST_SYS here for some packages and TARGET_SYS for others.
# For now, libgcc is most important so we fix for that - RP.
SHLIBSDIR = "${STAGING_DIR_TARGET}/shlibs"
diff --git a/meta/packages/gcc/gcc-configure-common.inc b/meta/packages/gcc/gcc-configure-common.inc
index 3400296c2d..ab42bc5608 100644
--- a/meta/packages/gcc/gcc-configure-common.inc
+++ b/meta/packages/gcc/gcc-configure-common.inc
@@ -12,6 +12,12 @@ JAVA_sh3 ?= ""
# gcc 3.x expects 'f77', 4.0 expects 'f95', 4.1 and 4.2 expect 'fortran'
FORTRAN ?= ",f77"
LANGUAGES ?= "c,c++${FORTRAN}${JAVA}"
+# disable --enable-target-optspace for powerpc SPE
+# at -Os libgcc.so.1 creates references into
+# hidden symbols in libgcc.a which linker complains
+# when linking shared libraries further in the build like (gnutls)
+
+OPTSPACE = "${@base_contains('TARGET_ARCH', 'powerpc', '', '--enable-target-optspace',d)}"
EXTRA_OECONF_BASE ?= ""
EXTRA_OECONF_PATHS ?= ""
@@ -23,7 +29,6 @@ GCCMULTILIB = "--disable-multilib"
EXTRA_OECONF = "${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d, 1) != 'no']} \
--with-gnu-ld \
--enable-shared \
- --enable-target-optspace \
--enable-languages=${LANGUAGES} \
--enable-threads=posix \
${GCCMULTILIB} \
@@ -32,9 +37,11 @@ EXTRA_OECONF = "${@['--enable-clocale=generic', ''][bb.data.getVar('USE_NLS', d,
--enable-symvers=gnu \
--enable-libstdcxx-pch \
--program-prefix=${TARGET_PREFIX} \
+ ${OPTSPACE} \
${EXTRA_OECONF_BASE} \
${EXTRA_OECONF_FPU} \
- ${EXTRA_OECONF_PATHS}"
+ ${EXTRA_OECONF_PATHS} \
+ ${@get_gcc_mips_plt_setting(bb, d)}"
# Build uclibc compilers without cxa_atexit support
EXTRA_OECONF_append_linux = " --enable-__cxa_atexit"
diff --git a/meta/packages/gcc/gcc-cross-canadian_4.5.0.bb b/meta/packages/gcc/gcc-cross-canadian_4.5.0.bb
index 3eea4bcafe..92708d44e7 100644
--- a/meta/packages/gcc/gcc-cross-canadian_4.5.0.bb
+++ b/meta/packages/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 = "r3"
+PR = "r4"
DEPENDS += "gmp-nativesdk mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
RDEPENDS_${PN} += "mpfr-nativesdk libmpc-nativesdk elfutils-nativesdk"
diff --git a/meta/packages/gcc/gcc-cross-initial.inc b/meta/packages/gcc/gcc-cross-initial.inc
index ceedb6f8a9..f582de9843 100644
--- a/meta/packages/gcc/gcc-cross-initial.inc
+++ b/meta/packages/gcc/gcc-cross-initial.inc
@@ -12,7 +12,7 @@ EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \
--disable-multilib \
--disable-__cxa_atexit \
--enable-languages=c \
- --enable-target-optspace \
+ ${OPTSPACE} \
--program-prefix=${TARGET_PREFIX} \
--with-sysroot=${STAGING_DIR_TARGET} \
--with-build-sysroot=${STAGING_DIR_TARGET} \
diff --git a/meta/packages/gcc/gcc-cross-initial_4.5.0.bb b/meta/packages/gcc/gcc-cross-initial_4.5.0.bb
index 38e0964fed..081b7d60fb 100644
--- a/meta/packages/gcc/gcc-cross-initial_4.5.0.bb
+++ b/meta/packages/gcc/gcc-cross-initial_4.5.0.bb
@@ -1,5 +1,5 @@
require gcc-cross_${PV}.bb
require gcc-cross-initial.inc
-PR = "r3"
+PR = "r4"
diff --git a/meta/packages/gcc/gcc-cross-intermediate.inc b/meta/packages/gcc/gcc-cross-intermediate.inc
index bab9d4a224..72a42411b1 100644
--- a/meta/packages/gcc/gcc-cross-intermediate.inc
+++ b/meta/packages/gcc/gcc-cross-intermediate.inc
@@ -10,7 +10,7 @@ EXTRA_OECONF = "--with-local-prefix=${STAGING_DIR_TARGET}${target_prefix} \
--disable-multilib \
--disable-threads \
--enable-languages=c \
- --enable-target-optspace \
+ ${OPTSPACE} \
--program-prefix=${TARGET_PREFIX} \
--with-sysroot=${STAGING_DIR_TARGET} \
--with-build-sysroot=${STAGING_DIR_TARGET} \
diff --git a/meta/packages/gcc/gcc-cross-intermediate_4.5.0.bb b/meta/packages/gcc/gcc-cross-intermediate_4.5.0.bb
index e65d5df671..9a30cb5119 100644
--- a/meta/packages/gcc/gcc-cross-intermediate_4.5.0.bb
+++ b/meta/packages/gcc/gcc-cross-intermediate_4.5.0.bb
@@ -1,4 +1,4 @@
require gcc-cross_${PV}.bb
require gcc-cross-intermediate.inc
-PR = "r3"
+PR = "r4"
diff --git a/meta/packages/gcc/gcc-cross_4.5.0.bb b/meta/packages/gcc/gcc-cross_4.5.0.bb
index 3d75bd4a19..04e4f8d212 100644
--- a/meta/packages/gcc/gcc-cross_4.5.0.bb
+++ b/meta/packages/gcc/gcc-cross_4.5.0.bb
@@ -1,4 +1,4 @@
-PR = "r3"
+PR = "r4"
require gcc-${PV}.inc
require gcc-cross4.inc
diff --git a/meta/packages/gcc/gcc-crosssdk-initial_4.5.0.bb b/meta/packages/gcc/gcc-crosssdk-initial_4.5.0.bb
index fec53b931c..970824805f 100644
--- a/meta/packages/gcc/gcc-crosssdk-initial_4.5.0.bb
+++ b/meta/packages/gcc/gcc-crosssdk-initial_4.5.0.bb
@@ -1,4 +1,4 @@
require gcc-cross-initial_${PV}.bb
require gcc-crosssdk-initial.inc
-PR = "r3"
+PR = "r4"
diff --git a/meta/packages/gcc/gcc-crosssdk-intermediate_4.5.0.bb b/meta/packages/gcc/gcc-crosssdk-intermediate_4.5.0.bb
index 161d870e63..d235969591 100644
--- a/meta/packages/gcc/gcc-crosssdk-intermediate_4.5.0.bb
+++ b/meta/packages/gcc/gcc-crosssdk-intermediate_4.5.0.bb
@@ -1,4 +1,4 @@
require gcc-cross-intermediate_${PV}.bb
require gcc-crosssdk-intermediate.inc
-PR = "r3"
+PR = "r4"
diff --git a/meta/packages/gcc/gcc-crosssdk_4.5.0.bb b/meta/packages/gcc/gcc-crosssdk_4.5.0.bb
index 70690881aa..bae238970a 100644
--- a/meta/packages/gcc/gcc-crosssdk_4.5.0.bb
+++ b/meta/packages/gcc/gcc-crosssdk_4.5.0.bb
@@ -1,4 +1,4 @@
require gcc-cross_${PV}.bb
require gcc-crosssdk.inc
-PR = "r3"
+PR = "r4"
diff --git a/meta/packages/gcc/gcc-runtime_4.5.0.bb b/meta/packages/gcc/gcc-runtime_4.5.0.bb
index c1e680d3c0..9eb658b12c 100644
--- a/meta/packages/gcc/gcc-runtime_4.5.0.bb
+++ b/meta/packages/gcc/gcc-runtime_4.5.0.bb
@@ -1,4 +1,4 @@
-PR = "r3"
+PR = "r4"
require gcc-${PV}.inc
require gcc-configure-runtime.inc
diff --git a/meta/packages/gcc/gcc_4.5.0.bb b/meta/packages/gcc/gcc_4.5.0.bb
index 7c1869f503..c14914cddb 100644
--- a/meta/packages/gcc/gcc_4.5.0.bb
+++ b/meta/packages/gcc/gcc_4.5.0.bb
@@ -1,4 +1,4 @@
-PR = "r3"
+PR = "r4"
require gcc-${PV}.inc
require gcc-configure-target.inc