Em Tue, Mar 30, 2021 at 11:28:36PM -0700, Andrii Nakryiko escreveu: > 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. The plan is to get 1.21 out of the door when we finish the LTO work, which should be soon. - Arnaldo > > 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 > >