From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: raj.khem@gmail.com, openembedded-core@lists.openembedded.org
Subject: Re: [OE-core] [PATCH] perf: Fix headers related build race condition
Date: Mon, 13 Oct 2025 12:36:41 +0100 [thread overview]
Message-ID: <6b91ae5510e34296579a3b562548785f138741bd.camel@linuxfoundation.org> (raw)
In-Reply-To: <20251008002729.1850430-1-raj.khem@gmail.com>
On Tue, 2025-10-07 at 17:27 -0700, Khem Raj via lists.openembedded.org wrote:
> libperf specifies paths to includes in its output
> directory if they exist, however install_headers target
> is run in parallel to source files being built for libperf
> and can race with objects being built for libperf.
>
> This patch ensures that all headers are built/installed before
> they are used.
>
> Specifying additional include paths via EXTRA_CFLAGS is of
> no consequence anymore after [1] because it now is appended to
> CFLAGS, so if we are trying to do include path oderining via
> EXTRA_CFLAGS it will have no effect if those paths already are
> in compiler commandline
>
> [1] https://github.com/torvalds/linux/commit/f5b07010c13c77541e8ade167d05bef3b8a63739
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>
> s
> ---
> meta/recipes-kernel/perf/perf.bb | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
> index 3b9e52fdb84..f071685a4be 100644
> --- a/meta/recipes-kernel/perf/perf.bb
> +++ b/meta/recipes-kernel/perf/perf.bb
> @@ -105,7 +105,7 @@ EXTRA_OEMAKE = '\
> LDSHARED="${CC} -shared" \
> AR="${AR}" \
> LD="${LD}" \
> - EXTRA_CFLAGS="-ldw -I${S} -I${S}/libperf/include -I${S}/tools/lib/perf/include" \
> + EXTRA_CFLAGS="-ldw -I${S}" \
> YFLAGS='-y --file-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}' \
> EXTRA_LDFLAGS="${PERF_EXTRA_LDFLAGS}" \
> perfexecdir=${libexecdir} \
> @@ -173,8 +173,8 @@ do_compile() {
> sed -i -e 's|\$(libdir)/traceevent/plugins|\$(libdir)/traceevent_${KERNEL_VERSION}/plugins|g' ${S}/tools/perf/Makefile.config
> # There are two copies of internal headers such as:
> # libperf/include/internal/xyarray.h and tools/lib/perf/include/internal/xyarray.h
> - # For reproducibile binaries, we need to find one copy, hence force libperf to be created first
> - oe_runmake ${B}/libperf/libperf.a V=1
> + # For reproducibile binaries, we need to find one copy, so built the headers target first
> + oe_runmake -C ${S}/tools/lib/perf DESTDIR=${B}/libperf prefix= install_headers V=1
> oe_runmake all V=1
> }
This basically does the same thing as the other make command. Looking
at the failure logs, I think the issue is in other libraries so I've
taken this idea but applied it to the other libraries too. I'm hoping
that fixes this.
Cheers,
Richard
prev parent reply other threads:[~2025-10-13 11:36 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-08 0:27 [PATCH] perf: Fix headers related build race condition Khem Raj
2025-10-13 11:36 ` Richard Purdie [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6b91ae5510e34296579a3b562548785f138741bd.camel@linuxfoundation.org \
--to=richard.purdie@linuxfoundation.org \
--cc=openembedded-core@lists.openembedded.org \
--cc=raj.khem@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox