This is an automated email from the git hooks/post-receive script.
unknown user pushed a change to branch master in repository gcc.
from a4d9837ee4b aarch64: Avoid false dependencies for SVE unary operations new b13dacdfb31 testsuite: Rename test to avoid typo in its name [PR95862] new 1ee3d1ef105 libsanitizer: add hwasan. new 8eb12742e8a libsanitizer: Hwasan reporting check for dladdr failing new edb07cb95af libsanitizer: Tie the hwasan library into our build system new 8a769f816f8 libsanitizer: Only build libhwasan when targeting AArch64 new 170e618ef55 libsanitizer: Add option to bootstrap using HWASAN new 3bd87832077 libsanitizer: options: Add hwasan flags and argument parsing new 0854b584bdc libsanitizer: mid-end: Introduce stack variable handling f [...] new 93a73251486 libsanitizer: Add hwasan pass and associated gimple changes new a47850552a0 libsanitizer: Add tests new b85fb3187e4 libsanitizer: Add recently added commit to LOCAL_PATCHES
The 11 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: config/bootstrap-hwasan.mk | 12 + configure | 2 +- configure.ac | 2 +- gcc/asan.c | 1034 +++++++++++++++++++- gcc/asan.h | 45 +- gcc/builtin-types.def | 3 + gcc/builtins.def | 1 + gcc/cfgexpand.c | 167 +++- gcc/common.opt | 5 +- gcc/config/aarch64/aarch64.c | 12 + gcc/config/gnu-user.h | 8 +- gcc/cppbuiltin.c | 3 + gcc/doc/install.texi | 5 + gcc/doc/invoke.texi | 83 +- gcc/doc/tm.texi | 66 ++ gcc/doc/tm.texi.in | 16 + gcc/explow.c | 10 +- gcc/explow.h | 2 +- gcc/flag-types.h | 3 + gcc/gcc.c | 25 + gcc/gimple-fold.c | 46 + gcc/gimple-fold.h | 15 + gcc/gimple-pretty-print.c | 1 + gcc/gimplify.c | 9 +- gcc/internal-fn.c | 105 ++ gcc/internal-fn.def | 7 + gcc/opts.c | 98 +- gcc/params.opt | 24 + gcc/sanitizer.def | 61 ++ gcc/sanopt.c | 21 +- gcc/target.def | 80 ++ gcc/targhooks.c | 115 +++ gcc/targhooks.h | 9 + gcc/testsuite/c-c++-common/hwasan/aligned-alloc.c | 16 + .../c-c++-common/hwasan/alloca-array-accessible.c | 33 + .../c-c++-common/hwasan/alloca-base-init.c | 66 ++ .../hwasan/alloca-gets-different-tag.c | 65 ++ .../c-c++-common/hwasan/alloca-outside-caught.c | 25 + gcc/testsuite/c-c++-common/hwasan/arguments-1.c | 3 + gcc/testsuite/c-c++-common/hwasan/arguments-2.c | 3 + gcc/testsuite/c-c++-common/hwasan/arguments-3.c | 3 + gcc/testsuite/c-c++-common/hwasan/arguments.c | 3 + .../{asan/pr63316.c => hwasan/asan-pr63316.c} | 2 + gcc/testsuite/c-c++-common/hwasan/asan-pr70541.c | 36 + .../hwasan/asan-pr78106.c} | 6 +- .../{asan/pr79944.c => hwasan/asan-pr79944.c} | 1 + .../asan-rlimit-mmap-test-1.c} | 4 +- gcc/testsuite/c-c++-common/hwasan/bitfield-1.c | 31 + gcc/testsuite/c-c++-common/hwasan/bitfield-2.c | 30 + .../c-c++-common/hwasan/builtin-special-handling.c | 31 + .../c-c++-common/hwasan/check-interface.c | 26 + .../c-c++-common/hwasan/halt_on_error-1.c | 24 + .../hwasan/handles-poly_int-marked-vars.c | 37 + gcc/testsuite/c-c++-common/hwasan/heap-overflow.c | 29 + .../hwasan/hwasan-poison-optimisation.c | 29 + .../hwasan/hwasan-thread-access-parent.c | 51 + .../hwasan/hwasan-thread-basic-failure.c | 48 + .../hwasan/hwasan-thread-clears-stack.c | 56 ++ .../c-c++-common/hwasan/hwasan-thread-success.c | 35 + .../c-c++-common/hwasan/kernel-defaults.c | 37 + .../c-c++-common/hwasan/large-aligned-0.c | 33 + .../c-c++-common/hwasan/large-aligned-1.c | 14 + .../hwasan/large-aligned-untagging-0.c | 75 ++ .../hwasan/large-aligned-untagging-1.c | 15 + .../hwasan/large-aligned-untagging-2.c | 15 + .../hwasan/large-aligned-untagging-3.c | 15 + .../hwasan/large-aligned-untagging-4.c | 16 + .../hwasan/large-aligned-untagging-5.c | 16 + .../hwasan/large-aligned-untagging-6.c | 16 + .../hwasan/large-aligned-untagging-7.c | 16 + .../c-c++-common/hwasan/macro-definition.c | 11 + .../c-c++-common/hwasan/no-sanitize-attribute.c | 12 + .../hwasan/param-instrument-mem-intrinsics.c | 10 + .../hwasan/param-instrument-reads-and-writes.c | 7 + .../c-c++-common/hwasan/param-instrument-reads.c | 21 + .../c-c++-common/hwasan/param-instrument-writes.c | 7 + .../c-c++-common/hwasan/random-frame-tag.c | 7 + .../c-c++-common/hwasan/sanity-check-pure-c.c | 25 + .../c-c++-common/hwasan/setjmp-longjmp-0.c | 54 + .../c-c++-common/hwasan/setjmp-longjmp-1.c | 19 + .../c-c++-common/hwasan/stack-tagging-basic-0.c | 37 + .../c-c++-common/hwasan/stack-tagging-basic-1.c | 18 + .../c-c++-common/hwasan/stack-tagging-disable.c | 33 + .../c-c++-common/hwasan/unprotected-allocas-0.c | 46 + .../c-c++-common/hwasan/unprotected-allocas-1.c | 16 + gcc/testsuite/c-c++-common/hwasan/use-after-free.c | 28 + .../c-c++-common/hwasan/vararray-outside-caught.c | 22 + .../hwasan/vararray-stack-restore-correct.c | 43 + .../hwasan/very-large-objects.c} | 26 +- .../c-c++-common/ubsan/sanitize-recover-7.c | 2 +- .../g++.dg/{asan/asan.exp => hwasan/hwasan.exp} | 12 +- gcc/testsuite/g++.dg/hwasan/rvo-handled.C | 46 + ...tih-overflow-5.c => builtin-arith-overflow-5.c} | 0 .../gcc.dg/{asan/asan.exp => hwasan/hwasan.exp} | 12 +- gcc/testsuite/gcc.dg/hwasan/nested-functions-0.c | 53 + gcc/testsuite/gcc.dg/hwasan/nested-functions-1.c | 27 + gcc/testsuite/gcc.dg/hwasan/nested-functions-2.c | 28 + gcc/testsuite/lib/asan-dg.exp | 31 +- gcc/testsuite/lib/hwasan-dg.exp | 150 +++ gcc/toplev.c | 12 + libiberty/configure | 1 + libiberty/configure.ac | 1 + libsanitizer/LOCAL_PATCHES | 1 + libsanitizer/MERGE | 2 +- libsanitizer/Makefile.am | 6 +- libsanitizer/Makefile.in | 9 +- libsanitizer/README.gcc | 1 + libsanitizer/asan/Makefile.in | 1 + libsanitizer/configure | 43 +- libsanitizer/configure.ac | 21 + libsanitizer/configure.tgt | 1 + libsanitizer/{lsan => hwasan}/Makefile.am | 65 +- libsanitizer/{ubsan => hwasan}/Makefile.in | 169 +++- libsanitizer/hwasan/hwasan.cpp | 522 ++++++++++ libsanitizer/hwasan/hwasan.h | 165 ++++ libsanitizer/hwasan/hwasan_allocator.cpp | 408 ++++++++ libsanitizer/hwasan/hwasan_allocator.h | 107 ++ libsanitizer/hwasan/hwasan_checks.h | 124 +++ libsanitizer/hwasan/hwasan_dynamic_shadow.cpp | 126 +++ libsanitizer/hwasan/hwasan_dynamic_shadow.h | 27 + libsanitizer/hwasan/hwasan_exceptions.cpp | 67 ++ libsanitizer/hwasan/hwasan_flags.h | 29 + libsanitizer/hwasan/hwasan_flags.inc | 74 ++ libsanitizer/hwasan/hwasan_globals.cpp | 91 ++ libsanitizer/hwasan/hwasan_globals.h | 49 + libsanitizer/hwasan/hwasan_interceptors.cpp | 349 +++++++ .../hwasan_interceptors_vfork.S} | 8 +- libsanitizer/hwasan/hwasan_interface_internal.h | 227 +++++ libsanitizer/hwasan/hwasan_linux.cpp | 455 +++++++++ libsanitizer/hwasan/hwasan_malloc_bisect.h | 50 + libsanitizer/hwasan/hwasan_mapping.h | 66 ++ libsanitizer/hwasan/hwasan_memintrinsics.cpp | 44 + libsanitizer/hwasan/hwasan_new_delete.cpp | 81 ++ libsanitizer/hwasan/hwasan_poisoning.cpp | 52 + .../hwasan_poisoning.h} | 20 +- libsanitizer/hwasan/hwasan_report.cpp | 652 ++++++++++++ libsanitizer/hwasan/hwasan_report.h | 35 + libsanitizer/hwasan/hwasan_setjmp.S | 100 ++ libsanitizer/hwasan/hwasan_tag_mismatch_aarch64.S | 152 +++ libsanitizer/hwasan/hwasan_thread.cpp | 133 +++ libsanitizer/hwasan/hwasan_thread.h | 98 ++ libsanitizer/hwasan/hwasan_thread_list.cpp | 15 + libsanitizer/hwasan/hwasan_thread_list.h | 215 ++++ libsanitizer/hwasan/hwasan_type_test.cpp | 25 + libsanitizer/{lsan => hwasan}/libtool-version | 2 +- libsanitizer/interception/Makefile.in | 1 + libsanitizer/libbacktrace/Makefile.in | 1 + libsanitizer/libsanitizer.spec.in | 2 + libsanitizer/lsan/Makefile.in | 1 + libsanitizer/merge.sh | 1 + libsanitizer/sanitizer_common/Makefile.in | 1 + libsanitizer/tsan/Makefile.in | 1 + libsanitizer/ubsan/Makefile.in | 1 + lto-plugin/Makefile.am | 4 +- lto-plugin/Makefile.in | 4 +- 155 files changed, 8540 insertions(+), 237 deletions(-) create mode 100644 config/bootstrap-hwasan.mk create mode 100644 gcc/testsuite/c-c++-common/hwasan/aligned-alloc.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/alloca-array-accessible.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/alloca-base-init.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/alloca-gets-different-tag.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/alloca-outside-caught.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/arguments-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/arguments-2.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/arguments-3.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/arguments.c copy gcc/testsuite/c-c++-common/{asan/pr63316.c => hwasan/asan-pr63316.c} (87%) create mode 100644 gcc/testsuite/c-c++-common/hwasan/asan-pr70541.c copy gcc/testsuite/{gcc.dg/asan/pr78106.c => c-c++-common/hwasan/asan-pr78106.c} (68%) copy gcc/testsuite/c-c++-common/{asan/pr79944.c => hwasan/asan-pr79944.c} (88%) copy gcc/testsuite/c-c++-common/{asan/rlimit-mmap-test-1.c => hwasan/asan-rlimit-m [...] create mode 100644 gcc/testsuite/c-c++-common/hwasan/bitfield-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/bitfield-2.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/builtin-special-handling.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/check-interface.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/halt_on_error-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/handles-poly_int-marked-vars.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/heap-overflow.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/hwasan-poison-optimisation.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/hwasan-thread-access-parent.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/hwasan-thread-basic-failure.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/hwasan-thread-clears-stack.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/hwasan-thread-success.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/kernel-defaults.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-0.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-0.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-2.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-3.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-4.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-5.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-6.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/large-aligned-untagging-7.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/macro-definition.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/no-sanitize-attribute.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/param-instrument-mem-intrinsics.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/param-instrument-reads-and-writes.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/param-instrument-reads.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/param-instrument-writes.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/random-frame-tag.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/sanity-check-pure-c.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/setjmp-longjmp-0.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/setjmp-longjmp-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/stack-tagging-basic-0.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/stack-tagging-basic-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/stack-tagging-disable.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/unprotected-allocas-0.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/unprotected-allocas-1.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/use-after-free.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/vararray-outside-caught.c create mode 100644 gcc/testsuite/c-c++-common/hwasan/vararray-stack-restore-correct.c copy gcc/testsuite/{gcc.c-torture/compile/20031023-1.c => c-c++-common/hwasan/very [...] copy gcc/testsuite/g++.dg/{asan/asan.exp => hwasan/hwasan.exp} (80%) create mode 100644 gcc/testsuite/g++.dg/hwasan/rvo-handled.C rename gcc/testsuite/gcc.dg/{builtin-artih-overflow-5.c => builtin-arith-overflow- [...] copy gcc/testsuite/gcc.dg/{asan/asan.exp => hwasan/hwasan.exp} (81%) create mode 100644 gcc/testsuite/gcc.dg/hwasan/nested-functions-0.c create mode 100644 gcc/testsuite/gcc.dg/hwasan/nested-functions-1.c create mode 100644 gcc/testsuite/gcc.dg/hwasan/nested-functions-2.c create mode 100644 gcc/testsuite/lib/hwasan-dg.exp copy libsanitizer/{lsan => hwasan}/Makefile.am (60%) copy libsanitizer/{ubsan => hwasan}/Makefile.in (78%) create mode 100644 libsanitizer/hwasan/hwasan.cpp create mode 100644 libsanitizer/hwasan/hwasan.h create mode 100644 libsanitizer/hwasan/hwasan_allocator.cpp create mode 100644 libsanitizer/hwasan/hwasan_allocator.h create mode 100644 libsanitizer/hwasan/hwasan_checks.h create mode 100644 libsanitizer/hwasan/hwasan_dynamic_shadow.cpp create mode 100644 libsanitizer/hwasan/hwasan_dynamic_shadow.h create mode 100644 libsanitizer/hwasan/hwasan_exceptions.cpp create mode 100644 libsanitizer/hwasan/hwasan_flags.h create mode 100644 libsanitizer/hwasan/hwasan_flags.inc create mode 100644 libsanitizer/hwasan/hwasan_globals.cpp create mode 100644 libsanitizer/hwasan/hwasan_globals.h create mode 100644 libsanitizer/hwasan/hwasan_interceptors.cpp copy libsanitizer/{asan/asan_interceptors_vfork.S => hwasan/hwasan_interceptors_vf [...] create mode 100644 libsanitizer/hwasan/hwasan_interface_internal.h create mode 100644 libsanitizer/hwasan/hwasan_linux.cpp create mode 100644 libsanitizer/hwasan/hwasan_malloc_bisect.h create mode 100644 libsanitizer/hwasan/hwasan_mapping.h create mode 100644 libsanitizer/hwasan/hwasan_memintrinsics.cpp create mode 100644 libsanitizer/hwasan/hwasan_new_delete.cpp create mode 100644 libsanitizer/hwasan/hwasan_poisoning.cpp copy libsanitizer/{sanitizer_common/sanitizer_allocator_checks.cpp => hwasan/hwasa [...] create mode 100644 libsanitizer/hwasan/hwasan_report.cpp create mode 100644 libsanitizer/hwasan/hwasan_report.h create mode 100644 libsanitizer/hwasan/hwasan_setjmp.S create mode 100644 libsanitizer/hwasan/hwasan_tag_mismatch_aarch64.S create mode 100644 libsanitizer/hwasan/hwasan_thread.cpp create mode 100644 libsanitizer/hwasan/hwasan_thread.h create mode 100644 libsanitizer/hwasan/hwasan_thread_list.cpp create mode 100644 libsanitizer/hwasan/hwasan_thread_list.h create mode 100644 libsanitizer/hwasan/hwasan_type_test.cpp copy libsanitizer/{lsan => hwasan}/libtool-version (71%)