From Fedora Project Wiki

< Changes

Revision as of 12:49, 23 September 2020 by Jankratochvil (talk | contribs) (draft)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Debug Info Standardization

Summary

Fedora 18 implemented Features/DwarfCompressor. As the format did not get widespread and the tool is not much maintained it became burden to make existing debugging tools compatible with Fedora.

Owner

Current status

  • Targeted release: Fedora 34
  • Last updated: 2020-09-23
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

The is a refresh of Fedora 18 Features/DebugTypesSections.

  • .debug files contained in *-debuginfo.rpm are very big in general (debug/ has 82GB while all the other x86_64 Fedora distribution files are 75GB). There are various methods how to make the *-debuginfo.rpms smaller. Fedora 18 started using DWZ tool (from Features/DwarfCompressor) while Google implemented a similar but different approach called -fdebug-types-section.

The problem of existing Fedora DWZ saving is that almost nobody uses it (only Fedora/CentOS/RHEL and SuSE OSes) and so its support is missing in tools like LLDB and llvm-dwarfdump. Implementing support for DWZ is about 8x times more complicated (LoC count) than -fdebug-types-section.

  • DWZ advantage: On the whole Fedora distro it saves 3.3% (5GB of the 157GB distribution size).
  • Bulleted list item

Feedback

Benefit to Fedora

Scope

  • Proposal owners:
  • Other developers: N/A (not a System Wide Change)
  • Policies and guidelines: N/A (not a System Wide Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives:

Upgrade/compatibility impact

N/A (not a System Wide Change)

How To Test

N/A (not a System Wide Change)

User Experience

Dependencies

N/A (not a System Wide Change)

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? N/A (not a System Wide Change), Yes/No
  • Blocks product? product

Documentation

N/A (not a System Wide Change)

Release Notes