TECH : Dead Debug Data Elimination Using Fragmented DWARF

James Henderson

TAGS: LLVM Developers Meeting, Toolchain

Event: 2020 LLVM Virtual Developers Meeting

Standard DWARF debug information defines a series of sections in the output, with one of each per object file. Each of these sections may have information about every function and variable in that unit. Linkers typically leave this information intact, referencing address 0 (or other tombstone value) when a function or variable’s section is discarded, as the debug sections still contain used information. This approach has issues such as potential ambiguity and excessive space usage.

This talk will present a solution to these issues, leveraging existing ELF features, which enables linkers to discard dead pieces of DWARF without the linker requiring any special knowledge of its structure. It will also include performance figures to evaluate the approach.

Duration: 5 Minutes

Back to top