From patchwork Fri Sep 13 17:37:52 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 13803885 X-Patchwork-Delegate: bpf@iogearbox.net Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DF3B884DE4; Fri, 13 Sep 2024 17:38:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726249093; cv=none; b=BWAxINyB1pWWefiIN8z6gQv4GynumAOjnaHibaTUXyjanLxMFOhmZ+Ppf+5yL++FRUh7rzzeI/1IUz5nCPu+OwDXMxHi5Bawpqa6XsKqNekfnyBmew01MEpESRGauASzYrclGlADRF66sTTE65aHuQo5AIUa6rv2fq3/G3Ga0uo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726249093; c=relaxed/simple; bh=I+tgPGcNyQ3ZM4zl7pvLglfqbeE9rNgxmVIivGERz4w=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=Cpe3QzXOMgeIH9UuWSEWuE2/4oDxmVnmHje6Uwfk9grI/rML3ZBm6CaL8goNlCAb55j33GmYimOOArw7/Xx47l/uP0yzH5CGDbLOgBSK84WmVf3ab+XoCt2sUf833PmZTEllYVOHJ19QTT2t2Hk0toiKkX1ES4g8UHULt/Jqh+o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lUxT3s6H; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="lUxT3s6H" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D7CA0C4CEC7; Fri, 13 Sep 2024 17:38:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1726249092; bh=I+tgPGcNyQ3ZM4zl7pvLglfqbeE9rNgxmVIivGERz4w=; h=From:To:Cc:Subject:Date:From; b=lUxT3s6H/eXZVSKHV3828BoeS3nPxQUsCc6zIyEP7pG1rpfdXVm3uo7jWU73fQ7++ K4IEhhFoKiwKWhY/I85JssiCqNvbhddnE/ahDKphpqZa7YWthhJFpbG36yx2gnYfcV mNWZOLGn1FxHEMOlvyUymCcJRjBM3h/4jZ1Q5nvdkj7Ng6cWVGmo+yBiD91ykZH9Eu gp1FSnca4ctm5VMdu3bvvy6T+/MNkPy4NqalIqPpVah8ct07tJkYAM/G+vB2Kby2Cm EkZTE6qr2R+N8K5y83fQCDdWLTadpgPfBclouXhcz+sgNlNiX4V/Sh4g+Zu1aHmUF4 k0u/GZYuC9A7Q== From: Masahiro Yamada To: Martin KaFai Lau , bpf@vger.kernel.org Cc: Andrii Nakryiko , linux-kernel@vger.kernel.org, Nathan Chancellor , Masahiro Yamada , Alan Maguire Subject: [PATCH v2 1/3] btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh Date: Sat, 14 Sep 2024 02:37:52 +0900 Message-ID: <20240913173759.1316390-1-masahiroy@kernel.org> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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 Reviewed-by: Alan Maguire Acked-by: Andrii Nakryiko Reviewed-by: Nathan Chancellor --- (no changes since v1) 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 From patchwork Fri Sep 13 17:37:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 13803886 X-Patchwork-Delegate: bpf@iogearbox.net Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EE551127E37; Fri, 13 Sep 2024 17:38:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726249095; cv=none; b=ZMsurs8MHkOudHeUAs0sNp5+ytCLMt2xumH2KVU3F5WeIip13SpXQrcmWmgoOqURcyn9zjy+vUm78hhNYKkS1tfWZssteN/mn2rTSiQuQxssuG9PvPrvQnskZZrRq+FJ4hca1+COggo0tlguSMxZDTD3lJypITbOO0GnbqXU2KM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726249095; c=relaxed/simple; bh=TBH2wsToIsF16KSPe6aeBkrv6pQbn74kXUUgJaabJ7E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PZA7MFH/TE3QBrGrgOGJ6QdRjalgIzkSO2Iu6jhlipLjvyLkbBdGE7Q9cJANzi3c75HZLVCZQhoYgseQFNaYRpJuoz1OKFCYeeICCEfF6XucAy2ioLUrf4mZ5ez6qi35l9eM87cuy9vdlhJ0qXMfQb6Wsevv+LFe6usiuU7i+hs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=vKNexT7r; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="vKNexT7r" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DDBB1C4CECC; Fri, 13 Sep 2024 17:38:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1726249094; bh=TBH2wsToIsF16KSPe6aeBkrv6pQbn74kXUUgJaabJ7E=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=vKNexT7r1Q9BSFs/Cpz5zAJwysd7XYglQupaYhPj+ijeN/2t4DDJNU37bW1J3kw4+ ji5W46u0nyPk0CWhodEIdf6+dXEgw37IPQeHDtzBvwzrgWJ/myn5Z1obPQmcxJGtvH JtAFtxB8uHIoCmRyqony2ebafcPlUxTsaEey97pHv/IF81VBcy0SwoS1p9Pl9soIbH Bsc5idvEDkjpqRiB6L9wLWTSAxxpJfejP6dZ7LG+rHR8zOR9saJJhMb5eaKiAA+f0G SAcdCotKKsz6elxUOXphhADvEmE73zW6835gxtQxaqqSD0nzkGinS0veCb1DSBj7Dy f0E/AGfaQBnEA== From: Masahiro Yamada To: Martin KaFai Lau , bpf@vger.kernel.org Cc: Andrii Nakryiko , linux-kernel@vger.kernel.org, Nathan Chancellor , Masahiro Yamada , Alan Maguire Subject: [PATCH v2 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug Date: Sat, 14 Sep 2024 02:37:53 +0900 Message-ID: <20240913173759.1316390-2-masahiroy@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240913173759.1316390-1-masahiroy@kernel.org> References: <20240913173759.1316390-1-masahiroy@kernel.org> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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 after 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 Reviewed-by: Alan Maguire Acked-by: Andrii Nakryiko Reviewed-by: Nathan Chancellor --- Changes in v2: - Reword the help message per Alan lib/Kconfig.debug | 6 ++++-- scripts/link-vmlinux.sh | 12 ------------ 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index 5e2f30921cb2..bdf822bc1bab 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug @@ -379,13 +379,15 @@ 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 - DWARF type info into equivalent deduplicated BTF type info. + Turning this on requires pahole v1.16 or later (v1.21 or later to + support DWARF 5), which will convert DWARF type info into equivalent + deduplicated BTF type info. config PAHOLE_HAS_SPLIT_BTF def_bool PAHOLE_VERSION >= 119 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} From patchwork Fri Sep 13 17:37:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 13803887 X-Patchwork-Delegate: bpf@iogearbox.net Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BB6D012C54D; Fri, 13 Sep 2024 17:38:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726249096; cv=none; b=iV7eIahCaEomiwWj3tYDNwUC5ztHzTLyq/CHeg1QRjSOQLGaG4xI8XUuIvYRmSKf8w7lOmkIOO0iI0am9i3wPrXkEXC/+kPb08pwkW+cTj8j/tQwqS4HjEjuP8QT4Mhj1FehBaBYjvcjBJSjl5bMXpVe3w+1clFCMlUcYV/X9z4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726249096; c=relaxed/simple; bh=0MDGLcEES7upXwbT6pNUF4Xe7hi4bWsaGE2BeoUuB0k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=f1kEqhg/dWfgwavF2eIWXl2o9IhV6FAlpPMBupHP54laqen7OTtgct+xondaVbkTi1mUVA9M3AVaDvx56Cq8NGf5/jfWtbOUaASxPaVrbRRecWg3i2XNNXQYFOhh9QaiOPPNNTlv60y1IVKY27ibvML4tTFgvyov5YHaQywff/I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=n3LacK4h; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="n3LacK4h" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0A894C4CEC7; Fri, 13 Sep 2024 17:38:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1726249096; bh=0MDGLcEES7upXwbT6pNUF4Xe7hi4bWsaGE2BeoUuB0k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=n3LacK4hMgt3Sy/JcwZY3aLpzxURukX1PxjrHQGpIwKKZ24h/B99/cmfSXuAApNGJ ISNDwM7ssHW1zE2snlqsjFjCE4FhafhLjvrII5ar/tLRwEiSAwS5M1lQNnZOX5nZjw rDP+jaNqmLfuDwfVEE7CgTEAPr39Gh9EroELccquCwPXPOteVJ9d3YNfGOQfAEemml xQi7xHX67X2OxNXcg7d+5emZLkPxhcRpDvOve3unIH5S8pPj1y/q/t4GmJsZ27oMF4 VZq8B/g/mqMZJKR7fW0mx8xhcpWH8u89ojwxM9ZIMddaiC7k2YMjYh+AUaoKE+0Fob Bn0vgO2N7nWSA== From: Masahiro Yamada To: Martin KaFai Lau , bpf@vger.kernel.org Cc: Andrii Nakryiko , linux-kernel@vger.kernel.org, Nathan Chancellor , Masahiro Yamada , Alan Maguire Subject: [PATCH v2 3/3] btf: require pahole 1.21+ for DEBUG_INFO_BTF with default DWARF version Date: Sat, 14 Sep 2024 02:37:54 +0900 Message-ID: <20240913173759.1316390-3-masahiroy@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240913173759.1316390-1-masahiroy@kernel.org> References: <20240913173759.1316390-1-masahiroy@kernel.org> Precedence: bulk X-Mailing-List: bpf@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 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+ these days. (At least, it is uncertain whether the actual requirement is pahole 1.16+ or 1.21+.) Signed-off-by: Masahiro Yamada Reviewed-by: Alan Maguire Acked-by: Andrii Nakryiko Reviewed-by: Nathan Chancellor --- (no changes since v1) lib/Kconfig.debug | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index bdf822bc1bab..e24c4caaa067 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