clayborg added a comment.

In http://reviews.llvm.org/D12291#233274, @tberghammer wrote:

> I though a bit more about the abstraction you plan to introduce (DWARFDIE) 
> and I started to believe we don't need it at all. If we use lldb::user_id_t 
> in the NameToDIE indexes where the first 4 byte is the compile unit offset 
> (for dwo) or the compile unit index (for debug map) and the last 4 byte is 
> the die offset then we will have all of the information we need.


Even if we don't need it to implement the DWO feature, we still need it. There 
are many places where we pass around a DWARFCompileUnit and a 
DWARFDebugInfoEntry as two arguments and there are many places where the wrong 
DWARFCompileUnit might be being used for a DWARFDebugInfoEntry. So even if this 
doesn't help the DWO stuff, I really want to get this change in so this kind of 
error doesn't happen.

We should still pull the CU index + DWARF offset tricks you mention for sure.

> In this setup DWARFCompileUnit::Index have to be changed to index the dwo 
> dwarf files also and all function of DWARFDebugInfoEntry have to be changed 
> to check if it was given the compile unit belongs to the actual DIE or it got 
> a pointer to the DIE in the main object file. In the second case it re-calls 
> itself with the correct SymbolFileDwarf and DWARCompileUnit objects. I think 
> this approach will keep the dwo file handling in the DWARFCompileUnit and in 
> the DWARFDebugInfoEntry classes.


Sounds good, but lets build this on top of my DWARFDIE stuff so we can 
guarantee that we can hand out a DWARFDIE and always have the right 
DWARFCompileUnit and DWARFDebugInfoEntry. I am almost done with my DWARFDIE 
changes. Should be later today.


http://reviews.llvm.org/D12291



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

Reply via email to