summaryrefslogtreecommitdiff
path: root/libsanitizer
Commit message (Collapse)AuthorAgeFilesLines
* Fix sanitizer/67258 by cherry picking upstream patchtrippels2015-09-092-3/+8
| | | | | | | | | | | | | | | | | | | | | PR sanitizer/67258 * ubsan/ubsan_type_hash.cc: Cherry pick upstream r244101. Upstraem patch: commit 1d2477faafda9ad2cc19927b3c31efd22747f013 Author: Alexey Samsonov <vonosmas@gmail.com> Date: Wed Aug 5 19:35:46 2015 +0000 [UBSan] Fix UBSan-vptr false positive. Offset from vptr to the start of most-derived object can actually be positive in some virtual base class vtables. Patch by Stephan Bergmann! git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@244101 91177308-0d34-0410-b5e6-96231b3b80d8 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@227591 138bc75d-0d04-0410-961f-82ee72b054a4
* Use fast unwinder for PowerPCtrippels2015-07-292-2/+7
| | | | | | | | | | 2015-07-29 Markus Trippelsdorf <markus@trippelsdorf.de> PR sanitizer/63927 * sanitizer_common/sanitizer_stacktrace.h: Use fast unwinder for PowerPC. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226338 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-07-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com>wschmidt2015-07-292-0/+19
| | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@226335 138bc75d-0d04-0410-961f-82ee72b054a4
* libsanitizer: Bump to automake 1.11.6haubi2015-05-1311-121/+410
| | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223140 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-04-13 Yury Gribov <y.gribov@samsung.com>ygribov2015-04-1315-6/+110
| | | | | | | | | | | | | | | | | | | | | | | | PR sanitizer/64839 libsanitizer/ * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222043 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-03-23 Christophe Lyon <christophe.lyon@linaro.org>clyon2015-03-234-1/+24
| | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221593 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-03-11 Bernd Edlinger <bernd.edlinger@hotmail.de>edlinger2015-03-112-1/+7
| | | | | | | | * tsan/tsan_rtl_report.cc (ScopedReport::AddThread): Cherry pick upstream 224508 and 224755. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221356 138bc75d-0d04-0410-961f-82ee72b054a4
* PR sanitizer/63958jakub2015-03-093-3/+76
| | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221283 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure.tgt: Enable build on powerpc*le-*-linux.bergner2015-02-272-3/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@221060 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/65170jakub2015-02-241-1/+1
| | | | | | | | | | | * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization, if val[1] < 0, clear also val[2] and return 3. * gcc.c-torture/execute/pr65170.c: New test. * gcc.dg/tree-ssa/vrp96.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220931 138bc75d-0d04-0410-961f-82ee72b054a4
* PR bootstrap/63888jakub2015-02-232-1/+9
| | | | | | | | | | * asan/asan_globals.cc (RegisterGlobal): Disable detect_odr_violation support until it is rewritten upstream. * c-c++-common/asan/pr63888.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220919 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-01-26 Matthias Klose <doko@ubuntu.com>doko2015-01-273-55/+62
| | | | | | | | * configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC. * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220165 138bc75d-0d04-0410-961f-82ee72b054a4
* Include TSAN dependent sources for 64 bit i?86 target. vekumar2015-01-244-8/+8
| | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220083 138bc75d-0d04-0410-961f-82ee72b054a4
* Conditionally include target specific files while building TSANvekumar2015-01-2312-16/+56
| | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220034 138bc75d-0d04-0410-961f-82ee72b054a4
* * tsan/tsan_rtl.h: Cherry pick upstream r226829.jakub2015-01-222-1/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220013 138bc75d-0d04-0410-961f-82ee72b054a4
* PR sanitizer/64435jakub2015-01-214-4/+17
| | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219968 138bc75d-0d04-0410-961f-82ee72b054a4
* PR sanitizer/64632jakub2015-01-202-26/+26
| | | | | | | | | * ubsan/ubsan_type_hash.cc: Cherry pick upstream r224972. * g++.dg/ubsan/pr64632.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219912 138bc75d-0d04-0410-961f-82ee72b054a4
* PR sanitizer/64435jakub2015-01-192-0/+10
| | | | | | | | * sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry pick upstream r223925. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219833 138bc75d-0d04-0410-961f-82ee72b054a4
* * sanitizer_common/sanitizer_deadlock_detector.h: Cherry pickjakub2015-01-133-5/+17
| | | | | | | | | upstream r224518 and r224519. * tsan/tsan_rtl_thread.cc: Cherry pick upstream r224702 and r224834. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219545 138bc75d-0d04-0410-961f-82ee72b054a4
* * sanitizer_common/sanitizer_symbolizer_libbacktrace.cc,jakub2014-12-164-6/+13
| | | | | | | | | sanitizer_common/sanitizer_symbolizer_libbacktrace.h, sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc: Cherry pick upstream r224308. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218778 138bc75d-0d04-0410-961f-82ee72b054a4
* Always use PIC option with -shared in libtoolhjl2014-11-212-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Libtool needs to pass PIC option -shared when creating shared object to link regular object files with slim-lto archive. PR bootstrap/63784 * libtool.m4: Add $pic_flag with -shared. boehm-gc/ PR bootstrap/63784 * configure: Regenerated. gcc/ PR bootstrap/63784 * configure: Regenerated. libatomic/ PR bootstrap/63784 * configure: Regenerated. libbacktrace/ PR bootstrap/63784 * configure: Regenerated. libcc1/ PR bootstrap/63784 * configure: Regenerated. libcilkrts/ PR bootstrap/63784 * configure: Regenerated. libffi/ PR bootstrap/63784 * configure: Regenerated. libgfortran/ PR bootstrap/63784 * configure: Regenerated. libgomp/ PR bootstrap/63784 * configure: Regenerated. libitm/ PR bootstrap/63784 * configure: Regenerated. libjava/ PR bootstrap/63784 * configure: Regenerated. libjava/classpath/ PR bootstrap/63784 * configure: Regenerated. libobjc/ PR bootstrap/63784 * configure: Regenerated. libquadmath/ PR bootstrap/63784 * configure: Regenerated. libsanitizer/ PR bootstrap/63784 * configure: Regenerated. libssp/ PR bootstrap/63784 * configure: Regenerated. libstdc++-v3/ PR bootstrap/63784 * configure: Regenerated. libvtv/ PR bootstrap/63784 * configure: Regenerated. lto-plugin/ PR bootstrap/63784 * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217937 138bc75d-0d04-0410-961f-82ee72b054a4
* PR sanitizer/64013jakub2014-11-212-4/+8
| | | | | | | | * sanitizer_common/sanitizer_linux.cc (FileExists): Cherry pick upstream r222532. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217921 138bc75d-0d04-0410-961f-82ee72b054a4
* * sanitizer_common/Makefile.am (AM_CXXFLAGS): Use -std=gnu++11.uros2014-11-1415-15/+36
| | | | | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217562 138bc75d-0d04-0410-961f-82ee72b054a4
* libsanitizer merge from upstream r221802kcc2014-11-1398-1208/+1992
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217518 138bc75d-0d04-0410-961f-82ee72b054a4
* toplevel:fxcoudert2014-11-112-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * libtool.m4: Fix globbing of darwin versions. boehm-gc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. gcc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libatomic/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libbacktrace/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libcc1/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libcilkrts/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libffi/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libgfortran/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libgomp/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libitm/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libobjc/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libquadmath/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libsanitizer/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libssp/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libstdc++-v3/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libvtv/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. lto-plugin/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libjava/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. libjava/classpath/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. zlib/ 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> PR target/63610 * configure: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217366 138bc75d-0d04-0410-961f-82ee72b054a4
* IPA ICF fallout: fox for libasan and pr43077-1.cmarxin2014-10-163-2/+8
| | | | | | | | | | | | * gcc.dg/guality/pr43077-1.c: IPA ICF disabled to match defined expectations. * asan/Makefile.am: IPA ICF pass is disabled. * asan/Makefile.in: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216339 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix sanitizer build on sparc.davem2014-10-143-3/+72
| | | | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216224 138bc75d-0d04-0410-961f-82ee72b054a4
* * ubsan/Makefile.am (DEFS): Add -DPIC.jakub2014-10-143-2/+7
| | | | | | | * ubsan/Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@216206 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-09-26 Christophe Lyon <christophe.lyon@linaro.org>clyon2014-09-262-0/+6
| | | | | | | | | | | | | | | | | [AArch64] Enable Address Sanitizer. gcc/ * config/aarch64/aarch64-linux.h (ASAN_CC1_SPEC): Define. (CC1_SPEC): Define. * config/aarch64/aarch64.c (aarch64_asan_shadow_offset): New function. (TARGET_ASAN_SHADOW_OFFSET): Define. libsanitzer/ * configure.tgt: Enable build on aarch64*-linux. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215642 138bc75d-0d04-0410-961f-82ee72b054a4
* [libsanitizer merge from upstream r218156]kcc2014-09-23160-3746/+6335
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215527 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/jakub2014-09-103-0/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * flag-types.h (enum sanitize_code): Add SANITIZE_NONNULL_ATTRIBUTE and SANITIZE_RETURNS_NONNULL_ATTRIBUTE, or them into SANITIZE_UNDEFINED. * opts.c (common_handle_option): Handle SANITIZE_NONNULL_ATTRIBUTE and SANITIZE_RETURNS_NONNULL_ATTRIBUTE and disable flag_delete_null_pointer_checks for them. * sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG, BUILT_IN_UBSAN_HANDLE_NONNULL_ARG_ABORT, BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN, BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_ABORT): New. * ubsan.c (instrument_bool_enum_load): Set *gsi back to stmt's iterator. (instrument_nonnull_arg, instrument_nonnull_return): New functions. (pass_ubsan::gate): Return true even for SANITIZE_NONNULL_ATTRIBUTE or SANITIZE_RETURNS_NONNULL_ATTRIBUTE. (pass_ubsan::execute): Call instrument_nonnull_{arg,return}. * doc/invoke.texi (-fsanitize=nonnull-attribute, -fsanitize=returns-nonnull-attribute): Document. gcc/testsuite/ * c-c++-common/ubsan/attrib-3.c: New test. * c-c++-common/ubsan/nonnull-1.c: New test. * c-c++-common/ubsan/nonnull-2.c: New test. * c-c++-common/ubsan/nonnull-3.c: New test. * c-c++-common/ubsan/nonnull-4.c: New test. * c-c++-common/ubsan/nonnull-5.c: New test. libsanitizer/ * ubsan/ubsan_handlers.cc, ubsan/ubsan_handlers.h: Cherry pick upstream r215485, r217389, r217391 and r217400. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215118 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-06-23 Paolo Carlini <paolo.carlini@oracle.com>paolo2014-06-232-3/+9
| | | | | | | | * sanitizer_common/sanitizer_common_interceptors.inc: Cherry pick upstream r211008. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211912 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-06-11 Richard Biener <rguenther@suse.de>rguenth2014-06-112-0/+8
| | | | | | | * asan/asan_linux.cc: Cherry pick upstream r210012. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211453 138bc75d-0d04-0410-961f-82ee72b054a4
* * sanitizer_common/sanitizer_stacktrace.cc: Cherry pick upstreamjakub2014-05-307-30/+58
| | | | | | | | | | | | 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@211080 138bc75d-0d04-0410-961f-82ee72b054a4
* * builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.mpolacek2014-05-232-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gcc.c (sanitize_spec_function): Likewise. * convert.c (convert_to_integer): Include "ubsan.h". Add floating-point to integer instrumentation. * doc/invoke.texi: Document -fsanitize=float-cast-overflow. * flag-types.h (enum sanitize_code): Add SANITIZE_FLOAT_CAST and SANITIZE_NONDEFAULT. * opts.c (common_handle_option): Handle -fsanitize=float-cast-overflow. * sanitizer.def (BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW, BUILT_IN_UBSAN_HANDLE_FLOAT_CAST_OVERFLOW_ABORT): Add. * ubsan.c: Include "realmpfr.h" and "dfp.h". (get_ubsan_type_info_for_type): Handle REAL_TYPEs. (ubsan_type_descriptor): Set tkind to 0xffff for types other than float/double/long double. (ubsan_instrument_float_cast): New function. * ubsan.h (ubsan_instrument_float_cast): Declare. testsuite/ * c-c++-common/ubsan/float-cast-overflow-1.c: New test. * c-c++-common/ubsan/float-cast-overflow-10.c: New test. * c-c++-common/ubsan/float-cast-overflow-2.c: New test. * c-c++-common/ubsan/float-cast-overflow-3.c: New test. * c-c++-common/ubsan/float-cast-overflow-4.c: New test. * c-c++-common/ubsan/float-cast-overflow-5.c: New test. * c-c++-common/ubsan/float-cast-overflow-6.c: New test. * c-c++-common/ubsan/float-cast-overflow-7.c: New test. * c-c++-common/ubsan/float-cast-overflow-7.h: New file. * c-c++-common/ubsan/float-cast-overflow-8.c: New test. * c-c++-common/ubsan/float-cast-overflow-9.c: New test. * c-c++-common/ubsan/float-cast.h: New file. * g++.dg/ubsan/float-cast-overflow-bf.C: New test. * gcc.dg/ubsan/float-cast-overflow-bf.c: New test. libsanitizer/ * ubsan/ubsan_value.cc (getFloatValue): Handle 96-bit floating-point types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210862 138bc75d-0d04-0410-961f-82ee72b054a4
* libsanitizer merge from upstream r209283kcc2014-05-22163-5079/+12519
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210743 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-05-14 Yury Gribov <y.gribov@samsung.com>ygribov2014-05-143-18/+62
| | | | | | | | | | | | | | | PR sanitizer/61100 * Makefile.am (nodist_saninclude_HEADERS): Install public headers. * Makefile.in: Regenerate. * c-c++-common/asan/asan-interface-1.c: New test. * lib/asan-dg.exp (asan_include_flags): New function. (asan_init): Call asan_include_flags to obtain path to sanitizer headers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210413 138bc75d-0d04-0410-961f-82ee72b054a4
* Handle backtrace_qsortro2014-03-074-1/+19
| | | | | | | | | * libbacktrace/Makefile.am (libsanitizer_libbacktrace_la_SOURCES): Add ../../libbacktrace/sort.c. * libbacktrace/Makefile.in: Regenerate. * libbacktrace/backtrace-rename.h (backtrace_qsort): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208401 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>wschmidt2014-03-032-0/+7
| | | | | | | | * configure.tgt: Unsupported for little endian PowerPC for now. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@208290 138bc75d-0d04-0410-961f-82ee72b054a4
* PR sanitizer/60055jakub2014-02-043-1/+8
| | | | | | | | | * tsan/tsan_flags.cc (__tsan_default_options): Add SANITIZER_INTERFACE_ATTRIBUTE. Backport from upstream r200747. * tsan/tsan_rtl.cc (__tsan::OnFinalize): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207459 138bc75d-0d04-0410-961f-82ee72b054a4
* PR sanitizer/60038jakub2014-02-042-9/+49
| | | | | | | | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@207452 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-01-23 Yury Gribov <y.gribov@samsung.com>ygribov2014-01-235-7/+84
| | | | | | | | | | | | | Jakub Jelinek <jakub@redhat.com> PR sanitizer/57316 * configure.ac: Check for missing syscalls. * Makefile.am: Likewise. * configure: Regenerate. * Makefile.in: Regenerate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206966 138bc75d-0d04-0410-961f-82ee72b054a4
* * sanitizer_common/sanitizer_symbolizer_libbacktrace.hjakub2014-01-0913-11/+180
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206477 138bc75d-0d04-0410-961f-82ee72b054a4
* * sanitizer_common/Makefile.am (AM_CPPFLAGS): Addjakub2014-01-098-4/+52
| | | | | | | | | | | | | -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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206476 138bc75d-0d04-0410-961f-82ee72b054a4
* PR sanitizer/59136jakub2014-01-0924-1034/+4644
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | libsanitizer/ * 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. testsuite/ * c-c++-common/asan/strip-path-prefix-1.c: Allow also the filename:line instead of (modulename+offset) form with stripped initial / from the filename. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206475 138bc75d-0d04-0410-961f-82ee72b054a4
* libsanitizer: fix build on Mac 10.6kcc2013-12-192-0/+11
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206113 138bc75d-0d04-0410-961f-82ee72b054a4
* Use int64 on time and clock for x32hjl2013-12-062-0/+22
| | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205737 138bc75d-0d04-0410-961f-82ee72b054a4
* Include <sys/stat.h> if __x86_64__ is definedhjl2013-12-062-1/+11
| | | | | | | | | * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205736 138bc75d-0d04-0410-961f-82ee72b054a4
* Add -lm to link_sanitizer_commonhjl2013-12-053-2/+7
| | | | | | | | * configure.ac (link_sanitizer_common): Add -lm. * configure: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205710 138bc75d-0d04-0410-961f-82ee72b054a4
* Add forgotten file.jakub2013-12-051-0/+36
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205701 138bc75d-0d04-0410-961f-82ee72b054a4