This is an archive of the discontinued LLVM Phabricator instance.

[sancov] Port sancov -print-coverage-pcs to COFF
ClosedPublic

Authored by rnk on Aug 9 2016, 8:15 AM.

Details

Summary

The export table is not considered part of the object file symbol table,
so we have to look through it separately.

Also add the $arch-registered-target features that clang uses to disable
tests that require a registered backend, so that we can run the sancov
tests on Windows. LLVM's lit suite did not appear to have a per-test way
to do this, and I would rather not split up the sancov tests into
architecture directories.

Diff Detail

Repository
rL LLVM

Event Timeline

rnk updated this revision to Diff 67352.Aug 9 2016, 8:15 AM
rnk retitled this revision from to [sancov] Port sancov -print-coverage-pcs to COFF.
rnk updated this object.
rnk added reviewers: aizatsky, kcc.
rnk added a subscriber: llvm-commits.
kcc edited edge metadata.Aug 9 2016, 1:42 PM

code almost LG,
not an expert in lit part. Anyone else?

tools/sancov/sancov.cc
355 ↗(On Diff #67352)

don't copy-paste this if statement, move it into a separate function instead.

rnk added a comment.Aug 10 2016, 9:08 AM
In D23321#510427, @kcc wrote:

code almost LG,
not an expert in lit part. Anyone else?

The lit part is pretty trivial. I'm comfortable landing if you like and stamp the sancov part.

tools/sancov/sancov.cc
355 ↗(On Diff #67352)

Done

rnk updated this revision to Diff 67531.Aug 10 2016, 9:09 AM
rnk edited edge metadata.
  • factor out isCoveragePointSymbol
kcc accepted this revision.Aug 10 2016, 11:40 AM
kcc edited edge metadata.

LGTM, but it will clash with a similar Mike's patch for Mac

This revision is now accepted and ready to land.Aug 10 2016, 11:40 AM
This revision was automatically updated to reflect the committed changes.