jankratochvil added a comment. In D58330#1400847 <https://reviews.llvm.org/D58330#1400847>, @labath wrote:
> Ok, I see what you mean. It's nice that we don't have this regression in the > base case. Though I guess we will still do the copying as soon as debug_types > sections appear. That is not the case. If both `.debug_info` and `.debug_types` are uncompressed then the concatenated section just points to the start of `.debug_info` and ends at the end of `.debug_types` section, ignoring some "garbage" between those two sections (containing sections bettern `.debug_info` and `.debug_types`). I will try to investigate your DW_FORM_* suggestion more thoroughly, thanks. It should have the same performance just the code may be more simple. > I assume there has to be a place where you take something which refers to a > DIE in a different section, and then add the magic offset to account for the > concatenation, because the magic offset will not be present in dwarf. D40474 <https://reviews.llvm.org/D40474> patches `DWARFFormValue::Reference()`. Common `DW_FORM_ref*` are CU-relative so they need no change. One needs the magic offset (`dwz_debug_info_data.GetByteSize()`) only for `DW_FORM_ref_addr`. And then also DWZ-specific `DW_FORM_GNU_ref_alt`. Repository: rLLDB LLDB CHANGES SINCE LAST ACTION https://reviews.llvm.org/D58330/new/ https://reviews.llvm.org/D58330 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits