[PATCH] D54232: [sancov] Put .SCOV* sections into the right comdat groups on COFF

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 7 16:18:30 PST 2018


rnk added inline comments.


================
Comment at: llvm/lib/Transforms/Instrumentation/Instrumentation.cpp:82
+  // Make a unique comdat name for internal linkage things on ELF.
+  if (T.isOSBinFormatELF() && F.hasLocalLinkage()) {
     if (ModuleId.empty())
----------------
morehouse wrote:
> Does COFF not have comdat naming collisions for local symbols like ELF does?
The model is pretty different. On COFF, the comdat group has to have a "leader" symbol. All non-leader symbols in the group are included in the final link only if the leader from their object file prevails.

Actually, adding this unique suffix breaks the LLVM IR verifier, since there is a verifier rule that says that the name of a comdat must match some symbol and that symbol must be in the comdat group. Perhaps the comment should explain that.


https://reviews.llvm.org/D54232





More information about the llvm-commits mailing list