On Mon, Jul 28, 2014 at 11:48:58AM -0700, Cary Coutant wrote:
> > +  /* ??? MD5 of another hash doesn't make a lot of sense... */
> > +  hash = hstate.end();
> >    CHECKSUM (hash);
> 
> [citation needed] I don't see why you think that. Maybe it'd be nicer
> if we could use hash_loc_operands() to feed its input directly into
> the MD5 checksum, but I think in this case it's perfectly fine to use
> the hash instead, in order to avoid reimplementing a rather
> substantial function that already exists.

Well you're dropping information at least, and it's slower
than it could be.

> Maybe we could make hash_loc_operands() a template that can be used as
> part of either inchash or MD5?
> 
> In the case of loc_checksum(), we're tied to MD5 by the DWARF
> standard. Otherwise, we could just rewrite it to use inchash
> throughout.

I'm not sure I understand the motivation. If gcc hashes in
gcc specific stuff (and this hash, even before my changes is)
then the output can never be re-created by anything but gcc.

If the standard just wants a well hashed number at the end
then any good hash should do.

I haven't checked it for this case, but if the hashing shows
up in profiles it may be worth using a faster but non secure
hash.

Anyways I can drop the comment if you don't agree with it.

-Andi

Reply via email to