[ All 3 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ]
×

Project dwarves-1.30-1.el9

Name dwarves
Epoch 0
Version 1.30
Release 1.el9
Website/URL http://acmel.wordpress.com
License GPLv2
Build Time 2025-10-23 18:30:34
Build Host builder-x86-07.inferitos.ru
Summary Debugging Information Manipulation Tools (pahole & friends)
Repositories AppStream
Description dwarves is a set of tools that use the debugging information inserted in ELF binaries by compilers such as GCC, used by well known debuggers such as GDB, and more recent ones such as systemtap. Utilities in the dwarves suite include pahole, that can be used to find alignment holes in structs and classes in languages such as C, C++, but not limited to these. It also extracts other information such as CPU cacheline alignment, helping pack those structures to achieve more cache hits. These tools can also be used to encode and read the BTF type information format used with the Linux kernel bpf syscall, using 'pahole -J' and 'pahole -F btf'. A diff like tool, codiff can be used to compare the effects changes in source code generate on the resulting binaries. Another tool is pfunct, that can be used to find all sorts of information about functions, inlines, decisions made by the compiler about inlining, etc. One example of pfunct usage is in the fullcircle tool, a shell that drivers pfunct to generate compileable code out of a .o file and then build it using gcc, with the same compiler flags, and then use codiff to make sure the original .o file and the new one generated from debug info produces the same debug info. Pahole also can be used to use all this type information to pretty print raw data according to command line directions. Headers can have its data format described from debugging info and offsets from it can be used to further format a number of records. The btfdiff utility compares the output of pahole from BTF and DWARF to make sure they produce the same results.
Errata
× Full screenshot
Packages link
Package Summary SHA-256 checksum
x86_64
dwarves-1.30-1.el9.x86_64 Debugging Information Manipulation Tools (pahole & friends) d9b45a0a921f929baf28842b3cd4271efbef9507b176a70cb88ad7a2b93cfce7 download
libdwarves1-1.30-1.el9.x86_64 Debugging information processing library 224a385d6499dd382f96ae8c45e9768fdd416a427d4041d228a87f30bc2895fa download
i686
libdwarves1-1.30-1.el9.i686 Debugging information processing library 0e8ee57d19c39471fbe2def2e92525a38f402cb9d457f0ee36157c318221806f download
aarch64
dwarves-1.30-1.el9.aarch64 Debugging Information Manipulation Tools (pahole & friends) 1b6bce4b5a9e47220a18fba6a17efc8e7713132c5fa265c68751fd7352f5ca93 download
libdwarves1-1.30-1.el9.aarch64 Debugging information processing library 02f54043b95ea092f8924906ba5eff49761b8b8858de60e79bce2c4478839c52 download
src
dwarves-1.30-1.el9.src Debugging Information Manipulation Tools (pahole & friends) 8b9c88db7c24a46f425a2714bdafa86e4759fdbd334c91b8643a5c28f985032f download
Changelog link
* Fri Jun 20 2025 Gregory Bell <grbell@redhat.com> - 1.30-1
- New release: 1.30
- Better detection of abort during DWARF loader thread processing
- pahole now detects presence of libbpf APIs and BTF features using weak function
  declarations when built using a shared library libbpf
- Type tags are emitted for BPF arena pointers with new BTF "attributes" feature
- New release: 1.29
- Multithreading is now in the DWARF loader using a jobs queue and a pool of worker threads.
- The BTF encoding now is always reproducible, and as fast/faster than before.
- The memory consumption is reduced.
- Support for multiple BTF_DECL_TAGs pointing to same tag.
- Verify that pfunct prints btf_decl_tags read from BTF.
- Don't print functions twice when using 'pfunct -f function_name'.
- New release: 1.28
- Various improvements to reduce the memory footprint of pahole, notably when doing BTF encoding.
- Show flexible arrays statistics
- Add '--padding N' and '--padding_ge N' to show structs with paddings
- Introduce --running_kernel_vmlinux to find a vmlinux that matches the build-id of the running kernel.
- Don't stop pfunct output at the first function that matches a filter, show all of them
- Allow encoding data about all global variables, not just per CPU ones
- Handle .BTF_ids section endianness, fully supporting cross builds
- Generate decl tags for bpf_fastcall for eligible kfuncs
- Add "distilled_base" BTF feature to split BTF generation.
- Use the ELF_C_READ_MMAP mode with libelf, reducing peak memory utilization
- Allow overriding /sys/kernel/btf/vmlinux via the PAHOLE_VMLINUX_BTF_FILENAME env var
- Allow setting the list of compile units via PAHOLE_LANG_EXCLUDE env var
- Serialize access to elfutils dwarf_getlocation().
- Honour --lang_exclude when merging LTO built CUs.
- Add the debuginfod client cache directory to the vmlinux search path.
- Print the CU's language when a tag isn't supported.
- Initial support for GNU_formal_parameter_pack, GNU_template_parameter_pack, template_value_param and template_type_param DWARF tags.
- Improve the parameter parsing by checking DW_OP_[GNU_]entry_value
- Introduce a tests/ directory with regression tests

* Mon Aug 12 2024 Davide Cavalca <dcavalca@centosproject.org> - 1.27-2
- Backport upstream bugfixes for clang builds
  Resolves: RHEL-54022

* Thu Jun 20 2024 Viktor Malik <vmalik@redhat.com> - 1.27-1
- Resolves: RHEL-30780
- New release: v1.26
- When expanding types using 'pahole -E' do it for union and struct typedefs and for enums too.
- Print number of holes, bit holes and bit paddings in class member types.
- Introduce --contains_enumerator=ENUMERATOR_NAME:
- Fix pretty printing using DWARF, waiting for a CU with both class (-C) and a specified "type_enum".
- Add support for DW_TAG_constant in the DWARF loader, first seen in Go DWARF.
- Fix loading DW_TAG_subroutine_type generated by the Go compiler.
- Fix loading of 32-bit signed enums from BTF.
- Add 'pahole --btf_features' to allow consumers to specify an opt-in set of features they want to use in BTF encoding.
- Parallelize loading BTF and DWARF, speeding up a bit btfdiff.
- Do type expansion to cover "private" types and enumerations in btfdiff.
- New release: v1.27
- Reproducible parallel builds: multiple runs with different number of loading/encoding threads produce the same result.
- Inject kfunc decl tags into BTF from the BTF IDs ELF section in the Linux kernel vmlinux file.
- Sanitize unsupported DWARF int type with greater-than-16 byte, as BTF doesn't support it.
- Initial support for BTF_KIND_DECL_TAG in the BTF loader, adding support in pfunct output.
- Fix hole discovery with inheritance in C++.