[Dwarf-Discuss] Fission + cross-CU references (ref_addr)
paul.robinson at sony.com
Fri May 5 11:14:41 PDT 2017
I was mentioning this mostly by way of opportunistically suggesting "it might be a thing that would be good to think explicitly about, possibly allow, and design this new stuff around the possibility, perhaps".
The entire point of a type unit is to allow size reduction by deduplication. Any kind of section-offset reference into a TU depends on that exact instance of the TU to remain; therefore such references defeat the purpose of type units. Do we need to have explicit words that say so? I hope not.
Similarly, a reference from a TU to a CU implies that the TU is not self-contained and therefore the exactness of any duplicates is suspect. 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? There is none. So, this kind of reference defeats the purpose of a TU. Do we need to have explicit words that say so? I hope not.
Adding semantics to "contributions" in the .dwo file seems like a big step that wasn't present before I think.
It would mandate the use of (at least 2) sections when using Fission+type units, reducing some compression opportunity
Deduplication by COMDAT in v4 was depending on semantics of object-file characteristics; additional semantics don't seem like that big a leap to me. LTO implications (e.g. cross-CU references in a DWO file, which can't have relocations) are a new thing that we hadn't considered before. I don't have a problem with new situations with new implications needing new paragraphs/sections/requirements/whatever. We even have a place to put stuff like that now (Appendix E).
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Dwarf-Discuss