From 2c6f4206405dfdc93a38c081ff2975eb07e0f480 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield Date: Mon, 21 Oct 2019 16:16:15 -0400 Subject: [PATCH] perf: fix v5.4+ builds 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. (From OE-Core rev: 6a000d734c2fe57b4a601fe7e7373096345b02b4) Signed-off-by: Bruce Ashfield Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- 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 + + [ -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() {