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