summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2025-10-13 12:32:20 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-10-13 18:01:03 +0100
commitb12f36c46e6080df386cc359fc15b61984315ca5 (patch)
treee60ca9ad9608a42f4f436928c7fa06aa5fd5fce5 /meta
parentfd601b6168ef5d5cc04e13b5a21bcdeff5b2cb26 (diff)
downloadpoky-b12f36c46e6080df386cc359fc15b61984315ca5.tar.gz
perf: Improve build race/reproducibulity fixes
The include options shouldn't be needed with the make fix but issues still remained. Looking at the logs, it looks like these are from other header directories and we need to run "make install_headers" for all of the sub components before starting the main build. Update the workaround to do that for each component with internal header copies. (From OE-Core rev: 0b5f0a7b1db9f6923c027719181fa60f8fdb73e4) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-kernel/perf/perf.bb8
1 files changed, 6 insertions, 2 deletions
diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
index 3b9e52fdb8..1ac13e7269 100644
--- a/meta/recipes-kernel/perf/perf.bb
+++ b/meta/recipes-kernel/perf/perf.bb
@@ -105,7 +105,7 @@ EXTRA_OEMAKE = '\
105 LDSHARED="${CC} -shared" \ 105 LDSHARED="${CC} -shared" \
106 AR="${AR}" \ 106 AR="${AR}" \
107 LD="${LD}" \ 107 LD="${LD}" \
108 EXTRA_CFLAGS="-ldw -I${S} -I${S}/libperf/include -I${S}/tools/lib/perf/include" \ 108 EXTRA_CFLAGS="-ldw -I${S}" \
109 YFLAGS='-y --file-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}' \ 109 YFLAGS='-y --file-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}' \
110 EXTRA_LDFLAGS="${PERF_EXTRA_LDFLAGS}" \ 110 EXTRA_LDFLAGS="${PERF_EXTRA_LDFLAGS}" \
111 perfexecdir=${libexecdir} \ 111 perfexecdir=${libexecdir} \
@@ -173,7 +173,11 @@ do_compile() {
173 sed -i -e 's|\$(libdir)/traceevent/plugins|\$(libdir)/traceevent_${KERNEL_VERSION}/plugins|g' ${S}/tools/perf/Makefile.config 173 sed -i -e 's|\$(libdir)/traceevent/plugins|\$(libdir)/traceevent_${KERNEL_VERSION}/plugins|g' ${S}/tools/perf/Makefile.config
174 # There are two copies of internal headers such as: 174 # There are two copies of internal headers such as:
175 # libperf/include/internal/xyarray.h and tools/lib/perf/include/internal/xyarray.h 175 # libperf/include/internal/xyarray.h and tools/lib/perf/include/internal/xyarray.h
176 # For reproducibile binaries, we need to find one copy, hence force libperf to be created first 176 # For reproducibile binaries, we need to find one copy, hence force libXXX to be created first
177 for i in api bpf subcmd symbol
178 do
179 oe_runmake -C ${S}/tools/lib/$i DESTDIR=${B}/lib$i prefix= install_headers V=1
180 done
177 oe_runmake ${B}/libperf/libperf.a V=1 181 oe_runmake ${B}/libperf/libperf.a V=1
178 oe_runmake all V=1 182 oe_runmake all V=1
179} 183}