[Lldb-commits] [PATCH] DWARF64 Fixes

Jason Molenda jmolenda at apple.com
Wed Sep 10 18:51:38 PDT 2014


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






More information about the lldb-commits mailing list