On Mon, 28 Sep 2020 16:51:02 +0200, Jan Kratochvil wrote: > To make DWZ better consumable it needs to have the partial units separately > parseable. That way they can be shared at IR level and not just at DWARF level > That means: > * DW_TAG_partial_unit should have DW_AT_language. > * DW_TAG_partial_unit must contain only types (struct/class). > Currently they contain for example also static constant variables but when > you parse such independent DW_TAG_partial_unit into which dictionary you > will register such variable? That makes no sense. > Currently DWZ has benefits only with DWZ common file. Without DWZ common files > DWZ produces 1.6% files bigger than -fdebug-types-section. Therefore if the > DWZ common files saving of 3.3% per Fedora distribution size is worth it then > the existing DWZ tool should be dropped anyway as one can use normal > -fdebug-types-section and one can just write a simple tool moving DW_UT_type > units to the DWZ common file and converting DW_AT_signature declarations to > DW_FORM_ref_sup4 and we are done.
I have measured this "a different common file" for DW_UT_type and it brings 18.14% size reduction of what DWZ does. With additional dropping of dead DIEs + dropping -fdebug-types-section type declaratins which achieves about 28% this makes it together 46% of what DWZ reduces possible without those overcomplicated constructs of DWZ. Original comparison of plain -fdebug-types-section DWZ makes the Fedora distribution 3.3% smaller. -fdebug-types-section with some simple optimizations (just reusing existng -fdebug-types-section code in consumers + DWZ common file opening in consumers together with removal of dead DIEs) DWZ is still slightly smaller but already only by 1.8% of the Fedora distribution size. Sure my proposal does not expect that few percents matter. I have checked further possibilities based on a the mail replies here which seem to insist on any debuginfo size savings. Jan _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org