mbox series

[bpf-next,0/5] Allow CONFIG_DEBUG_INFO_DWARF5=y + CONFIG_DEBUG_INFO_BTF=y

Message ID 20220201205624.652313-1-nathan@kernel.org (mailing list archive)
Headers show
Series Allow CONFIG_DEBUG_INFO_DWARF5=y + CONFIG_DEBUG_INFO_BTF=y | expand

Message

Nathan Chancellor Feb. 1, 2022, 8:56 p.m. UTC
Hi all,

This series allows CONFIG_DEBUG_INFO_DWARF5 to be selected with
CONFIG_DEBUG_INFO_BTF=y by checking the pahole version.

The first four patches add CONFIG_PAHOLE_VERSION and
scripts/pahole-version.sh to clean up all the places that pahole's
version is transformed into a 3-digit form.

The fourth patch adds a PAHOLE_VERSION dependency to DEBUG_INFO_DWARF5
so that there are no build errors when it is selected with
DEBUG_INFO_BTF.

I build tested Fedora's aarch64 and x86_64 config with ToT clang 14.0.0
and GCC 11 with CONFIG_DEBUG_INFO_DWARF5 enabled with both pahole 1.21
and 1.23.

Nathan Chancellor (5):
  MAINTAINERS: Add scripts/pahole-flags.sh to BPF section
  kbuild: Add CONFIG_PAHOLE_VERSION
  scripts/pahole-flags.sh: Use pahole-version.sh
  lib/Kconfig.debug: Use CONFIG_PAHOLE_VERSION
  lib/Kconfig.debug: Allow BTF + DWARF5 with pahole 1.21+

 MAINTAINERS               |  2 ++
 init/Kconfig              |  4 ++++
 lib/Kconfig.debug         |  6 +++---
 scripts/pahole-flags.sh   |  2 +-
 scripts/pahole-version.sh | 13 +++++++++++++
 5 files changed, 23 insertions(+), 4 deletions(-)
 create mode 100755 scripts/pahole-version.sh


base-commit: 533de4aea6a91eb670ff8ff2b082bb34f2c5d6ab

Comments

Andrii Nakryiko Feb. 2, 2022, 7:05 a.m. UTC | #1
On Tue, Feb 1, 2022 at 12:56 PM Nathan Chancellor <nathan@kernel.org> wrote:
>
> Hi all,
>
> This series allows CONFIG_DEBUG_INFO_DWARF5 to be selected with
> CONFIG_DEBUG_INFO_BTF=y by checking the pahole version.
>
> The first four patches add CONFIG_PAHOLE_VERSION and
> scripts/pahole-version.sh to clean up all the places that pahole's
> version is transformed into a 3-digit form.
>
> The fourth patch adds a PAHOLE_VERSION dependency to DEBUG_INFO_DWARF5
> so that there are no build errors when it is selected with
> DEBUG_INFO_BTF.
>
> I build tested Fedora's aarch64 and x86_64 config with ToT clang 14.0.0
> and GCC 11 with CONFIG_DEBUG_INFO_DWARF5 enabled with both pahole 1.21
> and 1.23.
>
> Nathan Chancellor (5):
>   MAINTAINERS: Add scripts/pahole-flags.sh to BPF section
>   kbuild: Add CONFIG_PAHOLE_VERSION
>   scripts/pahole-flags.sh: Use pahole-version.sh
>   lib/Kconfig.debug: Use CONFIG_PAHOLE_VERSION
>   lib/Kconfig.debug: Allow BTF + DWARF5 with pahole 1.21+
>

LGTM. I'd probably combine patches 2 and 3, but it's minor. I really
like the CONFIG_PAHOLE_VERSION and how much cleaner it makes Kconfig
options.

Acked-by: Andrii Nakryiko <andrii@kernel.org>

>  MAINTAINERS               |  2 ++
>  init/Kconfig              |  4 ++++
>  lib/Kconfig.debug         |  6 +++---
>  scripts/pahole-flags.sh   |  2 +-
>  scripts/pahole-version.sh | 13 +++++++++++++
>  5 files changed, 23 insertions(+), 4 deletions(-)
>  create mode 100755 scripts/pahole-version.sh
>
>
> base-commit: 533de4aea6a91eb670ff8ff2b082bb34f2c5d6ab
> --
> 2.35.1
>
Daniel Borkmann Feb. 2, 2022, 10:25 a.m. UTC | #2
On 2/2/22 8:05 AM, Andrii Nakryiko wrote:
> On Tue, Feb 1, 2022 at 12:56 PM Nathan Chancellor <nathan@kernel.org> wrote:
>>
>> This series allows CONFIG_DEBUG_INFO_DWARF5 to be selected with
>> CONFIG_DEBUG_INFO_BTF=y by checking the pahole version.
>>
>> The first four patches add CONFIG_PAHOLE_VERSION and
>> scripts/pahole-version.sh to clean up all the places that pahole's
>> version is transformed into a 3-digit form.
>>
>> The fourth patch adds a PAHOLE_VERSION dependency to DEBUG_INFO_DWARF5
>> so that there are no build errors when it is selected with
>> DEBUG_INFO_BTF.
>>
>> I build tested Fedora's aarch64 and x86_64 config with ToT clang 14.0.0
>> and GCC 11 with CONFIG_DEBUG_INFO_DWARF5 enabled with both pahole 1.21
>> and 1.23.
>>
>> Nathan Chancellor (5):
>>    MAINTAINERS: Add scripts/pahole-flags.sh to BPF section
>>    kbuild: Add CONFIG_PAHOLE_VERSION
>>    scripts/pahole-flags.sh: Use pahole-version.sh
>>    lib/Kconfig.debug: Use CONFIG_PAHOLE_VERSION
>>    lib/Kconfig.debug: Allow BTF + DWARF5 with pahole 1.21+
>>
> 
> LGTM. I'd probably combine patches 2 and 3, but it's minor. I really
> like the CONFIG_PAHOLE_VERSION and how much cleaner it makes Kconfig
> options.

+1, thanks for working on getting this enabled! I think patches 2 and 3 are
rather logically separate, so as-is is fine as well imho. Applied, thanks!
patchwork-bot+netdevbpf@kernel.org Feb. 2, 2022, 10:30 a.m. UTC | #3
Hello:

This series was applied to bpf/bpf-next.git (master)
by Daniel Borkmann <daniel@iogearbox.net>:

On Tue,  1 Feb 2022 13:56:19 -0700 you wrote:
> Hi all,
> 
> This series allows CONFIG_DEBUG_INFO_DWARF5 to be selected with
> CONFIG_DEBUG_INFO_BTF=y by checking the pahole version.
> 
> The first four patches add CONFIG_PAHOLE_VERSION and
> scripts/pahole-version.sh to clean up all the places that pahole's
> version is transformed into a 3-digit form.
> 
> [...]

Here is the summary with links:
  - [bpf-next,1/5] MAINTAINERS: Add scripts/pahole-flags.sh to BPF section
    https://git.kernel.org/bpf/bpf-next/c/f67644b4f282
  - [bpf-next,2/5] kbuild: Add CONFIG_PAHOLE_VERSION
    https://git.kernel.org/bpf/bpf-next/c/613fe1692377
  - [bpf-next,3/5] scripts/pahole-flags.sh: Use pahole-version.sh
    https://git.kernel.org/bpf/bpf-next/c/2d6c9810eb89
  - [bpf-next,4/5] lib/Kconfig.debug: Use CONFIG_PAHOLE_VERSION
    https://git.kernel.org/bpf/bpf-next/c/6323c81350b7
  - [bpf-next,5/5] lib/Kconfig.debug: Allow BTF + DWARF5 with pahole 1.21+
    https://git.kernel.org/bpf/bpf-next/c/42d9b379e3e1

You are awesome, thank you!