[Lldb-commits] [PATCH] D62073: Introduce DWARFUnitHeader and use it to parse type units out of .debug_info

Greg Clayton via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Fri May 17 13:31:57 PDT 2019

clayborg added a comment.

Are type units still disabled with the kill switch we had in? Or is this on top of the .debug_types patch? We have an internal .debug_types patch we have been using on an older LLVM/Clang/LLDB and we had some major performance issues regarding line tables so I am not sure where we would need to put these fixes (in this patch or in the .debug_types specific patch. This patch seems to enable parsing .debug_types already. The main issue we ran into were:

- only search actual compile unit line tables for breakpoints as many .debug_type units will point to existing line tables from real compile units
- don't add address ranges to type unit DWARFUnits from the line tables
- re-work how support files are parsed by sharing the line tables within a SymbolFileDWARF. .debug_types has type units that reuse line tables from real compile units (thousands of times) and we ended up seeing the same line table being parsed over and over and over. Another way to fix this is to no vend a lldb_private::CompileUnit for any units that aren't really compile units (DW_UT_type and DW_UT_split_type).

So if this patch is enabling all this, we will need to fix this patch to avoid all of the above mentioned issues. Let me know your thoughts.



More information about the lldb-commits mailing list