[Dwarf-Discuss] how to find local variable stored in register
Wed Feb 6 02:07:37 GMT 2008
> You may be correct, but size reduction has been the single most
> common justification for changes to the DWARF standard. Just
> a few months ago you were advocating a change (which was adopted)
> to replace the DW_AT_high_pc value with an LEB offset, saving a
> couple bytes in each subprogram DIE. I believe that you found a 3%
> reduction in the size of the reloc table and a similarly modest
> size savings in the .dwarf_debug section.
This is a very different sort of trade-off. In this example, one kind
of compile-time/debug-time performance is traded for another--decoding
complexity vs space efficiency. (That is the big area in which DWARF
has tended towards space efficiency.) The discussion in this thread has
been about trading semantic completeness and precision for space
efficiency, which is a fruit of an entirely different flavor. This
trade-off is of exactly the sort on which, as I understand it, DWARF has
always been explicitly silent. It specifies how to encode such semantic
details, including what the encoding would be for arbitrarily precise
details about arbitrary cases were one to encode them. It does not
specify what expectations DWARF consumers will have about the
completeness and precision of those details as produced by compilers.
That is in the realm of "quality of implementation" or "differing goals"
or whatever it is, and that's why many of us with many different
priorities can make different decisions about such trade-offs and still
cooperate on a common format specification.
More information about the Dwarf-discuss