[llvm] r212530 - [ASan/Win] Don't instrument private COMDAT globals until PR20244 is properly fixed
Timur Iskhodzhanov
timurrrr at google.com
Tue Jul 8 06:18:58 PDT 2014
Author: timurrrr
Date: Tue Jul 8 08:18:58 2014
New Revision: 212530
URL: http://llvm.org/viewvc/llvm-project?rev=212530&view=rev
Log:
[ASan/Win] Don't instrument private COMDAT globals until PR20244 is properly fixed
Modified:
llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp
Modified: llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp?rev=212530&r1=212529&r2=212530&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp (original)
+++ llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp Tue Jul 8 08:18:58 2014
@@ -946,6 +946,13 @@ bool AddressSanitizerModule::ShouldInstr
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
More information about the llvm-commits
mailing list