[Lldb-commits] [PATCH] D55991: DWARF: Fix a bug in array size computation

Greg Clayton via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri Dec 21 07:26:43 PST 2018


clayborg requested changes to this revision.
clayborg added inline comments.
This revision now requires changes to proceed.


================
Comment at: source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp:619
+  case DW_FORM_ref_addr:
+  case DW_FORM_ref_sig8:
+  case DW_FORM_GNU_ref_alt:
----------------
DW_FORM_ref_sig8 is a type signature and shouldn't be returned as a valid DWARF DIE reference. In the .debug_types patch, this uses m_cu to get to the debug info and uses the type signature to DWARF offset map to return a valid .debug_info offset. If the DWARF is older where we have both .debug_info and .debug_types. we add the size of the .debug_info to the result since we concatenate the .debug_info and .debug_types and treat it as one large DWARF section


================
Comment at: source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp:620
+  case DW_FORM_ref_sig8:
+  case DW_FORM_GNU_ref_alt:
+    return die_offset;
----------------
Not sure that this is, but if it isn't an absolute .debug_info offset, then we shouldn't return it here


================
Comment at: source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp:639
+  case DW_FORM_ref_addr:
+  case DW_FORM_ref_sig8:
+  case DW_FORM_GNU_ref_alt:
----------------
Ditto above


================
Comment at: source/Plugins/SymbolFile/DWARF/DWARFFormValue.cpp:641
+  case DW_FORM_GNU_ref_alt:
+    return die_offset;
 
----------------
Ditto above


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55991/new/

https://reviews.llvm.org/D55991





More information about the lldb-commits mailing list