Page MenuHomePhabricator

debug-infoProject
ActivePublic

Recent Activity

Today

dblaikie added inline comments to D81147: [MC] Generate .debug_rnglists in the 64-bit DWARF format [5/7].
Thu, Jun 4, 2:57 PM · debug-info, Restricted Project
dblaikie added a comment to D81146: [MC] Generate .debug_aranges in the 64-bit DWARF format [4/7].

This patch modifies EmitGenDwarfAranges(), which is used only when the assembler is generating DWARF to describe the assembler source.
I can't imagine anyone is really writing large enough assembler that they need to emit DWARF-64 format. What is the motivation here?

Thu, Jun 4, 2:57 PM · debug-info, Restricted Project
dblaikie added a comment to D81145: [MC] Generate a compilation unit in the 64-bit DWARF format [3/7].

This patch is for generating DWARF-64 format for raw assembler source. Why is that an interesting case? I could see wanting to emit a .debug_info section for higher level languages in DWARF-64 format, but that is not what this patch does.

Thu, Jun 4, 2:57 PM · debug-info, Restricted Project
MaskRay added a comment to D81144: [MC] Generate .debug_line in the 64-bit DWARF format [2/7].

The test is verifying that llvm-mc can emit a DWARF-64 line table describing assembler source that does not have any .loc directives in it. That's not really the interesting case; the interesting case is assembler source that *does* have .loc directives in it, because that's the path that most compilations will actually use. Describing assembler source really doesn't need to support DWARF-64.

I think it's a useful place to start for consistency & testing - I get where you're coming from with regards to the features of MC DWARF support that are only needed for assembly DWARF not needed for higher level source DWARF - but they seem to me small enough to implement & nice to have for consistency. (I guess some people might turn on DWARF64 for their whole build if they really want it - and who knows, maybe they are generating weirdly massive assembly files that justify/need DWARF64)

Note that within the MCDwarf arena, "GenDwarf" generally refers to DWARF generated to describe assembler source, rather than DWARF describing other source that simply happens to be passing through the assembler phase. Therefore I think a test named "gen-dwarf64.s" would be somewhat misleading to people familiar with this area. Please use a different name for your test.

This is the foundational test that other patches that flesh out the MC DWARF support are adding to, so I think the name fits.

(not meaning to cutoff discussion - just my 2c)

Thu, Jun 4, 2:57 PM · debug-info, Restricted Project
dblaikie added a comment to D81144: [MC] Generate .debug_line in the 64-bit DWARF format [2/7].

The test is verifying that llvm-mc can emit a DWARF-64 line table describing assembler source that does not have any .loc directives in it. That's not really the interesting case; the interesting case is assembler source that *does* have .loc directives in it, because that's the path that most compilations will actually use. Describing assembler source really doesn't need to support DWARF-64.

Thu, Jun 4, 2:23 PM · debug-info, Restricted Project
probinson added a comment to D80382: [MC] Implement generating 64-bit debug info..

Ah sorry hadn't noticed this one was abandoned. Never mind.

Thu, Jun 4, 1:52 PM · debug-info, Restricted Project
probinson added inline comments to D81147: [MC] Generate .debug_rnglists in the 64-bit DWARF format [5/7].
Thu, Jun 4, 1:51 PM · debug-info, Restricted Project
probinson added a comment to D81145: [MC] Generate a compilation unit in the 64-bit DWARF format [3/7].

This patch is for generating DWARF-64 format for raw assembler source. Why is that an interesting case? I could see wanting to emit a .debug_info section for higher level languages in DWARF-64 format, but that is not what this patch does.

Thu, Jun 4, 1:51 PM · debug-info, Restricted Project
probinson added a comment to D81144: [MC] Generate .debug_line in the 64-bit DWARF format [2/7].

The test is verifying that llvm-mc can emit a DWARF-64 line table describing assembler source that does not have any .loc directives in it. That's not really the interesting case; the interesting case is assembler source that *does* have .loc directives in it, because that's the path that most compilations will actually use. Describing assembler source really doesn't need to support DWARF-64.

Thu, Jun 4, 1:50 PM · debug-info, Restricted Project
probinson added a comment to D80382: [MC] Implement generating 64-bit debug info..

Some of these changes are specific to cases where we are emitting DWARF describing assembler source; I don't see any reason to support DWARF-64 for those cases. (In general, any functions with GenDwarf in the name are for this case.) Also in most cases the DWARF version for sections describing assembler source are hard-coded to DWARF version 2, which did not define the DWARF-64 format.

Thu, Jun 4, 1:50 PM · debug-info, Restricted Project
probinson added a comment to D81146: [MC] Generate .debug_aranges in the 64-bit DWARF format [4/7].

This patch modifies EmitGenDwarfAranges(), which is used only when the assembler is generating DWARF to describe the assembler source.
I can't imagine anyone is really writing large enough assembler that they need to emit DWARF-64 format. What is the motivation here?

Thu, Jun 4, 1:50 PM · debug-info, Restricted Project
MaskRay added inline comments to D81149: [MC] Generate .debug_frame in the 64-bit DWARF format [7/7].
Thu, Jun 4, 11:37 AM · debug-info, Restricted Project
MaskRay added inline comments to D81145: [MC] Generate a compilation unit in the 64-bit DWARF format [3/7].
Thu, Jun 4, 11:33 AM · debug-info, Restricted Project
MaskRay accepted D81147: [MC] Generate .debug_rnglists in the 64-bit DWARF format [5/7].

Looks great!

Thu, Jun 4, 11:33 AM · debug-info, Restricted Project
MaskRay accepted D81148: [MC] Fix DWARF forms for 64-bit DWARFv3 files [6/7].

With one test change

Thu, Jun 4, 11:33 AM · debug-info, Restricted Project
MaskRay added inline comments to D81143: [MC] Add a command line option to generate DWARF64 debug info [1/7].
Thu, Jun 4, 11:33 AM · debug-info, Restricted Project
MaskRay accepted D81143: [MC] Add a command line option to generate DWARF64 debug info [1/7].

Add a command line option

Thu, Jun 4, 11:33 AM · debug-info, Restricted Project
dblaikie accepted D81148: [MC] Fix DWARF forms for 64-bit DWARFv3 files [6/7].

Looks good - thanks!

Thu, Jun 4, 11:00 AM · debug-info, Restricted Project
dblaikie added inline comments to D81146: [MC] Generate .debug_aranges in the 64-bit DWARF format [4/7].
Thu, Jun 4, 11:00 AM · debug-info, Restricted Project
dblaikie requested changes to D81131: [DebugInfo] Fix assertion for extern void type.
Thu, Jun 4, 11:00 AM · Restricted Project, debug-info
dblaikie added a comment to D81131: [DebugInfo] Fix assertion for extern void type.

Patches without tests shouldn't be approved - and at least the usual/rough metric I use for patch approval is (most often - unless I'm reviewing the work of the code owner in any area who wants a second opinion, etc) - I approve it if I'd be willing to commit a similar patch without approval (with post-commit review - ie: I'm fairly sure this is the right direction and folks will agree with me, or minor changes can be handled in post-commit iteration). Otherwise "approval" gets muddied as to whether it means "you can now commit this" versus "I think this is good but you should wait for someone more authoritative to say 'yes' before it's committed" (usually folks on the project call out the latter explicitly - sometimes using Phab's "approve" sometimes not).

Thu, Jun 4, 11:00 AM · Restricted Project, debug-info
ast accepted D81131: [DebugInfo] Fix assertion for extern void type.
Thu, Jun 4, 11:00 AM · Restricted Project, debug-info
ikudrin added inline comments to D81144: [MC] Generate .debug_line in the 64-bit DWARF format [2/7].
Thu, Jun 4, 8:11 AM · debug-info, Restricted Project
Harbormaster failed remote builds in B59050: Diff 268431 for D81148: [MC] Fix DWARF forms for 64-bit DWARFv3 files [6/7]!
Thu, Jun 4, 7:38 AM · debug-info, Restricted Project
Harbormaster failed remote builds in B59048: Diff 268429 for D81146: [MC] Generate .debug_aranges in the 64-bit DWARF format [4/7]!
Thu, Jun 4, 7:38 AM · debug-info, Restricted Project
Harbormaster failed remote builds in B59047: Diff 268427 for D81145: [MC] Generate a compilation unit in the 64-bit DWARF format [3/7]!
Thu, Jun 4, 7:04 AM · debug-info, Restricted Project
Harbormaster failed remote builds in B59051: Diff 268432 for D81149: [MC] Generate .debug_frame in the 64-bit DWARF format [7/7]!
Thu, Jun 4, 7:04 AM · debug-info, Restricted Project
Harbormaster failed remote builds in B59049: Diff 268430 for D81147: [MC] Generate .debug_rnglists in the 64-bit DWARF format [5/7]!
Thu, Jun 4, 7:04 AM · debug-info, Restricted Project
Harbormaster failed remote builds in B59045: Diff 268426 for D81144: [MC] Generate .debug_line in the 64-bit DWARF format [2/7]!
Thu, Jun 4, 7:04 AM · debug-info, Restricted Project
leandrov added a comment to D80381: Fix debug line info when line markers are present inside macros..

CI error is unrelated.

Thu, Jun 4, 6:31 AM · debug-info, Restricted Project
Harbormaster failed remote builds in B59044: Diff 268423 for D81143: [MC] Add a command line option to generate DWARF64 debug info [1/7]!
Thu, Jun 4, 5:57 AM · debug-info, Restricted Project
jhenderson added inline comments to D81145: [MC] Generate a compilation unit in the 64-bit DWARF format [3/7].
Thu, Jun 4, 5:57 AM · debug-info, Restricted Project
jhenderson added inline comments to D81144: [MC] Generate .debug_line in the 64-bit DWARF format [2/7].
Thu, Jun 4, 5:57 AM · debug-info, Restricted Project
jhenderson accepted D81143: [MC] Add a command line option to generate DWARF64 debug info [1/7].

LGTM.

Thu, Jun 4, 5:28 AM · debug-info, Restricted Project
ikudrin abandoned D80382: [MC] Implement generating 64-bit debug info..

I know this wouldn't be DWARF compliant - but could you separate this into one patch per section. (the first patch could add a test case & just check the debug_abbrev section has correct DWARF64, the next one testing the debug_info, etc. (that is assuming llvm-dwarfdump can handle mixid DWARF32/DWARF64 sections) - it'd be easier to validate all the changes to each sections emission are being tested appropriately that way

Thu, Jun 4, 5:27 AM · debug-info, Restricted Project
ikudrin created D81148: [MC] Fix DWARF forms for 64-bit DWARFv3 files [6/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin created D81149: [MC] Generate .debug_frame in the 64-bit DWARF format [7/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin added a parent revision for D81149: [MC] Generate .debug_frame in the 64-bit DWARF format [7/7]: D81148: [MC] Fix DWARF forms for 64-bit DWARFv3 files [6/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin added a child revision for D81148: [MC] Fix DWARF forms for 64-bit DWARFv3 files [6/7]: D81149: [MC] Generate .debug_frame in the 64-bit DWARF format [7/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin added a parent revision for D81148: [MC] Fix DWARF forms for 64-bit DWARFv3 files [6/7]: D81147: [MC] Generate .debug_rnglists in the 64-bit DWARF format [5/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin added a child revision for D81147: [MC] Generate .debug_rnglists in the 64-bit DWARF format [5/7]: D81148: [MC] Fix DWARF forms for 64-bit DWARFv3 files [6/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin created D81147: [MC] Generate .debug_rnglists in the 64-bit DWARF format [5/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin added a parent revision for D81147: [MC] Generate .debug_rnglists in the 64-bit DWARF format [5/7]: D81146: [MC] Generate .debug_aranges in the 64-bit DWARF format [4/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin created D81146: [MC] Generate .debug_aranges in the 64-bit DWARF format [4/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin added a child revision for D81146: [MC] Generate .debug_aranges in the 64-bit DWARF format [4/7]: D81147: [MC] Generate .debug_rnglists in the 64-bit DWARF format [5/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin added a parent revision for D81146: [MC] Generate .debug_aranges in the 64-bit DWARF format [4/7]: D81145: [MC] Generate a compilation unit in the 64-bit DWARF format [3/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin added a child revision for D81145: [MC] Generate a compilation unit in the 64-bit DWARF format [3/7]: D81146: [MC] Generate .debug_aranges in the 64-bit DWARF format [4/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin created D81145: [MC] Generate a compilation unit in the 64-bit DWARF format [3/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin added a parent revision for D81145: [MC] Generate a compilation unit in the 64-bit DWARF format [3/7]: D81144: [MC] Generate .debug_line in the 64-bit DWARF format [2/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project
ikudrin created D81144: [MC] Generate .debug_line in the 64-bit DWARF format [2/7].
Thu, Jun 4, 5:24 AM · debug-info, Restricted Project