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

Reply via email to