2021-04-22  Jakub Jelinek  <jakub@redhat.com>

	Backported from master:
	2021-04-20  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/100114
	* sanitizer_common/sanitizer_posix_libcdep.cc: Cherry-pick
	llvm-project revisions 82150606fb11d28813ae6da1101f5bda638165fe
	and b93629dd335ffee2fc4b9b619bf86c3f9e6b0023.

2020-03-04  Release Manager

	* GCC 8.4.0 released.

2020-02-14  Jakub Jelinek  <jakub@redhat.com>

	Backported from mainline
	2019-11-26  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/92154
	* sanitizer_common/sanitizer_platform_limits_posix.h: Cherry-pick
	llvm-project revision 947f9692440836dcb8d88b74b69dd379d85974ce.
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise.

	2019-10-22  Tamar Christina  <tamar.christina@arm.com>

	PR sanitizer/92154
	* sanitizer_common/sanitizer_platform_limits_posix.cc:
	Cherry-pick compiler-rt revision r375220.

2019-02-22  Release Manager

	* GCC 8.3.0 released.

2018-08-16  Martin Liska  <mliska@suse.cz>

	Backport from mainline
	2018-08-02  Martin Liska  <mliska@suse.cz>

        PR sanitizer/86022
	* sanitizer_common/sanitizer_linux_libcdep.cc (ThreadDescriptorSize):
        Cherry-pick compiler-rt revision 338606.

2018-08-01  Marek Polacek  <polacek@redhat.com>

	PR sanitizer/86759
	* tsan/tsan_platform.h: Cherry-pick compiler-rt revision 318044.
	* tsan/tsan_platform_linux.cc: Cherry-pick compiler-rt revision
	319180.

2018-07-26  Release Manager

	* GCC 8.2.0 released.

2018-05-31  Matthias Klose  <doko@ubuntu.com>

	PR sanitizer/86012
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Define
	SIZEOF_STRUCT_USTAT for 32bit sparc.

2018-05-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR sanitizer/85835
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Don't
	include <sys/ustat.h> for Linux.
	(SIZEOF_STRUCT_USTAT): New.
	(struct_ustat_sz): Use SIZEOF_STRUCT_USTAT for Linux.

2018-05-02  Release Manager

	* GCC 8.1.0 released.

2018-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	* configure: Regenerated.

2018-04-19  Jakub Jelinek  <jakub@redhat.com>

	* configure: Regenerated.

2018-04-18  David Malcolm  <dmalcolm@redhat.com>

	PR jit/85384
	* configure: Regenerate.

2018-04-18  Bill Seurer  <seurer@linux.vnet.ibm.com>

	PR sanitizer/85389
	* asan/asan_allocator.h (kAllocatorSpace): For __powerpc64__ change
	from 0xa0000000000ULL to ~(uptr)0.

2018-03-19  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/84761
	* sanitizer_common/sanitizer_linux_libcdep.cc (__GLIBC_PREREQ):
	Define if not defined.
	(DL_INTERNAL_FUNCTION): Don't define.
	(InitTlsSize): For __i386__ if not compiled against glibc 2.27+
	determine at runtime whether to use regparm(3), stdcall calling
	convention for older glibcs or normal calling convention for
	newer glibcs for call to _dl_get_tls_static_info.

2018-03-14  Segher Boessenkool  <segher@kernel.crashing.org>

	* sanitizer_common/sanitizer_stacktrace.cc
	(BufferedStackTrace::FastUnwindStack): Use the correct frame offset
	for PowerPC SYSV ABI.

2018-02-14  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	PR target/84148
	* configure: Regenerate.

2018-02-05  Martin Liska  <mliska@suse.cz>

	* asan/asan_flags.inc: Cherry-pick upstream r323995.
	* asan/asan_report.cc (CheckForInvalidPointerPair):
	Cherry-pick upstream r323995.

2018-01-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR sanitizer/82825
	* sanitizer_common/sanitizer_internal_defs.h: Cherry-pick upstream
	r324284.

2018-01-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR sanitizer/82824
	* lsan/lsan_common_mac.cc: Cherry-pick upstream r322437.

2017-12-05  Martin Liska  <mliska@suse.cz>
	    Jakub Jelinek  <jakub@redhat.com>

	* asan/asan_descriptions.cc: Cherry-pick upstream r319668.
	* asan/asan_descriptions.h: Likewise.
	* asan/asan_report.cc: Likewise.
	* asan/asan_thread.cc: Likewise.
	* asan/asan_thread.h: Likewise.

2017-11-17  Igor Tsimbalist  <igor.v.tsimbalist@intel.com>

	* acinclude.m4: Add enable.m4 and cet.m4.
	* Makefile.in: Regenerate.
	* asan/Makefile.am: Update AM_CXXFLAGS.
	* asan/Makefile.in: Regenerate.
	* configure: Likewise.
	* configure.ac: Set CET_FLAGS. Update EXTRA_CFLAGS,
	EXTRA_CXXFLAGS, EXTRA_ASFLAGS.
	* interception/Makefile.am: Update AM_CXXFLAGS.
	* interception/Makefile.in: Regenerate.
	* libbacktrace/Makefile.am: Update AM_CFLAGS, AM_CXXFLAGS.
	* libbacktrace/Makefile.in: Regenerate.
	* lsan/Makefile.am: Update AM_CXXFLAGS.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.am: Update AM_CXXFLAGS,
	AM_CCASFLAGS.
	* sanitizer_common/sanitizer_linux_x86_64.S: Include cet.h.
	Add _CET_ENDBR macro.
	* sanitizer_common/Makefile.in: Regenerate.
	* tsan/Makefile.am: Update AM_CXXFLAGS.
	* tsan/Makefile.in: Regenerate.
	* tsan/tsan_rtl_amd64.S Include cet.h. Add _CET_ENDBR macro.
	* ubsan/Makefile.am: Update AM_CXXFLAGS.
	* ubsan/Makefile.in: Regenerate.

2017-11-08  Jakub Jelinek  <jakub@redhat.com>

	PR bootstrap/82670
	* ubsan/Makefile.am (ubsan_files): Remove ubsan_init_standalone.cc
	and ubsan_signals_standalone.cc.
	* ubsan/Makefile.in: Regenerated.

2017-11-05  Tom de Vries  <tom@codesourcery.com>

	PR other/82784
	* asan/asan_poisoning.cc (CHECK_SMALL_REGION): Remove semicolon after
	"do {} while (0)".
	* lsan/lsan_common.cc (LOG_POINTERS, LOG_THREADS): Same.

2017-10-20  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/82595
	* lsan/lsan.h (__lsan_init): Add SANITIZER_INTERFACE_ATTRIBUTE.
	* lsan/Makefile.am (nodist_toolexeclib_HEADERS): Add
	liblsan_preinit.o.
	(lsan_files): Remove lsan_preinit.cc.
	(liblsan_preinit.o): New rule.
	* lsan/Makefile.in: Regenerated.

2017-10-19  Jakub Jelinek  <jakub@redhat.com>

	* All source files: Merge from upstream 315899.
        * asan/Makefile.am (nodist_saninclude_HEADERS): Add
	include/sanitizer/tsan_interface.h.
        * asan/libtool-version: Bump the libasan SONAME.
	* lsan/Makefile.am (sanitizer_lsan_files): Add lsan_common_mac.cc.
	(lsan_files): Add lsan_linux.cc, lsan_mac.cc and lsan_malloc_mac.cc.
        * sanitizer_common/Makefile.am (sanitizer_common_files): Add
	sancov_flags.cc, sanitizer_allocator_checks.cc,
	sanitizer_coverage_libcdep_new.cc, sanitizer_errno.cc,
	sanitizer_file.cc, sanitizer_mac_libcdep.cc and
	sanitizer_stoptheworld_mac.cc.  Remove sanitizer_coverage_libcdep.cc
	and sanitizer_coverage_mapping_libcdep.cc.
        * tsan/Makefile.am (tsan_files): Add tsan_external.cc.
	* ubsan/Makefile.am (DEFS): Add -DUBSAN_CAN_USE_CXXABI=1.
	(ubsan_files): Add ubsan_init_standalone.cc and
	ubsan_signals_standalone.cc.
	* ubsan/libtool-version: Bump the libubsan SONAME.
        * asan/Makefile.in: Regenerate.
        * lsan/Makefile.in: Regenerate.
        * sanitizer_common/Makefile.in: Regenerate.
        * tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.

2017-10-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR sanitizer/82379
	* configure.tgt (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): Set
	to sanitizer_linux_x86_64.lo if __x86_64__ is defined by $CC.

2017-10-02  Jakub Jelinek  <jakub@redhat.com>

	* libbacktrace/backtrace-rename.h (backtrace_uncompress_zdebug):
	Define.

2017-08-07  Jakub Jelinek  <jakub@redhat.com>

	* include/system/sys/ptrace.h: New file.

2017-07-28  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/80998
	* ubsan/ubsan_handlers.cc: Cherry-pick upstream r304461.
	* ubsan/ubsan_checks.inc: Likewise.
	* ubsan/ubsan_handlers.h: Likewise.

2017-07-14  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/81066
	* sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969.
	* sanitizer_common/sanitizer_linux.cc: Likewise.
	* sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise.
	* tsan/tsan_platform_linux.cc: Likewise.

2017-04-06  Martin Liska  <mliska@suse.cz>

	PR sanitizer/80166
	* sanitizer_common/sanitizer_common_interceptors.inc (INTERCEPTOR):
	Cherry-pick upstream r299036.

2017-03-22  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/78158
	* tsan/tsan_interface_atomic.cc: Cherry-pick upstream r298378.

2017-02-16  Andreas Tobler  <andreast@gcc.gnu.org>

	PR sanitizer/79562
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry-pick
	upstream r294806.

2017-02-11  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/79341
	* configure.tgt (s390*-*-linux*): Don't disable libsanitizer on
	s390-linux 31-bit.
	* sanitizer_common/sanitizer_internal_defs.h: Cherry-pick upstream
	r294793.
	* sanitizer_common/sanitizer_common_interceptors.inc: Cherry-pick
	upstream r294790.
	* sanitizer_common/sanitizer_linux_s390.cc: Cherry-pick upstream
	r294799.

2017-02-03  Maxim Ostapenko  <m.ostapenko@samsung.com>

	PR sanitizer/78663
	* sanitizer_common/sanitizer_mac.cc: Cherry-pick upstream r293992.
	* sanitizer_common/sanitizer_platform_interceptors.h: Likewise.

2017-01-31  Jakub Jelinek  <jakub@redhat.com>

	* configure.tgt: Enable asan and ubsan on 64-bit s390*-*-linux*.

2017-01-24  Jakub Jelinek  <jakub@redhat.com>

	* configure.tgt: Enable tsan and lsan on powerpc64{,le}-*-linux*.

	PR sanitizer/79168
	* merge.sh (change_comment_headers): Don't remove 2nd and 3rd line
	if the 3rd line doesn't contain 'The LLVM Compiler Infrastructure'
	text.
	* sanitizer_common/sanitizer_linux_mips64.S: Regenerated.
	* sanitizer_common/sanitizer_linux_x86_64.S: Likewise.
	* tsan/tsan_ppc_regs.h: Likewise.
	* tsan/tsan_rtl_aarch64.S: Likewise.
	* tsan/tsan_rtl_mips64.S: Likewise.
	* tsan/tsan_rtl_ppc64.S: Likewise.

2017-01-21  Jakub Jelinek  <jakub@redhat.com>

	PR other/79046
	* interception/Makefile.am (gcc_version): Use @get_gcc_base_ver@
	instead of cat to get version from BASE-VER file.
	* asan/Makefile.am (gcc_version): Likewise.
	* ubsan/Makefile.am (gcc_version): Likewise.
	* sanitizer_common/Makefile.am (gcc_version): Likewise.
	* lsan/Makefile.am (gcc_version): Likewise.
	* tsan/Makefile.am (gcc_version): Likewise.
	* interception/Makefile.in: Regenerated.
	* asan/Makefile.in: Regenerated.
	* ubsan/Makefile.in: Regenerated.
	* sanitizer_common/Makefile.in: Regenerated.
	* lsan/Makefile.in: Regenerated.
	* tsan/Makefile.in: Regenerated.

2017-01-17  Jakub Jelinek  <jakub@redhat.com>

	PR other/79046
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* libbacktrace/Makefile.in: Regenerated.
	* interception/Makefile.in: Regenerated.
	* asan/Makefile.in: Regenerated.
	* ubsan/Makefile.in: Regenerated.
	* configure: Regenerated.
	* sanitizer_common/Makefile.in: Regenerated.
	* lsan/Makefile.in: Regenerated.
	* Makefile.in: Regenerated.
	* tsan/Makefile.in: Regenerated.

2017-01-10  James Clarke  <jrtc27@jrtc27.com>

	PR sanitizer/78992
	* sanitizer_common/sanitizer_platform_limits_posix.h
	(struct __sanitizer_sigaction): Cherry-pick upstream r291561.

2016-11-30  Maxim Ostapenko  <m.ostapenko@samsung.com>

	* LOCAL_PATCHES: Add revision.

2016-11-30  Maxim Ostapenko  <m.ostapenko@samsung.com>

	PR sanitizer/78532
	* sanitizer_common/sanitizer_platform_limits_posix.h
	(__sanitizer_sigaction): Adjust for sparc targets and various Glibc
	versions.

2016-11-29  Markus Trippelsdorf  <markus@trippelsdorf.de>

	* LOCAL_PATCHES: Remove r242480.

2016-11-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* LOCAL_PATCHES: Add revision.

2016-11-20  Jack Howarth  <howarth.at.gcc@gmail.com>

	PR sanitizer/78267
	* sanitizer_common/sanitizer_mac.cc: Include <os/trace.h> only if
	compiler supports blocks extension.

2016-11-16  Markus Trippelsdorf  <markus@trippelsdorf.de>

	* LOCAL_PATCHES: Add revision.

2016-11-16  Markus Trippelsdorf  <markus@trippelsdorf.de>

	PR sanitizer/78294
	* tsan/tsan_rtl.cc: Add missing attribute.

2016-11-16  Maxim Ostapenko  <m.ostapenko@samsung.com>

	* LOCAL_PATCHES: New file.

2016-11-16  Maxim Ostapenko  <m.ostapenko@samsung.com>

	PR sanitizer/78307
	* ubsan/ubsan_handlers.cc (__ubsan_handle_cfi_bad_icall): New function.
	( __ubsan_handle_cfi_bad_icall_abort): Likewise. 
	* ubsan/ubsan_handlers.h (struct CFIBadIcallData): New type.
	* ubsan/ubsan_handlers_cxx.cc (__ubsan_handle_cfi_bad_type): New
	function.
	(__ubsan_handle_cfi_bad_type_abort): Likewise.
	* ubsan/ubsan_handlers_cxx.h (struct CFIBadTypeData): New type.
	(__ubsan_handle_cfi_bad_type): Export function.
	(__ubsan_handle_cfi_bad_type_abort): Likewise.
	* HOWTO_MERGE: Update documentation.

2016-11-15  Matthias Klose  <doko@ubuntu.com>

	* configure: Regenerate.

2016-11-09  Maxim Ostapenko  <m.ostapenko@samsung.com>

	* asan/asan_globals.cc (RegisterGlobal): Do not call
	CheckODRViolationViaPoisoning.
	(CheckODRViolationViaPoisoning): Remove.

2016-11-09  Maxim Ostapenko  <m.ostapenko@samsung.com>

	* sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Assume we
	compiled code with GCC when extracting the caller PC for ARM if no
	valid frame pointer is available.

2016-11-09  Maxim Ostapenko  <m.ostapenko@samsung.com>

	PR sanitizer/63958
	Reapply:
	2014-10-14  David S. Miller  <davem@davemloft.net>

	* sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
	Define at __kernel_time_t, as needed for sparc.
	(struct __old_kernel_stat): Don't check if __sparc__ is defined.
	* libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
	(__sanitizer): Define struct___old_kernel_stat_sz,
	struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
	(__sanitizer_ipc_perm): Adjust for sparc targets.
	(__sanitizer_shmid_ds): Likewsie.
	(__sanitizer_sigaction): Likewise.
	(IOC_SIZE): Likewsie.

2016-11-09  Maxim Ostapenko  <m.ostapenko@samsung.com>

	* All source files: Merge from upstream 285547.
	* configure.tgt (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): New
	variable.
	* configure.ac (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): Handle it.
	* asan/Makefile.am (asan_files): Add new files.
	* asan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Likewise.
	* lsan/Makefile.in: Likewise.
	* tsan/Makefile.am (tsan_files): Add new files.
	* tsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.am (sanitizer_common_files): Add new files.
	(EXTRA_libsanitizer_common_la_SOURCES): Define.
	(libsanitizer_common_la_LIBADD): Likewise.
	(libsanitizer_common_la_DEPENDENCIES): Likewise.
	* sanitizer_common/Makefile.in: Regenerate.
	* interception/Makefile.in: Likewise.
	* libbacktace/Makefile.in: Likewise.
	* Makefile.in: Likewise.
	* configure: Likewise.
	* merge.sh: Handle builtins/assembly.h merging.
	* builtins/assembly.h: New file.
	* asan/libtool-version: Bump the libasan SONAME.

2016-09-21  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/77567
	* asan/asan_new_delete.cc: Cherry-pick upstream r282019.

2016-09-05  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/77396
	* asan/asan_globals.cc: Cherry-pick upstream r280657.

2016-08-12  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/71042
	* tsan/tsan_platform_linux.cc: Cherry-pick upstream r278292.
	* tsan/tsan_rtl_aarch64.S: Likewise.

2016-07-23  Alan Modra  <amodra@gmail.com>

	Revert 2015-11-09  Alan Modra  <amodra@gmail.com>
	* configure.ac: Don't substitute OBSTACK_DEFS.
	* asan/Makefile.am: Remove OBSTACK_DEFS from DEFS.
	* tsan/Makefile.am: Likewise.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* asan/Makefile.in: Regenerate.
	* interception/Makefile.in: Regenerate.
	* libbacktrace/Makefile.in: Regenerate.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.in: Regenerate.
	* tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.

2016-05-17  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/71160
	* asan/asan_malloc_linux.cc: Cherry pick upstream r254395
	and r269633.

2016-04-21  Maxim Ostapenko  <m.ostapenko@samsung.com>

	PR sanitizer/70624
	* asan/asan_mac.cc: Cherry pick upstream r266868.

2016-01-19  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/68824
	* tsan/tsan_interceptors.cc (NEED_TLS_GET_ADDR, __tls_get_addr,
	InitializeInterceptors): Cherry pick upstream r258119.

2016-01-14  Andreas Tobler  <andreast@gcc.gnu.org>

	* configure.ac: Replace the hard-coded -ldl requirement for
	link_sanitizer_common with a configure time check for -ldl.
	* configure: Regenerate.

2015-11-24  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>

	* include/system/linux/asm/ptrace.h: Move to ...
	* include/system/asm/ptrace.h: ... this.

2015-11-24  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>

	* include/system/linux/asm/ptrace.h: New header.

2015-11-23  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>

	* All source files: Merge from upstream r253555.
	* configure.tgt: Enable LSan on aarch64-*-linux* targets. Add new
	dependences for TSan for aarch64-*-linux* targets.
	* tsan/Makefile.am: Add new source files.
	* configure: Regenerate.
	* tsan/Makefile.in: Likewise.

2015-11-09  Alan Modra  <amodra@gmail.com>

	* sanitizer_common/sanitizer_common_interceptors.inc: Update size
	params for _obstack_begin_1, _obstack_begin, _obstack_newchunk
	interceptors.
	* configure.ac: Substitute OBSTACK_DEFS.
	* asan/Makefile.am: Add OBSTACK_DEFS to DEFS.
	* tsan/Makefile.am: Likewise.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* asan/Makefile.in: Regenerate.
	* interception/Makefile.in: Regenerate.
	* libbacktrace/Makefile.in: Regenerate.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.in: Regenerate.
	* tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.

2015-10-22  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>

	PR bootstrap/68041
	* configure.ac (link_sanitizer_common): Link against librt only if it
	contains shm_open, required by sanitizers.
	(CXX_ABI_NEEDED): Remove variable.
	* configure: Regenerate.
	* ubsan/Makefile.am (libubsan_la_LIBADD): Do not add -lc++abi anymore.
	* ubsan/Makefile.in: Regenerate.

2015-10-21  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>

	* HOWTO_MERGE: New file.

2015-10-21  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>

	* sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Assume we
	compiled code with GCC when extracting the caller PC for ARM if no
	valid frame pointer is available.

2015-10-21  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>

	PR bootstrap/63888
	Reapply:
	2015-02-20  Jakub Jelinek  <jakub@redhat.com>

	* asan/asan_globals.cc (RegisterGlobal): Disable detect_odr_violation
	support until it is rewritten upstream.

	* c-c++-common/asan/pr63888.c: New test.

2015-10-21  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>

	PR sanitizer/63958
	Reapply:
	2014-10-14  David S. Miller  <davem@davemloft.net>

	* sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
	Define at __kernel_time_t, as needed for sparc.
	(struct __old_kernel_stat): Don't check if __sparc__ is defined.
	* libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
	(__sanitizer): Define struct___old_kernel_stat_sz,
	struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
	(__sanitizer_ipc_perm): Adjust for sparc targets.
	(__sanitizer_shmid_ds): Likewsie.
	(__sanitizer_sigaction): Likewise.
	(IOC_SIZE): Likewsie.

2015-10-21  Maxim Ostapenko  <m.ostapenko@partner.samsung.com>

	* All source files: Merge from upstream r250806.
	* configure.ac (link_sanitizer_common): Add -lrt flag.
	* configure.tgt: Enable TSAN and LSAN for aarch64-linux targets.
	Set USE_CXX_ABI_FLAG=true for darwin.
	* asan/Makefile.am (asan_files): Add new files.
	(DEFS): Add DCAN_SANITIZE_UB=0 and remove unused and legacy
	DASAN_FLEXIBLE_MAPPING_AND_OFFSET=0.
	* asan/Makefile.in: Regenerate.
	* ubsan/Makefile.am (ubsan_files): Add new files.
	(DEFS): Add DCAN_SANITIZE_UB=1.
	(libubsan_la_LIBADD): Add -lc++abi if USE_CXX_ABI_FLAG is true.
	* ubsan/Makefile.in: Regenerate.
	* tsan/Makefile.am (tsan_files): Add new files.
	(DEFS): Add DCAN_SANITIZE_UB=0.
	* tsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.am (sanitizer_common_files): Add new files.
	* sanitizer_common/Makefile.in: Regenerate.
	* asan/libtool-version: Bump the libasan SONAME.

2015-09-09  Markus Trippelsdorf  <markus@trippelsdorf.de>

	PR sanitizer/67258
	* ubsan/ubsan_type_hash.cc: Cherry pick upstream r244101.

2015-07-29  Markus Trippelsdorf  <markus@trippelsdorf.de>

	PR sanitizer/63927
	* sanitizer_common/sanitizer_stacktrace.h: Use fast unwinder
	for PowerPC.

2015-07-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	PR sanitizer/63927
	* sanitizer_common/sanitizer_stacktrace.cc
	(BufferedStackTrace::FastUnwindStack): Fix code for PowerPC to
	find the link register at an offset of 16 from the base of the
	caller's stack frame.

2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

	* Makefile.in: Regenerated with automake-1.11.6.
	* aclocal.m4: Likewise.
	* asan/Makefile.in: Likewise.
	* configure: Likewise.
	* interception/Makefile.in: Likewise.
	* libbacktrace/Makefile.in: Likewise.
	* lsan/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.
	* tsan/Makefile.in: Likewise.
	* ubsan/Makefile.in: Likewise.

2015-04-13  Yury Gribov  <y.gribov@samsung.com>

	PR sanitizer/64839
	* sanitizer_common/sanitizer_platform.h: Cherry pick
	upstream r234470.
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Ditto.
	* configure.ac (RPC_DEFS): Check for precense of RPC headers.
	* sanitizer_common/Makefile.am (DEFS): Pass info to compiler.
	* Makefile.in: Regenerate.
	* asan/Makefile.in: Regenerate.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* interception/Makefile.in: Regenerate.
	* libbacktrace/Makefile.in: Regenerate.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.in: Regenerate.
	* tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.


2015-03-23  Christophe Lyon  <christophe.lyon@linaro.org>

	PR sanitizer/59009
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry pick
	upstream r230324.
	* sanitizer_common/sanitizer_platform.h: Likewise.
	* sanitizer_common/sanitizer_common_syscalls.inc: Likewise.

2015-03-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* tsan/tsan_rtl_report.cc (ScopedReport::AddThread): Cherry pick
	upstream 224508 and 224755.

2015-03-09  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/63958
	Reapply:
	2014-10-14  David S. Miller  <davem@davemloft.net>

	* sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
	Define at __kernel_time_t, as needed for sparc.
	(struct __old_kernel_stat): Don't check if __sparc__ is defined.
	* libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
	(__sanitizer): Define struct___old_kernel_stat_sz,
	struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
	(__sanitizer_ipc_perm): Adjust for sparc targets.
	(__sanitizer_shmid_ds): Likewsie.
	(__sanitizer_sigaction): Likewise.
	(IOC_SIZE): Likewsie.

2015-02-27  Peter Bergner  <bergner@vnet.ibm.com>

	* configure.tgt: Enable build on powerpc*le-*-linux.

2015-02-23  Jakub Jelinek  <jakub@redhat.com>

	PR bootstrap/63888
	* asan/asan_globals.cc (RegisterGlobal): Disable detect_odr_violation
	support until it is rewritten upstream.

2015-01-26  Matthias Klose  <doko@ubuntu.com>

	* configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
	* configure: Regenerate.

2015-01-25  Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>

	* configure.ac (TSAN_TARGET_DEPENDENT_OBJECTS): Undefine.
	* configure: Regenerate.
	* configure.tgt (TSAN_TARGET_DEPENDENT_OBJECTS): Define.

2015-01-25  Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>

	* configure.ac (TSAN_TARGET_DEPENDENT_OBJECTS): Define.
	* configure: Regenerate.
	* tsan/Makefile.am (EXTRA_libtsan_la_SOURCES): Define.
	(libtsan_la_DEPENDENCIES): Likewise.
	* Makefile.in: Regenerate.
	* asan/Makefile.in: Regenerate.
	* interception/Makefile.in: Regenerate.
	* libbacktrace/Makefile.in: Regenerate.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.in: Regenerate.
	* tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.

2015-01-22  Jakub Jelinek  <jakub@redhat.com>

	* tsan/tsan_rtl.h: Cherry pick upstream r226829.

2015-01-21  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/64435
	* sanitizer_common/sanitizer_platform_limits_posix.h: Cherry pick
	upstream r226637.
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Likewise.
	* sanitizer_common/sanitizer_posix.cc: Cherry pick upstream r226639.

2015-01-20  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/64632
	* ubsan/ubsan_type_hash.cc: Cherry pick upstream r224972.

2015-01-19  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/64435
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry pick
	upstream r223925.

2015-01-13  Jakub Jelinek  <jakub@redhat.com>

	* sanitizer_common/sanitizer_deadlock_detector.h: Cherry pick
	upstream r224518 and r224519.
	* tsan/tsan_rtl_thread.cc: Cherry pick upstream r224702 and
	r224834.

2014-12-16  Jakub Jelinek  <jakub@redhat.com>

	* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc,
	sanitizer_common/sanitizer_symbolizer_libbacktrace.h,
	sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc: Cherry pick
	upstream r224308.

2014-11-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/63784
	* configure: Regenerated.

2014-11-21  Jakub Jelinek  <jakub@redhat.com>

	PR target/61137
	* config/ia64/ia64.c (ia64_attribute_takes_identifier_p): New function.
	(TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Redefine to it.

2014-11-14  Uros Bizjak  <ubizjak@gmail.com>

	* sanitizer_common/Makefile.am (AM_CXXFLAGS): Use -std=gnu++11.
	* asan/Makefile.am (AM_CXXFLAGS): Ditto.
	* lsan/Makefile.am (AM_CXXFLAGS): Ditto.
	* interception/Makefile.am (AM_CXXFLAGS): Ditto.
	* tsan/Makefile.am (AM_CXXFLAGS): Ditto.
	* libbacktrace/Makefile.am (AM_CXXFLAGS): Ditto.
	* ubsan/Makefile.am (AM_CXXFLAGS): Ditto.
	* sanitizer_common/Makefile.in: Regenerate.
	* asan/Makefile.in: Ditto.
	* lsan/Makefile.in: Ditto.
	* interception/Makefile.in: Ditto.
	* tsan/Makefile.in: Ditto.
	* libbacktrace/Makefile.in: Ditto.
	* ubsan/Makefile.in: Ditto.

2014-11-13  Kostya Serebryany  <kcc@google.com>

	* All source files: Merge from upstream r221802.
	* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc
	(LibbacktraceSymbolizer::SymbolizeData): Replace 'address'
	with 'start' to follow the new interface.
	* asan/Makefile.am (AM_CXXFLAGS): Added -std=c++11.
	* interception/Makefile.am (AM_CXXFLAGS): Added -std=c++11.
	* libbacktrace/Makefile.am (AM_CXXFLAGS): Added -std=c++11.
	* lsan/Makefile.am (AM_CXXFLAGS): Added -std=c++11.
	* sanitizer_common/Makefile.am (sanitizer_common_files): Added new
	files.
	(AM_CXXFLAGS): Added -std=c++11.
	* tsan/Makefile.am (AM_CXXFLAGS): Added -std=c++11.
	* ubsan/Makefile.am (AM_CXXFLAGS): Added -std=c++11.
	* asan/Makefile.in: Regenerate.
	* interception/Makefile.in: Regenerate.
	* libbacktrace/Makefile.in: Regenerate.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.in: Regenerate.
	* tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.

2014-11-11  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>

	PR target/63610
	* configure: Regenerate.

2014-10-16  Martin Liska  <mliska@suse.cz>

	* asan/Makefile.am: IPA ICF pass is disabled.
	* asan/Makefile.in: Likewise.

2014-10-14  David S. Miller  <davem@davemloft.net>

	* sanitizer_common/sanitizer_platform_limits_linux.cc (time_t):
	Define at __kernel_time_t, as needed for sparc.
	(struct __old_kernel_stat): Don't check if __sparc__ is defined.
	* libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
	(__sanitizer): Define struct___old_kernel_stat_sz,
	struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc.
	(__sanitizer_ipc_perm): Adjust for sparc targets.
	(__sanitizer_shmid_ds): Likewsie.
	(__sanitizer_sigaction): Likewsie.
	(IOC_SIZE): Likewsie.

2014-10-14  Jakub Jelinek  <jakub@redhat.com>

	* ubsan/Makefile.am (DEFS): Add -DPIC.
	* ubsan/Makefile.in: Regenerated.

2014-09-26  Christophe Lyon  <christophe.lyon@linaro.org>

	* configure.tgt: Enable build on aarch64*-linux.

2014-09-19  Kostya Serebryany  <kcc@google.com>

	* All source files: Merge from upstream r218156.
	* asan/Makefile.am (asan_files): Added new files.
	* asan/Makefile.in: Regenerate.
	* ubsan/Makefile.am (ubsan_files): Added new files.
	* ubsan/Makefile.in: Regenerate.
	* tsan/Makefile.am (tsan_files): Added new files.
	* tsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.am (sanitizer_common_files): Added new
	  files.
	* sanitizer_common/Makefile.in: Regenerate.
	* asan/libtool-version: Bump the libasan SONAME.

2014-09-10  Jakub Jelinek  <jakub@redhat.com>

	* ubsan/ubsan_handlers.cc, ubsan/ubsan_handlers.h: Cherry pick
	upstream r215485, r217389, r217391 and r217400.

2014-06-23  Paolo Carlini  <paolo.carlini@oracle.com>

	* sanitizer_common/sanitizer_common_interceptors.inc:
	Cherry pick upstream r211008.

2014-06-11  Richard Biener  <rguenther@suse.de>

	* asan/asan_linux.cc: Cherry pick upstream r210012.

2014-05-30  Jakub Jelinek  <jakub@redhat.com>

	* sanitizer_common/sanitizer_stacktrace.cc: Cherry pick upstream
	r209879.
	* sanitizer_common/sanitizer_common.h: Likewise.
	* asan/asan_mapping.h: Likewise.
	* asan/asan_linux.cc: Likewise.
	* tsan/tsan_mman.cc: Cherry pick upstream r209744.
	* sanitizer_common/sanitizer_allocator.h: Likewise.

2014-05-23  Marek Polacek  <polacek@redhat.com>

	* ubsan/ubsan_value.cc (getFloatValue): Handle 96-bit
	floating-point types.

2014-05-22  Kostya Serebryany  <kcc@google.com>

	* All source files: Merge from upstream r209283.
	* asan/Makefile.am (asan_files): Added new files.
	* asan/Makefile.in: Regenerate.
	* tsan/Makefile.am (tsan_files): Added new files.
	* tsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.am (sanitizer_common_files): Added new
	files.
	* sanitizer_common/Makefile.in: Regenerate.

2014-05-14  Yury Gribov  <y.gribov@samsung.com>

	PR sanitizer/61100
	* Makefile.am (nodist_saninclude_HEADERS): Install
	public headers.
	* Makefile.in: Regenerate.

2014-03-07  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* libbacktrace/Makefile.am (libsanitizer_libbacktrace_la_SOURCES):
	Add ../../libbacktrace/sort.c.
	* libbacktrace/Makefile.in: Regenerate.
	* libbacktrace/backtrace-rename.h (backtrace_qsort): Define.

2014-03-03  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* configure.tgt: Unsupported for little endian PowerPC for now.

2014-02-04  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/60055
	* tsan/tsan_flags.cc (__tsan_default_options): Add
	SANITIZER_INTERFACE_ATTRIBUTE.  Backport from upstream r200747.
	* tsan/tsan_rtl.cc (__tsan::OnFinalize): Likewise.

	PR sanitizer/60038
	* sanitizer_common/sanitizer_linux_libcdep.cc: Include
	sanitizer_atomic.h and unistd.h.
	(kThreadDescriptorSize): Made static, remove initializer and const,
	change type to atomic_uintptr_t.
	(ThreadDescriptorSize): Use confstr(_CS_GNU_LIBC_VERSION, ...) to
	query glibc version, compute kThreadDescriptorSize depending on
	glibc version minor number.
	(GetThreadStackAndTls): Use ThreadDescriptorSize() instead of
	kThreadDescriptorSize directly.

2014-01-23  Yury Gribov  <y.gribov@samsung.com>
	    Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/57316
	* configure.ac: Check for missing syscalls.
	* Makefile.am: Likewise.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

2014-01-09  Jakub Jelinek  <jakub@redhat.com>

	* sanitizer_common/sanitizer_symbolizer_libbacktrace.h
	(LibbacktraceSymbolizer::Demangle): New declaration.
	* sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
	(POSIXSymbolizer::Demangle): Use libbacktrace_symbolizer_'s Demangle
	method if possible.
	* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc: Include
	"demangle.h" if SANITIZE_CP_DEMANGLE is defined.
	(struct CplusV3DemangleData): New type.
	(CplusV3DemangleCallback, CplusV3Demangle): New functions.
	(SymbolizeCodePCInfoCallback, SymbolizeCodeCallback,
	SymbolizeDataCallback): Use CplusV3Demangle.
	* sanitizer_common/Makefile.am (AM_CXXFLAGS): Add
	-DSANITIZE_CP_DEMANGLE and -I $(top_srcdir)/../include.
	* libbacktrace/backtrace-rename.h (cplus_demangle_builtin_types,
	cplus_demangle_fill_ctor, cplus_demangle_fill_dtor,
	cplus_demangle_fill_extended_operator, cplus_demangle_fill_name,
	cplus_demangle_init_info, cplus_demangle_mangled_name,
	cplus_demangle_operators, cplus_demangle_print,
	cplus_demangle_print_callback, cplus_demangle_type, cplus_demangle_v3,
	cplus_demangle_v3_callback, is_gnu_v3_mangled_ctor,
	is_gnu_v3_mangled_dtor, java_demangle_v3, java_demangle_v3_callback):
	Define.
	(__asan_internal_memcmp, __asan_internal_strncmp): New prototypes.
	(memcmp, strncmp): Redefine.
	* libbacktrace/Makefile.am (libsanitizer_libbacktrace_la_SOURCES): Add
	../../libiberty/cp-demangle.c.
	* libbacktrace/bridge.cc (__asan_internal_memcmp,
	__asan_internal_strncmp): New functions.
	* sanitizer_common/Makefile.in: Regenerated.
	* libbacktrace/Makefile.in: Regenerated.
	* configure: Regenerated.
	* configure.ac: Regenerated.
	* config.h.in: Regenerated.

	* sanitizer_common/Makefile.am (AM_CPPFLAGS): Add
	-isystem $(top_srcdir)/include/system.
	* sanitizer_common/Makefile.in: Regenerated.
	* include/system/linux/aio_abi.h: New header.
	* include/system/linux/mroute.h: New header.
	* include/system/linux/mroute6.h: New header.
	* include/system/linux/perf_event.h: New header.
	* include/system/linux/types.h: New header.

	PR sanitizer/59136
	* sanitizer_common/Makefile.am (AM_CXXFLAGS): If
	LIBBACKTRACE_SUPPORTED add -DSANITIZER_LIBBACKTRACE
	and -I/-include flags.
	* lsan/Makefile.am (liblsan_la_LIBADD): Add
	libsanitizer_libbacktrace.la if LIBBACKTRACE_SUPPORTED.
	* tsan/Makefile.am (libtsan_la_LIBADD): Likewise.
	* ubsan/Makefile.am (libubsan_la_LIBADD): Likewise.
	* asan/Makefile.am (libasan_la_LIBADD): Likewise.
	* Makefile.am (SUBDIRS): If LIBBACKTRACE_SUPPORTED add
	libbacktrace.
	* README.gcc: Document that also lsan and ubsan are
	maintained in compiler-rt upstream.
	* libbacktrace/Makefile.am: New file.
	* libbacktrace/backtrace-rename.h: New file.
	* libbacktrace/backtrace-supported.h.in: New file.
	* libbacktrace/bridge.cc: New file.
	* configure.ac: Add tests needed for libbacktrace build
	within libsanitizer.
	* sanitizer_common/Makefile.in: Regenerated.
	* lsan/Makefile.in: Regenerated.
	* tsan/Makefile.in: Regenerated.
	* ubsan/Makefile.in: Regenerated.
	* libbacktrace/Makefile.in: Generated.
	* config.h.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* interception/Makefile.in: Regenerated.
	* asan/Makefile.in: Regenerated.
	* aclocal.m4: Regenerated.

2013-12-19  Kostya Serebryany  <kcc@google.com>

        * sanitizer_common/sanitizer_platform_limits_posix.cc:
	workaround for missing definition of EOWNERDEAD, backport
	from upstream r196779.

2013-12-06  H.J. Lu  <hongjiu.lu@intel.com>

	* sanitizer_common/sanitizer_platform_limits_posix.h
	(__sanitizer_shmid_ds): Use u64 on time fields for x32.
	(__sanitizer_clock_t): Use long long for x32.

2013-12-06  H.J. Lu  <hongjiu.lu@intel.com>

	* sanitizer_common/sanitizer_platform_limits_linux.cc: Include
	<sys/stat.h>, instead of <asm/stat.h>, if __x86_64__ is defined.
	(struct___old_kernel_stat_sz): Don't check if __x86_64__ is defined.

2013-12-05  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac (link_sanitizer_common): Add -lm.
	* configure: Regenerated.

2013-12-05  Kostya Serebryany  <kcc@google.com>

	* All source files: Merge from upstream r196489.
	* merge.sh: Add *.S to the list of merged files.

2013-12-05  Yury Gribov  <y.gribov@samsung.com>

	PR sanitizer/59368
	* Makefile.am (gcc_version): Added gcc_version.
	* Makefile.in: Regenerate.

2013-12-05  Kostya Serebryany  <kcc@google.com>

	* All source files: Merge from upstream r196090.
	* tsan/Makefile.am (tsan_files): Added new files.
	* tsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.am (sanitizer_common_files): Added new fles.
	* sanitizer_common/Makefile.in: Regenerate.
	* lsan/Makefile.am (lsan_files): Added new files.
	* lsan/Makefile.in: Regenerate.

2013-11-29  Jakub Jelinek  <jakub@redhat.com>
	    Yury Gribov  <y.gribov@samsung.com>

	PR sanitizer/59063
	* libsanitizer.spec.in: Add spec file to hold link flags for
	various sanitizer libs.
	* configure.ac: Check whether clock_* routines come from librt.
	* asan/Makefile.am (libasan_la_LDFLAGS): Libs now come from
	configure.ac.
	* tsan/Makefile.am (libtsan_la_LDFLAGS): Likewise.
	* ubsan/Makefile.am (libubsan_la_LDFLAGS): Likewise.
	* lsan/Makefile.am (liblsan_la_LDFLAGS): Likewise.
	* asan/Makefile.in: Regenerate.
	* interception/Makefile.in: Regenerate.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.in: Regenerate.
	* tsan/Makefile.in: Regenerate.
	* ubsan/Makefile.in: Regenerate.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

2013-11-28  Jakub Jelinek  <jakub@redhat.com>
	    Yury Gribov  <y.gribov@samsung.com>

	PR sanitizer/59106
	* ubsan/Makefile.am (AM_CXXFLAGS): Disable -frtti for files that
	don't need it.
	* ubsan/Makefile.in: Regenerated.

2013-11-22  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/59061
	* configure.tgt: Set LSAN_SUPPORTED=yes for x86_64-linux.
	* configure.ac (LSAN_SUPPORTED): New AM_CONDITIONAL.
	* configure: Regenerated.
	* lsan/Makefile.am (toolexeclib_LTLIBRARIES, lsan_files,
	liblsan_la_SOURCES, liblsan_la_LIBADD, liblsan_la_LDFLAGS): Add.
	* lsan/Makefile.in: Regenerated.

2013-11-22  Mike Stump  <mikestump@comcast.net>

	* sanitizer_common/sanitizer_linux.cc (__sanitizer): Grab one
	change from upstream to fix build.

2013-11-18  Yury Gribov  <y.gribov@samsung.com>

	PR sanitizer/59106
	* asan/Makefile.am (AM_CXXFLAGS): Add -fno-rtti.
	* interception/Makefile.am (AM_CXXFLAGS): Likewise.
	* lsan/Makefile.am (AM_CXXFLAGS): Likewise.
	* sanitizer_common/Makefile.am (AM_CXXFLAGS): Likewise.
	* tsan/Makefile.am (AM_CXXFLAGS): Likewise.
	* asan/Makefile.in: Regenerate.
	* interception/Makefile.in: Regenerate.
	* tsan/Makefile.in: Regenerate.
	* lsan/Makefile.in: Regenerate.
	* sanitizer_common/Makefile.in: Regenerate.

2013-11-15  Kostya Serebryany  <kcc@google.com>

	PR sanitizer/58994
        Backport from upstream revision 194573
        * asan/asan_interceptors.cc (COMMON_INTERCEPTOR_ENTER): Fall
        back to the original functions in the common libsanitizer
        interceptors and the __cxa_atexit() interceptor on Darwin.

2013-11-13  Peter Bergner  <bergner@vnet.ibm.com>

	PR sanitizer/59009
	* sanitizer_common/sanitizer_platform_limits_posix.cc: Temporarily
	ifdef out more source.

2013-11-12  Jakub Jelinek  <jakub@redhat.com>

	* sanitizer_common/sanitizer_platform_limits_linux.cc: Temporarily
	ifdef out almost the whole source.
	* sanitizer_common/sanitizer_common_syscalls.inc: Likewise.

2013-11-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR sanitizer/59018
	* sanitizer_common/sanitizer_platform_limits_posix.cc
	(struct_user_fpxregs_struct_sz): Initialize to 0 if __x86_64__ is
	defined.

2013-11-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR sanitizer/59018
	* sanitizer_common/sanitizer_platform_limits_linux.cc
	(struct_kernel_stat64_sz): Initialize to 0 if __x86_64__ is
	defined.
	* sanitizer_common/sanitizer_platform_limits_posix.h
	(__sanitizer_dirent): Use 64-bit d_ino/d_off if __x86_64__ is
	defined.
	(__sanitizer___kernel_uid_t): Typedef as unsigned if __x86_64__
	is defined.
	(__sanitizer___kernel_gid_t): Likewise.
	(__sanitizer___kernel_off_t): Typedef as long long if __x86_64__
	is defined.

2013-11-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR sanitizer/59018
	* sanitizer_common/sanitizer_linux.cc (internal_clone): Allocate
	2 64-bit integers to save and restore fn and arg.  Properly load
	newtls/child_tidptr into r8/r10.

2013-11-05  H.J. Lu  <hongjiu.lu@intel.com>

	PR sanitizer/59018
	* sanitizer_common/sanitizer_linux.cc (internal_mmap,
	internal_munmap, internal_open, internal_read, internal_write,
	internal_stat, internal_lstat, internal_fstat, internal_readlink,
	internal_unlink, internal_execve, NanoTime, BlockingMutex::Lock,
	BlockingMutex::Unlock, internal_ptrace, internal_getdents,
	internal_sigaltstack): Cast pointers to uptr for 64-bit syscalls.

2013-11-04  Kostya Serebryany  <kcc@google.com>

	* All source files: Merge from upstream r191666.
	* merge.sh: Added lsan.
	* configure.ac (AC_CONFIG_FILES): Added lsan.
	* Makefile.am (SUBDIRS): Added lsan.
	* sanitizer_common/Makefile.am (sanitizer_common_files): Added new fles.
	* asan/Makefile.am (asan_files): Added new files.
	(libasan_la_LIBADD): Added a dependency on lsan.
	* lsan/Makefile.am: New file.
	* asan/Makefile.in: Regenerate.
	* lsan/Makefile.in: Regenerate.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* sanitizer_common/Makefile.in: Regenerate.

2013-09-20  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2013-09-01  Iain Sandoe  <iain@codesourcery.com>

	* ubsan/Makefile.am (libubsan_la_LIBADD): Revise to omit
	libinterception.la for Darwin.
	* ubsan/Makefile.in: Regenerate.

2013-08-30  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.am (SUBDIRS): Add ubsan.
	* configure.ac (AC_CONFIG_FILES): Add ubsan/Makefile.
	* merge.sh: Merge ubsan.
	* sanitizer_common/sanitizer_report_decorator.h: Partial merge from trunk.
	* sanitizer_common/sanitizer_printf.cc: Likewise.
	* sanitizer_common/sanitizer_common.h: Likewise.
	* ubsan: New directory. Import ubsan runtime from llvm.

2013-06-03  Christophe Lyon  <christophe.lyon@linaro.org>

	* sanitizer_common/sanitizer_linux.cc (MemoryMappingLayout::Next):
	Cherry pick upstream r182922.

2013-05-07  Christophe Lyon  <christophe.lyon@linaro.org>

	* configure.tgt: Add ARM pattern.

2013-03-22  Jakub Jelinek  <jakub@redhat.com>

	PR other/43620
	* configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
	* Makefile.in: Regenerated.
	* asan/Makefile.in: Regenerated.
	* interception/Makefile.in: Regenerated.
	* sanitizer_common/Makefile.in: Regenerated.
	* tsan/Makefile.in: Regenerated.

2013-02-28  Jakub Jelinek  <jakub@redhat.com>

	* asan/asan_mapping.h (kMidMemEnd): Increase to 0x4fffffffffULL.
	* asan/asan_rtl.cc (__asan_init): Increase kMidMemEnd to
	0x4fffffffffULL.

2013-02-22  Jakub Jelinek  <jakub@redhat.com>

	PR sanitizer/56393
	* asan/Makefile.am (nodist_toolexeclib_HEADERS): Set to
	libasan_preinit.o.
	(libasan_preinit.o): Depend on asan_preinit.o.
	* asan/Makefile.in: Regenerated.
	* asan/asan_preinit.cc: New file, synced from upstream.
	* asan/asan_rtl.cc: Remove preinit stuff, synced from upstream.

2013-02-21  Jack Howarth  <howarth@bromo.med.uc.edu>

	* asan/Makefile.am (libasan_la_SOURCES): Remove deprecated
	dynamic/asan_interceptors_dynamic.cc.
	* asan/Makefile.in: Regenerated.
	* merge.sh: Remove merge of deprecated lib/asan/dynamic.

2013-02-21  Jakub Jelinek  <jakub@redhat.com>

	* asan/asan_rtl.cc (__asan_preinit): Don't add if PIC macro is
	defined.  Add used attribute.

2013-02-21  Kostya Serebryany  <kcc@google.com>

	* All source files: Merge from upstream r175733.
	* sanitizer_common/Makefile.am: Added a new file.
	* sanitizer_common/Makefile.in: Regenerated.

2013-02-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR bootstrap/56327
	* interception/interception.h (OFF_T): Merged from upstream
	r175140.

2013-02-13  Jakub Jelinek  <jakub@redhat.com>

	* asan/asan_mapping.h (SHADOW_OFFSET): Set to (1ULL << 44) on x86-64.

2013-02-13  Kostya Serebryany  <kcc@google.com>

	PR sanitizer/56128
	* All source files: Merge from upstream r175049.
	* interception/Makefile.am: added include path.
	* interception/Makefile.in: Regenerated.

2013-02-11  Jack Howarth  <howarth@bromo.med.uc.edu>

	* configure.tgt: Disable build on darwin9 and earlier.

2013-01-23  Kostya Serebryany  <kcc@google.com>

	PR sanitizer/55989
	* All source files: Merge from upstream r173241.
	* merge.sh: Support merging .inc files.

2013-01-16  Jakub Jelinek  <jakub@redhat.com>

	* sanitizer_common/Makefile.am (AM_CXXFLAGS): Remove
	-Wno-c99-extensions.
	* interception/Makefile.am (AM_CXXFLAGS): Likewise.
	* asan/Makefile.am (AM_CXXFLAGS): Likewise.
	* sanitizer_common/Makefile.in: Regenerated.
	* interception/Makefile.in: Regenerated.
	* asan/Makefile.in: Regenerated.

2013-01-10  Wei Mi  <wmi@google.com>

	PR sanitizer/55488
	* tsan/Makefile.am: Add tsan_rtl_amd64.S.
	* tsan/Makefile.in: Regenerated.
	* tsan/tsan_rtl.h: Enable HACKY_CALL.

2013-01-10  Kostya Serebryany  <kcc@google.com>

	* All source files: Merge from upstream r171973.
	* sanitizer_common/Makefile.am: Added new files.
	* asan/Makefile.am: Likewise.
	* tsan/Makefile.am: Likewise.
	* sanitizer_common/Makefile.in: Regenerated.
	* asan/Makefile.in: Likewise.
	* tsan/Makefile.in: Likewise.

2013-01-07  H.J. Lu  <hongjiu.lu@intel.com>

	* asan/Makefile.am (libasan_la_LIBADD): Replace
	LIBSTDCXX_RAW_CXX_LDLAGS with LIBSTDCXX_RAW_CXX_LDFLAGS.
	* tsan/Makefile.am (libtsan_la_LIBADD): Likewise.
	* Makefile.in: Regenerated.
	* configure: Likewise.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.
	* tsan/Makefile.in: Likewise.

2012-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (AM_MAKEFLAGS): Restored.
	* interception/Makefile.am: Likewise.
	* sanitizer_common/Makefile.am: Likewise.
	* tsan/Makefile.am: Likewise.
	* Makefile.in: Regenerated.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.
	* tsan/Makefile.in: Likewise.

2012-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (MAKEOVERRIDES): Restored.
	* asan/Makefile.am: Likewise.
	* interception/Makefile.am: Likewise.
	* sanitizer_common/Makefile.am: Likewise.
	* tsan/Makefile.am: Likewise.
	* Makefile.in: Regenerated.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.
	* tsan/Makefile.in: Likewise.

2012-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	* asan/Makefile.am (libasan_la_LIBADD): Use $(LIBSTDCXX_RAW_CXX_LDLAGS).
	* tsan/Makefile.am (libtsan_la_LIBADD): Likewise.
	* Makefile.in: Regenerated.
	* configure: Likewise.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.
	* tsan/Makefile.in: Likewise.

2012-12-12  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (AM_MAKEFLAGS): Removed.
	(MAKEOVERRIDES): Likewise.
	* asan/Makefile.am: Likewise.
	* interception/Makefile.am: Likewise.
	* sanitizer_common/Makefile.am: Likewise.
	* tsan/Makefile.am: Likewise.
	* Makefile.in: Regenerated.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.
	* tsan/Makefile.in: Likewise.

2012-12-11  H.J. Lu  <hongjiu.lu@intel.com>

	PR sanitizer/55533
	* Makefile.am (AM_MAKEFLAGS): Remove CC and CXX.
	* configure.ac (GCC_LIBSTDCXX_RAW_CXX_FLAGS): New.
	* asan/Makefile.am (AM_CXXFLAGS): Add $(LIBSTDCXX_RAW_CXX_CXXFLAGS).
	(AM_MAKEFLAGS): Remove CC and CXX.
	* interception/Makefile.am: Likewise.
	* sanitizer_common/Makefile.am: Likewise.
	* tsan/Makefile.am: Likewise.
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.
	* tsan/Makefile.in: Likewise.

2012-12-06  Peter Bergner  <bergner@vnet.ibm.com>

	* configure.tgt: Enable build on powerpc*-linux.

2012-12-06  Jack Howarth  <howarth@bromo.med.uc.edu>

	PR 55599/sanitizer
	* configure.ac: Set enable_static=no on darwin.
	* configure: Regenerated.

2012-12-06  Kostya Serebryany  <kcc@google.com>

	* All files: Merge from upstream r169392.

2012-12-05  Kostya Serebryany  <kcc@google.com>

	* All files: Merge from upstream r169371.

2012-12-04  Kostya Serebryany  <kcc@google.com>
	    Jack Howarth  <howarth@bromo.med.uc.edu>

	PR 55521/sanitizer
	* configure.ac: Define USING_MAC_INTERPOSE when on darwin.
	* Makefile.am: Don't build interception subdir when
	USING_MAC_INTERPOSE defined.
	* asan/Makefile.am: Pass -DMAC_INTERPOSE_FUNCTIONS and
	-DMISSING_BLOCKS_SUPPORT when USING_MAC_INTERPOSE defined.
	Compile asan_interceptors_dynamic.cc but not libinterception
	when USING_MAC_INTERPOSE defined.
	* interception/Makefile.am: Remove usage of USING_MACH_OVERRIDE.
	* configure: Regenerated.
	* Makefile.in: Likewise.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* asan/asan_intercepted_functions.h: Use MISSING_BLOCKS_SUPPORT.
	* asan/asan_mac.cc: Likewise.
	* asan/dynamic/asan_interceptors_dynamic.cc: Migrate from llvm
	and use MISSING_BLOCKS_SUPPORT.
	* merge.sh: Merge lib/asan/dynamic into asan/dynamic.
	* interception/mach_override/LICENSE.txt: Remove unused file.
	* interception/mach_override/mach_override.c: Likewise.
	* interception/mach_override/mach_override.h: Likewise.
	* interception/mach_override: Remove unused directory.

2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (AM_MAKEFLAGS): Restore CC and CXX.
	* configure.ac (ACX_NONCANONICAL_TARGET): Removed.
	* asan/Makefile.am (AM_CXXFLAGS): Remove -I for libstdc++-v3 header
	files.
	(AM_MAKEFLAGS): Restore CC and CXX.
	* interception/Makefile.am: Likewise.
	* sanitizer_common/Makefile.am: Likewise.
	* tsan/Makefile.am: Likewise.
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.
	* tsan/Makefile.in: Likewise.

2012-11-28  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (AM_MAKEFLAGS): Remove CC and CXX.
	* configure.ac (ACX_NONCANONICAL_TARGET): New.
	* asan/Makefile.am (AM_CXXFLAGS): Add -I for libstdc++-v3 header
	files.
	(AM_MAKEFLAGS): Remove CC and CXX.
	* interception/Makefile.am: Likewise.
	* sanitizer_common/Makefile.am: Likewise.
	* tsan/Makefile.am: Likewise.
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.
	* tsan/Makefile.in: Likewise.

2012-11-27  Kostya Serebryany  <kcc@google.com>

	* All files: Merge from upstream r168699.

2012-11-24  Kostya Serebryany  <kcc@google.com>
	    Jack Howarth  <howarth@bromo.med.uc.edu>

	* interception/mach_override/mach_override.c: Migrate from llvm.
	* interception/mach_override/mach_override.h: Likewise.
	* interception/mach_override/LICENSE.txt: Likewise.
	* configure.tgt: Add darwin to supported targets.
	* configure.ac: Define USING_MACH_OVERRIDE when on darwin.
	* interception/Makefile.am: Compile mach_override.c when
	USING_MACH_OVERRIDE defined.
	* configure: Regenerated.
	* interception/Makefile.in: Likewise.

2012-11-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR sanitizer/55450
	* tsan/Makefile.am (gcc_version): New.
	* tsan/Makefile.in: Regenerated.

2012-11-23  Kostya Serebryany  <kcc@google.com>

	* merge.sh: Support tsan, support added/removed files.
	* tsan/Makefile.am: Remove tsan_printf.cc.
	* tsan/Makefile.in: Regenerated.
	* other files: Merge from upstream r168514.

2012-11-23  Kostya Serebryany  <kcc@google.com>

	* merge.sh: New file.

2012-11-23  Jakub Jelinek  <jakub@redhat.com>

	* tsan/Makefile.am (AM_CXXFLAGS): Remove -Wno-variadic-macros.
	* Makefile.am (SUBDIRS): Guard tsan addition with TSAN_SUPPORTED
	automake conditional instead of !MULTISUBDIR32.
	* configure.tgt: Set TSAN_SUPPORTED=yes for x86_64/i686-linux
	for 64-bit multilib.
	* configure.ac: Check for void * size, source in configure.tgt,
	define TSAN_SUPPORTED conditional instead of MULTILIBDIR32.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* tsan/Makefile.in: Regenerated.

2012-11-22  Wei Mi  <wmi@google.com>

	* tsan: New directory. Import tsan runtime from llvm.
	* configure.ac: Add 64 bits tsan build.
	* Makefile.am: Likewise.
	* configure: Regenerated.
	* Makefile.in: Likewise.

2012-11-21  Kostya Serebryany  <kcc@google.com>

	* README.gcc: Extend the README.gcc with mode details.

2012-11-20  Konstantin Serebryany  <konstantin.s.serebryany@gmail.com>

	* sanitizer_common/sanitizer_linux.cc
	(SANITIZER_LINUX_USES_64BIT_SYSCALLS): Define.
	(internal_mmap): Use it.
	(internal_filesize): Likewise.

2012-11-16  Tom Tromey  <tromey@redhat.com>

	* configure.ac: Invoke AM_MAINTAINER_MODE.
	* aclocal.m4, configure, Makefile.in, asan/Makefile.in,
	interception/Makefile.in, sanitizer_common/Makefile.in: Rebuild.

2012-11-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR other/55333
	* include/sanitizer/common_interface_defs.h (uhwptr): New type
	for hardware pointer.
	* sanitizer_common/sanitizer_stacktrace.cc (StackTrace::FastUnwindStack):
	Replace uptr with uhwptr for stack unwind.

2012-11-16  Dodji Seketeli  <dodji@redhat.com>

	* configure.tgt: Enable build on sparc linux.

2012-11-15  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac: Properly set MULTISUBDIR.
	* asan/Makefile.am (gcc_version): New.
	* interception/Makefile.am (gcc_version): Likewise.
	* sanitizer_common/Makefile.am (gcc_version): Likewise.
	* configure: Regenerated.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.

2012-11-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR other/55291
	* configure.ac (--enable-version-specific-runtime-libs): New option.
	(AC_CANONICAL_SYSTEM): New.
	(AM_ENABLE_MULTILIB): Moved right after AM_INIT_AUTOMAKE.
	(toolexecdir): Support multilib.
	(toolexeclibdir): Likewise.
	(multilib_arg): New.
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.

2012-11-14  H.J. Lu  <hongjiu.lu@intel.com>

	PR other/55292
	Backport from upstream revision 167883
	* sanitizer_common/sanitizer_linux.cc (internal_mmap): Check
	__x86_64__ instead of __WORDSIZE.
	(internal_filesize): Likwise.

2012-11-14  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac (AC_CONFIG_AUX_DIR): Removed.
	* Makefile.in: Regenerated.
	* configure: Likewise.

2012-11-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR other/55304
	* acinclude.m4: New file.
	* Makefile.am (ACLOCAL_AMFLAGS): New.
	* configure.ac (AC_PREREQ): Set to 2.64.
	(AC_CONFIG_AUX_DIR): Set to "..".
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
	* asan/Makefile.in: Likewise.
	* interception/Makefile.in: Likewise.
	* sanitizer_common/Makefile.in: Likewise.

	* config.guess: Removed.
	* config.sub: Likewise.
	* depcomp: Likewise.
	* install-sh: Likewise.
	* ltmain.sh: Likewise.
	* missing: Likewise.

2012-11-13  Richard Henderson  <rth@redhat.com>

	* configure.tgt: New file.

2012-11-12  David S. Miller  <davem@davemloft.net>

	* asan/asan_linux.cc (GetPcSpBp): Add sparc support.

2012-10-29  Wei Mi  <wmi@google.com>

	Initial checkin: migrate asan runtime from llvm.
