Created attachment 10274 [details] clang compiled object that includes the example above We are starting to use Clang 4.0.0 at LLNL and it is emitting some DWARF5 opcodes. Please add DWARF5 decoding to eu-readelf. For example: #include <string> #include <vector> std::vector<std::string> var; and tangentially I saw something in the DWARF which neither readelf or eu-readelf understands. [ 7e1] namespace name (strp) "__cxx11" decl_file (data1) 1 decl_line (data2) 2214 ??? (0x89) (flag_present) yes Since clang is already emitting some DWARF5 we should at least be able to decode what it is emitting reliably.
Although it isn't full DWARF5 support all DWARF5 tags and attributes are recognized in 0.170. From the NEWS file: Version 0.170 libdw: Added new DWARF5 attribute, tag, character encoding, language code, calling convention, defaulted member function and macro constants to dwarf.h. New functions dwarf_default_lower_bound and dwarf_line_file. dwarf_peel_type now handles DWARF5 immutable, packed and shared tags. dwarf_getmacros now handles DWARF5 .debug_macro sections. And the above example now shows: [ 7e1] namespace name (strp) "__cxx11" decl_file (data1) 1 decl_line (data2) 2214 export_symbols (flag_present) yes