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

Bill Wendling isanbard at gmail.com
Sat Dec 28 19:23:43 PST 2013


Thanks, Alexander. And sorry for creating this the long-standing issue. :-(

-bw

On Dec 25, 2013, at 8:46 AM, Alexander Potapenko <glider at google.com> wrote:

> 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,
> 
> 
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits





More information about the llvm-commits mailing list