Fznamznon wrote: > I think the `.SCOV$M` section globals should be in the > `??_EClassA@@UEAAPEXI@Z` comdat group. I think sanitizer coverage (sancov) is > one of the lesser-used sanitizers here, and it may lack some sophistication > when it comes to comdat groups. I wasn't aware of this creative use of > `blockaddress` until just now.
I see that similar globals generated for scalar deleting destructors are actually in the corresponding comdat groups. I suppose it might be due to this check https://github.com/llvm/llvm-project/blob/19970535f92c0f2dcda01b7fc60f95945166e424/llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp#L748 that `F.isInterposable()` . It then calls `isInterposableLinkage()` that returns false for weak non-odr linkage which is used for vector deleting dtor. I am now wondering if we should not emit vector deleting destructors with weak linkage. https://github.com/llvm/llvm-project/pull/126240 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits