Hi. I've just done merge from trunk for libsanitizer.
I bootstrapped the patch set on x86_64-linux-gnu and run asan/ubsan/tsan tests on x86_64, ppc64le (power8) and aarch64. Plus I run ubsan and asan boostrap on ppc64le-linux-gnu and abidiff is fine comparing the current trunk with the merged libsanitizer. I'll install the patches if there are no objections. Martin Martin Liska (5): Libsanitizer: merge from trunk with merge.sh. Update Makefile.am. Reapply all revisions mentioned in LOCAL_PATCHES. Set print_summary for UBSAN. Update scanned patterns in a test-case. .../c-c++-common/ubsan/ptr-overflow-2.c | 10 +- libsanitizer/BlocksRuntime/Block.h | 59 + libsanitizer/BlocksRuntime/Block_private.h | 179 ++ libsanitizer/MERGE | 2 +- libsanitizer/asan/asan_allocator.cpp | 2 +- libsanitizer/asan/asan_debugging.cpp | 8 +- libsanitizer/asan/asan_descriptions.h | 2 +- libsanitizer/asan/asan_errors.cpp | 5 +- libsanitizer/asan/asan_errors.h | 3 +- libsanitizer/asan/asan_flags.inc | 13 +- libsanitizer/asan/asan_globals.cpp | 8 +- libsanitizer/asan/asan_globals_win.cpp | 8 +- libsanitizer/asan/asan_interceptors.cpp | 121 +- libsanitizer/asan/asan_interceptors.h | 12 + .../asan/asan_interceptors_memintrinsics.cpp | 2 +- libsanitizer/asan/asan_mac.cpp | 2 +- libsanitizer/asan/asan_malloc_linux.cpp | 2 +- libsanitizer/asan/asan_malloc_win.cpp | 11 +- libsanitizer/asan/asan_new_delete.cpp | 2 +- libsanitizer/asan/asan_poisoning.cpp | 2 +- libsanitizer/asan/asan_report.cpp | 10 +- libsanitizer/asan/asan_rtems.cpp | 4 +- libsanitizer/asan/asan_rtl.cpp | 6 +- libsanitizer/asan/asan_scariness_score.h | 2 +- libsanitizer/asan/asan_shadow_setup.cpp | 3 +- libsanitizer/asan/asan_stats.cpp | 2 +- libsanitizer/asan/asan_suppressions.cpp | 2 +- libsanitizer/asan/asan_thread.cpp | 5 +- libsanitizer/asan/asan_win.cpp | 10 +- libsanitizer/asan/asan_win_dll_thunk.cpp | 8 +- .../asan/asan_win_dynamic_runtime_thunk.cpp | 12 +- .../include/sanitizer/dfsan_interface.h | 2 +- .../include/sanitizer/tsan_interface_atomic.h | 8 +- .../include/sanitizer/ubsan_interface.h | 32 + libsanitizer/interception/interception.h | 4 +- .../interception/interception_win.cpp | 8 +- libsanitizer/lsan/lsan.cpp | 4 +- libsanitizer/lsan/lsan_common.cpp | 16 +- libsanitizer/lsan/lsan_common.h | 5 +- libsanitizer/lsan/lsan_common_linux.cpp | 12 +- libsanitizer/lsan/lsan_common_mac.cpp | 6 +- libsanitizer/lsan/lsan_interceptors.cpp | 55 + libsanitizer/lsan/lsan_mac.cpp | 2 +- .../sanitizer_allocator_checks.h | 2 +- .../sanitizer_allocator_report.cpp | 9 +- libsanitizer/sanitizer_common/sanitizer_asm.h | 4 +- .../sanitizer_common/sanitizer_atomic_msvc.h | 63 +- .../sanitizer_common/sanitizer_common.cpp | 2 +- .../sanitizer_common/sanitizer_common.h | 25 +- .../sanitizer_common_interceptors.inc | 118 +- .../sanitizer_common_interface.inc | 1 + .../sanitizer_coverage_fuchsia.cpp | 6 +- .../sanitizer_coverage_libcdep_new.cpp | 4 +- .../sanitizer_coverage_win_sections.cpp | 12 +- .../sanitizer_common/sanitizer_file.cpp | 2 +- .../sanitizer_flag_parser.cpp | 3 +- .../sanitizer_common/sanitizer_flag_parser.h | 4 +- .../sanitizer_common/sanitizer_flags.cpp | 4 +- .../sanitizer_common/sanitizer_fuchsia.cpp | 2 +- .../sanitizer_common/sanitizer_getauxval.h | 30 +- .../sanitizer_glibc_version.h | 26 + .../sanitizer_interceptors_ioctl_netbsd.inc | 2 +- .../sanitizer_internal_defs.h | 75 +- .../sanitizer_common/sanitizer_libc.cpp | 11 +- .../sanitizer_common/sanitizer_linux.cpp | 39 +- .../sanitizer_linux_libcdep.cpp | 7 +- .../sanitizer_common/sanitizer_mac.cpp | 124 +- .../sanitizer_platform_interceptors.h | 24 +- .../sanitizer_platform_limits_freebsd.h | 1090 ++++----- .../sanitizer_platform_limits_posix.cpp | 15 +- .../sanitizer_platform_limits_posix.h | 2168 +++++++++-------- .../sanitizer_platform_limits_solaris.h | 5 +- .../sanitizer_common/sanitizer_posix.cpp | 2 + .../sanitizer_common/sanitizer_posix.h | 2 +- .../sanitizer_posix_libcdep.cpp | 26 +- .../sanitizer_common/sanitizer_printf.cpp | 6 +- .../sanitizer_common/sanitizer_procmaps.h | 2 +- .../sanitizer_procmaps_mac.cpp | 25 +- .../sanitizer_stacktrace_libcdep.cpp | 5 +- .../sanitizer_stoptheworld_linux_libcdep.cpp | 5 +- .../sanitizer_common/sanitizer_suppressions.h | 2 +- .../sanitizer_symbolizer_internal.h | 4 +- .../sanitizer_symbolizer_libcdep.cpp | 7 +- .../sanitizer_symbolizer_mac.cpp | 4 +- .../sanitizer_symbolizer_posix_libcdep.cpp | 82 +- .../sanitizer_symbolizer_report.cpp | 20 +- .../sanitizer_termination.cpp | 2 +- .../sanitizer_unwind_linux_libcdep.cpp | 68 +- .../sanitizer_common/sanitizer_vector.h | 6 +- .../sanitizer_common/sanitizer_win.cpp | 12 +- .../sanitizer_common/sanitizer_win_defs.h | 12 + .../sanitizer_win_dll_thunk.cpp | 8 +- .../sanitizer_win_weak_interception.cpp | 9 +- libsanitizer/tsan/Makefile.am | 2 +- libsanitizer/tsan/Makefile.in | 6 +- libsanitizer/tsan/tsan_dispatch_defs.h | 14 +- libsanitizer/tsan/tsan_external.cpp | 2 +- libsanitizer/tsan/tsan_fd.cpp | 3 +- ....cpp => tsan_interceptors_libdispatch.cpp} | 3 +- libsanitizer/tsan/tsan_interceptors_mac.cpp | 42 +- .../tsan/tsan_interceptors_mach_vm.cpp | 52 + ...eptors.cpp => tsan_interceptors_posix.cpp} | 45 +- libsanitizer/tsan/tsan_interface.cpp | 2 +- libsanitizer/tsan/tsan_interface.h | 13 +- libsanitizer/tsan/tsan_interface_ann.cpp | 4 +- libsanitizer/tsan/tsan_interface_atomic.cpp | 2 +- libsanitizer/tsan/tsan_interface_inl.h | 10 +- libsanitizer/tsan/tsan_interface_java.cpp | 2 +- libsanitizer/tsan/tsan_interface_java.h | 2 +- libsanitizer/tsan/tsan_md5.cpp | 2 +- libsanitizer/tsan/tsan_mman.h | 5 +- libsanitizer/tsan/tsan_new_delete.cpp | 2 +- libsanitizer/tsan/tsan_platform.h | 2 + libsanitizer/tsan/tsan_report.cpp | 2 +- libsanitizer/tsan/tsan_rtl.cpp | 19 +- libsanitizer/tsan/tsan_rtl.h | 5 +- libsanitizer/tsan/tsan_rtl_report.cpp | 5 +- libsanitizer/tsan/tsan_suppressions.cpp | 2 +- libsanitizer/ubsan/ubsan_checks.inc | 5 + libsanitizer/ubsan/ubsan_diag.cpp | 2 +- libsanitizer/ubsan/ubsan_handlers.cpp | 23 +- .../ubsan/ubsan_signals_standalone.cpp | 5 +- 122 files changed, 2972 insertions(+), 2168 deletions(-) create mode 100644 libsanitizer/BlocksRuntime/Block.h create mode 100644 libsanitizer/BlocksRuntime/Block_private.h create mode 100644 libsanitizer/include/sanitizer/ubsan_interface.h create mode 100644 libsanitizer/sanitizer_common/sanitizer_glibc_version.h rename libsanitizer/tsan/{tsan_libdispatch.cpp => tsan_interceptors_libdispatch.cpp} (99%) create mode 100644 libsanitizer/tsan/tsan_interceptors_mach_vm.cpp rename libsanitizer/tsan/{tsan_interceptors.cpp => tsan_interceptors_posix.cpp} (98%) -- 2.23.0