PING^1
On 9/27/18 10:55 AM, Martin Liška wrote:
> Hi.
>
> I've noticed ASAN can inform user about location of stack variables
> when a stack violation is detected.
>
> Sample example:
>
> ...
> This frame has 3 object(s):
> [32, 36) 'counter' (line 3) <== Memory access at offset 36 overflows this
> variable
> [96, 100) 'size' (line 5)
> [160, 164) 'length' (line 6)
> ...
>
> I consider that handy so that I implemented that as well.
>
> Ready after it finishes tests?
> Martin
>
> gcc/ChangeLog:
>
> 2018-09-27 Martin Liska <mli...@suse.cz>
>
> * asan.c (asan_emit_stack_protection): If a stack variable
> is located in a same file as current function, then emit
> line info into variable definition string.
>
> gcc/testsuite/ChangeLog:
>
> 2018-09-27 Martin Liska <mli...@suse.cz>
>
> * c-c++-common/asan/pr64820.c: Add line number to scanned
> pattern.
> * c-c++-common/asan/use-after-return-1.c: Likewise.
> * g++.dg/asan/function-argument-1.C (main): Likewise.
> * g++.dg/asan/function-argument-2.C (main): Likewise.
> * g++.dg/asan/function-argument-3.C (main): Likewise.
> * g++.dg/asan/use-after-scope-1.C (main): Likewise.
> * g++.dg/asan/use-after-scope-2.C (main): Likewise.
> * g++.dg/asan/use-after-scope-types-1.C (main): Likewise.
> * g++.dg/asan/use-after-scope-types-2.C (main): Likewise.
> * g++.dg/asan/use-after-scope-types-3.C (main): Likewise.
> * g++.dg/asan/use-after-scope-types-4.C (main): Likewise.
> * g++.dg/asan/use-after-scope-types-5.C (main): Likewise.
> * gcc.dg/asan/pr78541.c (main): Likewise.
> * gcc.dg/asan/use-after-scope-1.c (main): Likewise.
> * gcc.dg/asan/use-after-scope-10.c (main): Likewise.
> * gcc.dg/asan/use-after-scope-2.c (main): Likewise.
> * gcc.dg/asan/use-after-scope-3.c (main): Likewise.
> * gcc.dg/asan/use-after-scope-5.c (main): Likewise.
> * gcc.dg/asan/use-after-scope-9.c (main): Likewise.
> ---
> gcc/asan.c | 22 +++++++++++++++++--
> gcc/testsuite/c-c++-common/asan/pr64820.c | 2 +-
> .../c-c++-common/asan/use-after-return-1.c | 2 +-
> .../g++.dg/asan/function-argument-1.C | 2 +-
> .../g++.dg/asan/function-argument-2.C | 2 +-
> .../g++.dg/asan/function-argument-3.C | 2 +-
> gcc/testsuite/g++.dg/asan/use-after-scope-1.C | 2 +-
> gcc/testsuite/g++.dg/asan/use-after-scope-2.C | 2 +-
> .../g++.dg/asan/use-after-scope-types-1.C | 2 +-
> .../g++.dg/asan/use-after-scope-types-2.C | 2 +-
> .../g++.dg/asan/use-after-scope-types-3.C | 2 +-
> .../g++.dg/asan/use-after-scope-types-4.C | 2 +-
> .../g++.dg/asan/use-after-scope-types-5.C | 2 +-
> gcc/testsuite/gcc.dg/asan/pr78541.c | 2 +-
> gcc/testsuite/gcc.dg/asan/use-after-scope-1.c | 2 +-
> .../gcc.dg/asan/use-after-scope-10.c | 2 +-
> gcc/testsuite/gcc.dg/asan/use-after-scope-2.c | 2 +-
> gcc/testsuite/gcc.dg/asan/use-after-scope-3.c | 2 +-
> gcc/testsuite/gcc.dg/asan/use-after-scope-5.c | 2 +-
> gcc/testsuite/gcc.dg/asan/use-after-scope-9.c | 2 +-
> 20 files changed, 39 insertions(+), 21 deletions(-)
>
>