[PATCH] D52296: [Clang] - Add '-gsplit-dwarf[=split, =single]' version for '-gsplit-dwarf' option.

David Blaikie via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jul 21 15:15:12 PDT 2020


dblaikie added a comment.

In D52296#2165370 <https://reviews.llvm.org/D52296#2165370>, @Trass3r wrote:

> In D52296#1285328 <https://reviews.llvm.org/D52296#1285328>, @grimar wrote:
>
> > In D52296#1284130 <https://reviews.llvm.org/D52296#1284130>, @probinson wrote:
> >
> > > Only DWARF supports this, correct?
> >
> >
> > I am not aware of any kind of debug information splitting except DWARF splitting.
>
>
> Just for the record, msvc does something very similar to this -gsplit-dwarf=single option (using a linker option /DEBUG:FASTLINK instead of this SHF_EXCLUDE approach).
>
> Some questions:
>
> - How is this handled by dwp/llvm-dwp? I guess not yet since neither supports DWARF5 atm.
> - How does it interact with -gdwarf-5? Should it?


This functionality should be pretty orthogonal to -gdwarf-5 and dwp - though it may not be currently, I haven't looked/checked. But seems to me this sort of functionality should work with pre-standard/DWARFv4 Split DWARF as well as it does with DWARFv5 Split DWARF, unless I'm missing something.

And dwp tools should be made to ignore the non-.dwo-suffixed sections, but they may not be made that way currently, I haven't checked.

> - There is some deeply buried information about how gdb requires .debug_gnu_pubnames in the case of split dwarf: https://reviews.llvm.org/D54497?id=173943#1299461. Is this still true for this single split case? I'm asking cause these sections are huge and I wonder if they defeat the split dwarf link time gains.

I believe it still is the case, yes. Though GDB startup times are much better with an index with or without Split DWARF - so if you want an index anyway, the split (single split, or split split) might still be a good thing independent of that. If you have to tradeoff one or the other, yeah, that may be more complicated (lld, at least, last I heard, uses more memory to make gdb-index than gold does, so while lld's memory usage is less than gold's (& certainly less than bfd's) usually, with gdb-index it's a bit worse - so the tradeoffs might be more complicated depending on which linker you're using, etc)


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D52296/new/

https://reviews.llvm.org/D52296





More information about the cfe-commits mailing list