[compiler-rt] r198017 - [ASan] Make sure none of the __asan_gen_ global strings end up in the symbol table, add a test.

Alexander Potapenko glider at google.com
Thu Dec 18 04:46:53 PST 2014


At the same time the result of running `clang ../no_asan_gen_globals.c
-fsanitize=address` (without -c) doesn't contain __asan_gen for both -m32
and -m64

On Thu, Dec 18, 2014 at 1:20 PM, Alexander Potapenko <glider at google.com>
wrote:
>
> Looks like the behavior is different for 32 and 64 bits:
>
> $ clang ../no_asan_gen_globals.c -c -fsanitize=address -m64 ; nm
> no_asan_gen_globals.o | grep __asan_gen
> # nothing here
> $ clang ../no_asan_gen_globals.c -c -fsanitize=address -m32 ; nm
> no_asan_gen_globals.o | grep __asan_gen
> 00000000 r .L__asan_gen_
>
>
> On Thu, Dec 18, 2014 at 1:38 AM, David Blaikie <dblaikie at gmail.com> wrote:
>>
>> Ping. This is still showing up for me (& one of the reasons (the main one
>> being increased build times) I keep removing my projects/compiler-rt from
>> time to time).
>>
>> On Tue, Sep 9, 2014 at 9:20 AM, David Blaikie <dblaikie at gmail.com> wrote:
>>>
>>>>>>  no_asan_gen_globals.nm.txt
>>> <https://docs.google.com/file/d/0B0jpkch3iC_7WlYwemNsMzVuWmM/edit?usp=drive_web>
>>> ​​
>>>  no_asan_gen_globals.s
>>> <https://docs.google.com/file/d/0B0jpkch3iC_7QWdDbzFhbW9jVnM/edit?usp=drive_web>
>>> ​​
>>>  no_asan_gen_globals.ll
>>> <https://docs.google.com/file/d/0B0jpkch3iC_7eHZkeGtJX1FkSzQ/edit?usp=drive_web>
>>>>>>
>>> On Mon, Sep 8, 2014 at 12:45 AM, Alexander Potapenko <glider at google.com>
>>> wrote:
>>>
>>>> I wonder why __asan_gen_ is prefixed with "L". I'd think you were
>>>> targeting Darwin, but looking at the command line it isn't so.
>>>> The test passes for me on Ubuntu 12.04.
>>>> Do you have local changes in your tree?
>>>
>>>
>>> I don't think so.
>>>
>>>
>>>> Can you please post the IR and the assembly for this test?
>>>>
>>>
>>> Attached the assembly, IR, and the output of 'nm'. Let me know if I can
>>> provide more information.
>>>
>>>
>>>>
>>>> On Mon, Sep 8, 2014 at 8:37 AM, David Blaikie <dblaikie at gmail.com>
>>>> wrote:
>>>> > This test is failing for me on Linux (Ubuntu TLS 12.04 I believe) as
>>>> > follows:
>>>> >
>>>> >
>>>> /home/blaikie/dev/llvm/build/clang/debug/split/notypes/nostandalone/./bin/clang
>>>> > -fsanitize=address -mno-omit-leaf-frame-pointer
>>>> -fno-omit-frame-pointer
>>>> > -fno-optimize-sibling-calls -gline-tables-only -m32
>>>> >
>>>> /mnt/fast/dev/llvm/src/projects/compiler-rt/test/asan/TestCases/no_asan_gen_globals.c
>>>> > -o
>>>> >
>>>> /mnt/fast/dev/llvm/build/clang/debug/split/notypes/nostandalone/projects/compiler-rt/test/asan/32bitConfig/TestCases/Output/no_asan_gen_globals.c.tmp.exe
>>>> > nm
>>>> >
>>>> /mnt/fast/dev/llvm/build/clang/debug/split/notypes/nostandalone/projects/compiler-rt/test/asan/32bitConfig/TestCases/Output/no_asan_gen_globals.c.tmp.exe
>>>> > | FileCheck
>>>> >
>>>> /mnt/fast/dev/llvm/src/projects/compiler-rt/test/asan/TestCases/no_asan_gen_globals.c
>>>> > --
>>>> > Exit Code: 1
>>>> >
>>>> > Command Output (stderr):
>>>> > --
>>>> > <stdin>:2011:14: error: CHECK-NOT: string occurred!
>>>> > 080fb9de r .L__asan_gen_
>>>> >              ^
>>>> >
>>>> /mnt/fast/dev/llvm/src/projects/compiler-rt/test/asan/TestCases/no_asan_gen_globals.c:11:15:
>>>> > note: CHECK-NOT: pattern specified here
>>>> > // CHECK-NOT: __asan_gen_
>>>> >               ^
>>>> >
>>>> >
>>>> > Anything ideas with what the issue is here? Something I should fix?
>>>> > Legitimate bug?
>>>> >
>>>> >
>>>> > On Wed, Dec 25, 2013 at 6:22 AM, Alexander Potapenko <
>>>> glider at google.com>
>>>> > wrote:
>>>> >>
>>>> >> Author: glider
>>>> >> Date: Wed Dec 25 08:22:15 2013
>>>> >> New Revision: 198017
>>>> >>
>>>> >> URL: http://llvm.org/viewvc/llvm-project?rev=198017&view=rev
>>>> >> Log:
>>>> >> [ASan] Make sure none of the __asan_gen_ global strings end up in the
>>>> >> symbol table, add a test.
>>>> >>
>>>> >> This should fix http://llvm.org/bugs/show_bug.cgi?id=17976
>>>> >> Another test checking for the global variables' locations and
>>>> prefixes on
>>>> >> Darwin will be committed separately.
>>>> >>
>>>> >>
>>>> >> Added:
>>>> >>
>>>>  compiler-rt/trunk/lib/asan/lit_tests/TestCases/no_asan_gen_globals.c
>>>> >> (with props)
>>>> >>
>>>> >> Added:
>>>> >> compiler-rt/trunk/lib/asan/lit_tests/TestCases/no_asan_gen_globals.c
>>>> >> URL:
>>>> >>
>>>> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/asan/lit_tests/TestCases/no_asan_gen_globals.c?rev=198017&view=auto
>>>> >>
>>>> >>
>>>> ==============================================================================
>>>> >> ---
>>>> compiler-rt/trunk/lib/asan/lit_tests/TestCases/no_asan_gen_globals.c
>>>> >> (added)
>>>> >> +++
>>>> compiler-rt/trunk/lib/asan/lit_tests/TestCases/no_asan_gen_globals.c
>>>> >> Wed Dec 25 08:22:15 2013
>>>> >> @@ -0,0 +1,7 @@
>>>> >> +// Make sure __asan_gen_* strings do not end up in the symbol table.
>>>> >> +
>>>> >> +// RUN: %clang_asan %s -o %t.exe
>>>> >> +// RUN: nm %t.exe | grep __asan_gen_ || exit 0
>>>> >> +
>>>> >> +int x, y, z;
>>>> >> +int main() { return 0; }
>>>> >>
>>>> >> Propchange:
>>>> >> compiler-rt/trunk/lib/asan/lit_tests/TestCases/no_asan_gen_globals.c
>>>> >>
>>>> >>
>>>> ------------------------------------------------------------------------------
>>>> >>     svn:eol-style = LF
>>>> >>
>>>> >>
>>>> >> _______________________________________________
>>>> >> llvm-commits mailing list
>>>> >> llvm-commits at cs.uiuc.edu
>>>> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>>> >
>>>> >
>>>>
>>>>
>>>>
>>>> --
>>>> Alexander Potapenko
>>>> Software Engineer
>>>> Google Moscow
>>>>
>>>
>>>
>
> --
> Alexander Potapenko
> Software Engineer
> Google Moscow
>


-- 
Alexander Potapenko
Software Engineer
Google Moscow
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141218/39a86f5c/attachment.html>


More information about the llvm-commits mailing list