On Wed, 2011-01-26 at 22:14 +0100, Mark Wielaard wrote:
> So what is missing is "chaining" the reference attribute local hashes
> (if we don't chain them, we end up with very "flat" hashes where lots
> dies get the same hash just because they have a reference attribute).
> 
> Ideally this would just be ref_attr.reference()->local_hash (), but
> since we calculate the hash of the attributes_type just before it is
> inserted into the collector this doesn't work (the way this aborts is
> somewhat obscure though - it ends up in in the dwarf_data::variant
> constructor that throws a "can't happen!"). I am a little confused atm
> about how the instantiation of the attributes_type gets triggered
> precisely. It is probably necessary to do this in two phases by lifting
> parts of pending_entry::final () method out in a second initialization
> step.

So here I am really a bit stuck. Although I figured out (see previous
email) how the dwarf_output::attributes_type gets constructed from the
dwarf_data::attributes_type, I don't fully understand how to "recapture"
the original references that the copier so diligently kept track of.
What/where/how would be the best point to extract this info, so that we
have it when we want to calculate a local hash for a reference attribute
(which is the local hash of the die pointed to by the attribute)?

Thanks,

Mark

_______________________________________________
elfutils-devel mailing list
[email protected]
https://fedorahosted.org/mailman/listinfo/elfutils-devel

Reply via email to