[OE-core] [PATCH 3/6] perf: fix v5.4+ builds

Bruce Ashfield bruce.ashfield at gmail.com
Mon Oct 21 21:11:05 UTC 2019


On Mon, Oct 21, 2019 at 4:59 PM Bruce Ashfield <bruce.ashfield at gmail.com> wrote:
>
> On Mon, Oct 21, 2019 at 4:23 PM Martin Jansa <martin.jansa at gmail.com> wrote:
> >
> > On Mon, Oct 21, 2019 at 04:16:15PM -0400, bruce.ashfield at gmail.com wrote:
> > > From: Bruce Ashfield <bruce.ashfield at gmail.com>
> > >
> > > When building perf for 5.4+, we have some new files that need to
> > > be copied (and synchronized) due to structural changes in the
> > > kernel source tree.
> > >
> > > Some of the issues these fixes are warnings, but none the less,
> > > they are worth fixing.
> > >
> > >  - We copy arch/${ARCH}/Makefile, since it is source by some perf
> > >    Makefiles
> > >
> > >  - We copy scripts/, since the perf utilities are looking for files
> > >    in that directory stucture.
> > >
> > >  - We have *three* copies of ctypes.h in the tools/* hierarchy
> > >    during the build. If the tools/perf/util/include/linux/ variant
> > >    is used, it will trigger build errors since it is not complete.
> > >    We copy the kernel's main include/linux/ctype.h to ensure they
> > >    are in sync.
> > >
> > > Signed-off-by: Bruce Ashfield <bruce.ashfield at gmail.com>
> > > ---
> > >  meta/recipes-kernel/perf/perf.bb | 7 +++++++
> > >  1 file changed, 7 insertions(+)
> > >
> > > diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
> > > index 8201c0cb60..0f5df74f11 100644
> > > --- a/meta/recipes-kernel/perf/perf.bb
> > > +++ b/meta/recipes-kernel/perf/perf.bb
> > > @@ -113,6 +113,8 @@ PERF_SRC ?= "Makefile \
> > >               tools/Makefile \
> > >               tools/perf \
> > >               tools/scripts \
> > > +             scripts/ \
> > > +             arch/${ARCH}/Makefile \
> > >  "
> > >
> > >  PERF_EXTRA_LDFLAGS = ""
> > > @@ -246,6 +248,11 @@ do_configure_prepend () {
> > >
> > >      # bits.h can have the same issue as unistd.h, so we make the tools variant take precedence
> > >      [ -e ${S}/tools/include/linux/bits.h ] && install -D -m0644 ${S}/tools/include/linux/bits.h ${S}/include/linux/bits.h
> > > +
> > > +    [ -e ${S}/tools/perf/util/include/linux/ctype.h ] && install -D -m0644 ${S}/include/linux/ctype.h ${S}/tools/perf/util/include/linux/ctype.h
> >
> > This one doesn't look right, why are you checking for the destination
> > existence instead of source?
>
> It wasn't showing up in all of the versions that I tested, so I added
> the check to ensure that the copied util/include even had the file
> before copying something into that location. I can double check my
> logs to be sure (about it not being everywhere), but I did intend to
> test it the way it is written.

.... and having another look at this, I could just as easily test for
the destination (or both!), since in practice if one is there, the
other is there. I only added the check as a safety check for kernels
that I can't test against.

So I can easily switch this, or wait to see if master finds any perf
breakage with my "drop include" patch, and none of the tests will
matter at all. I'm ok with any or all of the above (fix and wait, fix,
or wait).

Bruce

>
> Bruce
>
> >
> > > +    [ -e ${S}/include/uapi/linux/kvm.h ] && install -D -m0644 ${S}/include/uapi/linux/kvm.h  ${S}/tools/include/uapi/linux/kvm.h
> > > +    [ -e ${S}/include/uapi/linux/sched.h ] && install -D -m0644 ${S}/include/uapi/linux/sched.h  ${S}/tools/include/uapi/linux/sched.h
> > >  }
> > >
> > >  python do_package_prepend() {
> > > --
> > > 2.19.1
> > >
> > > --
> > > _______________________________________________
> > > Openembedded-core mailing list
> > > Openembedded-core at lists.openembedded.org
> > > http://lists.openembedded.org/mailman/listinfo/openembedded-core
> >
> > --
> > Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
>
>
>
> --
> - Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end
> - "Use the force Harry" - Gandalf, Star Trek II



-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II


More information about the Openembedded-core mailing list