From patchwork Wed Sep 11 11:03:56 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 13800220 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 A6F2248CDD; Wed, 11 Sep 2024 11:04:07 +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=1726052647; cv=none; b=PRpptZBft9+8EGHmUn3k+/QAfSEbcpfVg/8bJ+nYmcKNtpAtD4wuEqWNNv7CuFHlvT20SzxQ01j0C2QNbeRXm0vqXL5BV5mhIHxRmOY41uIpj9bAtae7Js+7/GELn64qZzK8Y3JggrDgLHdonZ8HxoGevujS7EqhzPwnvM2Z+jU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726052647; c=relaxed/simple; bh=1+IU6LatGUY8P8DoeAOBjptphnvD2Ge6sR2P5NNpFHs=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=AuiU+x1En9piTSyHCYjkguxESzBkGgTw6s1Wk70bJ26/zSLmWbhch8RPS1dBD2jf7gLGKXm5Dwev2amSDZqeAR4wJxTH8rVfxtT+l3AMJ2FmgXjn+SfE4bKTBf69tbGL7429ydwaMciKr2n6xfJhaOQQWnn5ZZY4HjxJudAnxH8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=sLjRBmjb; 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="sLjRBmjb" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2D2E2C4CEC5; Wed, 11 Sep 2024 11:04:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1726052647; bh=1+IU6LatGUY8P8DoeAOBjptphnvD2Ge6sR2P5NNpFHs=; h=From:To:Cc:Subject:Date:From; b=sLjRBmjbdA058AD0mbvoAyeCAr3fsLhksbFfYgPua7cmTShzERKlWAAuCnnsLIGYO KQL8SCzedWy/lRmz3nuRKhMPGpVT2drshBuDrzQtTjhD/tZOp5ZCQr3JiPbe0iFy3s LdtSZZDM7kAOoIt0lYORsPE63rot5yT1eRRG0nYlHcJLIldiQEnRZt8/LN/+g1c6Y2 xPdpMSIe+v9PlcF70ZKvoBeRBZclcS65ru21nDqU7WbsyrPVObQb+ii2A3wusOx8KN mLXRhPp+rP1xDM6efY2EQq3SoexrZn1yWBqV6lsS9evX20ddFYgQgGXxbf9DaYJi26 a+5ISXkWyZa5Q== From: Masahiro Yamada To: Martin KaFai Lau , bpf@vger.kernel.org Cc: linux-arch@vger.kernel.org, Andrii Nakryiko , linux-kernel@vger.kernel.org, Nathan Chancellor , Masahiro Yamada , Nicolas Schier , linux-kbuild@vger.kernel.org Subject: [PATCH 1/3] btf: remove redundant CONFIG_BPF test in scripts/link-vmlinux.sh Date: Wed, 11 Sep 2024 20:03:56 +0900 Message-ID: <20240911110401.598586-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: Nathan Chancellor Acked-by: Andrii Nakryiko --- 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 Wed Sep 11 11:03:57 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 13800221 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 27471185949; Wed, 11 Sep 2024 11:04:09 +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=1726052650; cv=none; b=g7oFBofO005zcihzsWY+GaXHeatZxiv9OEhncoWQtbi7DE9sASmBAsNui7aotWN/CtBmIPe9AYM9l+6TnI8KEplQQDWZVOXvTRV4C3AEXLOO8ODSxmAb3oU0w4jj5ntwCZ7NY7fpZFlAXGI2ncJn//CacIycu5E4PYFd2Bq/8vQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726052650; c=relaxed/simple; bh=ftZk5h2C2mAaLfNPnOAoAK7jRJIpQM7hPpHEjmo6pUI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=AqrHJno9Qb3XCROWsMth42/sSw5ojE5nr2sq85oqGVTfwcxSro4s0QpqCeJ5BWbpP+ZMNp8BdvHLmjFT0R2rIv+gyP56nXn9tt+M40vC6L3MKBXkuBykAs8t1T+ZU4YQpBGQgWNWjP9QLUHJ8YzMFDQF+3fDPYSINkrmj0leUc0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Rde4AoKt; 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="Rde4AoKt" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9FEA5C4CEC6; Wed, 11 Sep 2024 11:04:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1726052649; bh=ftZk5h2C2mAaLfNPnOAoAK7jRJIpQM7hPpHEjmo6pUI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Rde4AoKtM2lgQiMKJX5jxFUPfs69kGu0Ymg6fnELn33COv3S7Ww9XWT9ie/f3hFYP 5H/5bhbOYhnjatREHOUlz1HXZkcNGvTAn+qvTmt82mNfahXoHMemfctFiEOhf7vg+4 TyNSQMbFE6J/TSpyrv5OxiI/VFORVc6Ytv3tkevt6Xbxo9glfvdq4jyj0CDRIusgy4 KbDIcOsymS+MtIP3lnSCwJBhFHYczxYiu99wZI+pfEb88y94IqIIW+1D/zv5FqLrxa sf4/jKtPwQ5aZzd7x2BlCXx3ei8Bq/gOdlfLrOMz2etTpFdAgi2eEFBJTI78Hs56Uc cbcCGJahiQE1w== From: Masahiro Yamada To: Martin KaFai Lau , bpf@vger.kernel.org Cc: linux-arch@vger.kernel.org, Andrii Nakryiko , linux-kernel@vger.kernel.org, Nathan Chancellor , Masahiro Yamada , Andrew Morton , Nicolas Schier , linux-kbuild@vger.kernel.org Subject: [PATCH 2/3] btf: move pahole check in scripts/link-vmlinux.sh to lib/Kconfig.debug Date: Wed, 11 Sep 2024 20:03:57 +0900 Message-ID: <20240911110401.598586-2-masahiroy@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240911110401.598586-1-masahiroy@kernel.org> References: <20240911110401.598586-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 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 Reviewed-by: Alan Maguire Acked-by: Andrii Nakryiko Reviewed-by: Nathan Chancellor --- 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} From patchwork Wed Sep 11 11:03:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 13800222 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 D9346187872; Wed, 11 Sep 2024 11:04: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=1726052653; cv=none; b=a+RwJlrBUyOMTPvwQbjikQlQRnIkuR5gGYOtilbBt84nUR2xjDCfvBRMGKGDLTas03Aqxi9V1CMd/rA9qZh8rYWOTDUBLxt5aVhSAGdT4eiEkxmjpQWgXCptcpbO6n+3dt9e3649FfCA+VQ6+F8M0I+Jh7qtGdCc7pgkyeFRNHM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1726052653; c=relaxed/simple; bh=thqMcdaspNIy4jxq3jBQbrvGsrz0EH5sU9B3enTaQ1A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jZzMsWP044+0XnmC3MPLBPeFBeCRT4OJpUvldrbx6WA5qz5vIImgd59UCIq1/sIE8KqB6P0a5ub7rlSwfJvcY/Y9xrLWnNU14sJTrquFUpcQOyBTnFQO0+lmVVdNMByyeF8n+EinnZnztR3OBSChY5/3gveeGwA55GjhAePW9XU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=RPCzarS/; 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="RPCzarS/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 089F0C4CEC5; Wed, 11 Sep 2024 11:04:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1726052652; bh=thqMcdaspNIy4jxq3jBQbrvGsrz0EH5sU9B3enTaQ1A=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=RPCzarS/BE45uF2Km6hgHp9uKmHYAM7noDzb46keOGzRFqw0wLTZWMZY1wz15MxUo 59O9KKiGs+t9MXo73trAMfj+1FrR5kgtdeQF0B8OwhH0Z9iTAJ5tjPv9CZVTcu9ZQY VJUbF5V5DkerTk98t8fUQpBFLCrblxlAlWnqmzrl+rV93N3L4j6CAHlhQNIGvWhLdp ZzCGXvlkwWsZvzyrpK6T1NictVhVg8dZX47ICyTANth+Htsrfhs82OvVqJHyugfp3G 7g0xjZ92QzuVaS4nD0Lu2dQVnSjUeyBlLNRTo4g7z43ZSCUQFrMWA9Xzkq1RFydiQf uKRVHv10HnJjg== From: Masahiro Yamada To: Martin KaFai Lau , bpf@vger.kernel.org Cc: linux-arch@vger.kernel.org, Andrii Nakryiko , linux-kernel@vger.kernel.org, Nathan Chancellor , Masahiro Yamada , Andrew Morton , Bill Wendling , Justin Stitt , Nick Desaulniers , llvm@lists.linux.dev Subject: [PATCH 3/3] btf: require pahole 1.21+ for DEBUG_INFO_BTF with default DWARF version Date: Wed, 11 Sep 2024 20:03:58 +0900 Message-ID: <20240911110401.598586-3-masahiroy@kernel.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240911110401.598586-1-masahiroy@kernel.org> References: <20240911110401.598586-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+. (At least, it is uncertain whether the requirement is pahole 1.16+ or 1.21+.) Signed-off-by: Masahiro Yamada Acked-by: Andrii Nakryiko Reviewed-by: Nathan Chancellor --- 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