libdwarf reads and/or writes DWARF debugging information in Elf object files. dwarfdump uses libdwarf to read object files and print the DWARF content in a readable fashion. libdwarf implements the DWARF2 (and later) standard by providing function interfaces that abstract away many DWARF implementation details (the writer code only emits DWARF2 so far). The source also includes implementations of a few tree search (tsearch) algorithms (balanced, red-black, and binary).
|Tags||Debugging Compilers tsearch|
|Licenses||LGPL 2.1 GPL v2 BSD|
|Operating Systems||UNIX-like OSs Posix compliant|
Release Notes: Consumer code reads gcc DebugFission and DWARF5 Split DWARF objects now. Producer code has a new INCOMPATIBLE source interface to dwarf_producer_init(). This is much simpler and more understandable. The messy configure-time portions are gone. Code not using producer functions is not affected by the interface changes.
Release Notes: Libdwarf now follows the DWARF2 standard properly in reading DW_FORM_ref_addr. This is critical for properly reading DWARF emitted by the Go language compiler in a 64bit pointer object. The original DWARF2 standard is on dwarfstd.org, so it's been removed from the libdwarf source to save space in the release.
Release Notes: This release fixes a bug in the dwarfdump Makefile.in so that parallel make works reliably. It removes remaining trailing whitespace. It moves tsearch test cases over to the libdwarf regressiontests repository, as the tests seemed too large to keep in the source.