crosssdk/nativesdk: Ensure EXTRA_OECONF_FPU is unset
PATCH 1/1 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.
Signed-off-by Richard Purdie <[email protected]>
---
meta/classes/crosssdk.bbclass +3 -0
@@ -28,3 +28,6 @@ baselib = "lib" do_populate_sysroot[stamp-extra-info] = "" do_package[stamp-extra-info] = "" + +# Need to force this to ensure consitency accross architectures +EXTRA_OECONF_FPU = ""
meta/classes/nativesdk.bbclass +1 -0
@@ -36,6 +36,7 @@ TARGET_CC_ARCH = "${SDK_CC_ARCH}" TARGET_LD_ARCH = "${SDK_LD_ARCH}" TARGET_AS_ARCH = "${SDK_AS_ARCH}" TARGET_FPU = "" +EXTRA_OECONF_FPU = "" CPPFLAGS = "${BUILDSDK_CPPFLAGS}" CFLAGS = "${BUILDSDK_CFLAGS}"
meta/recipes-devtools/gcc/gcc-cross-initial.inc +1 -1
@@ -22,7 +22,7 @@ EXTRA_OECONF = "--with-newlib \ --with-build-sysroot=${STAGING_DIR_TARGET} \ ${EXTRA_OECONF_INITIAL} \ ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '--with-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)} \ - ${@get_gcc_fpu_setting(bb, d)}" + ${EXTRA_OECONF_FPU}" do_compile () { oe_runmake all-gcc all-target-libgcc
meta/recipes-devtools/gcc/gcc-cross-intermediate.inc +1 -1
@@ -23,7 +23,7 @@ EXTRA_OECONF = "--enable-shared \ --with-sysroot=${STAGING_DIR_TCBOOTSTRAP} \ --with-build-sysroot=${STAGING_DIR_TCBOOTSTRAP} \ ${EXTRA_OECONF_INTERMEDIATE} \ - ${@get_gcc_fpu_setting(bb, d)} \ + ${EXTRA_OECONF_FPU} \ ${@base_contains('DISTRO_FEATURES', 'ld-is-gold', '--with-ld=${STAGING_BINDIR_TOOLCHAIN}/${TARGET_PREFIX}ld.bfd', '', d)}" do_populate_sysroot[sstate-inputdirs] = "${SYSROOT_DESTDIR}/${STAGING_DIR_HOST} ${SYSROOT_DESTDIR}/${STAGING_DIR_TARGET}/${target_base_libdir}"