H.J. Lu
7b47ecf2f7
Regenerate configure of target libraries
...
* configure: Regenerated.
From-SVN: r259610
2018-04-24 09:45:26 -07:00
Jakub Jelinek
a0e1df888d
cet.m4 (GCC_CET_FLAGS): Default to --disable-cet, replace --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-19 09:45:51 +02:00
David Malcolm
001ddaa852
re PR jit/85384 (libgccjit does not work if --with-gcc-major-version is used)
...
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-18 11:46:58 +02:00
Bill Seurer
19ddb884eb
re PR sanitizer/85389 (posix_memalign() crash with address sanitizer when passing invalid arguments)
...
PR sanitizer/85389
* asan/asan_allocator.h (kAllocatorSpace): For __powerpc64__ change
from 0xa0000000000ULL to ~(uptr)0.
From-SVN: r259459
2018-04-18 09:02:40 +02:00
Jakub Jelinek
359ea407e9
re PR sanitizer/84761 (AddressSanitizer is not compatible with glibc 2.27 on 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-19 21:47:29 +01:00
Segher Boessenkool
1422855a40
rs6000: Fix sanitizer frame unwind on 32-bit ABIs
...
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-03-14 14:46:03 +01:00
Igor Tsimbalist
14e335edc8
CET shouldn't be enabled in 32-bit run-time libraries by defualt
...
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-19 17:25:49 +01:00
Rainer Orth
9dfc6e8394
Add upstream svn rev for PR sanitizer/82825.
...
From-SVN: r257405
2018-02-06 08:16:22 +00:00
Martin Liska
4c4f3c3fef
Cherry-pick libsanitizer pointer-pair tristate option.
...
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-02-05 11:01:50 +00:00
Rainer Orth
2d509539db
Guard against undefined weak symbols before Mac OS X 10.9 (PR sanitizer/82825)
...
PR sanitizer/82825
* sanitizer_common/sanitizer_internal_defs.h: Cherry-pick upstream
r??????.
From-SVN: r256813
2018-01-17 19:31:43 +00:00
Rainer Orth
1f7273e5db
Allow for lack of VM_MEMORY_OS_ALLOC_ONCE on Mac OS X (PR sanitizer/82824)
...
PR sanitizer/82824
* lsan/lsan_common_mac.cc: Cherry-pick upstream r322437.
From-SVN: r256650
2018-01-13 21:01:27 +00:00
Martin Liska
05abad4cca
invoke.texi: Document the options.
...
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-12-05 10:23:25 +01:00
Igor Tsimbalist
9069eb28d4
Enable building libsanitizer with Intel CET
...
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-17 22:34:50 +01:00
Jakub Jelinek
5925290f7d
re PR bootstrap/82670 (UBSAN bootstrap broken after recent libsanitizer merge)
...
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-08 09:17:02 +01:00
Tom de Vries
735e62b905
[libsanitizer] Remove semicolon after do {} while (0) in macro body
...
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-11-05 09:57:17 +00:00
Jakub Jelinek
9a45ffbd12
re PR sanitizer/82595 (bootstrap fails in libsanitizer on 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-20 09:32:35 +02:00
Jakub Jelinek
5d3805fca3
ubsan.c (ubsan_expand_null_ifn): Use _v1 suffixed type mismatch builtins...
...
* 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-19 13:23:59 +02:00
H.J. Lu
bf4df9e6b4
Add sanitizer_linux_x86_64.lo if __x86_64__ is defined by $CC
...
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-05 03:39:32 -07:00
Jakub Jelinek
d1453bec27
backtrace-rename.h (backtrace_uncompress_zdebug): Define.
...
* libbacktrace/backtrace-rename.h (backtrace_uncompress_zdebug):
Define.
From-SVN: r253351
2017-10-02 16:00:53 +02:00
Jakub Jelinek
a5320f3ce2
* include/system/sys/ptrace.h: New file.
...
From-SVN: r250910
2017-08-07 10:32:47 +02:00
Jakub Jelinek
c9b39a4955
re PR sanitizer/80998 (Implement -fsanitize=pointer-overflow)
...
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-28 12:37:51 +02:00
Jakub Jelinek
144e36a796
re PR sanitizer/81066 (sanitizer_stoptheworld_linux_libcdep.cc:276:22: 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-07-14 11:10:45 +02:00
Martin Liska
d9f8c5af8b
Cherry-pick upstream r299036 from libsanitizer (PR sanitizer/80166).
...
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-04-06 13:42:24 +00:00
Jakub Jelinek
fd6cba40e1
re PR sanitizer/78158 (Strange data race detection with thread sanitizer)
...
PR sanitizer/78158
* tsan/tsan_interface_atomic.cc: Cherry-pick upstream r298378.
From-SVN: r246402
2017-03-22 19:46:54 +01:00
Andreas Tobler
9b9ad3606d
re PR sanitizer/79562 (sanitizer breaks bootstrap of x86_64-*-freebsd)
...
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-16 22:23:51 +01:00
Jakub Jelinek
1509524bcc
re PR sanitizer/79341 (Many Asan tests fail on s390)
...
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-11 00:34:49 +01:00
Maxim Ostapenko
778e0ac397
re PR sanitizer/78663 (Hundreds of asan failures on x86_64-apple-darwin10 at r243019)
...
PR sanitizer/78663
* sanitizer_common/sanitizer_mac.cc: Cherry-pick upstream r293992.
* sanitizer_common/sanitizer_platform_interceptors.h: Likewise.
From-SVN: r245149
2017-02-03 14:17:59 +02:00
Jakub Jelinek
4997a71dbb
s390.c (s390_asan_shadow_offset): New function.
...
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-31 14:50:20 +01:00
Jakub Jelinek
c831801da8
* configure.tgt: Enable tsan and lsan on powerpc64{,le}-*-linux*.
...
From-SVN: r244854
2017-01-24 09:19:37 +01:00
Jakub Jelinek
86b2a5583b
re PR sanitizer/79168 (libtsan fails to link when cross compiling GCC tip 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-24 01:18:36 +01:00
Jakub Jelinek
73aa401ecf
re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)
...
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-21 09:47:11 +01:00
Jakub Jelinek
3c36aa6ba2
re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)
...
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-17 10:38:48 +01:00
James Clarke
942136a43d
re PR sanitizer/78992 (Incorrect sigaction definition on 32-bit sparc)
...
PR sanitizer/78992
* sanitizer_common/sanitizer_platform_limits_posix.h
(struct __sanitizer_sigaction): Cherry-pick upstream r291561.
From-SVN: r244275
2017-01-10 16:22:56 +01:00
Maxim Ostapenko
11bbe99531
Add PR sanitizer/78532 patch to libsanitizer/LOCAL_PATCHES.
...
From-SVN: r243016
2016-11-30 14:32:55 +02:00
Maxim Ostapenko
d61ed91ece
re PR sanitizer/78532 (libsanitizer fails to build on sparc64-linux-gnu)
...
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-30 14:31:07 +02:00
Markus Trippelsdorf
f4214e239f
Remove r242480 from libsanitizer/LOCAL_PATCHES
...
The fix is now upstream.
* LOCAL_PATCHES: Remove r242480.
From-SVN: r242957
2016-11-29 13:13:31 +00:00
Rainer Orth
0021284370
Add PR sanitizer/78267 patch to libsanitizer/LOCAL_PATCHES
...
From-SVN: r242634
2016-11-20 10:51:53 +00:00
Rainer Orth
97448adf21
Fix libsanitizer build on OS X 10.1[01], macOS 10.12 (PR sanitizer/78267)
...
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-20 10:49:47 +00:00
Markus Trippelsdorf
61a58d07c6
Add revsison to libsanitizer/LOCAL_PATCHES
...
From-SVN: r242481
2016-11-16 11:23:47 +00:00
Markus Trippelsdorf
8c32ae0e6d
Fix PR78294 - thread sanitizer broken when using ld.gold
...
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-16 11:21:42 +00:00
Maxim Ostapenko
949cc52d0c
LOCAL_PATCHES: New file.
...
libsanitizer/
* LOCAL_PATCHES: New file.
From-SVN: r242479
2016-11-16 13:16:47 +02:00
Maxim Ostapenko
511c8687a8
re PR sanitizer/78307 (missing symbols in libubsan without changing the soname)
...
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-16 13:13:19 +02:00
Matthias Klose
84c1b9d3d4
config-ml.in: Remove references to GCJ.
...
<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-15 16:34:02 +00:00
Maxim Ostapenko
8f16b6ca77
asan_globals.cc (RegisterGlobal): Do not call CheckODRViolationViaPoisoning.
...
libsanitizer/
* asan/asan_globals.cc (RegisterGlobal): Do not call
CheckODRViolationViaPoisoning.
(CheckODRViolationViaPoisoning): Remove.
From-SVN: r241981
2016-11-09 00:09:33 +02:00
Maxim Ostapenko
789306de0f
sanitizer_stacktrace.cc (GetCanonicFrame): Assume we compiled code with GCC 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-09 00:07:50 +02:00
Maxim Ostapenko
fe7913f688
re PR sanitizer/63958 (bootstrap failure in the sanitizer libs on 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-09 00:06:02 +02:00
Maxim Ostapenko
1018981977
All source files: Merge from upstream 285547.
...
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-11-09 00:04:09 +02:00
Jakub Jelinek
aef6a97c0e
re PR sanitizer/77567 (ASAN: Bugus error "alloc-dealloc-mismatch (malloc vs 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-21 16:40:30 +02:00
Jakub Jelinek
0ce483917f
re PR sanitizer/77396 (address sanitizer crashes if all static global 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-09-05 21:43:57 +02:00
Jakub Jelinek
e23a7a99f4
re PR sanitizer/71042 (libtsan requires __pointer_chk_guard@GLIBC_PRIVATE (6))
...
PR sanitizer/71042
* tsan/tsan_platform_linux.cc: Cherry-pick upstream r278292.
* tsan/tsan_rtl_aarch64.S: Likewise.
From-SVN: r239407
2016-08-12 10:53:07 +02:00
Alan Modra
aa00995cd7
Revert 2015-11-09 sanitizer/obstack configury
...
The 2015-11-23 sanitizer merge from upstream lost the changes from
f6528435
to sanitizer_common/sanitizer_common_interceptors.inc, which
made use of _OBSTACK_SIZE_T. So the configury changes to define
_OBSTACK_SIZE_T don't do anything. This wasn't such a bad thing
anyway.. The configure test wrongly adds -I${srcdir}/../include,
effectively resulting in a test of libiberty/obstack rather than libc
obstack support, and it's the latter that asan and tsan need to work
with.
So, remove the useless configure test. Upstream santizer project has
been made aware of the problem if glibc obstack support is ever
updated. Bootsrapped etc. x86_64-linux and committed as obvious.
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.
From-SVN: r238701
2016-07-25 10:43:36 +09:30
Jakub Jelinek
69af4eecb8
re PR sanitizer/71160 (libasan: Backport support for malloc within dlsym)
...
PR sanitizer/71160
* asan/asan_malloc_linux.cc: Cherry pick upstream r254395
and r269633.
From-SVN: r236314
2016-05-17 11:17:54 +02:00
Maxim Ostapenko
fefddbef53
Cherry-pick r266868 from upstream.
...
PR sanitizer/70624
* asan/asan_mac.cc: Cherry pick upstream r266868.
From-SVN: r235338
2016-04-21 15:19:54 +03:00
Jakub Jelinek
e47294194f
re PR sanitizer/68824 (libtsan is missing the __interceptor___tls_get_addr symbol without bumping the soname)
...
PR sanitizer/68824
* tsan/tsan_interceptors.cc (NEED_TLS_GET_ADDR, __tls_get_addr,
InitializeInterceptors): Cherry pick upstream r258119.
From-SVN: r232555
2016-01-19 13:45:54 +01:00
Andreas Tobler
bf93d54363
configure.ac: Replace the hard-coded -ldl requirement for link_sanitizer_common with a...
...
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.
From-SVN: r232385
2016-01-14 21:27:49 +01:00
Max Ostapenko
9211bbb278
Move ptrace.h to appropriate place.
...
libsanitizer/
* include/system/linux/asm/ptrace.h: Move to ...
* include/system/asm/ptrace.h: ... this.
From-SVN: r230804
2015-11-24 14:24:46 +02:00
Max Ostapenko
664dd3cfbd
Fix libsanitizer build with old kernel headers on ARM after r230739.
...
libsanitizer/
* include/system/linux/asm/ptrace.h: New header.
From-SVN: r230790
2015-11-24 10:44:39 +02:00
Max Ostapenko
55aea9f56c
libsanitizer merge from upstream r253555.
...
libsanitizer/
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.
From-SVN: r230739
2015-11-23 11:07:18 +02:00
Alan Modra
62c0f0a637
Update libsanitizer obstack interceptors
...
New obstack uses sensible types, size_t instead of int for length
params. Since libsanitizer does not use prototypes from obstack.h to
call the real functions, it's necessary to update the libsanitizer
function declarations emitted by the INTERCEPTOR macro.
* 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.
From-SVN: r229986
2015-11-09 14:53:25 +10:30
Maxim Ostapenko
02f4d3e9da
Update HOWTO_MERGE file for libsanitizer.
...
From-SVN: r229215
2015-10-23 11:50:30 +03:00
Max Ostapenko
692b1131a7
Fix bootstrap on x86_64-apple-darwin14 after r229119.
...
libsanitizer/
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.
From-SVN: r229168
2015-10-22 12:47:17 +03:00
Max Ostapenko
7047bc9c16
HOWTO_MERGE: New file.
...
libsanitizer/
* HOWTO_MERGE: New file.
From-SVN: r229116
2015-10-21 10:53:22 +03:00
Max Ostapenko
21d6106320
sanitizer_stacktrace.cc (GetCanonicFrame): Assume we compiled code with GCC 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: r229115
2015-10-21 10:51:03 +03:00
Max Ostapenko
15ebe1fe46
re PR bootstrap/63888 (bootstrap failed when configured with -with-build-config=bootstrap-asan --disable-werror)
...
libsanitizer/
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.
From-SVN: r229114
2015-10-21 10:47:54 +03:00
Max Ostapenko
0d57d3e06b
re PR sanitizer/63958 (bootstrap failure in the sanitizer libs on sparc-linux-gnu)
...
libsanitizer/
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: r229113
2015-10-21 10:44:35 +03:00
Max Ostapenko
696d846a56
libsanitizer merge from upstream r250806.
...
libsanitizer/
2015-10-20 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 CXX_ABI_NEEDED=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 CXX_ABI_NEEDED 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.
From-SVN: r229111
2015-10-21 10:32:45 +03:00
Markus Trippelsdorf
1842a04ce0
Fix sanitizer/67258 by cherry picking upstream patch
...
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
From-SVN: r227591
2015-09-09 16:34:59 +00:00
Markus Trippelsdorf
97d8f80175
Use fast unwinder for PowerPC
...
2015-07-29 Markus Trippelsdorf <markus@trippelsdorf.de>
PR sanitizer/63927
* sanitizer_common/sanitizer_stacktrace.h: Use fast unwinder
for PowerPC.
From-SVN: r226338
2015-07-29 06:32:09 +00:00
Bill Schmidt
3d61d87585
re PR sanitizer/63927 (AddressSanitizer painfully slow on ppc64)
...
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.
From-SVN: r226335
2015-07-29 03:33:10 +00:00
Michael Haubenwallner
f3915b4249
libsanitizer: Bump to automake 1.11.6
...
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.
From-SVN: r223140
2015-05-13 11:11:58 +00:00
Yury Gribov
d041a6fcae
re PR sanitizer/64839 (libsanitizer shouldn't require <rpc/xdr.h>)
...
2015-04-13 Yury Gribov <y.gribov@samsung.com>
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.
From-SVN: r222043
2015-04-13 08:59:55 +00:00
Christophe Lyon
d886f7cc33
re PR sanitizer/59009 (libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux and aarch64-linux)
...
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.
From-SVN: r221593
2015-03-23 14:43:22 +01:00
Bernd Edlinger
563fb64a57
tsan_rtl_report.cc (ScopedReport::AddThread): Cherry pick upstream 224508 and 224755.
...
2015-03-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
* tsan/tsan_rtl_report.cc (ScopedReport::AddThread): Cherry pick
upstream 224508 and 224755.
From-SVN: r221356
2015-03-11 19:20:03 +00:00
Jakub Jelinek
ee876e5915
re PR sanitizer/63958 (bootstrap failure in the sanitizer libs on 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: r221283
2015-03-09 19:25:28 +01:00
Peter Bergner
6ad0611bec
* configure.tgt: Enable build on powerpc*le-*-linux.
...
From-SVN: r221060
2015-02-27 07:46:30 -06:00
Jakub Jelinek
09901e8a73
re PR tree-optimization/65170 (curve25519-donna-c64 miscompilation)
...
PR tree-optimization/65170
* 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.
From-SVN: r220931
2015-02-24 09:07:10 +01:00
Jakub Jelinek
86ee20386e
re PR bootstrap/63888 (bootstrap failed when configured with -with-build-config=bootstrap-asan --disable-werror)
...
PR bootstrap/63888
* asan/asan_globals.cc (RegisterGlobal): Disable detect_odr_violation
support until it is rewritten upstream.
* c-c++-common/asan/pr63888.c: New test.
From-SVN: r220919
2015-02-23 22:01:57 +01:00
Matthias Klose
94213c1020
configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
...
2015-01-26 Matthias Klose <doko@ubuntu.com>
* configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC.
* configure: Regenerate.
From-SVN: r220165
2015-01-27 12:50:46 +00:00
Venkataramanan Kumar
8790f572ea
Include TSAN dependent sources for 64 bit i?86 target.
...
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.
From-SVN: r220083
2015-01-24 15:21:51 +00:00
Venkataramanan Kumar
b0edd457a1
Conditionally include target specific files while building TSAN 2015-01-25...
...
Conditionally include target specific files while building TSAN
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.
From-SVN: r220034
2015-01-23 11:53:04 +00:00
Jakub Jelinek
19ac475f49
* tsan/tsan_rtl.h: Cherry pick upstream r226829.
...
From-SVN: r220013
2015-01-22 21:44:25 +01:00
Jakub Jelinek
8b08ef255b
re PR sanitizer/64435 (Bootstrap failure in libsanitizer on AArch64 with Linux kernel <= 3.15)
...
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.
From-SVN: r219968
2015-01-21 22:21:27 +01:00
Jakub Jelinek
3ea3641880
re PR sanitizer/64632 (runtime error: member call on address 0x0000004318a8 which does not point to an object of type 'ios_base')
...
PR sanitizer/64632
* ubsan/ubsan_type_hash.cc: Cherry pick upstream r224972.
* g++.dg/ubsan/pr64632.C: New test.
From-SVN: r219912
2015-01-20 21:39:52 +01:00
Jakub Jelinek
9deaf59d1b
re PR sanitizer/64435 (Bootstrap failure in libsanitizer on AArch64 with Linux kernel <= 3.15)
...
PR sanitizer/64435
* sanitizer_common/sanitizer_platform_limits_posix.cc: Cherry pick
upstream r223925.
From-SVN: r219833
2015-01-19 09:39:27 +01:00
Jakub Jelinek
b6a8baccac
sanitizer_deadlock_detector.h: Cherry pick upstream r224518 and r224519.
...
* sanitizer_common/sanitizer_deadlock_detector.h: Cherry pick
upstream r224518 and r224519.
* tsan/tsan_rtl_thread.cc: Cherry pick upstream r224702 and
r224834.
From-SVN: r219545
2015-01-13 18:01:30 +01:00
Jakub Jelinek
f2798565b4
sanitizer_symbolizer_libbacktrace.cc, [...]: Cherry pick upstream r224308.
...
* sanitizer_common/sanitizer_symbolizer_libbacktrace.cc,
sanitizer_common/sanitizer_symbolizer_libbacktrace.h,
sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc: Cherry pick
upstream r224308.
From-SVN: r218778
2014-12-16 12:35:34 +01:00
H.J. Lu
a699d67255
Always use PIC option with -shared in libtool
...
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.
From-SVN: r217937
2014-11-21 08:49:17 -08:00
Jakub Jelinek
7697b16f45
re PR sanitizer/64013 (libsanitizer fails to build)
...
PR sanitizer/64013
* sanitizer_common/sanitizer_linux.cc (FileExists): Cherry pick
upstream r222532.
From-SVN: r217921
2014-11-21 15:03:37 +01:00
Uros Bizjak
7f201a67fb
Makefile.am (AM_CXXFLAGS): Use -std=gnu++11.
...
* 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.
From-SVN: r217562
2014-11-14 15:23:51 +01:00
Kostya Serebryany
c5be964a42
libsanitizer merge from upstream r221802
...
From-SVN: r217518
2014-11-13 20:41:38 +00:00
Francois-Xavier Coudert
ebf6d33b73
re PR target/63610 (Fixing the libtool bug for Yosemite (darwin14))
...
toplevel:
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.
From-SVN: r217366
2014-11-11 20:25:18 +00:00
Martin Liska
d13fc1ed98
IPA ICF fallout: fox for libasan and pr43077-1.c
...
* 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.
From-SVN: r216339
2014-10-16 16:56:21 +00:00
David S. Miller
c84733360b
Fix sanitizer build on sparc.
...
* 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.
From-SVN: r216224
2014-10-14 14:20:46 -07:00
Jakub Jelinek
694b4cfa08
Makefile.am (DEFS): Add -DPIC.
...
* ubsan/Makefile.am (DEFS): Add -DPIC.
* ubsan/Makefile.in: Regenerated.
From-SVN: r216206
2014-10-14 17:56:52 +02:00
Christophe Lyon
a3125fc233
[AArch64] Enable Address Sanitizer.
...
2014-09-26 Christophe Lyon <christophe.lyon@linaro.org>
[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.
From-SVN: r215642
2014-09-26 15:07:42 +02:00
Kostya Serebryany
866e32ad33
[libsanitizer merge from upstream r218156]
...
From-SVN: r215527
2014-09-23 17:59:53 +00:00
Jakub Jelinek
126edc3fe2
flag-types.h (enum sanitize_code): Add SANITIZE_NONNULL_ATTRIBUTE and SANITIZE_RETURNS_NONNULL_ATTRIBUTE...
...
gcc/
* 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.
From-SVN: r215118
2014-09-10 11:23:16 +02:00
Paolo Carlini
0d807c8050
sanitizer_common_interceptors.inc: Cherry pick upstream r211008.
...
2014-06-23 Paolo Carlini <paolo.carlini@oracle.com>
* sanitizer_common/sanitizer_common_interceptors.inc:
Cherry pick upstream r211008.
From-SVN: r211912
2014-06-23 19:03:07 +00:00
Richard Biener
4622301b0d
asan_linux.cc: Cherry pick upstream r210012.
...
2014-06-11 Richard Biener <rguenther@suse.de>
* asan/asan_linux.cc: Cherry pick upstream r210012.
From-SVN: r211453
2014-06-11 11:35:48 +00:00
Jakub Jelinek
ecd5543ffa
sanitizer_stacktrace.cc: Cherry pick upstream r209879.
...
* 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.
From-SVN: r211080
2014-05-30 15:48:22 +02:00
Marek Polacek
85a16bf8b5
builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
...
* builtins.def: Change SANITIZE_FLOAT_DIVIDE to SANITIZE_NONDEFAULT.
* 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.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r210862
2014-05-23 14:44:42 +00:00
Kostya Serebryany
dee5ea7a0b
libsanitizer merge from upstream r209283
...
From-SVN: r210743
2014-05-22 07:09:21 +00:00
Yury Gribov
2675305b4f
re PR sanitizer/61100 (asan/tsan should have the sanitizer includes)
...
2014-05-14 Yury Gribov <y.gribov@samsung.com>
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.
From-SVN: r210413
2014-05-14 08:33:45 +00:00
Rainer Orth
a6c9ab4e19
Handle backtrace_qsort
...
* libbacktrace/Makefile.am (libsanitizer_libbacktrace_la_SOURCES):
Add ../../libbacktrace/sort.c.
* libbacktrace/Makefile.in: Regenerate.
* libbacktrace/backtrace-rename.h (backtrace_qsort): Define.
From-SVN: r208401
2014-03-07 13:55:54 +00:00
Bill Schmidt
a42a7046eb
configure.tgt: Unsupported for little endian PowerPC for now.
...
2014-03-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* configure.tgt: Unsupported for little endian PowerPC for now.
From-SVN: r208290
2014-03-03 20:36:56 +00:00
Jakub Jelinek
81c87471e9
re PR sanitizer/60055 (Invalid binding of __tsan_default_options)
...
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.
From-SVN: r207459
2014-02-04 11:46:22 +01:00
Jakub Jelinek
5ab39ec3b0
re PR sanitizer/60038 (AddressSanitizer CHECK failed ... "((*tls_addr + *tls_size)) <= ((*stk_addr + *stk_size))" on CentOS 5.10)
...
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.
From-SVN: r207452
2014-02-04 08:37:44 +01:00
Yury Gribov
4a7eaf5f94
re PR sanitizer/57316 (build failure in libsanitizer)
...
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.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r206966
2014-01-23 14:32:05 +00:00
Jakub Jelinek
b5f58ba331
* 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.
From-SVN: r206477
2014-01-09 19:16:40 +01:00
Jakub Jelinek
2613419a70
Makefile.am (AM_CPPFLAGS): Add -isystem $(top_srcdir)/include/system.
...
* 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.
From-SVN: r206476
2014-01-09 19:15:41 +01:00
Jakub Jelinek
c915a58145
re PR sanitizer/59136 (llvm-symbolizer shouldn't be started always)
...
PR sanitizer/59136
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.
From-SVN: r206475
2014-01-09 19:13:39 +01:00
Kostya Serebryany
409f3b4663
libsanitizer: fix build on Mac 10.6
...
From-SVN: r206113
2013-12-19 12:54:11 +00:00
H.J. Lu
079db27b09
Use int64 on time and clock for x32
...
* 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.
From-SVN: r205737
2013-12-06 03:48:24 -08:00
H.J. Lu
7efb96c077
Include <sys/stat.h> if __x86_64__ is defined
...
* 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.
From-SVN: r205736
2013-12-06 03:44:55 -08:00
H.J. Lu
df9d1700f1
Add -lm to link_sanitizer_common
...
* configure.ac (link_sanitizer_common): Add -lm.
* configure: Regenerated.
From-SVN: r205710
2013-12-05 06:41:38 -08:00
Jakub Jelinek
46db94aa6a
Add forgotten file.
...
From-SVN: r205701
2013-12-05 12:06:10 +01:00
Kostya Serebryany
c4c16f7456
libsanitizer merge from upstream r196489
...
From-SVN: r205700
2013-12-05 10:28:59 +00:00
Yury Gribov
666ee4d682
re PR sanitizer/59368 (libsanitizer spec file installed in the wrong place)
...
2013-12-05 Yury Gribov <y.gribov@samsung.com>
PR sanitizer/59368
* Makefile.am (gcc_version): Added gcc_version.
* Makefile.in: Regenerate.
From-SVN: r205698
2013-12-05 09:56:03 +00:00
Kostya Serebryany
df77f0e4ec
libsanitizer merge from upstream r196090
...
From-SVN: r205695
2013-12-05 09:18:38 +00:00
Jakub Jelinek
35814b0346
re PR sanitizer/59063 (ASAN: segfault in __interceptor_clock_gettime)
...
gcc/
2013-11-29 Jakub Jelinek <jakub@redhat.com>
Yury Gribov <y.gribov@samsung.com>
PR sanitizer/59063
* config/gnu-user.h: Removed old code for setting up sanitizer
libs.
* gcc.c: Using libsanitizer spec instead of explicit libs.
gcc/testsuite/
2013-11-29 Jakub Jelinek <jakub@redhat.com>
Yury Gribov <y.gribov@samsung.com>
PR sanitizer/59063
* c-c++-common/asan/pr59063-1.c: New test.
* c-c++-common/asan/pr59063-2.c: Likewise.
* lib/asan-dg.exp: Add path to libsanitizer.spec to cflags.
* lib/ubsan-dg.exp: Likewise.
libsanitizer/
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.
Co-Authored-By: Yury Gribov <y.gribov@samsung.com>
From-SVN: r205524
2013-11-29 12:30:36 +00:00
Jakub Jelinek
049558ed48
re PR sanitizer/59106 (Failure to link against static libasan)
...
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.
Co-Authored-By: Yury Gribov <y.gribov@samsung.com>
From-SVN: r205482
2013-11-28 12:20:23 +00:00
Jakub Jelinek
9065ada9b5
re PR sanitizer/59061 (Port leaksanitizer)
...
PR sanitizer/59061
* common.opt (static-liblsan): Add.
* config/gnu-user.h (STATIC_LIBLSAN_LIBS, STATIC_LIBUBSAN_LIBS):
Define.
* flag-types.h (enum sanitize_code): Add SANITIZE_LEAK. Renumber
SANITIZE_SHIFT, SANITIZE_DIVIDE, SANITIZE_UNREACHABLE, SANITIZE_VLA,
SANITIZE_RETURN.
* opts.c (common_handle_option): Handle -fsanitize=leak.
* gcc.c (ADD_STATIC_LIBLSAN_LIBS, LIBLSAN_SPEC): Define.
(LIBUBSAN_SPEC): Don't test LIBUBSAN_EARLY_SPEC.
(LIBUBSAN_EARLY_SPEC): Remove.
(SANITIZER_EARLY_SPEC): Don't do anything for libubsan.
(SANITIZER_SPEC): Add -fsanitize=leak handling.
(sanitize_spec_function): Handle %sanitize(leak).
* doc/invoke.texi (-static-liblsan, -fsanitize=leak): Document.
* c-c++-common/asan/no-redundant-instrumentation-7.c: Fix
cleanup-tree-dump directive.
* 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.
From-SVN: r205290
2013-11-22 22:13:08 +01:00
Mike Stump
486294d4ed
sanitizer_linux.cc (__sanitizer): Grab one change from upstream to fix build.
...
* sanitizer_common/sanitizer_linux.cc (__sanitizer): Grab one
change from upstream to fix build.
From-SVN: r205285
2013-11-22 20:33:06 +00:00
Yury Gribov
2621c86043
re PR sanitizer/59106 (Failure to link against static libasan)
...
libsanitizer:
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.
gcc/testsuite:
2013-11-18 Yury Gribov <y.gribov@samsung.com>
PR sanitizer/59106
* c-c++-common/asan/pr59106.c: New test.
From-SVN: r204934
2013-11-18 08:03:16 +00:00
Kostya Serebryany
c8e1377bf9
fix PR sanitizer/58994
...
From-SVN: r204838
2013-11-15 10:31:14 +00:00
Peter Bergner
c3d77f3add
re PR sanitizer/59009 (libsanitizer merge from upstream r191666 breaks bootstrap on powerpc64-linux and aarch64-linux)
...
PR sanitizer/59009
* sanitizer_common/sanitizer_platform_limits_posix.cc: Temporarily
ifdef out more source.
From-SVN: r204757
2013-11-13 16:34:33 -06:00
Jakub Jelinek
d00106f4f0
sanitizer_platform_limits_linux.cc: Temporarily ifdef out almost the whole source.
...
* sanitizer_common/sanitizer_platform_limits_linux.cc: Temporarily
ifdef out almost the whole source.
* sanitizer_common/sanitizer_common_syscalls.inc: Likewise.
From-SVN: r204726
2013-11-13 00:42:55 +01:00
H.J. Lu
e276866fd7
Check __x86_64__ for FPU state
...
PR sanitizer/59018
* sanitizer_common/sanitizer_platform_limits_posix.cc
(struct_user_fpxregs_struct_sz): Initialize to 0 if __x86_64__ is
defined.
From-SVN: r204483
2013-11-06 13:52:29 -08:00
H.J. Lu
f5c36cfc4b
Use 64-bit system types for x86-64
...
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.
From-SVN: r204482
2013-11-06 13:51:41 -08:00
H.J. Lu
e45de14ec7
Fix internal_clone for x32
...
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.
From-SVN: r204481
2013-11-06 13:50:42 -08:00
H.J. Lu
38693e39b6
Cast pointers to uptr for 64-bit syscalls
...
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.
From-SVN: r204480
2013-11-06 13:49:36 -08:00
Kostya Serebryany
ef1b3fda32
libsanitizer merge from upstream r191666
...
This may break gcc-asan on Mac, will follow up separately.
From-SVN: r204368
2013-11-04 21:33:31 +00:00
Gerald Pfeifer
ecdbd01aa1
Fix up ChangeLog entries (name, e-mail, formatting, otherwise).
...
From-SVN: r203992
2013-10-23 21:30:54 +00:00
Alan Modra
3cbe17f7de
libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical ppc host match.
...
* libtool.m4 (_LT_ENABLE_LOCK <ld -m flags>): Remove non-canonical
ppc host match. Support little-endian powerpc linux hosts.
Regenerate configure throughout.
From-SVN: r202773
2013-09-20 19:17:52 +09:30
Iain Sandoe
0cea211ebd
darwin.h (LINK_COMMAND_SPEC_A): Revise sanitizer specs to include sanitize(undefined).
...
gcc:
* config/darwin.h (LINK_COMMAND_SPEC_A): Revise sanitizer specs to
include sanitize(undefined).
libsanitizer:
* ubsan/Makefile.am (libubsan_la_LIBADD): Revise to omit
libinterception.la for Darwin.
* ubsan/Makefile.in: Regenerate.
From-SVN: r202144
2013-09-01 12:16:07 +00:00
Marek Polacek
de5a5fa139
Merge ubsan into trunk.
...
From-SVN: r202113
2013-08-30 16:12:58 +00:00
Christophe Lyon
634cfa2ba8
sanitizer_linux.cc (MemoryMappingLayout::Next): Cherry pick upstream r182922.
...
2013-06-03 Christophe Lyon <christophe.lyon@linaro.org>
* sanitizer_common/sanitizer_linux.cc (MemoryMappingLayout::Next):
Cherry pick upstream r182922.
From-SVN: r199606
2013-06-03 15:04:35 +02:00
Christophe Lyon
8a5800b82f
arm.c (arm_asan_shadow_offset): New function.
...
2013-05-06 Christophe Lyon <christophe.lyon@linaro.org>
gcc/
* config/arm/arm.c (arm_asan_shadow_offset): New function.
(TARGET_ASAN_SHADOW_OFFSET): Define.
* config/arm/linux-eabi.h (ASAN_CC1_SPEC): Define.
(LINUX_OR_ANDROID_CC): Add ASAN_CC1_SPEC.
libsanitizer/
* configure.tgt: Add ARM pattern.
testsuite/
* lib/target-supports.exp (check_effective_target_hw): New
function.
* c-c++-common/asan/clone-test-1.c: Call
check_effective_target_hw.
* c-c++-common/asan/rlimit-mmap-test-1.c: Likewise.
* c-c++-common/asan/heap-overflow-1.c: Update regexps to accept
possible decorations.
* c-c++-common/asan/null-deref-1.c: Likewise.
* c-c++-common/asan/stack-overflow-1.c: Likewise.
* c-c++-common/asan/strncpy-overflow-1.c: Likewise.
* c-c++-common/asan/use-after-free-1.c: Likewise.
* g++.dg/asan/deep-thread-stack-1.C: Likewise.
* g++.dg/asan/large-func-test-1.C: Likewise.
From-SVN: r198683
2013-05-07 16:17:50 +02:00
Jakub Jelinek
a745e44403
Fix up ChangeLog entry date.
...
From-SVN: r196965
2013-03-22 15:17:24 +01:00
Jakub Jelinek
1868beeeca
re PR other/43620 ([4.3 Release Blocker] Uploading to gnu.org will fail due to automake security issue)
...
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.
From-SVN: r196964
2013-03-22 15:14:42 +01:00
Jakub Jelinek
4c37612689
asan_mapping.h (kMidMemEnd): Increase to 0x4fffffffffULL.
...
* asan/asan_mapping.h (kMidMemEnd): Increase to 0x4fffffffffULL.
* asan/asan_rtl.cc (__asan_init): Increase kMidMemEnd to
0x4fffffffffULL.
From-SVN: r196355
2013-02-28 20:55:40 +01:00
Jakub Jelinek
7d61373544
re PR sanitizer/56393 (SIGSEGV when -fsanitize=address and dynamic lib with global objects)
...
PR sanitizer/56393
* config/gnu-user.h (LIBASAN_EARLY_SPEC): Link in libasan_preinit.o
if not linking a shared library.
* lib/asan-dg.exp (asan_link_flags): Add
-B${gccpath}/libsanitizer/asan/ to flags.
* 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.
From-SVN: r196222
2013-02-22 17:07:36 +01:00
Jack Howarth
304886c59c
Makefile.am (libasan_la_SOURCES): Remove deprecated dynamic/asan_interceptors_dynamic.cc.
...
* 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.
From-SVN: r196211
2013-02-21 20:12:43 +01:00
Jakub Jelinek
4be7da26b5
asan_rtl.cc (__asan_preinit): Don't add if PIC macro is defined.
...
* asan/asan_rtl.cc (__asan_preinit): Don't add if PIC macro is
defined. Add used attribute.
From-SVN: r196205
2013-02-21 15:25:32 +01:00
Kostya Serebryany
7df59255e1
libsanitizer merge from upstream r175733
...
From-SVN: r196201
2013-02-21 10:57:10 +00:00
H.J. Lu
8afd2ed720
OFF_T: Merged from upstream r175140
...
PR bootstrap/56327
* interception/interception.h (OFF_T): Merged from upstream
r175140.
From-SVN: r196054
2013-02-14 08:54:01 -08:00
Jakub Jelinek
6422242b91
i386.c (ix86_asan_shadow_offset): Revert last change.
...
* config/i386/i386.c (ix86_asan_shadow_offset): Revert last change.
* asan/asan_mapping.h (SHADOW_OFFSET): Set to (1ULL << 44) on x86-64.
From-SVN: r196017
2013-02-13 17:06:43 +01:00
Kostya Serebryany
b4ab7d34f5
libsanitizer merge from upstream r175049
...
From-SVN: r196009
2013-02-13 10:46:01 +00:00
Jack Howarth
34dc17ed31
configure.tgt: Disable build on darwin9 and earlier.
...
2013-02-11 Jack Howarth <howarth@bromo.med.uc.edu>
* configure.tgt: Disable build on darwin9 and earlier.
From-SVN: r195958
2013-02-11 23:13:37 +00:00
Kostya Serebryany
2660d12d0a
libsanitizer merge from upstream r173241
...
From-SVN: r195404
2013-01-23 11:41:33 +00:00
Jakub Jelinek
19006c45f5
Makefile.am (AM_CXXFLAGS): Remove -Wno-c99-extensions.
...
* 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.
From-SVN: r195229
2013-01-16 08:34:49 +01:00
Wei Mi
edadb734f6
re PR sanitizer/55488 (Implement cold calls in tsan run-time)
...
2013-01-10 Wei Mi <wmi@google.com>
libsanitizer/
PR sanitizer/55488
* tsan/Makefile.am: Add tsan_rtl_amd64.S.
* tsan/Makefile.in: Regenerated.
* tsan/tsan_rtl.h: Enable HACKY_CALL.
From-SVN: r195092
2013-01-10 17:57:34 +00:00
Kostya Serebryany
e9772e16b3
libsanitizer mege from upstream r171973
...
From-SVN: r195083
2013-01-10 12:44:08 +00:00
H.J. Lu
7f7162cf57
Remove "-I" from LIBSTDCXX_RAW_CXX_LDFLAGS
...
config/
* libstdc++-raw-cxx.m4 (GCC_LIBSTDCXX_RAW_CXX_FLAGS): Remove
"-I" from LIBSTDCXX_RAW_CXX_LDFLAGS.
libjava/
* Makefile.am (lib_gnu_awt_xlib_la_LDFLAGS): Replace
LIBSTDCXX_RAW_CXX_LDLAGS with LIBSTDCXX_RAW_CXX_LDFLAGS.
* Makefile.in: Regenerated.
libsanitizer/
* 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.
From-SVN: r194989
2013-01-07 10:23:42 -08:00
H.J. Lu
b488a2c757
Restore AM_MAKEFLAGS in libsanitizer
...
* Makefile.am (AM_MAKEFLAGS): 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.
From-SVN: r194452
2012-12-12 07:41:36 -08:00
H.J. Lu
e8adb21b9a
Restore MAKEOVERRIDES in libsanitizer
...
* 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.
From-SVN: r194450
2012-12-12 06:36:27 -08:00
H.J. Lu
e1e953d9d5
Use libstdc++-raw-cxx.m4 in libjava
...
config/
* libstdc++-raw-cxx.m4 (GCC_LIBSTDCXX_RAW_CXX_FLAGS): Also
AC_SUBST LIBSTDCXX_RAW_CXX_LDFLAGS.
libjava/
* Makefile.am (lib_gnu_awt_xlib_la_CPPFLAGS): Use
$(LIBSTDCXX_RAW_CXX_CXXLAGS).
(lib_gnu_awt_xlib_la_LDFLAGS): Use $(LIBSTDCXX_RAW_CXX_LDLAGS).
* configure.ac (GCC_LIBSTDCXX_RAW_CXX_FLAGS): New.
* aclocal.m4: Regenerated.
* Makefile.in:Likewise.
* configure: Likewise.
libsanitizer/
* 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.
From-SVN: r194448
2012-12-12 05:40:15 -08:00
H.J. Lu
a62d3903d9
Remove AM_MAKEFLAGS/MAKEOVERRIDES from libsanitizer
...
* 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.
From-SVN: r194447
2012-12-12 05:36:47 -08:00
H.J. Lu
d10a2df271
Add libstdc++-raw-cxx.m4 and use it in libsanitizer
...
config/
PR sanitizer/55533
* libstdc++-raw-cxx.m4: New file.
libsanitizer/
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.
From-SVN: r194424
2012-12-11 13:32:11 -08:00
Peter Bergner
957fee09af
configure.tgt: Enable build on powerpc*-linux.
...
libsanitizer/
* configure.tgt: Enable build on powerpc*-linux.
gcc/
* config/rs6000/sysv4.h (TARGET_ASAN_SHADOW_OFFSET): Define.
* config/rs6000/rs6000.c (rs6000_asan_shadow_offset): New function.
* config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Disable if using ASAN.
From-SVN: r194273
2012-12-06 15:53:36 -06:00
Jack Howarth
3157880f53
Fix PR55599/sanitizer by disabling static libasan on darwin
...
From-SVN: r194257
2012-12-06 14:49:44 +00:00
Kostya Serebryany
695edbac5c
[libsanitizer] merge from upstream r169392
...
From-SVN: r194255
2012-12-06 14:43:11 +00:00
Kostya Serebryany
a040845458
[libsanitizer] merge from upstream r169371
...
From-SVN: r194221
2012-12-05 13:19:55 +00:00
Jakub Jelinek
41d37c5656
Fix up two ChangeLog entries.
...
From-SVN: r194132
2012-12-04 14:18:54 +01:00
Kostya Serebryany
8c4d267c6e
[libsanitizer] Fix PR55521 by switching libsanitizer from mach_override to mac interpose functions on darwin
...
From-SVN: r194120
2012-12-04 07:00:35 +00:00
H.J. Lu
a23ed040bb
Don't use -I for libstdc++-v3 header files
...
* 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.
From-SVN: r193951
2012-11-29 11:15:43 -08:00
H.J. Lu
2ed685b8fb
Use explicit -I for libstdc++-v3 header files
...
* 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.
From-SVN: r193949
2012-11-29 11:01:17 -08:00
Kostya Serebryany
4ba5ca4650
[libsanitizer] merge from upstream r168699
...
From-SVN: r193849
2012-11-27 14:01:46 +00:00
Jack Howarth
f246eadc0a
[libsanitizer] add mach_override and enable libsanitizer on darwin
...
From-SVN: r193781
2012-11-24 18:24:13 +00:00
H.J. Lu
9cb5411c17
Set gcc_version in tsan/Makefile.am
...
PR sanitizer/55450
* tsan/Makefile.am (gcc_version): New.
* tsan/Makefile.in: Regenerated.
From-SVN: r193767
2012-11-23 13:14:05 -08:00
Kostya Serebryany
e297eb600d
[libsanitizer] merge from upstream r168514
...
From-SVN: r193756
2012-11-23 14:46:25 +00:00
Kostya Serebryany
3409d40e47
[libsanitizer] a script to help merging asan/tsan from upstream
...
From-SVN: r193743
2012-11-23 04:09:17 +00:00
Jakub Jelinek
64548f3b79
Makefile.am (AM_CXXFLAGS): Remove -Wno-variadic-macros.
...
* 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.
From-SVN: r193741
2012-11-23 01:31:54 +01:00
Wei Mi
cd0be65c26
tsan: New directory.
...
libsanitizer/
* tsan: New directory. Import tsan runtime from llvm.
* configure.ac: Add 64 bits tsan build.
* Makefile.am: Likewise.
* configure: Regenerated.
* Makefile.in: Likewise.
From-SVN: r193737
2012-11-22 22:03:11 +00:00
Kostya Serebryany
5cba83a8a7
extend libsanitizer/README.gcc
...
From-SVN: r193698
2012-11-21 15:07:31 +00:00
Konstantin Serebryany
b014e124e4
Fix sanitizer build on sparc64.
...
* sanitizer_common/sanitizer_linux.cc
(SANITIZER_LINUX_USES_64BIT_SYSCALLS): Define.
(internal_mmap): Use it.
(internal_filesize): Likewise.
From-SVN: r193676
2012-11-20 12:54:49 -08:00
Tom Tromey
2b723e217a
configure.ac: Invoke AM_MAINTAINER_MODE.
...
* configure.ac: Invoke AM_MAINTAINER_MODE.
* aclocal.m4, configure, Makefile.in, asan/Makefile.in,
interception/Makefile.in, sanitizer_common/Makefile.in: Rebuild.
From-SVN: r193561
2012-11-16 15:19:15 +00:00
H.J. Lu
d1caed1484
Define/use hardware pointer type for stack unwind
...
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.
From-SVN: r193557
2012-11-16 04:02:29 -08:00
Dodji Seketeli
f3754998dd
Enable building of libsanitizer on sparc linux
...
libsanitizer/ChangeLog:
* configure.tgt: Enable sparc linux.
From-SVN: r193552
2012-11-16 09:11:03 +01:00
H.J. Lu
f64bcb29f5
Properly set MULTISUBDIR and gcc_version
...
* 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.
From-SVN: r193534
2012-11-15 08:00:47 -08:00
H.J. Lu
2a6346c406
Add support for multilib run-time libraries
...
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.
From-SVN: r193516
2012-11-14 16:03:37 -08:00
H.J. Lu
4a56a7be3d
Check __x86_64__ instead of __WORDSIZE
...
PR other/55292
Backport from upstream revision 167883
* sanitizer_common/sanitizer_linux.cc (internal_mmap): Check
__x86_64__ instead of __WORDSIZE.
(internal_filesize): Likwise.
From-SVN: r193500
2012-11-14 05:45:56 -08:00
H.J. Lu
4053ca2c6f
Don't set AC_CONFIG_AUX_DIR
...
* configure.ac (AC_CONFIG_AUX_DIR): Removed.
* Makefile.in: Regenerated.
* configure: Likewise.
From-SVN: r193499
2012-11-14 04:21:28 -08:00
H.J. Lu
9d10e4f5fd
Rename libsanitizer/ChangeLog.asan to libsanitizer/ChangeLog
...
From-SVN: r193498
2012-11-14 03:41:10 -08:00
H.J. Lu
a2479b3dd0
Update configure.ac for GCC tree and remove unused files
...
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.
From-SVN: r193491
2012-11-13 16:02:12 -08:00
Richard Henderson
93bf539055
Move libsanitizer configure logic to subdirectory
...
From-SVN: r193487
2012-11-13 14:19:44 -08:00
David S. Miller
d2860e7236
Get sparc building again after ASAN merge.
...
libsanitizer/
* asan/asan_linux.cc (GetPcSpBp): Add sparc support.
From-SVN: r193468
2012-11-12 22:53:23 -08:00
Wei Mi
f35db108b9
Import the asan runtime library into GCC tree
...
This patch imports the runtime library in the GCC tree, ensures that
-lasan is passed to the linker when -faddress-sanitizer is used and
sets up the build system accordingly.
ChangeLog:
* configure.ac: Add libsanitizer to target_libraries.
* Makefile.def: Ditto.
* configure: Regenerate.
* Makefile.in: Regenerate.
* libsanitizer: New directory for asan runtime. Contains an empty
tsan directory.
gcc/ChangeLog:
* gcc.c (LINK_COMMAND_SPEC): Add -laddress-sanitizer to link
command if -faddress-sanitizer is on.
libsanitizer:
Initial checkin: migrate asan runtime from llvm.
From-SVN: r193441
2012-11-12 16:53:47 +01:00