>>>> "Mark" == Mark Wielaard
<mjw(a)redhat.com> writes:
Mark> Tom said that for a gdb build on F14 -g -O2 -vs- -gdwarf-4 -O2,
Mark> gives a size reduction from 16M to 11M.
Yeah; I was pretty surprised to see such a big difference in a plain C
program.
Mark> One advantage of the type unit compression is that gdb already has some
Mark> support for it, while the support for imported partial units is still on
Mark> some branch.
Yes, the .debug_types code in gdb pretty much just works. There are a
few regressions if you run the whole test suite with -gdwarf-4. I think
this isn't anything too serious; the one I investigated was a weird
scenario ("gdb something.o", where the .o has multiple .debug_types
sections).
I did write an imported unit patch, but as you say it is on a branch,
and not shipped, because we have no way to test it. TBH I assume it is
incorrectly implemented.
Mark> So now we probably should figure out how to cash in on this alternative
Mark> compression variant. Does it make sense to create a dwarf writer that
Mark> outputs DW_TAG_type_units instead of DW_TAG_partial_units if they only
Mark> contain type information DIEs
I think starting with the reader would be better.
I'd like us to enable -gdwarf-4 by default in F16.
Mark> (I am not completely clear on what DIEs are and which are not
Mark> allowed to be included in the type units).
The DWARF standard obscures this information, or at least I couldn't
find it quickly, but IIRC the original proposal was clearer about this.
Tom