jankratochvil added a comment. In https://reviews.llvm.org/D46810#1098110, @clayborg wrote:
> So this problem exists both in the LLDB and LLVM DWARF parsers. I am not sure > this fix is safe. I would rather fix this by fixing DWARFDIE class to "do the > right thing". We should be able to teach the DWARFDIE class to replace its > "m_die" with the updated "m_die" if a method ever causes DWARFDIE to need to > expand all DIEs in a DWARFUnit. That seems like a much safer fix. Having > m_first_die is not safe because it if you call DWARFDIE::GetFirstChild() it > will just add 1 to the "m_die" and we will crash. All parent, sibling and > child code just do pointer arithmetic to find their counterparts. So since > DWARFDIE has the "DWARFUnit *m_cu;" and "DWARFDebugInfoEntry *m_die;" we > should use DWARFDIE to abstract this from users. Anyone playing directly with > DWARFDebugInfoEntry must know the rules and do the right thing or just use > DWARFDIE. Is this statement still valid now with `DWARFBaseDIE`? https://reviews.llvm.org/D46810 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits