r196102 - in /trunk/gcc: ChangeLog asan.c tests...
dodji@gcc.gnu.org
dodji@gcc.gnu.org
Sat Feb 16 09:32:00 GMT 2013
Author: dodji
Date: Sat Feb 16 09:32:56 2013
New Revision: 196102
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=196102
Log:
[asan] Fix for PR asan/56330
gcc/
* asan.c (get_mem_refs_of_builtin_call): White space and style
cleanup.
(instrument_mem_region_access): Do not forget to always put
instrumentation of the of 'base' and 'base + len' in a "if (len !=
0) statement, even for cases where either 'base' or 'base + len'
are not instrumented -- because they have been previously
instrumented. Simplify the logic by putting all the statements
instrument 'base + len' inside a sequence, and then insert that
sequence right before the current insertion point. Then, to
instrument 'base + len', just get an iterator on that statement.
And do not forget to update the pointer to iterator the function
received as argument.
gcc/testsuite/
* c-c++-common/asan/no-redundant-instrumentation-4.c: New test file.
* c-c++-common/asan/no-redundant-instrumentation-5.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-6.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-7.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-8.c: Likewise.
* c-c++-common/asan/pr56330.c: Likewise.
* c-c++-common/asan/no-redundant-instrumentation-1.c (test1):
Ensure the size argument of __builtin_memcpy is a constant.
Added:
trunk/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-4.c
trunk/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-5.c
trunk/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-6.c
trunk/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-7.c
trunk/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-8.c
trunk/gcc/testsuite/c-c++-common/asan/pr56330.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/asan.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/testsuite/c-c++-common/asan/no-redundant-instrumentation-1.c
More information about the Gcc-cvs
mailing list