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

Bruce Ashfield bruce.ashfield at gmail.com
Mon Oct 21 20:59:29 UTC 2019


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.

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


More information about the Openembedded-core mailing list