[PATCH] D17321: DIEData, DIEWriter: introduce and begin migration.

Peter Collingbourne via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 19 17:45:40 PST 2016


On Fri, Feb 19, 2016 at 03:47:22PM -0800, Adrian Prantl wrote:
> 
> > On Feb 19, 2016, at 12:31 PM, Peter Collingbourne via llvm-commits <llvm-commits at lists.llvm.org> wrote:
> > 
> > them incorrectly, see DwarfDebug::makeTypeSignature). Since the page at
> > https://gcc.gnu.org/wiki/DebugFission does not specify how the hash is to be
> > computed, could we maybe do something simpler (e.g. MD5 hash the DIE bytes
> > themselves) and avoid needing to use something like the DWARF type hashing
> > algorithm for this?
> 
> Where it can LLVM uses an MD5 sum over the mangled name of the type to avoid the expensive DWARF type hashing.
> 
> Just a side node: Debug info fission is in the process of being standardized in DWARF 5. The progress can be tracked here:
>   http://dwarfstd.org/Issues.php?type=closed4 (search for “fission” and “split DWARF”)
> The DWARF specification may deviate from the description on the GCC wiki a little, but we probably want to follow the DWARF spec where that makes sense.

I see. From http://dwarfstd.org/ShowIssue.php?issue=130313.4 :

>   5.  A DW_AT_dwo_id attribute whose value is an 8-byte
>       unsigned hash of the full compilation unit.  This hash
>       value is computed by the method described in Section 7.27
>       ("Type Signature Computation").

That's unfortunate. Maybe I'm missing something, but I don't really see why
the attribute value needs to be specified like that, as the hash is only
used by consumers to match skeleton units with full units, and it should be
up to the producer to use a good enough hash. Is there any possibility of
changing the specification before DWARF 5 is standardised?

Thanks,
-- 
Peter


More information about the llvm-commits mailing list