[SRU] [J:linux-kvm] [PATCH] (upstream) scripts/pahole-flags.sh: Add --skip_encoding_btf_enum64 for pahole versions >= 124

mitchell.augustin at canonical.com mitchell.augustin at canonical.com
Thu Jan 25 22:48:33 UTC 2024


From: Mitchell Augustin <mitchell.augustin at canonical.com>

[ Upstream commit b775fbf532dc01ae53a6fc56168fd30cb4b0c658 ]

New pahole (version 1.24) generates by default new BTF_KIND_ENUM64 BTF tag,
which is not supported by stable kernel.

As a result the kernel with CONFIG_DEBUG_INFO_BTF option will fail to
compile with following error:

  BTFIDS  vmlinux
FAILED: load BTF from vmlinux: Invalid argument

New pahole provides --skip_encoding_btf_enum64 option to skip BTF_KIND_ENUM64
generation and produce BTF supported by stable kernel.

Signed-off-by: Mitchell Augustin <mitchell.augustin at canonical.com>
---
 scripts/pahole-flags.sh | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/pahole-flags.sh b/scripts/pahole-flags.sh
index ac8b23787427..d38fa6d84d62 100755
--- a/scripts/pahole-flags.sh
+++ b/scripts/pahole-flags.sh
@@ -4,7 +4,7 @@
 extra_paholeopt=
 
 if ! [ -x "$(command -v ${PAHOLE})" ]; then
-	return
+	exit 0
 fi
 
 pahole_ver=$($(dirname $0)/pahole-version.sh ${PAHOLE})
@@ -17,4 +17,8 @@ if [ "${pahole_ver}" -ge "121" ]; then
 	extra_paholeopt="${extra_paholeopt} --btf_gen_floats"
 fi
 
+if [ "${pahole_ver}" -ge "124" ]; then
+	extra_paholeopt="${extra_paholeopt} --skip_encoding_btf_enum64"
+fi
+
 echo ${extra_paholeopt}
-- 
2.34.1




More information about the kernel-team mailing list