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
lldb-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

Reply via email to