Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

[DebugInfo] Support DWARFv5 source code embedding extension

Authored by scott.linder on Jan 31 2018, 1:59 PM.



In DWARFv5 the Line Number Program Header is extensible, allowing values
with new content types. In this extension source is embedded directly
in the line tables of the DWARFv5 line debug section.

Add new flag (-g[no-]embed-source) to Driver and CC1 which indicates
that source should be passed through to LLVM during CodeGen.

Depends on LLVM review

Diff Detail


Event Timeline

scott.linder created this revision.Jan 31 2018, 1:59 PM

With committed I think this is ready for review.

Looks generally straightforward. I'd give other people a chance to chime in but I have only minor comments.

411 ↗(On Diff #132272)

Looks like this simplification (replace two calls to createFile() with getOrCreateMainFile()) could be its own NFC commit and simplify this patch slightly.

3021 ↗(On Diff #132272)

Maybe "is an extension to DWARF v5" to clarify it's not actually part of DWARF v5.

nhaehnle removed a subscriber: nhaehnle.Feb 25 2018, 7:33 AM

New diff addresses feedback. I committed the refactoring as NFC and rebased, then clarified the extension comment.

scott.linder marked 2 inline comments as done.Feb 26 2018, 8:42 AM
This revision is now accepted and ready to land.Feb 26 2018, 8:51 AM
This revision was automatically updated to reflect the committed changes.