[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