* [PATCH 1/3] btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh
@ 2024-09-11 11:03 Masahiro Yamada
2024-09-11 11:03 ` [PATCH 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug Masahiro Yamada
` (3 more replies)
0 siblings, 4 replies; 11+ messages in thread
From: Masahiro Yamada @ 2024-09-11 11:03 UTC (permalink / raw)
To: Martin KaFai Lau, bpf
Cc: linux-arch, Andrii Nakryiko, linux-kernel, Nathan Chancellor,
Masahiro Yamada, Nicolas Schier, linux-kbuild
CONFIG_DEBUG_INFO_BTF depends on CONFIG_BPF_SYSCALL, which in turn
selects CONFIG_BPF.
When CONFIG_DEBUG_INFO_BTF=y, CONFIG_BPF=y is always met.
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
---
scripts/link-vmlinux.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
index bd196944e350..cfffc41e20ed 100755
--- a/scripts/link-vmlinux.sh
+++ b/scripts/link-vmlinux.sh
@@ -288,7 +288,7 @@ strip_debug=
vmlinux_link vmlinux
# fill in BTF IDs
-if is_enabled CONFIG_DEBUG_INFO_BTF && is_enabled CONFIG_BPF; then
+if is_enabled CONFIG_DEBUG_INFO_BTF; then
info BTFIDS vmlinux
${RESOLVE_BTFIDS} vmlinux
fi
--
2.43.0
^ permalink raw reply related [flat|nested] 11+ messages in thread* [PATCH 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug 2024-09-11 11:03 [PATCH 1/3] btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh Masahiro Yamada @ 2024-09-11 11:03 ` Masahiro Yamada 2024-09-11 17:25 ` Alan Maguire ` (2 more replies) 2024-09-11 11:03 ` [PATCH 3/3] btf: require pahole 1.21+ for DEBUG_INFO_BTF with default DWARF version Masahiro Yamada ` (2 subsequent siblings) 3 siblings, 3 replies; 11+ messages in thread From: Masahiro Yamada @ 2024-09-11 11:03 UTC (permalink / raw) To: Martin KaFai Lau, bpf Cc: linux-arch, Andrii Nakryiko, linux-kernel, Nathan Chancellor, Masahiro Yamada, Andrew Morton, Nicolas Schier, linux-kbuild When DEBUG_INFO_DWARF5 is selected, pahole 1.21+ is required to enable DEBUG_INFO_BTF. When DEBUG_INFO_DWARF4 or DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is selected, DEBUG_INFO_BTF can be enabled without pahole installed, but a build error will occur in scripts/link-vmlinux.sh: LD .tmp_vmlinux1 BTF: .tmp_vmlinux1: pahole (pahole) is not available Failed to generate BTF for vmlinux Try to disable CONFIG_DEBUG_INFO_BTF We did not guard DEBUG_INFO_BTF by PAHOLE_VERSION when previously discussed [1]. However, commit 613fe1692377 ("kbuild: Add CONFIG_PAHOLE_VERSION") added CONFIG_PAHOLE_VERSION at all. Now several CONFIG options, as well as the combination of DEBUG_INFO_BTF and DEBUG_INFO_DWARF5, are guarded by PAHOLE_VERSION. The remaining compile-time check in scripts/link-vmlinux.sh now appears to be an awkward inconsistency. This commit adopts Nathan's original work. [1]: https://lore.kernel.org/lkml/20210111180609.713998-1-natechancellor@gmail.com/ Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- lib/Kconfig.debug | 3 ++- scripts/link-vmlinux.sh | 12 ------------ 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 5e2f30921cb2..eff408a88dfd 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -379,12 +379,13 @@ config DEBUG_INFO_BTF depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST depends on BPF_SYSCALL + depends on PAHOLE_VERSION >= 116 depends on !DEBUG_INFO_DWARF5 || PAHOLE_VERSION >= 121 # pahole uses elfutils, which does not have support for Hexagon relocations depends on !HEXAGON help Generate deduplicated BTF type information from DWARF debug info. - Turning this on expects presence of pahole tool, which will convert + Turning this on requires presence of pahole tool, which will convert DWARF type info into equivalent deduplicated BTF type info. config PAHOLE_HAS_SPLIT_BTF diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index cfffc41e20ed..53bd4b727e21 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -111,20 +111,8 @@ vmlinux_link() # ${1} - vmlinux image gen_btf() { - local pahole_ver local btf_data=${1}.btf.o - if ! [ -x "$(command -v ${PAHOLE})" ]; then - echo >&2 "BTF: ${1}: pahole (${PAHOLE}) is not available" - return 1 - fi - - pahole_ver=$(${PAHOLE} --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/') - if [ "${pahole_ver}" -lt "116" ]; then - echo >&2 "BTF: ${1}: pahole version $(${PAHOLE} --version) is too old, need at least v1.16" - return 1 - fi - info BTF "${btf_data}" LLVM_OBJCOPY="${OBJCOPY}" ${PAHOLE} -J ${PAHOLE_FLAGS} ${1} -- 2.43.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug 2024-09-11 11:03 ` [PATCH 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug Masahiro Yamada @ 2024-09-11 17:25 ` Alan Maguire 2024-09-12 0:45 ` Masahiro Yamada 2024-09-11 21:07 ` Andrii Nakryiko 2024-09-11 21:08 ` Nathan Chancellor 2 siblings, 1 reply; 11+ messages in thread From: Alan Maguire @ 2024-09-11 17:25 UTC (permalink / raw) To: Masahiro Yamada, Martin KaFai Lau, bpf Cc: linux-arch, Andrii Nakryiko, linux-kernel, Nathan Chancellor, Andrew Morton, Nicolas Schier, linux-kbuild On 11/09/2024 12:03, Masahiro Yamada wrote: > When DEBUG_INFO_DWARF5 is selected, pahole 1.21+ is required to enable > DEBUG_INFO_BTF. > > When DEBUG_INFO_DWARF4 or DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is selected, > DEBUG_INFO_BTF can be enabled without pahole installed, but a build error > will occur in scripts/link-vmlinux.sh: > > LD .tmp_vmlinux1 > BTF: .tmp_vmlinux1: pahole (pahole) is not available > Failed to generate BTF for vmlinux > Try to disable CONFIG_DEBUG_INFO_BTF > > We did not guard DEBUG_INFO_BTF by PAHOLE_VERSION when previously > discussed [1]. > > However, commit 613fe1692377 ("kbuild: Add CONFIG_PAHOLE_VERSION") > added CONFIG_PAHOLE_VERSION at all. Now several CONFIG options, as > well as the combination of DEBUG_INFO_BTF and DEBUG_INFO_DWARF5, are > guarded by PAHOLE_VERSION. > > The remaining compile-time check in scripts/link-vmlinux.sh now appears > to be an awkward inconsistency. > > This commit adopts Nathan's original work. > > [1]: https://lore.kernel.org/lkml/20210111180609.713998-1-natechancellor@gmail.com/ > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Nice cleanup! For the series Reviewed-by: Alan Maguire <alan.maguire@oracle.com> One small thing below.. > --- > > lib/Kconfig.debug | 3 ++- > scripts/link-vmlinux.sh | 12 ------------ > 2 files changed, 2 insertions(+), 13 deletions(-) > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug > index 5e2f30921cb2..eff408a88dfd 100644 > --- a/lib/Kconfig.debug > +++ b/lib/Kconfig.debug > @@ -379,12 +379,13 @@ config DEBUG_INFO_BTF > depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED > depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST > depends on BPF_SYSCALL > + depends on PAHOLE_VERSION >= 116 > depends on !DEBUG_INFO_DWARF5 || PAHOLE_VERSION >= 121 > # pahole uses elfutils, which does not have support for Hexagon relocations > depends on !HEXAGON > help > Generate deduplicated BTF type information from DWARF debug info. > - Turning this on expects presence of pahole tool, which will convert > + Turning this on requires presence of pahole tool, which will convert > DWARF type info into equivalent deduplicated BTF type info. > One thing we lose from the change below is an explicit message about the minimal pahole version required. While it is codified in the dependendencies, given that we used to loudly warn about this, would it make sense to note it in the help text here; just a sentence like "BTF generation requires pahole v1.16 or later."? Thanks! Alan > config PAHOLE_HAS_SPLIT_BTF > diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh > index cfffc41e20ed..53bd4b727e21 100755 > --- a/scripts/link-vmlinux.sh > +++ b/scripts/link-vmlinux.sh > @@ -111,20 +111,8 @@ vmlinux_link() > # ${1} - vmlinux image > gen_btf() > { > - local pahole_ver > local btf_data=${1}.btf.o > > - if ! [ -x "$(command -v ${PAHOLE})" ]; then > - echo >&2 "BTF: ${1}: pahole (${PAHOLE}) is not available" > - return 1 > - fi > - > - pahole_ver=$(${PAHOLE} --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/') > - if [ "${pahole_ver}" -lt "116" ]; then > - echo >&2 "BTF: ${1}: pahole version $(${PAHOLE} --version) is too old, need at least v1.16" > - return 1 > - fi > - > info BTF "${btf_data}" > LLVM_OBJCOPY="${OBJCOPY}" ${PAHOLE} -J ${PAHOLE_FLAGS} ${1} > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug 2024-09-11 17:25 ` Alan Maguire @ 2024-09-12 0:45 ` Masahiro Yamada 0 siblings, 0 replies; 11+ messages in thread From: Masahiro Yamada @ 2024-09-12 0:45 UTC (permalink / raw) To: Alan Maguire Cc: Martin KaFai Lau, bpf, linux-arch, Andrii Nakryiko, linux-kernel, Nathan Chancellor, Andrew Morton, Nicolas Schier, linux-kbuild On Thu, Sep 12, 2024 at 2:25 AM Alan Maguire <alan.maguire@oracle.com> wrote: > > On 11/09/2024 12:03, Masahiro Yamada wrote: > > When DEBUG_INFO_DWARF5 is selected, pahole 1.21+ is required to enable > > DEBUG_INFO_BTF. > > > > When DEBUG_INFO_DWARF4 or DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is selected, > > DEBUG_INFO_BTF can be enabled without pahole installed, but a build error > > will occur in scripts/link-vmlinux.sh: > > > > LD .tmp_vmlinux1 > > BTF: .tmp_vmlinux1: pahole (pahole) is not available > > Failed to generate BTF for vmlinux > > Try to disable CONFIG_DEBUG_INFO_BTF > > > > We did not guard DEBUG_INFO_BTF by PAHOLE_VERSION when previously > > discussed [1]. > > > > However, commit 613fe1692377 ("kbuild: Add CONFIG_PAHOLE_VERSION") > > added CONFIG_PAHOLE_VERSION at all. Now several CONFIG options, as > > well as the combination of DEBUG_INFO_BTF and DEBUG_INFO_DWARF5, are > > guarded by PAHOLE_VERSION. > > > > The remaining compile-time check in scripts/link-vmlinux.sh now appears > > to be an awkward inconsistency. > > > > This commit adopts Nathan's original work. > > > > [1]: https://lore.kernel.org/lkml/20210111180609.713998-1-natechancellor@gmail.com/ > > > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > Nice cleanup! For the series > > Reviewed-by: Alan Maguire <alan.maguire@oracle.com> > > One small thing below.. > > > --- > > > > lib/Kconfig.debug | 3 ++- > > scripts/link-vmlinux.sh | 12 ------------ > > 2 files changed, 2 insertions(+), 13 deletions(-) > > > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug > > index 5e2f30921cb2..eff408a88dfd 100644 > > --- a/lib/Kconfig.debug > > +++ b/lib/Kconfig.debug > > @@ -379,12 +379,13 @@ config DEBUG_INFO_BTF > > depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED > > depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST > > depends on BPF_SYSCALL > > + depends on PAHOLE_VERSION >= 116 > > depends on !DEBUG_INFO_DWARF5 || PAHOLE_VERSION >= 121 > > # pahole uses elfutils, which does not have support for Hexagon relocations > > depends on !HEXAGON > > help > > Generate deduplicated BTF type information from DWARF debug info. > > - Turning this on expects presence of pahole tool, which will convert > > + Turning this on requires presence of pahole tool, which will convert > > DWARF type info into equivalent deduplicated BTF type info. > > > > One thing we lose from the change below is an explicit message about the > minimal pahole version required. While it is codified in the > dependendencies, given that we used to loudly warn about this, > would it make sense to note it in the help text here; just a sentence > like "BTF generation requires pahole v1.16 or later."? Thanks! How about this help message? help Generate deduplicated BTF type information from DWARF debug info. Turning this on requires pahole v1.16 or later (v1.21 or later for DWARF 5), which will convert DWARF type info into equivalent deduplicated BTF type info. -- Best Regards Masahiro Yamada ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug 2024-09-11 11:03 ` [PATCH 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug Masahiro Yamada 2024-09-11 17:25 ` Alan Maguire @ 2024-09-11 21:07 ` Andrii Nakryiko 2024-09-11 21:08 ` Nathan Chancellor 2 siblings, 0 replies; 11+ messages in thread From: Andrii Nakryiko @ 2024-09-11 21:07 UTC (permalink / raw) To: Masahiro Yamada Cc: Martin KaFai Lau, bpf, linux-arch, Andrii Nakryiko, linux-kernel, Nathan Chancellor, Andrew Morton, Nicolas Schier, linux-kbuild On Wed, Sep 11, 2024 at 4:04 AM Masahiro Yamada <masahiroy@kernel.org> wrote: > > When DEBUG_INFO_DWARF5 is selected, pahole 1.21+ is required to enable > DEBUG_INFO_BTF. > > When DEBUG_INFO_DWARF4 or DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is selected, > DEBUG_INFO_BTF can be enabled without pahole installed, but a build error > will occur in scripts/link-vmlinux.sh: > > LD .tmp_vmlinux1 > BTF: .tmp_vmlinux1: pahole (pahole) is not available > Failed to generate BTF for vmlinux > Try to disable CONFIG_DEBUG_INFO_BTF > > We did not guard DEBUG_INFO_BTF by PAHOLE_VERSION when previously > discussed [1]. > > However, commit 613fe1692377 ("kbuild: Add CONFIG_PAHOLE_VERSION") > added CONFIG_PAHOLE_VERSION at all. Now several CONFIG options, as > well as the combination of DEBUG_INFO_BTF and DEBUG_INFO_DWARF5, are > guarded by PAHOLE_VERSION. > > The remaining compile-time check in scripts/link-vmlinux.sh now appears > to be an awkward inconsistency. > > This commit adopts Nathan's original work. > > [1]: https://lore.kernel.org/lkml/20210111180609.713998-1-natechancellor@gmail.com/ > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > LGTM Acked-by: Andrii Nakryiko <andrii@kernel.org> > lib/Kconfig.debug | 3 ++- > scripts/link-vmlinux.sh | 12 ------------ > 2 files changed, 2 insertions(+), 13 deletions(-) > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug > index 5e2f30921cb2..eff408a88dfd 100644 > --- a/lib/Kconfig.debug > +++ b/lib/Kconfig.debug > @@ -379,12 +379,13 @@ config DEBUG_INFO_BTF > depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED > depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST > depends on BPF_SYSCALL > + depends on PAHOLE_VERSION >= 116 > depends on !DEBUG_INFO_DWARF5 || PAHOLE_VERSION >= 121 > # pahole uses elfutils, which does not have support for Hexagon relocations > depends on !HEXAGON > help > Generate deduplicated BTF type information from DWARF debug info. > - Turning this on expects presence of pahole tool, which will convert > + Turning this on requires presence of pahole tool, which will convert > DWARF type info into equivalent deduplicated BTF type info. > > config PAHOLE_HAS_SPLIT_BTF > diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh > index cfffc41e20ed..53bd4b727e21 100755 > --- a/scripts/link-vmlinux.sh > +++ b/scripts/link-vmlinux.sh > @@ -111,20 +111,8 @@ vmlinux_link() > # ${1} - vmlinux image > gen_btf() > { > - local pahole_ver > local btf_data=${1}.btf.o > > - if ! [ -x "$(command -v ${PAHOLE})" ]; then > - echo >&2 "BTF: ${1}: pahole (${PAHOLE}) is not available" > - return 1 > - fi > - > - pahole_ver=$(${PAHOLE} --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/') > - if [ "${pahole_ver}" -lt "116" ]; then > - echo >&2 "BTF: ${1}: pahole version $(${PAHOLE} --version) is too old, need at least v1.16" > - return 1 > - fi > - > info BTF "${btf_data}" > LLVM_OBJCOPY="${OBJCOPY}" ${PAHOLE} -J ${PAHOLE_FLAGS} ${1} > > -- > 2.43.0 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug 2024-09-11 11:03 ` [PATCH 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug Masahiro Yamada 2024-09-11 17:25 ` Alan Maguire 2024-09-11 21:07 ` Andrii Nakryiko @ 2024-09-11 21:08 ` Nathan Chancellor 2 siblings, 0 replies; 11+ messages in thread From: Nathan Chancellor @ 2024-09-11 21:08 UTC (permalink / raw) To: Masahiro Yamada Cc: Martin KaFai Lau, bpf, linux-arch, Andrii Nakryiko, linux-kernel, Andrew Morton, Nicolas Schier, linux-kbuild On Wed, Sep 11, 2024 at 08:03:57PM +0900, Masahiro Yamada wrote: > When DEBUG_INFO_DWARF5 is selected, pahole 1.21+ is required to enable > DEBUG_INFO_BTF. > > When DEBUG_INFO_DWARF4 or DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is selected, > DEBUG_INFO_BTF can be enabled without pahole installed, but a build error > will occur in scripts/link-vmlinux.sh: > > LD .tmp_vmlinux1 > BTF: .tmp_vmlinux1: pahole (pahole) is not available > Failed to generate BTF for vmlinux > Try to disable CONFIG_DEBUG_INFO_BTF > > We did not guard DEBUG_INFO_BTF by PAHOLE_VERSION when previously > discussed [1]. > > However, commit 613fe1692377 ("kbuild: Add CONFIG_PAHOLE_VERSION") > added CONFIG_PAHOLE_VERSION at all. Now several CONFIG options, as > well as the combination of DEBUG_INFO_BTF and DEBUG_INFO_DWARF5, are > guarded by PAHOLE_VERSION. > > The remaining compile-time check in scripts/link-vmlinux.sh now appears > to be an awkward inconsistency. > > This commit adopts Nathan's original work. > > [1]: https://lore.kernel.org/lkml/20210111180609.713998-1-natechancellor@gmail.com/ > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nathan Chancellor <nathan@kernel.org> > --- > > lib/Kconfig.debug | 3 ++- > scripts/link-vmlinux.sh | 12 ------------ > 2 files changed, 2 insertions(+), 13 deletions(-) > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug > index 5e2f30921cb2..eff408a88dfd 100644 > --- a/lib/Kconfig.debug > +++ b/lib/Kconfig.debug > @@ -379,12 +379,13 @@ config DEBUG_INFO_BTF > depends on !DEBUG_INFO_SPLIT && !DEBUG_INFO_REDUCED > depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST > depends on BPF_SYSCALL > + depends on PAHOLE_VERSION >= 116 > depends on !DEBUG_INFO_DWARF5 || PAHOLE_VERSION >= 121 > # pahole uses elfutils, which does not have support for Hexagon relocations > depends on !HEXAGON > help > Generate deduplicated BTF type information from DWARF debug info. > - Turning this on expects presence of pahole tool, which will convert > + Turning this on requires presence of pahole tool, which will convert > DWARF type info into equivalent deduplicated BTF type info. > > config PAHOLE_HAS_SPLIT_BTF > diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh > index cfffc41e20ed..53bd4b727e21 100755 > --- a/scripts/link-vmlinux.sh > +++ b/scripts/link-vmlinux.sh > @@ -111,20 +111,8 @@ vmlinux_link() > # ${1} - vmlinux image > gen_btf() > { > - local pahole_ver > local btf_data=${1}.btf.o > > - if ! [ -x "$(command -v ${PAHOLE})" ]; then > - echo >&2 "BTF: ${1}: pahole (${PAHOLE}) is not available" > - return 1 > - fi > - > - pahole_ver=$(${PAHOLE} --version | sed -E 's/v([0-9]+)\.([0-9]+)/\1\2/') > - if [ "${pahole_ver}" -lt "116" ]; then > - echo >&2 "BTF: ${1}: pahole version $(${PAHOLE} --version) is too old, need at least v1.16" > - return 1 > - fi > - > info BTF "${btf_data}" > LLVM_OBJCOPY="${OBJCOPY}" ${PAHOLE} -J ${PAHOLE_FLAGS} ${1} > > -- > 2.43.0 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 3/3] btf: require pahole 1.21+ for DEBUG_INFO_BTF with default DWARF version 2024-09-11 11:03 [PATCH 1/3] btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh Masahiro Yamada 2024-09-11 11:03 ` [PATCH 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug Masahiro Yamada @ 2024-09-11 11:03 ` Masahiro Yamada 2024-09-11 21:08 ` Andrii Nakryiko 2024-09-11 21:10 ` Nathan Chancellor 2024-09-11 21:02 ` [PATCH 1/3] btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh Nathan Chancellor 2024-09-11 21:05 ` Andrii Nakryiko 3 siblings, 2 replies; 11+ messages in thread From: Masahiro Yamada @ 2024-09-11 11:03 UTC (permalink / raw) To: Martin KaFai Lau, bpf Cc: linux-arch, Andrii Nakryiko, linux-kernel, Nathan Chancellor, Masahiro Yamada, Andrew Morton, Bill Wendling, Justin Stitt, Nick Desaulniers, llvm As described in commit 42d9b379e3e1 ("lib/Kconfig.debug: Allow BTF + DWARF5 with pahole 1.21+"), the combination of CONFIG_DEBUG_INFO_BTF and CONFIG_DEBUG_INFO_DWARF5 requires pahole 1.21+. GCC 11+ and Clang 14+ default to DWARF 5 when the -g flag is passed. For the same reason, the combination of CONFIG_DEBUG_INFO_BTF and CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is also likely to require pahole 1.21+. (At least, it is uncertain whether the requirement is pahole 1.16+ or 1.21+.) Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> --- lib/Kconfig.debug | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index eff408a88dfd..011a7abc68a8 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -380,7 +380,7 @@ config DEBUG_INFO_BTF depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST depends on BPF_SYSCALL depends on PAHOLE_VERSION >= 116 - depends on !DEBUG_INFO_DWARF5 || PAHOLE_VERSION >= 121 + depends on DEBUG_INFO_DWARF4 || PAHOLE_VERSION >= 121 # pahole uses elfutils, which does not have support for Hexagon relocations depends on !HEXAGON help -- 2.43.0 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH 3/3] btf: require pahole 1.21+ for DEBUG_INFO_BTF with default DWARF version 2024-09-11 11:03 ` [PATCH 3/3] btf: require pahole 1.21+ for DEBUG_INFO_BTF with default DWARF version Masahiro Yamada @ 2024-09-11 21:08 ` Andrii Nakryiko 2024-09-11 21:10 ` Nathan Chancellor 1 sibling, 0 replies; 11+ messages in thread From: Andrii Nakryiko @ 2024-09-11 21:08 UTC (permalink / raw) To: Masahiro Yamada Cc: Martin KaFai Lau, bpf, linux-arch, Andrii Nakryiko, linux-kernel, Nathan Chancellor, Andrew Morton, Bill Wendling, Justin Stitt, Nick Desaulniers, llvm On Wed, Sep 11, 2024 at 4:04 AM Masahiro Yamada <masahiroy@kernel.org> wrote: > > As described in commit 42d9b379e3e1 ("lib/Kconfig.debug: Allow BTF + > DWARF5 with pahole 1.21+"), the combination of CONFIG_DEBUG_INFO_BTF > and CONFIG_DEBUG_INFO_DWARF5 requires pahole 1.21+. > > GCC 11+ and Clang 14+ default to DWARF 5 when the -g flag is passed. > For the same reason, the combination of CONFIG_DEBUG_INFO_BTF and > CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is also likely to require > pahole 1.21+. (At least, it is uncertain whether the requirement is > pahole 1.16+ or 1.21+.) > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > Make sense Acked-by: Andrii Nakryiko <andrii@kernel.org> > lib/Kconfig.debug | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug > index eff408a88dfd..011a7abc68a8 100644 > --- a/lib/Kconfig.debug > +++ b/lib/Kconfig.debug > @@ -380,7 +380,7 @@ config DEBUG_INFO_BTF > depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST > depends on BPF_SYSCALL > depends on PAHOLE_VERSION >= 116 > - depends on !DEBUG_INFO_DWARF5 || PAHOLE_VERSION >= 121 > + depends on DEBUG_INFO_DWARF4 || PAHOLE_VERSION >= 121 > # pahole uses elfutils, which does not have support for Hexagon relocations > depends on !HEXAGON > help > -- > 2.43.0 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 3/3] btf: require pahole 1.21+ for DEBUG_INFO_BTF with default DWARF version 2024-09-11 11:03 ` [PATCH 3/3] btf: require pahole 1.21+ for DEBUG_INFO_BTF with default DWARF version Masahiro Yamada 2024-09-11 21:08 ` Andrii Nakryiko @ 2024-09-11 21:10 ` Nathan Chancellor 1 sibling, 0 replies; 11+ messages in thread From: Nathan Chancellor @ 2024-09-11 21:10 UTC (permalink / raw) To: Masahiro Yamada Cc: Martin KaFai Lau, bpf, linux-arch, Andrii Nakryiko, linux-kernel, Andrew Morton, Bill Wendling, Justin Stitt, Nick Desaulniers, llvm On Wed, Sep 11, 2024 at 08:03:58PM +0900, Masahiro Yamada wrote: > As described in commit 42d9b379e3e1 ("lib/Kconfig.debug: Allow BTF + > DWARF5 with pahole 1.21+"), the combination of CONFIG_DEBUG_INFO_BTF > and CONFIG_DEBUG_INFO_DWARF5 requires pahole 1.21+. > > GCC 11+ and Clang 14+ default to DWARF 5 when the -g flag is passed. > For the same reason, the combination of CONFIG_DEBUG_INFO_BTF and > CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT is also likely to require > pahole 1.21+. (At least, it is uncertain whether the requirement is > pahole 1.16+ or 1.21+.) > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Indeed, I think this is a safer, longterm dependency, until we bump the minimum versions to the ones listed in the commit message, unless there is DWARF6 by that point :) Reviewed-by: Nathan Chancellor <nathan@kernel.org> > --- > > lib/Kconfig.debug | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug > index eff408a88dfd..011a7abc68a8 100644 > --- a/lib/Kconfig.debug > +++ b/lib/Kconfig.debug > @@ -380,7 +380,7 @@ config DEBUG_INFO_BTF > depends on !GCC_PLUGIN_RANDSTRUCT || COMPILE_TEST > depends on BPF_SYSCALL > depends on PAHOLE_VERSION >= 116 > - depends on !DEBUG_INFO_DWARF5 || PAHOLE_VERSION >= 121 > + depends on DEBUG_INFO_DWARF4 || PAHOLE_VERSION >= 121 > # pahole uses elfutils, which does not have support for Hexagon relocations > depends on !HEXAGON > help > -- > 2.43.0 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh 2024-09-11 11:03 [PATCH 1/3] btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh Masahiro Yamada 2024-09-11 11:03 ` [PATCH 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug Masahiro Yamada 2024-09-11 11:03 ` [PATCH 3/3] btf: require pahole 1.21+ for DEBUG_INFO_BTF with default DWARF version Masahiro Yamada @ 2024-09-11 21:02 ` Nathan Chancellor 2024-09-11 21:05 ` Andrii Nakryiko 3 siblings, 0 replies; 11+ messages in thread From: Nathan Chancellor @ 2024-09-11 21:02 UTC (permalink / raw) To: Masahiro Yamada Cc: Martin KaFai Lau, bpf, linux-arch, Andrii Nakryiko, linux-kernel, Nicolas Schier, linux-kbuild On Wed, Sep 11, 2024 at 08:03:56PM +0900, Masahiro Yamada wrote: > CONFIG_DEBUG_INFO_BTF depends on CONFIG_BPF_SYSCALL, which in turn > selects CONFIG_BPF. > > When CONFIG_DEBUG_INFO_BTF=y, CONFIG_BPF=y is always met. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> Reviewed-by: Nathan Chancellor <nathan@kernel.org> > --- > > scripts/link-vmlinux.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh > index bd196944e350..cfffc41e20ed 100755 > --- a/scripts/link-vmlinux.sh > +++ b/scripts/link-vmlinux.sh > @@ -288,7 +288,7 @@ strip_debug= > vmlinux_link vmlinux > > # fill in BTF IDs > -if is_enabled CONFIG_DEBUG_INFO_BTF && is_enabled CONFIG_BPF; then > +if is_enabled CONFIG_DEBUG_INFO_BTF; then > info BTFIDS vmlinux > ${RESOLVE_BTFIDS} vmlinux > fi > -- > 2.43.0 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh 2024-09-11 11:03 [PATCH 1/3] btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh Masahiro Yamada ` (2 preceding siblings ...) 2024-09-11 21:02 ` [PATCH 1/3] btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh Nathan Chancellor @ 2024-09-11 21:05 ` Andrii Nakryiko 3 siblings, 0 replies; 11+ messages in thread From: Andrii Nakryiko @ 2024-09-11 21:05 UTC (permalink / raw) To: Masahiro Yamada Cc: Martin KaFai Lau, bpf, linux-arch, Andrii Nakryiko, linux-kernel, Nathan Chancellor, Nicolas Schier, linux-kbuild On Wed, Sep 11, 2024 at 4:04 AM Masahiro Yamada <masahiroy@kernel.org> wrote: > > CONFIG_DEBUG_INFO_BTF depends on CONFIG_BPF_SYSCALL, which in turn > selects CONFIG_BPF. > > When CONFIG_DEBUG_INFO_BTF=y, CONFIG_BPF=y is always met. > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > --- > > scripts/link-vmlinux.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > LGTM Acked-by: Andrii Nakryiko <andrii@kernel.org> > diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh > index bd196944e350..cfffc41e20ed 100755 > --- a/scripts/link-vmlinux.sh > +++ b/scripts/link-vmlinux.sh > @@ -288,7 +288,7 @@ strip_debug= > vmlinux_link vmlinux > > # fill in BTF IDs > -if is_enabled CONFIG_DEBUG_INFO_BTF && is_enabled CONFIG_BPF; then > +if is_enabled CONFIG_DEBUG_INFO_BTF; then > info BTFIDS vmlinux > ${RESOLVE_BTFIDS} vmlinux > fi > -- > 2.43.0 > ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2024-09-12 0:46 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-09-11 11:03 [PATCH 1/3] btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh Masahiro Yamada 2024-09-11 11:03 ` [PATCH 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug Masahiro Yamada 2024-09-11 17:25 ` Alan Maguire 2024-09-12 0:45 ` Masahiro Yamada 2024-09-11 21:07 ` Andrii Nakryiko 2024-09-11 21:08 ` Nathan Chancellor 2024-09-11 11:03 ` [PATCH 3/3] btf: require pahole 1.21+ for DEBUG_INFO_BTF with default DWARF version Masahiro Yamada 2024-09-11 21:08 ` Andrii Nakryiko 2024-09-11 21:10 ` Nathan Chancellor 2024-09-11 21:02 ` [PATCH 1/3] btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh Nathan Chancellor 2024-09-11 21:05 ` Andrii Nakryiko
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox