Name: | dwarves |
---|---|
Version: | 1.28 |
Release: | 1.el10 |
Architecture: | aarch64 |
Group: | Unspecified |
Size: | 883124 |
License: | GPLv2 |
RPM: | dwarves-1.28-1.el10.aarch64.rpm |
Source RPM: | dwarves-1.28-1.el10.src.rpm |
Build Date: | Thu Jan 16 2025 |
Build Host: | build-ol10-aarch64.oracle.com |
Vendor: | Oracle America |
URL: | http://acmel.wordpress.com |
Summary: | Debugging Information Manipulation Tools (pahole & friends) |
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. |
- Build new dwarves release, depends on libbpf-devel v1.5 [Orabug: 37277258]
- Backport upstream bugfixes for clang builds Resolves: RHEL-54022
- 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++.
- Resolves: rhbz#2190484 - Build with system libbpf - New release: v1.25 - Support for DW_TAG_unspecified_type more generally. - Make sure struct member offsets are in ascending order. Rust BTF needs this. - Support C atomic types (DW_TAG_atomic_type). - Initial support for DW_TAG_LLVM_annotation, used for BTF type tags, for __rcu, __user, etc - Exclude functions with the same name (static functions in different CUs), inconsistent prototypes or not following calling convention. - Allow generation of BTF for optimized functions, those that end with a .isra*, .constprop*. - Support 'pahole --lang=/--lang_exclude=asm' - Support --compile from DWARF in addition to from BTF. - Exclude RUST CUs in 'btfdiff', as those are not yet being BTF encoded.
- Backport BTF fix needed for kernel kfuncs - Related: rhbz#2140020
- Resolves: rhbz#2140020 - New release: v1.23 - Process DW_TAG_LLVM_annotation tags. - Initial support for DW_TAG_skeleton_unit. - Encode BTF_KIND_TYPE_TAG and BTF_KIND_DECL_TAG - Fix handling of percpu symbols on s390. - Use cacheline size to infer struct member alignment from BTF. - Add --skip_missing to not stop when not finding one of -C arguments. - Fix __attribute__((__aligned__(N)) printing alignment for struct members. - Fix nested __attribute__(__aligned__(N)) struct printing order. - New release: v1.24 - Add support to BTF_KIND_ENUM64. - Support multithreaded BTF encoding. - Encode char type as signed in BTF. - Introduce --lang and --lang_exclude to pahole. - Introduce --compile to pahole. - Don't segfault when processing bogus files.
- New release: v1.22 - Resolves: rhbz#2010414 - Introduce -j/--jobs option to specify the number of threads to use. - Multithreaded DWARF loading, requires elfutils >= 0.178. - Preparatory work for multithreaded BTF encoding, the focus for 1.23. - Allow encoding BTF to a separate file. - Show all different types with the same name, not just the first one found. - Stop assuming that reading from stdin means pretty, add --prettify. - Improve type resolution for the --header command line option. - Do not consider the ftrace filter when encoding BTF for kernel functions. - Lock calls to non-thread safe elfutils' dwarf_decl_file() and dwarf_decl_line(). - Change hash table size to one that performs better with current typical vmlinux files. - Allow tweaking the hash table size from the command line. - Add --kabi_prefix to avoid deduplication woes when using _RH_KABI_REPLACE(). - Add --with_flexible_array to show just types with flexible arrays. - Support btfdiff with a detached BTF file. - Introduce sorted type output (--sort). - Disable incomplete CTF encoder.
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688
- remove ftrace filter - New release: v1.21 - DWARF loader: - Handle DWARF5 DW_OP_addrx properly - Handle subprogram ret type with abstract_origin properly - Check .notes section for LTO build info - Check .debug_abbrev for cross-CU references - Permit merging all DWARF CU's for clang LTO built binary - Factor out common code to initialize a cu - Permit a flexible HASHTAGS__BITS - Use a better hashing function, from libbpf - btf_encoder: - Add --btf_gen_all flag - Match ftrace addresses within ELF functions - Funnel ELF error reporting through a macro - Sanitize non-regular int base type - Add support for the floating-point types - Pretty printer: - Honour conf_fprintf.hex when printing enumerations
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937