[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
Mon Sep 8 00:45:35 PDT 2014


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? Can you please post the IR and
the assembly for this test?

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



More information about the llvm-commits mailing list