From patchwork Thu Mar 22 15:32:22 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: powerpc: fix overly aggressive TUNE_PKGARCH set Date: Thu, 22 Mar 2012 15:32:22 -0000 From: McClintock Matthew-B29882 X-Patchwork-Id: 24165 Message-Id: To: Patches and discussions about the oe-core layer Cc: McClintock Matthew-B29882 , Christopher Larson On Thu, Mar 22, 2012 at 10:27 AM, Chris Larson wrote: > On Thu, Mar 22, 2012 at 8:21 AM, McClintock Matthew-B29882 > wrote: >> On Thu, Mar 22, 2012 at 10:08 AM, Chris Larson wrote: >>> On Thu, Mar 22, 2012 at 8:00 AM, Christopher Larson wrote: >>>> From: Christopher Larson >>>> >>>> There's a problem in arch-powerpc.inc today, wherein it directly sets >>>> TUNE_PKGARCH, rather than setting TUNE_PKGARCH_tune-. As a result, >>>> more specific tuning files (e.g. ppce500mc) then see their >>>> TUNE_PKGARCH_tune- variable definitions no longer obeyed. As >>>> a consequence, the TUNE_PKGARCH ends up as 'powerpc' or 'powerpc-nf' rather >>>> than 'ppce500mc', which in turn causes a 'TUNE_PKGARCH not in PACKAGE_ARCHS' >>>> failure in the build. >>>> >>>> To fix, the .inc now sets TUNE_PKGARCH_tune-powerpc and >>>> TUNE_PKGARCH_tune-powerpc-nf rather than TUNE_PKGARCH. >>>> >>>> Signed-off-by: Christopher Larson >>>> --- >>>>  meta/conf/machine/include/powerpc/arch-powerpc.inc |    5 +++-- >>>>  1 files changed, 3 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc >>>> index c9b2829..f811a3e 100644 >>>> --- a/meta/conf/machine/include/powerpc/arch-powerpc.inc >>>> +++ b/meta/conf/machine/include/powerpc/arch-powerpc.inc >>>> @@ -21,13 +21,14 @@ ABIEXTENSION = "${@['','spe'][d.getVar('TARGET_FPU', True) in ['ppc-efd', 'ppc-e >>>>  PPCPKGSFX_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard" , "", "-nf", d)}" >>>> >>>>  PPCPKGARCH = "${TUNE_ARCH}${PPCPKGSFX_FPU}" >>>> -TUNE_PKGARCH ?= "${PPCPKGARCH}" >>>> >>>>  # Basic tune definitions >>>> -AVAILTUNES += "powerpc powerpc-nf" >>>> +AVAILTUNES += "powerpc powerpc-nf" >>>>  TUNE_FEATURES_tune-powerpc-nf ?= "m32 fpu-soft" >>>> +TUNE_PKGARCH_tune-powerpc-nf = "${PPCPKGARCH}" >>>>  BASE_LIB_tune-powerpc-nf = "lib" >>>>  PACKAGE_EXTRA_ARCHS_tune-powerpc-nf = "powerpc-nf" >>>>  TUNE_FEATURES_tune-powerpc ?= "m32 fpu-hard" >>>> +TUNE_PKGARCH_tune-powerpc = "${PPCPKGARCH}" >>>>  BASE_LIB_tune-powerpc = "lib" >>>>  PACKAGE_EXTRA_ARCHS_tune-powerpc = "powerpc >>> >>> Hmm, actually, there's no reason these can't just set >>> TUNE_PKGARCH_tune-powerpc = "powerpc", etc rather than using the >>> PPCPKGARCH indirection. Anyone more familiar with the tuning code have >>> an opinion here? >> >> I thought this was already fixed in my patch. Seems like it was not applied? >> >> -M >> >> commit 216b54e23a995aea79499b88a99f606bb65579af >> Author: Matthew McClintock >> Date:   Mon Feb 27 10:58:45 2012 -0600 >> >>    arch-powerpc.inc: use default value of TUNE_PKGARCH >> >>    We can use the default value for TUNE_PKGARCH, and now we just >>    append "-nf" if TARGET_FPU is fpu-soft >> >>    Signed-off-by: Matthew McClintock > > Ah, indeed, apparently it was not. That said, it looks like your > version will end up with TUNE_PKGARCH like ppce500mc-nf, is that > correct? You know this stuff better than I do. Ugh. I pasted an old version of my patch the correct version is here: commit 216b54e23a995aea79499b88a99f606bb65579af Author: Matthew McClintock Date: Mon Feb 27 10:58:45 2012 -0600 arch-powerpc.inc: use default value of TUNE_PKGARCH We can use the default value for TUNE_PKGARCH, and now we just append "-nf" if TARGET_FPU is fpu-soft Signed-off-by: Matthew McClintock # Basic tune definitions AVAILTUNES += "powerpc powerpc-nf" diff --git a/meta/conf/machine/include/powerpc/arch-powerpc.inc b/meta/conf/machine/include/powerpc/arch-powerpc.inc index c9b2829..9f588e8 100644 --- a/meta/conf/machine/include/powerpc/arch-powerpc.inc +++ b/meta/conf/machine/include/powerpc/arch-powerpc.inc @@ -18,10 +18,8 @@ TARGET_FPU .= "${@bb.utils.contains("TUNE_FEATURES", "fpu-soft", "soft", "", d)} ABIEXTENSION = "${@['','spe'][d.getVar('TARGET_FPU', True) in ['ppc-efd', 'ppc-efs']]}" -PPCPKGSFX_FPU = "${@bb.utils.contains("TUNE_FEATURES", "fpu-hard" , "", "-nf", d)}" - -PPCPKGARCH = "${TUNE_ARCH}${PPCPKGSFX_FPU}" -TUNE_PKGARCH ?= "${PPCPKGARCH}" +PPCPKGSFX_FPU = "${@['', '-nf'][d.getVar('TARGET_FPU',d,1) in ['fpu-soft']]}" +TUNE_PKGARCH_append = "${PPCPKGSFX_FPU}"