aboutsummaryrefslogtreecommitdiff
path: root/libsanitizer
AgeCommit message (Collapse)AuthorFilesLines
2018-04-24Regenerate configure of target librariesH.J. Lu2-1/+5
* configure: Regenerated. From-SVN: r259610
2018-04-19cet.m4 (GCC_CET_FLAGS): Default to --disable-cet, replace ↵Jakub Jelinek2-7/+10
--enable-cet=default with --enable-cet=auto. * config/cet.m4 (GCC_CET_FLAGS): Default to --disable-cet, replace --enable-cet=default with --enable-cet=auto. * doc/install.texi: Document --disable-cet being the default and --enable-cet=auto. * configure: Regenerated. From-SVN: r259487
2018-04-18re PR jit/85384 (libgccjit does not work if --with-gcc-major-version is used)David Malcolm2-1/+6
PR jit/85384 * acx.m4 (GCC_BASE_VER): Remove \$\$ from sed expression. * configure.ac (gcc-driver-name.h): Honor --with-gcc-major-version by using gcc_base_ver to generate a gcc_driver_version, and use it when generating GCC_DRIVER_NAME. * configure: Regenerate. * configure: Regenerate. From-SVN: r259462
2018-04-18re PR sanitizer/85389 (posix_memalign() crash with address sanitizer when ↵Bill Seurer2-1/+7
passing invalid arguments) PR sanitizer/85389 * asan/asan_allocator.h (kAllocatorSpace): For __powerpc64__ change from 0xa0000000000ULL to ~(uptr)0. From-SVN: r259459
2018-03-19re PR sanitizer/84761 (AddressSanitizer is not compatible with glibc 2.27 on ↵Jakub Jelinek2-14/+40
x86) 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. From-SVN: r258663
2018-03-14rs6000: Fix sanitizer frame unwind on 32-bit ABIsSegher Boessenkool2-3/+16
This fixes more than half of our testcase failures on BE. libsanitizer/ * sanitizer_common/sanitizer_stacktrace.cc (BufferedStackTrace::FastUnwindStack): Use the correct frame offset for PowerPC SYSV ABI. From-SVN: r258525
2018-02-19CET shouldn't be enabled in 32-bit run-time libraries by defualtIgor Tsimbalist2-1/+21
ENDBR32 and RDSSPD are multi-byte NOPs on x86-64 processors and newer x86 processors, starting Pentium Pro. They are UD on older 32-bit processors. Detect this at configure time and adjust the default value for enable_cet. GCC will enable CET in 32-bit run-time libraries in any case if --enable-cet is used to configure GCC. PR target/84148 * config/cet.m4: Check if target support multi-byte NOPS (SSE). * libatomic/configure: Regenerate. * libbacktrace/configure: Likewise. * libgcc/configure: Likewise. * libgfortran/configure: Likewise. * libgomp/configure: Likewise. * libitm/configure: Likewise. * libmpx/configure: Likewise. * libobjc/configure: Likewise. * libquadmath/configure: Likewise. * libsanitizer/configure: Likewise. * libssp/configure: Likewise. * libstdc++-v3/configure: Likewise. * libvtv/configure: Likewise. From-SVN: r257809
2018-02-06Add upstream svn rev for PR sanitizer/82825.Rainer Orth1-1/+1
From-SVN: r257405
2018-02-05Cherry-pick libsanitizer pointer-pair tristate option.Martin Liska3-4/+14
2018-02-05 Martin Liska <mliska@suse.cz> * doc/invoke.texi: Cherry-pick upstream r323995. 2018-02-05 Martin Liska <mliska@suse.cz> * c-c++-common/asan/pointer-compare-1.c: Adjust ASAN_OPTIONS options. * c-c++-common/asan/pointer-compare-2.c: Likewise. * c-c++-common/asan/pointer-subtract-1.c: Likewise. * c-c++-common/asan/pointer-subtract-2.c: Likewise. * c-c++-common/asan/pointer-subtract-3.c: Likewise. * c-c++-common/asan/pointer-subtract-4.c: Likewise. * c-c++-common/asan/pointer-compare-3.c: New test. 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. From-SVN: r257387
2018-01-17Guard against undefined weak symbols before Mac OS X 10.9 (PR sanitizer/82825)Rainer Orth2-1/+13
PR sanitizer/82825 * sanitizer_common/sanitizer_internal_defs.h: Cherry-pick upstream r??????. From-SVN: r256813
2018-01-13Allow for lack of VM_MEMORY_OS_ALLOC_ONCE on Mac OS X (PR sanitizer/82824)Rainer Orth2-1/+13
PR sanitizer/82824 * lsan/lsan_common_mac.cc: Cherry-pick upstream r322437. From-SVN: r256650
2017-12-05invoke.texi: Document the options.Martin Liska6-7/+107
gcc/ * doc/invoke.texi: Document the options. * flag-types.h (enum sanitize_code): Add SANITIZE_POINTER_COMPARE and SANITIZE_POINTER_SUBTRACT. * ipa-inline.c (sanitize_attrs_match_for_inline_p): Add handling of SANITIZE_POINTER_COMPARE and SANITIZE_POINTER_SUBTRACT. * opts.c: Define new sanitizer options. * sanitizer.def (BUILT_IN_ASAN_POINTER_COMPARE): Likewise. (BUILT_IN_ASAN_POINTER_SUBTRACT): Likewise. gcc/c/ * c-typeck.c (pointer_diff): Add new argument and instrument pointer subtraction. (build_binary_op): Similar for pointer comparison. gcc/cp/ * typeck.c (pointer_diff): Add new argument and instrument pointer subtraction. (cp_build_binary_op): Create compound expression if doing an instrumentation. gcc/testsuite/ * c-c++-common/asan/pointer-compare-1.c: New test. * c-c++-common/asan/pointer-compare-2.c: New test. * c-c++-common/asan/pointer-subtract-1.c: New test. * c-c++-common/asan/pointer-subtract-2.c: New test. * c-c++-common/asan/pointer-subtract-3.c: New test. * c-c++-common/asan/pointer-subtract-4.c: New test. libsanitizer/ * 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. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r255404
2017-11-17Enable building libsanitizer with Intel CETIgor Tsimbalist21-18/+187
libsanitizer/ * 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. From-SVN: r254896
2017-11-08re PR bootstrap/82670 (UBSAN bootstrap broken after recent libsanitizer merge)Jakub Jelinek3-13/+10
PR bootstrap/82670 * ubsan/Makefile.am (ubsan_files): Remove ubsan_init_standalone.cc and ubsan_signals_standalone.cc. * ubsan/Makefile.in: Regenerated. From-SVN: r254518
2017-11-05[libsanitizer] Remove semicolon after do {} while (0) in macro bodyTom de Vries3-3/+10
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. From-SVN: r254419
2017-10-20re PR sanitizer/82595 (bootstrap fails in libsanitizer on ↵Jakub Jelinek4-18/+61
powerpc64-unknown-linux-gnu) PR sanitizer/82595 * config/gnu-user.h (LIBTSAN_EARLY_SPEC): Add libtsan_preinit.o for -fsanitize=thread link of executables. (LIBLSAN_EARLY_SPEC): Add liblsan_preinit.o for -fsanitize=leak link of executables. * 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. From-SVN: r253925
2017-10-19ubsan.c (ubsan_expand_null_ifn): Use _v1 suffixed type mismatch builtins...Jakub Jelinek261-5763/+14251
* ubsan.c (ubsan_expand_null_ifn): Use _v1 suffixed type mismatch builtins, store max (log2 (align), 0) into uchar field instead of align into uptr field. (ubsan_expand_objsize_ifn): Use _v1 suffixed type mismatch builtins, store uchar 0 field instead of uptr 0 field. (instrument_nonnull_return): Use _v1 suffixed nonnull return builtin, instead of passing one address of struct with 2 locations pass two addresses of structs with 1 location each. * sanitizer.def (BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH, BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT, BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN, BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_ABORT): Removed. (BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_V1, BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_V1_ABORT, BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_V1, BUILT_IN_UBSAN_HANDLE_NONNULL_RETURN_V1_ABORT): New builtins. * c-c++-common/ubsan/float-cast-overflow-1.c: Drop value keyword from expected output regexps. * c-c++-common/ubsan/float-cast-overflow-2.c: Likewise. * c-c++-common/ubsan/float-cast-overflow-3.c: Likewise. * c-c++-common/ubsan/float-cast-overflow-4.c: Likewise. * c-c++-common/ubsan/float-cast-overflow-5.c: Likewise. * c-c++-common/ubsan/float-cast-overflow-6.c: Likewise. * c-c++-common/ubsan/float-cast-overflow-8.c: Likewise. * c-c++-common/ubsan/float-cast-overflow-9.c: Likewise. * c-c++-common/ubsan/float-cast-overflow-10.c: Likewise. * g++.dg/ubsan/float-cast-overflow-bf.C: Likewise. * gcc.dg/ubsan/float-cast-overflow-bf.c: Likewise. * g++.dg/asan/default-options-1.C (__asan_default_options): Add used attribute. * g++.dg/asan/asan_test.C: Run with ASAN_OPTIONS=handle_segv=2 in the environment. * 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. From-SVN: r253887
2017-10-05Add sanitizer_linux_x86_64.lo if __x86_64__ is defined by $CCH.J. Lu2-0/+8
Since size of "void *" is 4 bytes for x32, check if __x86_64__ is defined by $CC, instead of if test x$ac_cv_sizeof_void_p = x8; then to decide wether sanitizer_linux_x86_64.lo should be used. PR sanitizer/82379 * configure.tgt (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): Set to sanitizer_linux_x86_64.lo if __x86_64__ is defined by $CC. From-SVN: r253441
2017-10-02backtrace-rename.h (backtrace_uncompress_zdebug): Define.Jakub Jelinek2-0/+6
* libbacktrace/backtrace-rename.h (backtrace_uncompress_zdebug): Define. From-SVN: r253351
2017-08-07* include/system/sys/ptrace.h: New file.Jakub Jelinek2-0/+11
From-SVN: r250910
2017-07-28re PR sanitizer/80998 (Implement -fsanitize=pointer-overflow)Jakub Jelinek4-0/+46
PR sanitizer/80998 * sanopt.c (pass_sanopt::execute): Handle IFN_UBSAN_PTR. * tree-ssa-alias.c (call_may_clobber_ref_p_1): Likewise. * flag-types.h (enum sanitize_code): Add SANITIZER_POINTER_OVERFLOW. Or it into SANITIZER_UNDEFINED. * ubsan.c: Include gimple-fold.h and varasm.h. (ubsan_expand_ptr_ifn): New function. (instrument_pointer_overflow): New function. (maybe_instrument_pointer_overflow): New function. (instrument_object_size): Formatting fix. (pass_ubsan::execute): Call instrument_pointer_overflow and maybe_instrument_pointer_overflow. * internal-fn.c (expand_UBSAN_PTR): New function. * ubsan.h (ubsan_expand_ptr_ifn): Declare. * sanitizer.def (__ubsan_handle_pointer_overflow, __ubsan_handle_pointer_overflow_abort): New builtins. * tree-ssa-tail-merge.c (merge_stmts_p): Handle IFN_UBSAN_PTR. * internal-fn.def (UBSAN_PTR): New internal function. * opts.c (sanitizer_opts): Add pointer-overflow. * lto-streamer-in.c (input_function): Handle IFN_UBSAN_PTR. * fold-const.c (build_range_check): Compute pointer range check in integral type if pointer arithmetics would be needed. Formatting fixes. gcc/testsuite/ * c-c++-common/ubsan/ptr-overflow-1.c: New test. * c-c++-common/ubsan/ptr-overflow-2.c: New test. libsanitizer/ * ubsan/ubsan_handlers.cc: Cherry-pick upstream r304461. * ubsan/ubsan_checks.inc: Likewise. * ubsan/ubsan_handlers.h: Likewise. From-SVN: r250656
2017-07-14re PR sanitizer/81066 (sanitizer_stoptheworld_linux_libcdep.cc:276:22: ↵Jakub Jelinek5-7/+12
error: aggregate ‘sigaltstack handler_stack’ has incomplete type and cannot be defined) 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. From-SVN: r250200
2017-04-06Cherry-pick upstream r299036 from libsanitizer (PR sanitizer/80166).Martin Liska2-1/+8
2017-04-06 Martin Liska <mliska@suse.cz> PR sanitizer/80166 * sanitizer_common/sanitizer_common_interceptors.inc (INTERCEPTOR): Cherry-pick upstream r299036. 2017-04-06 Martin Liska <mliska@suse.cz> PR sanitizer/80166 * gcc.dg/asan/pr80166.c: New test. From-SVN: r246730
2017-03-22re PR sanitizer/78158 (Strange data race detection with thread sanitizer)Jakub Jelinek2-1/+23
PR sanitizer/78158 * tsan/tsan_interface_atomic.cc: Cherry-pick upstream r298378. From-SVN: r246402
2017-02-16re PR sanitizer/79562 (sanitizer breaks bootstrap of x86_64-*-freebsd)Andreas Tobler2-6/+7
2017-02-16 Andreas Tobler <andreast@gcc.gnu.org> PR sanitizer/79562 * sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry-pick upstream r294806. From-SVN: r245520
2017-02-11re PR sanitizer/79341 (Many Asan tests fail on s390)Jakub Jelinek5-15/+68
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. From-SVN: r245350
2017-02-03re PR sanitizer/78663 (Hundreds of asan failures on x86_64-apple-darwin10 at ↵Maxim Ostapenko3-10/+28
r243019) PR sanitizer/78663 * sanitizer_common/sanitizer_mac.cc: Cherry-pick upstream r293992. * sanitizer_common/sanitizer_platform_interceptors.h: Likewise. From-SVN: r245149
2017-01-31s390.c (s390_asan_shadow_offset): New function.Jakub Jelinek2-0/+9
gcc/ * config/s390/s390.c (s390_asan_shadow_offset): New function. (TARGET_ASAN_SHADOW_OFFSET): Redefine. libsanitizer/ * configure.tgt: Enable asan and ubsan on 64-bit s390*-*-linux*. From-SVN: r245060
2017-01-24* configure.tgt: Enable tsan and lsan on powerpc64{,le}-*-linux*.Jakub Jelinek2-1/+8
From-SVN: r244854
2017-01-24re PR sanitizer/79168 (libtsan fails to link when cross compiling GCC tip ↵Jakub Jelinek9-0/+28
for Aarch64 target) 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. From-SVN: r244844
2017-01-21re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)Jakub Jelinek13-12/+29
PR other/79046 libatomic/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. libffi/ * configure.ac: Add GCC_BASE_VER. * include/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. * testsuite/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * Makefile.in: Regenerated. * man/Makefile.in: Regenerated. libgomp/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. libitm/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. libmpx/ * mpxrt/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * mpxwrap/Makefile.am (gcc_version): Likewise. * mpxrt/Makefile.in: Regenerated. * mpxwrap/Makefile.in: Regenerated. liboffloadmic/ * plugin/configure.ac: Add GCC_BASE_VER. * plugin/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * plugin/configure: Regenerated. * plugin/aclocal.m4: Regenerated. * plugin/Makefile.in: Regenerated. libsanitizer/ * 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. libvtv/ * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * testsuite/Makefile.in: Regenerated. From-SVN: r244742
2017-01-17re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)Jakub Jelinek12-4/+50
PR other/79046 * configure: Regenerated. config/ * acx.m4 (GCC_BASE_VER): New m4 function. (ACX_TOOL_DIRS): Require GCC_BASE_VER, for --with-gcc-major-version-only use just major number from BASE-VER. gcc/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. (CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s). (gcc.o): Depend on $(BASEVER). * common.opt (dumpfullversion): New option. * gcc.c (driver_handle_option): Handle OPT_dumpfullversion. * doc/invoke.texi: Document -dumpfullversion. * doc/install.texi: Document --with-gcc-major-version-only. * configure: Regenerated. libatomic/ * 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. * testsuite/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. libgomp/ * 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. * testsuite/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. libgcc/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. libssp/ * 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. * configure: Regenerated. * Makefile.in: Regenerated. liboffloadmic/ * 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. * aclocal.m4: Include ../config/acx.m4. * configure: Regenerated. * Makefile.in: Regenerated. libquadmath/ * 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. * configure: Regenerated. * Makefile.in: Regenerated. libmpx/ * 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. * configure: Regenerated. * Makefile.in: Regenerated. libada/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. lto-plugin/ * 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. * configure: Regenerated. * Makefile.in: Regenerated. libitm/ * 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. * testsuite/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. fixincludes/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. libcilkrts/ * 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. * aclocal.m4: Include ../config/acx.m4. * configure: Regenerated. * Makefile.in: Regenerated. libcc1/ * configure.ac: Add GCC_BASE_VER. For --with-gcc-major-version-only use just major number from BASE-VER. * configure: Regenerated. * Makefile.in: Regenerated. libobjc/ * configure.ac: Add GCC_BASE_VER. * Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * configure: Regenerated. libstdc++-v3/ * configure.ac: Add GCC_BASE_VER. * fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to get version from BASE-VER file. * po/Makefile.in: Regenerated. * libsupc++/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * src/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * doc/Makefile.in: Regenerated. * python/Makefile.in: Regenerated. * src/c++11/Makefile.in: Regenerated. * src/c++98/Makefile.in: Regenerated. * src/filesystem/Makefile.in: Regenerated. libvtv/ * 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. * testsuite/Makefile.in: Regenerated. * configure: Regenerated. * Makefile.in: Regenerated. libsanitizer/ * 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. libgfortran/ * 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. * configure: Regenerated. * Makefile.in: Regenerated. From-SVN: r244521
2017-01-10re PR sanitizer/78992 (Incorrect sigaction definition on 32-bit sparc)James Clarke2-2/+11
PR sanitizer/78992 * sanitizer_common/sanitizer_platform_limits_posix.h (struct __sanitizer_sigaction): Cherry-pick upstream r291561. From-SVN: r244275
2016-11-30Add PR sanitizer/78532 patch to libsanitizer/LOCAL_PATCHES.Maxim Ostapenko2-0/+5
From-SVN: r243016
2016-11-30re PR sanitizer/78532 (libsanitizer fails to build on sparc64-linux-gnu)Maxim Ostapenko2-0/+18
PR sanitizer/78532 * sanitizer_common/sanitizer_platform_limits_posix.h (__sanitizer_sigaction): Adjust for sparc targets and various Glibc versions. From-SVN: r243014
2016-11-29Remove r242480 from libsanitizer/LOCAL_PATCHESMarkus Trippelsdorf2-1/+4
The fix is now upstream. * LOCAL_PATCHES: Remove r242480. From-SVN: r242957
2016-11-20Add PR sanitizer/78267 patch to libsanitizer/LOCAL_PATCHESRainer Orth2-0/+5
From-SVN: r242634
2016-11-20Fix libsanitizer build on OS X 10.1[01], macOS 10.12 (PR sanitizer/78267)Rainer Orth2-1/+7
fixincludes: PR sanitizer/78267 * inclhack.def (darwin_availabilityinternal, darwin_os_trace_1) (darwin_os_trace_2, darwin_os_trace_3): New fixes. (hpux_stdint_least_fast): Remove spurious _EOFix_. * fixincl.x: Regenerate. * tests/bases/AvailabilityInternal.h: New file. * tests/bases/os/trace.h: New file. 2016-11-20 Jack Howarth <howarth.at.gcc@gmail.com> libsanitizer: PR sanitizer/78267 * sanitizer_common/sanitizer_mac.cc: Include <os/trace.h> only if compiler supports blocks extension. From-SVN: r242633
2016-11-16Add revsison to libsanitizer/LOCAL_PATCHESMarkus Trippelsdorf2-0/+5
From-SVN: r242481
2016-11-16Fix PR78294 - thread sanitizer broken when using ld.goldMarkus Trippelsdorf2-0/+6
When one uses ld.gold to build gcc, the thread sanitizer doesn't work, because gold is more conservative when applying TLS relaxations than ld.bfd. In this case a missing initial-exec attribute on a declaration causes gcc to assume the general dynamic model. With ld.bfd this gets relaxed to initial exec when linking the shared library, so the missing attribute doesn't matter. But ld.gold doesn't perform this optimization and this leads to crashes on tsan instrumented binaries. See: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78294 and: https://sourceware.org/bugzilla/show_bug.cgi?id=20805 The fix is easy, just add the missing attribute. PR sanitizer/78294 * tsan/tsan_rtl.cc: Add missing attribute. From-SVN: r242480
2016-11-16LOCAL_PATCHES: New file.Maxim Ostapenko2-0/+8
libsanitizer/ * LOCAL_PATCHES: New file. From-SVN: r242479
2016-11-16re PR sanitizer/78307 (missing symbols in libubsan without changing the soname)Maxim Ostapenko6-1/+71
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. From-SVN: r242478
2016-11-15config-ml.in: Remove references to GCJ.Matthias Klose2-1/+4
<toplevel> 2016-11-15 Matthias Klose <doko@ubuntu.com> * config-ml.in: Remove references to GCJ. * configure.ac: Likewise. * configure: Regenerate. config/ 2016-11-15 Matthias Klose <doko@ubuntu.com> multi.m4: Don't set GCJ. gcc/ 2016-11-15 Matthias Klose <doko@ubuntu.com> * doc/install.texi: Remove references to gcj/libjava. * doc/invoke.texi: Likewise. */ (where necessary) 2016-11-15 Matthias Klose <doko@ubuntu.com> * configure: Regenerate. From-SVN: r242433
2016-11-09asan_globals.cc (RegisterGlobal): Do not call CheckODRViolationViaPoisoning.Maxim Ostapenko2-19/+6
libsanitizer/ * asan/asan_globals.cc (RegisterGlobal): Do not call CheckODRViolationViaPoisoning. (CheckODRViolationViaPoisoning): Remove. From-SVN: r241981
2016-11-09sanitizer_stacktrace.cc (GetCanonicFrame): Assume we compiled code with GCC ↵Maxim Ostapenko2-2/+8
when extracting the caller PC for ARM if... libsanitizer/ * 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. From-SVN: r241980
2016-11-09re PR sanitizer/63958 (bootstrap failure in the sanitizer libs on ↵Maxim Ostapenko3-3/+77
sparc-linux-gnu) 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. From-SVN: r241978
2016-11-09All source files: Merge from upstream 285547.Maxim Ostapenko211-5347/+14569
libsanitizer/ * 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. From-SVN: r241977
2016-09-21re PR sanitizer/77567 (ASAN: Bugus error "alloc-dealloc-mismatch (malloc vs ↵Jakub Jelinek2-10/+57
operator delete [])" with C++17's over-aligned types) PR sanitizer/77567 * asan/asan_new_delete.cc: Cherry-pick upstream r282019. From-SVN: r240316
2016-09-05re PR sanitizer/77396 (address sanitizer crashes if all static global ↵Jakub Jelinek2-3/+9
variables are optimized) PR sanitizer/77396 * asan/asan_globals.cc: Cherry-pick upstream r280657. * g++.dg/asan/pr77396-2.C: New test. From-SVN: r239998
2016-08-12re PR sanitizer/71042 (libtsan requires __pointer_chk_guard@GLIBC_PRIVATE (6))Jakub Jelinek3-12/+80
PR sanitizer/71042 * tsan/tsan_platform_linux.cc: Cherry-pick upstream r278292. * tsan/tsan_rtl_aarch64.S: Likewise. From-SVN: r239407