tune-*: ensure we apply the e500v2 gcc ice fix

Push out our append to TUNE_CCARGS to the end of the parse with _append, so it
shouldn't be affected by the e500v2 :=, and manually apply its gcc ice fix.

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
This commit is contained in:
Christopher Larson
2013-08-21 07:58:41 -07:00
parent e71ffa3603
commit 965ae8df88
2 changed files with 7 additions and 3 deletions

View File

@@ -5,7 +5,7 @@ require conf/machine/include/powerpc/arch-powerpc.inc
TUNEVALID[ppce500mc] = "Enable ppce500mc specific processor optimizations"
PPCE500MC_CCARG = "${@'-te500mc' if d.getVar('CSL_IS_PRO', True) == '1' else '-mcpu=e500mc'}"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", PPCE500MC_CCARG, "", d)}"
TUNE_CCARGS_append = " ${@bb.utils.contains("TUNE_FEATURES", "ppce500mc", PPCE500MC_CCARG, "", d)}"
AVAILTUNES += "ppce500mc"
TUNE_FEATURES_tune-ppce500mc = "m32 fpu-hard ppce500mc"

View File

@@ -4,8 +4,12 @@ require conf/machine/include/powerpc/arch-powerpc.inc
TUNEVALID[ppce500v2] = "Enable ppce500v2 specific processor optimizations"
PPCE500V2_CCARG = "${@'-te500v2' if d.getVar('CSL_IS_PRO', True) == '1' else '-mcpu=8548 -mabi=spe -mspe -mfloat-gprs=double'}"
TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "ppce500v2", PPCE500V2_CCARG, "", d)}"
# FIXME
# Workaround for ICE of gcc-4.8.x when passing -mfloat-gprs=double
# Bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57717#c1
# Replace double-float with single-float, revert this when above bug is fixed
PPCE500V2_CCARG = "${@'-te500v2' if d.getVar('CSL_IS_PRO', True) == '1' else '-mcpu=8548 -mabi=spe -mspe -mfloat-gprs=single'}"
TUNE_CCARGS_append = " ${@bb.utils.contains("TUNE_FEATURES", "ppce500v2", PPCE500V2_CCARG, "", d)}"
# Note that SPE is implied by the ppce500v2 feature
TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "ppce500v2", "ppc-efd", "", d)}"