ANNOUNCE: pahole v1.24 (Faster BTF encoding, 64-bit BTF enum entries)

From: Arnaldo Carvalho de Melo
Date: Mon Aug 22 2022 - 19:28:55 EST


Hi,

The v1.24 release of pahole and its friends is out, with faster
BTF generation by parallelizing the encoding part in addition to the
previoulsy parallelized DWARF loading, support for 64-bit BTF enumeration
entries, signed BTF encoding of 'char', exclude/select DWARF loading
based on the language that generated the objects, etc.

Main git repo:

git://git.kernel.org/pub/scm/devel/pahole/pahole.git

Mirror git repo:

https://github.com/acmel/dwarves.git

tarball + gpg signature:

https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.xz
https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.bz2
https://fedorapeople.org/~acme/dwarves/dwarves-1.24.tar.sign

Thanks a lot to all the contributors and distro packagers, you're on the
CC list, I appreciate a lot the work you put into these tools,

Best Regards,

BTF encoder:

- Add support to BTF_KIND_ENUM64 to represent enumeration entries with
more than 32 bits.

- Support multithreaded encoding, in addition to DWARF multithreaded
loading, speeding up the process.

Selected just like DWARF multithreaded loading, using the 'pahole -j'
option.

- Encode 'char' type as signed.

BTF Loader:

- Add support to BTF_KIND_ENUM64.

pahole:

- Introduce --lang and --lang_exclude to specify the language the
DWARF compile units were originated from to use or filter.

Use case is to exclude Rust compile units while aspects of the
DWARF generated for it get sorted out in a way that the kernel
BPF verifier don't refuse loading the BTF generated from them.

- Introduce --compile to generate compilable code in a similar fashion to:

bpftool btf dump file vmlinux format c > vmlinux.h

As with 'bpftool', this will notice type shadowing, i.e. multiple types
with the same name and will disambiguate by adding a suffix.

- Don't segfault when processing bogus files.