Greg has done most of the DWARF parser work, he should comment. In DWARFDebugInfoEntry.cpp DW_FORM_ref_addr you use cu->GetAddressByteSize() for the size (or cu_addr_size, used in a different part of the file) -- but if this is a 64-bit binary using DWARF32, that would be wrong - this is a reference to another part of the DWARF. Or a 32-bit binary using DWARF64. Don't you want to do cu->IsDWARF64() (like you do for DW_FORM_strp / DW_FORM_sec_offset)?
(or more accurately, for DWARF2, the DW_FORM_ref_addr is apparently the word size of the program; with DWARF3+, it's 4 for DWARF32, 8 for DWARF64) I see what you're doing in DWARFFormValue::GetFixedFormSizesForAddressSize -- you assume that 32-bit-program + DWARF64 is not a possible combination. That's fine, I don't really think any producer would generate it. Greg might not want to see this change to DWARFAbbreviationDeclaration::Dump() ;) but I don't have an opinion on that. Otherwise it looks fine to me. http://reviews.llvm.org/D5307 _______________________________________________ lldb-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits
