summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-12 16:25:47 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-07-17 10:53:57 +0100
commitd71a35d4f69d3ba0e713fece595ba84c8af5ee4d (patch)
tree6ee2c84ffbae8659683a3bdf8d79d9d1e60c1533
parenta09d55fbfdfa7eccf1f8d3617fd103d55053c514 (diff)
downloadpoky-d71a35d4f69d3ba0e713fece595ba84c8af5ee4d.tar.gz
crosssdk/nativesdk: Ensure EXTRA_OECONF_FPU is unset
If EXTRA_OECONF_FPU is left set, certain ARM variables related to hard-float can get pulled in and trigger rebuilds of the crosssdk code. The best solution is to simply force the variable to a known correct value for the SDK targets currently supported in the same way as TARGET_FPU. There is some slight rearrangement of the gcc code to ensure the variable is always used to call the fpu function. (From OE-Core rev: 410990445ada8cdcfaec4e6fa5791cee9a5b8983) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/crosssdk.bbclass3
-rw-r--r--meta/classes/nativesdk.bbclass1
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-initial.inc2
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-intermediate.inc2
4 files changed, 6 insertions, 2 deletions
diff --git a/meta/classes/crosssdk.bbclass b/meta/classes/crosssdk.bbclass
index 93aba7022e..f3a502ab79 100644
--- a/meta/classes/crosssdk.bbclass
+++ b/meta/classes/crosssdk.bbclass
@@ -28,3 +28,6 @@ baselib = "lib"
28 28
29do_populate_sysroot[stamp-extra-info] = "" 29do_populate_sysroot[stamp-extra-info] = ""
30do_package[stamp-extra-info] = "" 30do_package[stamp-extra-info] = ""
31
32# Need to force this to ensure consitency accross architectures
33EXTRA_OECONF_FPU = ""
diff --git a/meta/classes/nativesdk.bbclass b/meta/classes/nativesdk.bbclass
index a58fce2040..7deaafc670 100644
--- a/meta/classes/nativesdk.bbclass
+++ b/meta/classes/nativesdk.bbclass
@@ -36,6 +36,7 @@ TARGET_CC_ARCH = "${SDK_CC_ARCH}"
36TARGET_LD_ARCH = "${SDK_LD_ARCH}" 36TARGET_LD_ARCH = "${SDK_LD_ARCH}"
37TARGET_AS_ARCH = "${SDK_AS_ARCH}" 37TARGET_AS_ARCH = "${SDK_AS_ARCH}"
38TARGET_FPU = "" 38TARGET_FPU = ""
39EXTRA_OECONF_FPU = ""
39 40
40CPPFLAGS = "${BUILDSDK_CPPFLAGS}" 41CPPFLAGS = "${BUILDSDK_CPPFLAGS}"
41CFLAGS = "${BUILDSDK_CFLAGS}" 42CFLAGS = "${BUILDSDK_CFLAGS}"
diff --git a/meta/recipes-devtools/gcc/gcc-cross-initial.inc b/meta/recipes-devtools/gcc/gcc-cross-initial.inc
index faec391dcb..0523698030 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-initial.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-initial.inc
@@ -21,7 +21,7 @@ EXTRA_OECONF = "--with-newlib \
21 --with-sysroot=${STAGING_DIR_TARGET} \ 21 --with-sysroot=${STAGING_DIR_TARGET} \
22 --with-build-sysroot=${STAGING_DIR_TARGET} \ 22 --with-build-sysroot=${STAGING_DIR_TARGET} \
23 ${EXTRA_OECONF_INITIAL} \ 23 ${EXTRA_OECONF_INITIAL} \
24 ${@get_gcc_fpu_setting(bb, d)}" 24 ${EXTRA_OECONF_FPU}"
25 25
26do_compile () { 26do_compile () {
27 oe_runmake all-gcc all-target-libgcc 27 oe_runmake all-gcc all-target-libgcc
diff --git a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
index c940e549c5..e06926d6e1 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-intermediate.inc
@@ -23,7 +23,7 @@ EXTRA_OECONF = "--enable-shared \
23 --with-sysroot=${STAGING_DIR_TCBOOTSTRAP} \ 23 --with-sysroot=${STAGING_DIR_TCBOOTSTRAP} \
24 --with-build-sysroot=${STAGING_DIR_TCBOOTSTRAP} \ 24 --with-build-sysroot=${STAGING_DIR_TCBOOTSTRAP} \
25 ${EXTRA_OECONF_INTERMEDIATE} \ 25 ${EXTRA_OECONF_INTERMEDIATE} \
26 ${@get_gcc_fpu_setting(bb, d)} \ 26 ${EXTRA_OECONF_FPU} \
27 ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '--with-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)}" 27 ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '--with-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)}"
28 28
29do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_HOST} ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/${target_base_libdir}" 29do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_HOST} ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/${target_base_libdir}"