This is an archive of the discontinued LLVM Phabricator instance.

[CodeView] only output S_UDT for symbols that have strong variable references.
AbandonedPublic

Authored by zturner on Aug 23 2017, 2:28 PM.

Details

Reviewers
rnk
Summary

There's something still wrong with this patch because MSVC's linker says "warning LNK4209: debugging information corrupt; recompile module; linking object as if no debug info" when I try to build clang-cl. Is there anything obviously wrong here, or am I misunderstanding something fundamental?

Diff Detail

Event Timeline

zturner created this revision.Aug 23 2017, 2:28 PM
zturner updated this revision to Diff 112482.Aug 23 2017, 4:39 PM

This version of the patch seems to improve things. Previously it would fail even with simple tools like llvm-readobj etc Now I can get almost everything to link correctly, but clang still fails.

rnk added inline comments.Aug 23 2017, 5:07 PM
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
2260

I'd try reverting this change and see if that fixes the linker warnings.

zturner updated this revision to Diff 112485.Aug 23 2017, 5:13 PM

I'm still seeing it with this updated version of the patch. Also worth pointing out that it starts with warnings, but at the end it errors out with LNK1103

I can confirm that the patch I have at home to solve this does not exhibit the problem. I'm using 15.2 instead of 15.3, so that's one possibility. Another possibility is a functional difference. I'll test the uploaded version of the patch on my home machine as well and see if it succeeds.

zturner abandoned this revision.Aug 25 2017, 1:12 PM