From: Ihor Solodrai <ihor.solodrai@linux.dev>
To: Alan Maguire <alan.maguire@oracle.com>,
Andrii Nakryiko <andrii.nakryiko@gmail.com>
Cc: Alexei Starovoitov <ast@kernel.org>,
Daniel Borkmann <daniel@iogearbox.net>,
Andrii Nakryiko <andrii@kernel.org>,
Martin KaFai Lau <martin.lau@linux.dev>,
Eduard Zingerman <eddyz87@gmail.com>, Song Liu <song@kernel.org>,
Yonghong Song <yonghong.song@linux.dev>,
John Fastabend <john.fastabend@gmail.com>,
KP Singh <kpsingh@kernel.org>,
Stanislav Fomichev <sdf@fomichev.me>, Hao Luo <haoluo@google.com>,
Jiri Olsa <jolsa@kernel.org>,
Nathan Chancellor <nathan@kernel.org>,
Nicolas Schier <nicolas.schier@linux.dev>,
Nick Desaulniers <nick.desaulniers+lkml@gmail.com>,
Bill Wendling <morbo@google.com>,
Justin Stitt <justinstitt@google.com>,
Donglin Peng <dolinux.peng@gmail.com>,
bpf@vger.kernel.org, dwarves@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org
Subject: Re: [PATCH bpf-next v2 4/4] resolve_btfids: change in-place update with raw binary output
Date: Wed, 3 Dec 2025 20:42:31 -0800 [thread overview]
Message-ID: <728c615d-85d7-4a2f-a68e-dc63baf2c4aa@linux.dev> (raw)
In-Reply-To: <cbafbf4e-9073-4383-8ee6-1353f9e5869c@oracle.com>
On 12/3/25 10:48 AM, Alan Maguire wrote:
> On 01/12/2025 22:16, Andrii Nakryiko wrote:
>> On Thu, Nov 27, 2025 at 10:53 AM Ihor Solodrai <ihor.solodrai@linux.dev> wrote:
>>
>> [...]
>>
>>> +if ! is_enabled CONFIG_DEBUG_INFO_BTF; then
>>> + exit 0
>>> +fi
>>> +
>>> +gen_btf_data()
>>> +{
>>> + info BTF "${ELF_FILE}"
>>> + btf1="${ELF_FILE}.btf.1"
>>> + ${PAHOLE} -J ${PAHOLE_FLAGS} \
>>> + ${BTF_BASE:+--btf_base ${BTF_BASE}} \
>>> + --btf_encode_detached=${btf1} \
>>
>> please double-check what pahole version has --btf_encode_detached, we
>> might need to change minimal supported pahole version because of this
>>
>
> yeah, this landed in v1.22 [1]
Thank you for checking!
>
> One thing worth thinking about; are there aspects of the gen_btf.sh
> script that could be moved to Makefile.btf to avoid having to compute them
> repeatedly for each module? For example computing resolve_btfids
> flags based on CONFIG_WERROR could be done there I think. You could
> also determine whether the script is needed at all in Makefile.btf; i.e.
>
> gen-btf-y =
> gen-btf-$(CONFIG_DEBUG_INFO_BTF) = scripts/gen-btf.sh
>
> export GEN_BTF := $(gen-btf-y)
>
> That would allow you to get rid of the is_enabled() I think.
Good point. I'll try moving most relevant flags to Makefile.btf
>
> I'm building this now, but I was wondering if the linking/objcopy changes pose
> any risk to kernel address computations in kallsyms or anything like that? IIRC
> Stephen ran into some issues with global variable addresses as a consequence of
> linking BTF sections [2], but not sure if there are additional concerns here.
This series doesn't change the fact that .BTF is *linked* into final vmlinux,
so a problem described in [2] stands.
That said, AFAIU the suggested change in the linker script will still work.
>
> [1] https://github.com/acmel/dwarves/releases/tag/v1.22
> [2] https://lore.kernel.org/bpf/20250207012045.2129841-2-stephen.s.brennan@oracle.com/
next prev parent reply other threads:[~2025-12-04 4:42 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-27 18:52 [PATCH bpf-next v2 0/4] resolve_btfids: Support for BTF modifications Ihor Solodrai
2025-11-27 18:52 ` [PATCH bpf-next v2 1/4] resolve_btfids: rename object btf field to btf_path Ihor Solodrai
2025-11-27 18:52 ` [PATCH bpf-next v2 2/4] resolve_btfids: factor out load_btf() Ihor Solodrai
2025-11-27 18:52 ` [PATCH bpf-next v2 3/4] resolve_btfids: introduce enum btf_id_kind Ihor Solodrai
2025-12-01 17:27 ` Andrii Nakryiko
2025-12-02 19:08 ` Ihor Solodrai
2025-12-04 0:42 ` Andrii Nakryiko
2025-12-04 4:35 ` Ihor Solodrai
2025-12-01 18:27 ` Eduard Zingerman
2025-11-27 18:52 ` [PATCH bpf-next v2 4/4] resolve_btfids: change in-place update with raw binary output Ihor Solodrai
2025-11-28 3:20 ` Donglin Peng
2025-11-28 5:52 ` Ihor Solodrai
2025-12-01 19:46 ` Ihor Solodrai
2025-12-02 2:01 ` Donglin Peng
2025-12-02 19:00 ` Ihor Solodrai
2025-12-03 9:14 ` Donglin Peng
2025-12-03 10:42 ` Donglin Peng
2025-12-04 0:46 ` Andrii Nakryiko
2025-12-04 3:28 ` Donglin Peng
2025-12-01 19:55 ` Eduard Zingerman
2025-12-04 5:13 ` Ihor Solodrai
2025-12-04 16:57 ` Eduard Zingerman
2025-12-04 17:29 ` Ihor Solodrai
2025-12-04 18:06 ` Eduard Zingerman
2025-12-04 19:04 ` Ihor Solodrai
2025-12-04 19:14 ` Eduard Zingerman
2025-12-01 22:16 ` Andrii Nakryiko
2025-12-03 18:48 ` Alan Maguire
2025-12-04 4:42 ` Ihor Solodrai [this message]
2025-12-06 5:08 ` kernel test robot
2025-12-16 20:41 ` Ihor Solodrai
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=728c615d-85d7-4a2f-a68e-dc63baf2c4aa@linux.dev \
--to=ihor.solodrai@linux.dev \
--cc=alan.maguire@oracle.com \
--cc=andrii.nakryiko@gmail.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=dolinux.peng@gmail.com \
--cc=dwarves@vger.kernel.org \
--cc=eddyz87@gmail.com \
--cc=haoluo@google.com \
--cc=john.fastabend@gmail.com \
--cc=jolsa@kernel.org \
--cc=justinstitt@google.com \
--cc=kpsingh@kernel.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=martin.lau@linux.dev \
--cc=morbo@google.com \
--cc=nathan@kernel.org \
--cc=nick.desaulniers+lkml@gmail.com \
--cc=nicolas.schier@linux.dev \
--cc=sdf@fomichev.me \
--cc=song@kernel.org \
--cc=yonghong.song@linux.dev \
/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