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

Reply via email to