On Fri, May 5, 2017 at 11:50 AM Robinson, Paul <[email protected]> wrote:
> What guarantees that the information referred to is the same across all > "duplicate" TUs or otherwise does not affect the semantic content of the TU? > > The same guarantees that exist without TU->CU references, I would think? > It's up to the implementation to ensure that any two TUs are semantically > equivalent. > > > > No it's not. DWARF specifies what makes TU's semantically equivalent, by > specifying what feeds into the signature computation, and matching > signatures provide the guarantee. References use forms that are not > included in the signature and therefore the referenced information is not > included in the guarantee. > Fair enough, I though maybe that'd changed/become more open-ended - LLVM goes off-spec here and uses a hash of the mangled name of the type. This ensures more (semantically equivalent) definitions can be deduplicated and reduces the overhead/complexity of the implementation. (it does risk LLVM's hashes colliding with another implementation's hashes in surprising/incorrect ways, though). In any case that's somewhat of a tangent to my other/broader point/curiosity about the structural representation/implications of having a concept of "contributions" that's not "the whole section" or "the unit" in the DWO file. - Dave
_______________________________________________ Dwarf-Discuss mailing list [email protected] http://lists.dwarfstd.org/listinfo.cgi/dwarf-discuss-dwarfstd.org
