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

Stefan Bader stefan.bader at canonical.com
Fri Jan 26 15:59:41 UTC 2024


On 26.01.24 16:23, mitchell.augustin at canonical.com wrote:
> From: Mitchell Augustin <mitchell.augustin at canonical.com>
> 
> BugLink: https://bugs.launchpad.net/bugs/2051376
> 
> 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.
> 
> (cherry picked from commit b775fbf532dc01ae53a6fc56168fd30cb4b0c658)

This is not true. This SHA1 is not found in upstream (Linus kernel 
tree). And it looks like it would not be upstreamable either since with 
6.7-rc1 the script got converted into a makefile snippet. So this would 
have to be a SAUCE patch for Jammy 5.15. However it likely also requires 
to think about HWE kernels. 6.5 and upcoming Noble. And not sure just 
checking for a specific pahole version is right. Might be a range to be 
more generic.

> 
> 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}

-- 
- Stefan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0xE8675DEECBEECEA3.asc
Type: application/pgp-keys
Size: 48643 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20240126/01b706f0/attachment-0001.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20240126/01b706f0/attachment-0001.sig>


More information about the kernel-team mailing list