ayermolo added inline comments.

================
Comment at: lldb/source/Plugins/SymbolFile/DWARF/ManualDWARFIndex.cpp:402
     DWARFUnit &unit, llvm::function_ref<bool(DWARFDIE die)> callback) {
-  lldbassert(!unit.GetSymbolFileDWARF().GetDwoNum());
+  lldbassert(!unit.GetSymbolFileDWARF().GetFileIndex());
   Index();
----------------
labath wrote:
> clayborg wrote:
> > Does this assert really need to exist? Why would we not require a .dwo file 
> > (old code) be able to index? Can we remove this assert? It seems wrong?
> That was because it a split dwarf setup, there are two compile units, two 
> symbol files and two CU DIEs. In a DIERef, the unit offset refers to the 
> offset of the main unit within the main symbol file (because that's globally 
> unique), but the die offset refers to the offset in the separate file 
> (because that's where the dies are).  The indexing process needs to start 
> with the main unit (not the one from the split file) in order for the DIERefs 
> to come out right, and these assertions were enforcing that. Therefore, I 
> think we should put all of these back in.
> 
> Or at least, that was the case at some point in the past... I don't know 
> whether this has changed since then, but I wouldn't expect it to.
Thank you for elaborating, Will put them back in.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D138618

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to