https://sourceware.org/bugzilla/show_bug.cgi?id=23982
Bug ID: 23982 Summary: dwarf_formref_die() does not support DW_FORM_indirect Product: elfutils Version: unspecified Status: UNCONFIRMED Severity: normal Priority: P2 Component: libdw Assignee: unassigned at sourceware dot org Reporter: Andreas.Kromke at dreamchip dot de CC: elfutils-devel at sourceware dot org Target Milestone: --- This kind of indirect form is generated by some ARM compilers. A temporary workaround might be: Dwarf_Attribute *attr = dwarf_attr_integrate(die, DW_AT_type, &attr_mem); if (attr != NULL) { unsigned int whatform = dwarf_whatform(attr); while(whatform == DW_FORM_indirect) { uint64_t val; const unsigned char *p = (const unsigned char *) attr->valp; get_uleb128_unchecked(val, p); whatform = (unsigned int) val; attr_mem.form = whatform; attr_mem.valp = (void *) p; } Dwarf_Die *type = dwarf_formref_die(attr, type_die); ... However, this method is rather ugly, because it needs the internal function get_uleb128_unchecked(). -- You are receiving this mail because: You are on the CC list for the bug.