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 >