Go to file
Jakub Jelinek b41288b3a5 [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.

Co-Authored-By: Dodji Seketeli <dodji@redhat.com>

From-SVN: r196102
2013-02-16 10:32:56 +01:00
boehm-gc configure.ac: Add stanza for *-*-gnu* threads configuration. 2012-11-04 23:56:02 +01:00
config isl.m4: don't echo $CFLAGS for ISL_CHECK_VERSION. 2013-01-23 22:37:01 +00:00
contrib update-copyright.py: Add libdecnumber to the default list. 2013-02-06 22:10:25 +00:00
fixincludes inclhack.def (feraiseexcept_nosse_invalid): New. 2013-01-16 04:07:20 +00:00
gcc [asan] Fix for PR asan/56330 2013-02-16 10:32:56 +01:00
gnattools
include Sync plugin-api.h with the copy in binutils. Please see: 2013-02-11 19:42:25 +00:00
INSTALL README: Also refer to the online installation instructions. 2012-08-25 20:48:20 +00:00
intl
libada Fix typo in ChangeLog 2013-02-13 11:30:32 +01:00
libatomic Update copyright years in libatomic. 2013-01-14 18:16:23 +00:00
libbacktrace dwarf.c (read_function_info): Permit fvec parameter to be NULL. 2013-01-31 17:50:47 +00:00
libcpp re PR c++/55582 ([C++11] Unable to define string user-defined literal without leading underscore.) 2013-02-14 02:55:42 +00:00
libdecnumber Update copyright in libdecnumber. 2013-02-06 22:09:24 +00:00
libffi ffi.c (ffi_prep_cif_machdep): Fix case where DOUBLE equal LONGDOUBLE. 2013-02-06 18:32:41 +01:00
libgcc re PR target/55431 (Invalid auxv search in ppc linux-unwind code.) 2013-02-16 00:23:40 +10:30
libgfortran re PR fortran/55978 (class_optional_2.f90 -Os fails) 2013-02-06 20:39:35 +01:00
libgo runtime: Do not reserve huge amount of swap on 32 bit architectures. 2013-02-15 18:55:09 +00:00
libgomp re PR c++/56217 (ICE: OpenMP: when combining shared() and a move constructor) 2013-02-06 11:34:53 +01:00
libiberty re PR c++/55223 ([C++11] Default lambda expression of a templated class member) 2013-02-14 20:26:44 -05:00
libitm re PR libitm/55693 (libitm.c++/eh-1.C execution test fails on darwin from r193271) 2013-02-11 23:30:10 +00:00
libjava - regenerate class files for updated copyright years, changed in: 2013-01-15 14:04:33 +00:00
libmudflap Update copyright in libmudflap. 2013-02-03 17:48:05 +00:00
libobjc Update copyright years in libobjc. 2013-02-03 11:16:21 +00:00
libquadmath Revert libquadmath and libssp copyright patches. 2013-02-06 22:03:54 +00:00
libsanitizer OFF_T: Merged from upstream r175140 2013-02-14 08:54:01 -08:00
libssp Revert libquadmath and libssp copyright patches. 2013-02-06 22:03:54 +00:00
libstdc++-v3 quick_exit.cc: #if out the whole test if unsupported. 2013-02-14 20:26:54 -05:00
lto-plugin * configure: Regenerated. 2012-09-14 19:42:24 -04:00
maintainer-scripts
zlib 2012-11-16 Matthias Klose <doko@ubuntu.com> 2012-11-16 18:35:05 +00:00
.gitignore * .gitignore: Import from gdb repository. 2013-01-10 10:48:46 -05:00
ABOUT-NLS
ChangeLog configure.ac: Set libgloss_dir for the aarch64*-*-* targets. 2013-02-15 17:45:54 +00:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess config.sub: Merge from config repo. 2013-01-08 22:46:38 +00:00
config.rpath
config.sub * config.sub: Update from config repo. 2013-01-11 13:02:58 +00:00
configure configure.ac: Set libgloss_dir for the aarch64*-*-* targets. 2013-02-15 17:45:54 +00:00
configure.ac configure.ac: Set libgloss_dir for the aarch64*-*-* targets. 2013-02-15 17:45:54 +00:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
COPYING.RUNTIME
depcomp
install-sh
libtool-ldflags
libtool.m4 re PR bootstrap/38607 (AIX error messages about TOC during build) 2012-09-14 19:23:41 -04:00
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS MAINTAINERS: Explicitly add myself as AIX maintainer. 2013-02-04 16:26:17 -05:00
Makefile.def Makefile.def (install-target-libsanitizer): Depend on install-target-libstdc++-v3. 2013-01-14 16:15:21 +00:00
Makefile.in Makefile.def (install-target-libsanitizer): Depend on install-target-libstdc++-v3. 2013-01-14 16:15:21 +00:00
Makefile.tpl Makefile.tpl (BOOT_ADAFLAGS): Remove -gnata. 2013-01-11 11:46:21 +00:00
missing
mkdep
mkinstalldirs
move-if-change
README * README: Document use of ranges of years in copyright notices. 2012-07-16 15:01:34 +01:00
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the files whose
names start with COPYING for copying permission.  The manuals, and
some of the runtime libraries, are under different terms; see the
individual source files for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs/ for how to report bugs usefully.

Copyright years on GCC source files may be listed using range
notation, e.g., 1987-2012, indicating that every year in the range,
inclusive, is a copyrightable year that could otherwise be listed
individually.