[OE-core] [PATCH] perf: fix build with kernel older than 4.8
Martin Jansa
martin.jansa at gmail.com
Thu May 24 16:07:36 UTC 2018
Even older kernels than 4.4 might need even more files to be copied first,
with 3.16 kernel I'm seeing:
FLAGS: * new build flags or prefix
Makefile:358: scripts/Kbuild.include: No such file or directory
Makefile:614: arch/arm/Makefile: No such file or directory
/bin/bash: ./scripts/gcc-goto.sh: No such file or directory
Makefile:755: scripts/Makefile.kasan: No such file or directory
Makefile:756: scripts/Makefile.extrawarn: No such file or directory
make[2]: *** No rule to make target `scripts/Makefile.extrawarn'. Stop.
PERF_VERSION =
Adding scripts, arch, lib to PERF_SRC fixes the build with 3.16, but not
sure if you want to support such old kernel in oe-core.
Adding PERF_SRC_append = "scripts arch lib" in perf.bbappend works as well.
On Thu, May 24, 2018 at 4:55 PM Martin Jansa <martin.jansa at gmail.com> wrote:
> * perf is failing to build for me since this oe-core commit:
> commit 9b38c824961fc9dce51bda95c25dac91a69fc64f
> Author: Hongxu Jia <hongxu.jia at windriver.com>
> Date: Tue Apr 24 11:33:47 2018 +0800
>
> perf: make a copy of kernel source to perf workdir
>
> the problem is that perf sources in kernel older than 4.8 (in my case
> 4.4) are depending on the "global" include headers outside tools
> directory, e.g. swab.h in:
> kernel-source/tools$ git grep swab.h
> perf/MANIFEST:include/linux/swab.h
> perf/MANIFEST:include/uapi/linux/swab.h
> perf/util/include/asm/byteorder.h:#include
> "../../../../include/uapi/linux/swab.h"
>
> this was resolved in 4.8 with:
> commit 7e3f36411342a54f1981fa97b43550b8406a3d69
> Author: Arnaldo Carvalho de Melo <acme at redhat.com>
> Date: Mon Jul 18 17:42:16 2016 -0300
>
> perf tools: Remove tools/perf/util/include/asm/byteorder.h
>
> Not used anymore. This also stops include linux/swab.h directly
> from the kernel sources, remove that reference from the MANIFEST.
>
> and few more changes to make tools/include more complete and standalone:
> tools/include in 4.15:
> asm asm-generic linux tools trace uapi
>
> tools/include in 4.4:
> asm asm-generic linux tools
>
> but copying the include header even for kernels which don't really
> need it doesn't add big overhead, so just copy include to perf sources
> for all kernels.
>
> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> ---
> meta/recipes-kernel/perf/perf.bb | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/
> perf.bb
> index fb4e3ac668..51f5597eb9 100644
> --- a/meta/recipes-kernel/perf/perf.bb
> +++ b/meta/recipes-kernel/perf/perf.bb
> @@ -98,6 +98,7 @@ EXTRA_OEMAKE += "\
> "
>
> PERF_SRC ?= "Makefile \
> + include \
> tools/arch \
> tools/build \
> tools/include \
> --
> 2.17.0
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20180524/88060c04/attachment-0002.html>
More information about the Openembedded-core
mailing list