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).