Thread (3 messages) 3 messages, 3 authors, 2021-03-31

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

From: Andrii Nakryiko <hidden>
Date: 2021-03-31 06:29:35

On Tue, Mar 30, 2021 at 6:44 PM Ilya Leoshkevich [off-list ref] 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.
quoted hunk ↗ jump to hunk
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help