[llvm] r198018 - [ASan] Fix the test for __asan_gen_ globals and actually fix http://llvm.org/bugs/show_bug.cgi?id=17976

Alexander Potapenko glider at google.com
Wed Dec 25 08:46:28 PST 2013


Author: glider
Date: Wed Dec 25 10:46:27 2013
New Revision: 198018

URL: http://llvm.org/viewvc/llvm-project?rev=198018&view=rev
Log:
[ASan] Fix the test for __asan_gen_ globals and actually fix http://llvm.org/bugs/show_bug.cgi?id=17976
by setting the correct linkage (as stated in the bug).

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=198018&r1=198017&r2=198018&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp (original)
+++ llvm/trunk/lib/Transforms/Instrumentation/AddressSanitizer.cpp Wed Dec 25 10:46:27 2013
@@ -562,13 +562,13 @@ static GlobalVariable *createPrivateGlob
     Module &M, StringRef Str, bool AllowMerging) {
   Constant *StrConst = ConstantDataArray::getString(M.getContext(), Str);
   // For module-local strings that can be merged with another one we set the
-  // internal linkage and the unnamed_addr attribute.
+  // private linkage and the unnamed_addr attribute.
   // Non-mergeable strings are made linker_private to remove them from the
   // symbol table. "private" linkage doesn't work for Darwin, where the
   // "L"-prefixed globals  end up in __TEXT,__const section
   // (see http://llvm.org/bugs/show_bug.cgi?id=17976 for more info).
   GlobalValue::LinkageTypes linkage =
-      AllowMerging ? GlobalValue::InternalLinkage
+      AllowMerging ? GlobalValue::PrivateLinkage
                    : GlobalValue::LinkerPrivateLinkage;
   GlobalVariable *GV =
       new GlobalVariable(M, StrConst->getType(), true,





More information about the llvm-commits mailing list