Re: [PATCH bpf-next] bpf: Generate BTF_KIND_FLOAT when linking vmlinux

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Mar 30, 2021 at 6:44 PM Ilya Leoshkevich <iii@xxxxxxxxxxxxx> wrote:
>
> pahole v1.21 will support the --btf_gen_floats flag, which makes it
> generate the information about the floating-point types.
>
> Adjust link-vmlinux.sh to pass this flag to pahole in case it's
> supported. Whether or not this flag is supported is determined by
> probing, which is chosen over version check for two reasons:
>
> 1) at this moment --btf_gen_floats exists only in master, which
>    identifies itself as v1.20.
> 2) distros may backport features, making the version check too
>    conservative.
>

Does anyone really cherry-pick and backport pahole patches, though? So
far we've been using strictly version checks for pahole (1.13, then
1.16, then 1.19 for modules), that keeps everything simpler and more
reliable, IMO. I'd stick with 1.21 check and just check with Arnaldo
when he's planning to release a new version.

> Signed-off-by: Ilya Leoshkevich <iii@xxxxxxxxxxxxx>
> ---
>  scripts/link-vmlinux.sh | 7 ++++++-
>  1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh
> index 3b261b0f74f0..f4c763d2661d 100755
> --- a/scripts/link-vmlinux.sh
> +++ b/scripts/link-vmlinux.sh
> @@ -227,8 +227,13 @@ gen_btf()
>
>         vmlinux_link ${1}
>
> +       local paholeopt=-J
> +       if ${PAHOLE} --btf_gen_floats --help >/dev/null 2>&1; then
> +               paholeopt="${paholeopt} --btf_gen_floats"
> +       fi
> +
>         info "BTF" ${2}
> -       LLVM_OBJCOPY=${OBJCOPY} ${PAHOLE} -J ${1}
> +       LLVM_OBJCOPY=${OBJCOPY} ${PAHOLE} ${paholeopt} ${1}

we know that -J is always specified, so I'd leave it intact, and just
have "extra pahole options", potentially empty.

>
>         # Create ${2} which contains just .BTF section but no symbols. Add
>         # SHF_ALLOC because .BTF will be part of the vmlinux image. --strip-all
> --
> 2.29.2
>



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux