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

David Blaikie dblaikie at gmail.com
Tue Sep 9 09:20:08 PDT 2014


​
 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20140909/26e1c320/attachment.html>


More information about the llvm-commits mailing list