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
