Features/DwarfCompressor

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(Created page with "<!-- All fields on this form are required to be accepted by FESCo. We also request that you maintain the same order of sections so that all of the feature pages are uniform. --...")
 
 
(3 intermediate revisions by 2 users not shown)
Line 16: Line 16:
 
== Current status ==
 
== Current status ==
 
* Targeted release: [[Releases/18]]
 
* Targeted release: [[Releases/18]]
* Last updated: 2012-05-11
+
* Last updated: 2012-07-18
* Percentage of completion: 30%
+
* Percentage of completion: 100%
  
 
== Detailed Description ==
 
== Detailed Description ==
 
The dwz tool http://sourceware.org/git/?p=dwz.git;a=summary can rewrite .debug_* sections, either in binaries/shared libraries, or their *.debug split files, into equivalent, but smaller,
 
The dwz tool http://sourceware.org/git/?p=dwz.git;a=summary can rewrite .debug_* sections, either in binaries/shared libraries, or their *.debug split files, into equivalent, but smaller,
DWARF.  The master branch of that repo currently only rewrites each single *.debug file on its own, on the multifile branch there is ongoing work to optimize also several *.debug files
+
DWARF.  The tool with -m option also attempts to optimize also several *.debug files at once, by moving common .debug_* data into a single new ET_REL *.debug file and using DWARF
at once, by moving common .debug_* data into a single new ET_REL *.debug file and using DWARF extensions refer to that from the *.debug files.
+
extensions refer to that from the *.debug files. The rpm and redhat-rpm-config packages have been tweaked to invoke this tool by default during find-debuginfo.sh.
Depending on the stability of the multifile branch we'd like to either optimize each *.debug file individually by running roughly find . -name \*.debug | xargs -n 1 dwz
+
in find-debuginfo.sh (will need to handle hardlinks better than that), or all *.debug files at once using dwz -m %{name}-%{version}-%{release}.%{arch}.debug *.debug.
+
  
 
== Benefit to Fedora ==
 
== Benefit to Fedora ==
Line 45: Line 43:
  
 
== Documentation ==
 
== Documentation ==
None yet, there will be a DWARF5 extension proposal if we are going to choose the multifile optimization.
+
http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open and dwz manual page.
  
 
== Release Notes ==
 
== Release Notes ==
Line 54: Line 52:
  
  
[[Category:FeaturePageIncomplete]]
+
[[Category:FeatureAcceptedF18]]

Latest revision as of 11:20, 18 July 2012


Contents

[edit] DWARF Compressior

[edit] Summary

Reduce size of *.debug files in debuginfo packages in Fedora 18 using DWARF Compressor dwz.

[edit] Owner

  • Name: Jakub Jelinek
  • Email: jakub@redhat.com

[edit] Current status

  • Targeted release: Releases/18
  • Last updated: 2012-07-18
  • Percentage of completion: 100%

[edit] Detailed Description

The dwz tool http://sourceware.org/git/?p=dwz.git;a=summary can rewrite .debug_* sections, either in binaries/shared libraries, or their *.debug split files, into equivalent, but smaller, DWARF. The tool with -m option also attempts to optimize also several *.debug files at once, by moving common .debug_* data into a single new ET_REL *.debug file and using DWARF extensions refer to that from the *.debug files. The rpm and redhat-rpm-config packages have been tweaked to invoke this tool by default during find-debuginfo.sh.

[edit] Benefit to Fedora

Smaller debuginfo files.

[edit] Scope

All packages should be rebuilt with the new tool as well as rpm changes hit dist-f18.

[edit] How To Test

GDB testsuite, perhaps some tool to analyze whether the non-compressed and compressed debuginfos contain equivalent info.

[edit] User Experience

Users shouldn't notice this, except that debuginfo files will be smaller, and newer DWARF consumers will be needed (gdb, valgrind, dwarves, prelink, elfutils, systemtap).

[edit] Dependencies

All packages need to be rebuilt.

[edit] Contingency Plan

Worst case we stop using the compressor.

[edit] Documentation

http://www.dwarfstd.org/ShowIssue.php?issue=120604.1&type=open and dwz manual page.

[edit] Release Notes

Fedora 18 debuginfo has been post-processed by a DWARF compressor tool to reduce size of the *.debug files.

[edit] Comments and Discussion