Index: lib/profile/InstrProfilingPlatformWindows.c =================================================================== --- lib/profile/InstrProfilingPlatformWindows.c +++ lib/profile/InstrProfilingPlatformWindows.c @@ -16,9 +16,9 @@ #pragma comment(linker, "/MERGE:.lprfd=.data") #pragma comment(linker, "/MERGE:.lprfv=.data") #pragma comment(linker, "/MERGE:.lprfnd=.data") -/* Merge read-only sections into .rdata. */ -#pragma comment(linker, "/MERGE:.lprfn=.rdata") -#pragma comment(linker, "/MERGE:.lcovmap=.rdata") +/* Do *NOT* merge .lprfn and .lcovmap into .rdata. llvm-cov must be able to find + * after the fact. + */ /* Allocate read-only section bounds. */ #pragma section(".lprfn$A", read) Index: test/profile/instrprof-merging.cpp =================================================================== --- test/profile/instrprof-merging.cpp +++ test/profile/instrprof-merging.cpp @@ -21,9 +21,6 @@ // and prefer it over others.) When only limited coverage information is // available (just from one binary), don't try to guess any region counts. -// FIXME: Fails with: "Failed to load coverage: No coverage data found" -// XFAIL: windows - struct A { A() {} // V1: [[@LINE]]{{ *}}|{{ *}}1 // V1-ONLY: [[@LINE+1]]{{ *}}|{{ *}}|