DWARF utilities
dwarves is a set of tools that use the DWARF 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.
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.
The documentation about ctracer is not updated to the latest
developments: it now generates systemtap scripts, stay tuned for
improvements in this area!
-
1
derived packages
- Links to openSUSE:Factory / dwarves
- Has a link diff
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout Kernel:tools/dwarves.Factory && cd $_
- Create Badge
Source Files (show merged sources derived from linked package)
Filename | Size | Changed |
---|---|---|
_link | 0000000161 161 Bytes | |
_service | 0000000627 627 Bytes | |
_servicedata | 0000000452 452 Bytes | |
project.diff | 0000001273 1.24 KB |
Latest Revision
- Update to release 1.25 * Fixed the handling of DW_TAG_unspecified type in assembly functions that came with binutils 2.40 * Allow the BTF encoding of optimized functions (ending in .constprop, .isra), * Exclude BTF optimized functions not following the calling convention * Support for DW_TAG_atomic_type * Support for the DW_TAG_LLVM_annotation BTF equivalent (BTF_KIND_TYPE_TAG) on the BTF loader and for now suppressing it when pretty printing - Drop 0001-pahole-Support-lang-lang_exclude-asm.patch, 0002-btf_encoder-Add-extra-debug-info-for-unsupported-DWA.patch, 0003-btf_encoder-Store-the-CU-being-processed-to-avoid-ch.patch, 0004-core-Add-DW_TAG_unspecified_type-to-tag__is_tag_type.patch, 0005-core-Record-if-a-CU-has-a-DW_TAG_unspecified_type.patch, 0006-btf_encoder-Encode-DW_TAG_unspecified_type-returning.patch, 0007-dwarves-Zero-initialize-struct-cu-in-cu__new-to-prev.patch - Add 0001-pahole-Support-lang-lang_exclude-asm.patch, 0002-btf_encoder-Add-extra-debug-info-for-unsupported-DWA.patch, 0003-btf_encoder-Store-the-CU-being-processed-to-avoid-ch.patch, 0004-core-Add-DW_TAG_unspecified_type-to-tag__is_tag_type.patch, 0005-core-Record-if-a-CU-has-a-DW_TAG_unspecified_type.patch, 0006-btf_encoder-Encode-DW_TAG_unspecified_type-returning.patch, 0007-dwarves-Zero-initialize-struct-cu-in-cu__new-to-prev.patch as in order to support DW_TAG_unspecified_type that is newly emitted by binutils 2.40+.
Comments 0