1. 31 Oct, 2018 1 commit
  2. 05 Feb, 2018 1 commit
    • Cherry-pick libsanitizer pointer-pair tristate option. · 4c4f3c3f
      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
      Martin Liska committed
  3. 05 Dec, 2017 1 commit
    • invoke.texi: Document the options. · 05abad4c
      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
      Martin Liska committed
  4. 19 Oct, 2017 1 commit
    • ubsan.c (ubsan_expand_null_ifn): Use _v1 suffixed type mismatch builtins... · 5d3805fc
      	* 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
      Jakub Jelinek committed
  5. 08 Nov, 2016 1 commit
    • All source files: Merge from upstream 285547. · 10189819
      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
      Maxim Ostapenko committed
  6. 23 Nov, 2015 1 commit
    • libsanitizer merge from upstream r253555. · 55aea9f5
      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
      Max Ostapenko committed
  7. 21 Oct, 2015 1 commit
    • libsanitizer merge from upstream r250806. · 696d846a
      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
      Max Ostapenko committed
  8. 13 Nov, 2014 1 commit
  9. 23 Sep, 2014 1 commit
  10. 22 May, 2014 1 commit
  11. 05 Dec, 2013 1 commit
  12. 04 Nov, 2013 1 commit
  13. 21 Feb, 2013 1 commit
  14. 13 Feb, 2013 1 commit
  15. 10 Jan, 2013 1 commit
  16. 05 Dec, 2012 1 commit
  17. 23 Nov, 2012 1 commit
  18. 12 Nov, 2012 1 commit
    • Import the asan runtime library into GCC tree · f35db108
      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
      Wei Mi committed