[ASan/Win] Don't instrument private COMDAT globals until PR20244 is properly fixed

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@212530 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Timur Iskhodzhanov 2014-07-08 13:18:58 +00:00
parent 7a16d24f8d
commit 986392e6e7

View File

@ -946,6 +946,13 @@ bool AddressSanitizerModule::ShouldInstrumentGlobal(GlobalVariable *G) {
return false;
}
// Don't instrument private COMDAT globals on Windows until PR20244 (linkage
// of vftables with RTTI) is properly fixed.
llvm::Triple TargetTriple(G->getParent()->getTargetTriple());
if (G->hasComdat() && G->getLinkage() == GlobalVariable::PrivateLinkage &&
TargetTriple.isWindowsMSVCEnvironment())
return false;
if (G->hasSection()) {
StringRef Section(G->getSection());
// Ignore the globals from the __OBJC section. The ObjC runtime assumes