[OE-core] [PATCH] powerpc: fix overly aggressive TUNE_PKGARCH set

McClintock Matthew-B29882 B29882 at freescale.com
Thu Mar 22 15:32:22 UTC 2012


On Thu, Mar 22, 2012 at 10:27 AM, Chris Larson <clarson at kergoth.com> wrote:
> On Thu, Mar 22, 2012 at 8:21 AM, McClintock Matthew-B29882
> <B29882 at freescale.com> wrote:
>> On Thu, Mar 22, 2012 at 10:08 AM, Chris Larson <kergoth at gmail.com> wrote:
>>> On Thu, Mar 22, 2012 at 8:00 AM, Christopher Larson <kergoth at gmail.com> wrote:
>>>> From: Christopher Larson <chris_larson at mentor.com>
>>>>
>>>> There's a problem in arch-powerpc.inc today, wherein it directly sets
>>>> TUNE_PKGARCH, rather than setting TUNE_PKGARCH_tune-<tuning>. As a result,
>>>> more specific tuning files (e.g. ppce500mc) then see their
>>>> TUNE_PKGARCH_tune-<tuning> 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 <chris_larson at mentor.com>
>>>> ---
>>>>  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 <msm at freescale.com>
>> 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 <msm at freescale.com>
>
> 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 <msm at freescale.com>
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 <msm at freescale.com>

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}"

 # Basic tune definitions
 AVAILTUNES += "powerpc powerpc-nf"




More information about the Openembedded-core mailing list