From: Max Krummenacher <[email protected]> Kernel 6.7-rc1 commit 02e85f74668e ("tools: arm64: Add a Makefile for generating sysreg-defs.h") uses files from arch/arm64/tools/, gen-sysreg.awk and sysreg. Without the files the build of perf fails independent of the used architecture (confirmed with armv7 and qemux86_64).
As arch/arm64/tools/ has been added with 5.13 allow perf to build even it that directory does not exist. Add arch/arm64/tools/ to PERF_SRC. Fixes: | make[3]: *** No rule to make target '.../qemux86_64-tdx-linux/perf/1.0/perf-1.0/arch/arm64/tools/gen-sysreg.awk', needed by '.../qemux86_64-tdx-linux/perf/1.0/perf-1.0/tools/arch/arm64/include/generated/asm/sysreg-defs.h'. Stop. | make[2]: *** [Makefile.perf:456: arm64-sysreg-defs] Error 2 Signed-off-by: Max Krummenacher <[email protected]> --- meta/recipes-kernel/perf/perf.bb | 5 +++++ 1 file changed, 5 insertions(+) Hi all I see some other options: - drop perf support for kernels<5.13 and simply add to PERF_SRC - drop the bb.fatal in favour of continue and simply add to PERF_SRC Any comments? Thanks. Max diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb index 675acfaf26..dae9320169 100644 --- a/meta/recipes-kernel/perf/perf.bb +++ b/meta/recipes-kernel/perf/perf.bb @@ -117,6 +117,7 @@ EXTRA_OEMAKE += "\ # honour a JOBS variable. EXTRA_OEMAKE:append:task-configure = " JOBS=1" +PERF_SRC_OPTIONAL ?= "arch/arm64/tools" PERF_SRC ?= "Makefile \ tools/arch \ tools/build \ @@ -127,6 +128,7 @@ PERF_SRC ?= "Makefile \ tools/scripts \ scripts/ \ arch/${ARCH}/Makefile \ + ${PERF_SRC_OPTIONAL} \ " PERF_EXTRA_LDFLAGS = "" @@ -162,6 +164,7 @@ do_install() { do_configure[prefuncs] += "copy_perf_source_from_kernel" python copy_perf_source_from_kernel() { + sources_opt = (d.getVar("PERF_SRC_OPTIONAL") or "").split() sources = (d.getVar("PERF_SRC") or "").split() src_dir = d.getVar("STAGING_KERNEL_DIR") dest_dir = d.getVar("S") @@ -171,6 +174,8 @@ python copy_perf_source_from_kernel() { src = oe.path.join(src_dir, s) dest = oe.path.join(dest_dir, s) if not os.path.exists(src): + if s in sources_opt: + continue bb.fatal("Path does not exist: %s. Maybe PERF_SRC does not match the kernel version." % src) if os.path.isdir(src): oe.path.copyhardlinktree(src, dest) -- 2.35.3
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#190245): https://lists.openembedded.org/g/openembedded-core/message/190245 Mute This Topic: https://lists.openembedded.org/mt/102428403/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
