[Lldb-commits] [PATCH] D40212: refactor: Unify+simplify DWARFCompileUnit ctor+Clear() into in-class initializers + Extract()

2017-11-26 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil updated this revision to Diff 124290. jankratochvil added a comment. refactor: Unify+simplify DWARFCompileUnit ctor+Clear() into in-class initializers + Extract() It has no functionality effect but I find it much more simplified for further refactorizations and extensions in my pat

[Lldb-commits] [PATCH] D40467: DWZ: Separate Offset also into FileOffset

2017-11-26 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil created this revision. Herald added a subscriber: JDevlieghere. Offset may represent virtual DW_TAG_partial_unit remapping while FileOffset always represents the file data. Units are ordered: | Offset 0| FileOffset 0 of DWZ file (if exists) | | Off

[Lldb-commits] [PATCH] D40468: DWZ 05/12: Support reading section ".gnu_debugaltlink"

2017-11-26 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil created this revision. Herald added subscribers: JDevlieghere, arichardson, emaste. All DWZ patches are also applied in: git clone -b dwz git://git.jankratochvil.net/lldb https://reviews.llvm.org/D40468 Files: include/lldb/lldb-enumerations.h source/Core/Section.cpp source/

[Lldb-commits] [PATCH] D40469: DWZ 06/12: Mask DW_TAG_partial_unit as DW_TAG_compile_unit for Tag()

2017-11-26 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil created this revision. Herald added a subscriber: JDevlieghere. Code commonly checks if the parent DIE is DW_TAG_compile_unit. But DW_TAG_partial_unit also acts as DW_TAG_compile_unit for DWZ as DWZ is using DW_TAG_imported_unit only at the top unit level. All DWZ patches are also

[Lldb-commits] [PATCH] D40470: DWZ 07/12: Protect DWARFCompileUnit::m_die_array by a new mutex

2017-11-26 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil created this revision. Herald added subscribers: JDevlieghere, aprantl. Multiple DW_TAG_compile_unit being indexed in a multithreaded way can request reading of the same DW_TAG_partial_unit. Unfortunately one cannot detect DWZ file ahead of time to disable such locking overhead as

[Lldb-commits] [PATCH] D40471: DWZ 08/12: DWARFCompileUnit::ExtractDIEsIfNeeded can now expand AllDiesButCuDieOnlyForPartialUnits

2017-11-26 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil created this revision. Herald added a subscriber: JDevlieghere. It does not make sense to extract whole DW_TAG_partial_unit only to find out it is a partial unit and so it cannot be indexed on its own. All DWZ patches are also applied in: git clone -b dwz git://git.jankratochvil.n

[Lldb-commits] [PATCH] D40472: DWZ 09/12: Protect DWARFDebugInfo::m_compile_units by a new mutex

2017-11-26 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil created this revision. Herald added subscribers: JDevlieghere, aprantl. DW_TAG_partial_unit is remapped on each of its use, those remapped virtual units are added into DWARFDebugInfo::m_compile_units during multithreaded indexing. All DWZ patches are also applied in: git clone -b

[Lldb-commits] [PATCH] D40473: DWZ 10/12: Adjust existing code for the DWZ support.

2017-11-26 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil created this revision. Herald added subscribers: JDevlieghere, aprantl. New DWARFCompileUnit::GetMainCU() and DWARFDIE::GetMainDWARF() need to locate original symbol file from DWZ common file for example for UID context; symbol file matching the DIE one still needs to be used for .

[Lldb-commits] [PATCH] D40474: DWZ 11/12: Main functionality

2017-11-26 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil created this revision. Herald added subscribers: JDevlieghere, mgorny. This is the kitchen sink. It also covers separate DWZ common files. All DWZ patches are also applied in: git clone -b dwz git://git.jankratochvil.net/lldb https://reviews.llvm.org/D40474 Files: include/lld

[Lldb-commits] [PATCH] D40475: DWZ 12/12: DWZ test mode

2017-11-26 Thread Jan Kratochvil via Phabricator via lldb-commits
jankratochvil created this revision. Herald added subscribers: eraman, aprantl. Many ERRORs are correct because for many *_dwz testcases DWZ cannot be applied. Otherwise their tests would be duplicating their *_dwarf counterparts. Using for regression comparison of *_dwz against *_dwarf: rm -