This is an archive of the discontinued LLVM Phabricator instance.

COFF: Emit a COFF symbol table if /debug:dwarf is specified.
ClosedPublic

Authored by pcc on Nov 20 2017, 12:49 PM.

Details

Summary

This effectively reverts r318548 and r318635 while keeping the
functionality behind the flag and preserving the bug fix from r318548.

Event Timeline

pcc created this revision.Nov 20 2017, 12:49 PM
rnk edited edge metadata.Nov 20 2017, 1:51 PM

My hope was that we wouldn't need a flag. We'd just figure out if there were long section names that were marked to not be loaded at runtime (i.e. things that look like DWARF) and if so emit the long section table. Or, does DWARF need the full symbol table too?

pcc added a comment.Nov 20 2017, 1:57 PM
In D40264#930759, @rnk wrote:

We'd just figure out if there were long section names that were marked to not be loaded at runtime (i.e. things that look like DWARF) and if so emit the long section table.

Right, that is what r318548 did (and what this patch continues to do).

Or, does DWARF need the full symbol table too?

Apparently yes, see Shoaib's reply to r318548 on llvm-commits. On IRC he also mentioned that ld.bfd emits the symbol table like we used to.

rnk added a comment.Nov 20 2017, 2:07 PM

Got it, just checking my understanding.

smeenai edited edge metadata.Nov 20 2017, 3:35 PM

Thank you! Looks good to me, though I'll let @ruiu or @rnk approve.

rnk accepted this revision.Nov 20 2017, 5:01 PM

lgtm

This revision is now accepted and ready to land.Nov 20 2017, 5:01 PM
This revision was automatically updated to reflect the committed changes.