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

Richard Purdie richard.purdie at linuxfoundation.org
Thu Mar 22 16:38:31 UTC 2012


On Thu, 2012-03-22 at 08:33 -0700, Chris Larson wrote:
> On Thu, Mar 22, 2012 at 8:32 AM, McClintock Matthew-B29882
> <B29882 at freescale.com> wrote:
> > 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}"
> 
> Cool, thanks. For what it's worth, oe-core folk, this has my ack, as
> Mentor is going to need this fix also in the long term :)

d.getVar('TARGET_FPU',d,1) is not valid.

Can someone please send me a correct version of this patch! :)

Cheers,

Richard









More information about the Openembedded-core mailing list