The patch set aims to update libsanitizer from upstream. The motivation is that
RISC-V is changing the shadow offset for AddressSanitizer, and I also plan to
submit another patch set to add dynamic shadow offset support for GCC.

This is my first time updating it, so I used my laptop and an AArch64 server
from cfram to run the regression tests. I tested on x86_64/Linux (Ubuntu 22.04)
and AArch64/Linux (Rocky 9.4), both with --with-build-config=bootstrap-asan and
performed a standard 3-stage build. No new regressions were introduced.

NOTE: I tried to run regression tests with
--with-build-config=bootstrap-asan, but I received warnings from
LeakSanitizer due to the pretty printer, which make the test results
unusable...


Kito Cheng (4):
  libsanitizer: merge from upstream (61a6439f35b6de28)
  libsanitizer: Apply local patches
  libsanitizer: Improve FrameIsInternal
  libsanitizer: update test

 gcc/testsuite/c-c++-common/ubsan/builtin-1.c  |    4 +-
 libsanitizer/MERGE                            |    2 +-
 libsanitizer/asan/Makefile.am                 |    1 -
 libsanitizer/asan/Makefile.in                 |    5 +-
 libsanitizer/asan/asan_allocator.cpp          |   10 +-
 libsanitizer/asan/asan_allocator.h            |   36 +-
 libsanitizer/asan/asan_descriptions.cpp       |   52 +-
 libsanitizer/asan/asan_descriptions.h         |    2 -
 libsanitizer/asan/asan_errors.cpp             |   20 +-
 libsanitizer/asan/asan_errors.h               |   19 +
 libsanitizer/asan/asan_flags.cpp              |   96 +-
 libsanitizer/asan/asan_fuchsia.cpp            |    7 +-
 libsanitizer/asan/asan_globals.cpp            |  259 +-
 libsanitizer/asan/asan_globals_win.cpp        |   12 +-
 libsanitizer/asan/asan_interceptors.cpp       |  139 +-
 libsanitizer/asan/asan_interceptors.h         |    8 -
 libsanitizer/asan/asan_internal.h             |    4 +-
 libsanitizer/asan/asan_linux.cpp              |   29 +-
 libsanitizer/asan/asan_lock.h                 |    0
 libsanitizer/asan/asan_mac.cpp                |   12 +-
 libsanitizer/asan/asan_malloc_linux.cpp       |   16 +-
 libsanitizer/asan/asan_malloc_mac.cpp         |    5 +-
 libsanitizer/asan/asan_malloc_win.cpp         |   97 +-
 libsanitizer/asan/asan_malloc_win_thunk.cpp   |  229 ++
 libsanitizer/asan/asan_mapping.h              |    7 +-
 libsanitizer/asan/asan_new_delete.cpp         |    9 -
 libsanitizer/asan/asan_poisoning.cpp          |  184 +-
 libsanitizer/asan/asan_posix.cpp              |   47 +-
 libsanitizer/asan/asan_preinit.cpp            |   10 +-
 libsanitizer/asan/asan_premap_shadow.cpp      |    3 +-
 libsanitizer/asan/asan_report.cpp             |   43 +-
 libsanitizer/asan/asan_report.h               |    3 +
 libsanitizer/asan/asan_rtl.cpp                |   65 +-
 libsanitizer/asan/asan_rtl_x86_64.S           |   10 +
 libsanitizer/asan/asan_suppressions.cpp       |   12 +-
 libsanitizer/asan/asan_thread.cpp             |   40 +-
 libsanitizer/asan/asan_thread.h               |   11 +-
 libsanitizer/asan/asan_win.cpp                |   12 +-
 .../asan/asan_win_common_runtime_thunk.cpp    |  112 +
 .../asan/asan_win_common_runtime_thunk.h      |   38 +
 libsanitizer/asan/asan_win_dll_thunk.cpp      |  165 --
 .../asan/asan_win_dynamic_runtime_thunk.cpp   |  104 +-
 .../asan/asan_win_static_runtime_thunk.cpp    |  113 +
 .../asan/asan_win_weak_interception.cpp       |   22 -
 libsanitizer/builtins/assembly.h              |    5 +-
 libsanitizer/hwasan/hwasan.cpp                |    8 +-
 libsanitizer/hwasan/hwasan.h                  |   10 +-
 .../hwasan/hwasan_allocation_functions.cpp    |    8 +-
 libsanitizer/hwasan/hwasan_allocator.cpp      |    7 +-
 libsanitizer/hwasan/hwasan_checks.h           |    1 -
 libsanitizer/hwasan/hwasan_dynamic_shadow.cpp |   17 +-
 libsanitizer/hwasan/hwasan_flags.inc          |    7 +
 libsanitizer/hwasan/hwasan_interceptors.cpp   |    7 +-
 .../hwasan/hwasan_interface_internal.h        |    3 +
 libsanitizer/hwasan/hwasan_linux.cpp          |  108 +-
 libsanitizer/hwasan/hwasan_preinit.cpp        |   10 +-
 libsanitizer/hwasan/hwasan_report.cpp         |  161 +-
 libsanitizer/hwasan/hwasan_thread.cpp         |    8 +-
 libsanitizer/hwasan/hwasan_thread_list.cpp    |    9 +-
 libsanitizer/hwasan/hwasan_thread_list.h      |    8 +-
 .../include/sanitizer/allocator_interface.h   |   15 +-
 .../include/sanitizer/common_interface_defs.h |   39 +-
 .../include/sanitizer/hwasan_interface.h      |    4 +
 .../include/sanitizer/linux_syscall_hooks.h   |   16 +-
 .../include/sanitizer/memprof_interface.h     |    6 +
 .../include/sanitizer/nsan_interface.h        |   75 +
 .../include/sanitizer/rtsan_interface.h       |   75 +
 .../include/sanitizer/ubsan_interface.h       |    2 +
 libsanitizer/interception/interception.h      |   35 +-
 .../interception/interception_linux.h         |   16 +-
 .../interception/interception_type_test.cpp   |   31 +-
 .../interception/interception_win.cpp         |  237 +-
 libsanitizer/lsan/lsan.cpp                    |    3 +-
 libsanitizer/lsan/lsan.h                      |    1 +
 libsanitizer/lsan/lsan_allocator.cpp          |    2 +-
 libsanitizer/lsan/lsan_common.cpp             |  355 ++-
 libsanitizer/lsan/lsan_common.h               |    5 +
 libsanitizer/lsan/lsan_common_linux.cpp       |    2 +-
 libsanitizer/lsan/lsan_flags.inc              |    7 +
 libsanitizer/lsan/lsan_fuchsia.cpp            |    1 +
 libsanitizer/lsan/lsan_interceptors.cpp       |   12 +-
 libsanitizer/lsan/lsan_posix.cpp              |   45 +-
 libsanitizer/lsan/lsan_preinit.cpp            |    8 +-
 libsanitizer/lsan/lsan_thread.cpp             |   13 +-
 libsanitizer/sanitizer_common/Makefile.am     |    6 +-
 libsanitizer/sanitizer_common/Makefile.in     |   20 +-
 .../sanitizer_common/sancov_flags.cpp         |    6 +-
 .../sanitizer_common/sanitizer_allocator.cpp  |    7 +-
 .../sanitizer_allocator_dlsym.h               |   13 +-
 .../sanitizer_allocator_interface.h           |    2 +
 .../sanitizer_allocator_primary32.h           |    2 +-
 .../sanitizer_allocator_primary64.h           |   13 +-
 .../sanitizer_common/sanitizer_atomic.h       |   14 +-
 .../sanitizer_common/sanitizer_atomic_clang.h |   85 +-
 .../sanitizer_atomic_clang_mips.h             |  117 -
 .../sanitizer_atomic_clang_other.h            |   85 -
 .../sanitizer_atomic_clang_x86.h              |  113 -
 .../sanitizer_common/sanitizer_atomic_msvc.h  |    8 +-
 .../sanitizer_common/sanitizer_bitvector.h    |    8 +-
 .../sanitizer_chained_origin_depot.cpp        |    6 +-
 .../sanitizer_chained_origin_depot.h          |    4 +-
 .../sanitizer_common/sanitizer_common.cpp     |   15 +-
 .../sanitizer_common/sanitizer_common.h       |   61 +-
 .../sanitizer_common_interceptors.inc         |  457 ++--
 .../sanitizer_common_interface.inc            |    9 +
 .../sanitizer_common_libcdep.cpp              |   34 +-
 .../sanitizer_common_nolibc.cpp               |    7 +-
 .../sanitizer_common_syscalls.inc             |   68 +-
 .../sanitizer_coverage_fuchsia.cpp            |    2 +-
 .../sanitizer_coverage_libcdep_new.cpp        |    3 +-
 .../sanitizer_coverage_win_dll_thunk.cpp      |   20 -
 ... sanitizer_coverage_win_runtime_thunk.cpp} |   21 +-
 ...nitizer_coverage_win_weak_interception.cpp |   23 -
 .../sanitizer_common/sanitizer_dense_map.h    |   70 +-
 .../sanitizer_common/sanitizer_errno.cpp      |    1 +
 .../sanitizer_common/sanitizer_errno_codes.h  |    1 +
 .../sanitizer_common/sanitizer_file.cpp       |    4 +-
 .../sanitizer_common/sanitizer_flags.inc      |    7 +
 .../sanitizer_common/sanitizer_flat_map.h     |    4 +
 .../sanitizer_common/sanitizer_freebsd.h      |  137 --
 .../sanitizer_common/sanitizer_fuchsia.cpp    |  107 +-
 .../sanitizer_common/sanitizer_hash.h         |    2 +-
 .../sanitizer_interface_internal.h            |   10 +
 .../sanitizer_internal_defs.h                 |   45 +-
 .../sanitizer_common/sanitizer_libignore.cpp  |   32 +-
 .../sanitizer_common/sanitizer_libignore.h    |   35 +-
 .../sanitizer_common/sanitizer_linux.cpp      | 2137 ++++++++++-------
 .../sanitizer_common/sanitizer_linux.h        |  122 +-
 .../sanitizer_linux_libcdep.cpp               |  730 +++---
 .../sanitizer_common/sanitizer_linux_s390.cpp |  164 +-
 .../sanitizer_common/sanitizer_mac.cpp        |   46 +-
 .../sanitizer_common/sanitizer_mallinfo.h     |    4 +
 .../sanitizer_common/sanitizer_mutex.cpp      |    6 +-
 .../sanitizer_placement_new.h                 |    4 +-
 .../sanitizer_common/sanitizer_platform.h     |   17 +-
 .../sanitizer_platform_interceptors.h         |   54 +-
 .../sanitizer_platform_limits_freebsd.cpp     |    2 +
 .../sanitizer_platform_limits_freebsd.h       |   24 +-
 .../sanitizer_platform_limits_openbsd.cpp     |    0
 .../sanitizer_platform_limits_openbsd.h       |    0
 .../sanitizer_platform_limits_posix.cpp       |   57 +-
 .../sanitizer_platform_limits_posix.h         |   32 +-
 .../sanitizer_common/sanitizer_posix.cpp      |   22 +-
 .../sanitizer_common/sanitizer_posix.h        |   32 +-
 .../sanitizer_posix_libcdep.cpp               |  133 +-
 .../sanitizer_common/sanitizer_printf.cpp     |    2 +-
 .../sanitizer_procmaps_bsd.cpp                |   47 +-
 .../sanitizer_procmaps_common.cpp             |    2 +-
 .../sanitizer_procmaps_mac.cpp                |    4 +-
 .../sanitizer_procmaps_solaris.cpp            |    4 +
 .../sanitizer_common/sanitizer_ptrauth.h      |   46 +-
 .../sanitizer_redefine_builtins.h             |    8 +-
 .../sanitizer_stack_store.cpp                 |    9 +-
 .../sanitizer_common/sanitizer_stackdepot.cpp |    8 +-
 .../sanitizer_common/sanitizer_stackdepot.h   |    4 +-
 .../sanitizer_stackdepotbase.h                |   31 +-
 .../sanitizer_stacktrace_libcdep.cpp          |   20 +-
 .../sanitizer_stacktrace_printer.cpp          |   45 +-
 .../sanitizer_stacktrace_printer.h            |   48 +-
 .../sanitizer_stacktrace_sparc.cpp            |   11 +-
 .../sanitizer_stoptheworld_linux_libcdep.cpp  |   19 +-
 .../sanitizer_stoptheworld_netbsd_libcdep.cpp |    4 +-
 .../sanitizer_suppressions.cpp                |    7 +-
 .../sanitizer_common/sanitizer_symbolizer.h   |   30 +-
 .../sanitizer_symbolizer_libcdep.cpp          |    7 +
 .../sanitizer_symbolizer_mac.cpp              |    4 +-
 .../sanitizer_symbolizer_markup.cpp           |  234 +-
 .../sanitizer_symbolizer_markup.h             |   79 +
 ...> sanitizer_symbolizer_markup_constants.h} |   19 +-
 .../sanitizer_symbolizer_markup_fuchsia.cpp   |   85 +
 .../sanitizer_symbolizer_posix_libcdep.cpp    |   34 +-
 .../sanitizer_symbolizer_report.cpp           |   85 +-
 .../sanitizer_symbolizer_report_fuchsia.cpp   |   33 +
 .../sanitizer_symbolizer_win.cpp              |   13 +-
 .../sanitizer_thread_arg_retval.cpp           |   23 +-
 .../sanitizer_thread_arg_retval.h             |    1 +
 .../sanitizer_thread_history.cpp              |   72 +
 .../sanitizer_thread_history.h                |   24 +
 .../sanitizer_thread_registry.cpp             |   51 +-
 .../sanitizer_thread_registry.h               |   11 +-
 .../sanitizer_tls_get_addr.cpp                |   81 +-
 .../sanitizer_common/sanitizer_tls_get_addr.h |    4 -
 .../sanitizer_unwind_fuchsia.cpp              |   66 +
 .../sanitizer_common/sanitizer_unwind_win.cpp |    7 +
 .../sanitizer_common/sanitizer_win.cpp        |  107 +-
 .../sanitizer_win_dll_thunk.cpp               |  101 -
 .../sanitizer_win_dll_thunk.h                 |  181 --
 .../sanitizer_win_dynamic_runtime_thunk.cpp   |   26 -
 .../sanitizer_win_immortalize.h               |   71 +
 .../sanitizer_win_interception.cpp            |  156 ++
 .../sanitizer_win_interception.h              |   32 +
 .../sanitizer_win_thunk_interception.cpp      |  110 +
 .../sanitizer_win_thunk_interception.h        |   88 +
 .../sanitizer_win_weak_interception.cpp       |   94 -
 .../sanitizer_win_weak_interception.h         |   32 -
 libsanitizer/tsan/tsan_defs.h                 |    2 +-
 libsanitizer/tsan/tsan_dispatch_defs.h        |    7 -
 libsanitizer/tsan/tsan_interceptors_mac.cpp   |    8 +
 libsanitizer/tsan/tsan_interceptors_posix.cpp |  187 +-
 libsanitizer/tsan/tsan_interface_ann.cpp      |    2 +-
 libsanitizer/tsan/tsan_mman.cpp               |   31 +-
 libsanitizer/tsan/tsan_mman.h                 |    4 +-
 libsanitizer/tsan/tsan_platform.h             |   42 +-
 libsanitizer/tsan/tsan_platform_linux.cpp     |  171 +-
 libsanitizer/tsan/tsan_platform_mac.cpp       |    9 +-
 libsanitizer/tsan/tsan_platform_posix.cpp     |   43 +-
 libsanitizer/tsan/tsan_preinit.cpp            |   10 +-
 libsanitizer/tsan/tsan_report.cpp             |   26 +-
 libsanitizer/tsan/tsan_rtl.cpp                |   24 +-
 libsanitizer/tsan/tsan_rtl.h                  |    8 +-
 libsanitizer/tsan/tsan_rtl_aarch64.S          |    7 +
 libsanitizer/tsan/tsan_rtl_access.cpp         |   22 +-
 libsanitizer/tsan/tsan_rtl_mutex.cpp          |    2 +-
 libsanitizer/tsan/tsan_rtl_thread.cpp         |   20 +-
 libsanitizer/tsan/tsan_suppressions.cpp       |    2 +-
 libsanitizer/tsan/tsan_vector_clock.h         |    2 +-
 libsanitizer/ubsan/ubsan_diag.cpp             |    6 +-
 libsanitizer/ubsan/ubsan_diag.h               |   20 -
 libsanitizer/ubsan/ubsan_diag_standalone.cpp  |    2 +-
 libsanitizer/ubsan/ubsan_handlers.cpp         |   38 +-
 libsanitizer/ubsan/ubsan_handlers.h           |    2 +
 libsanitizer/ubsan/ubsan_init.cpp             |    2 +-
 .../ubsan/ubsan_init_standalone_preinit.cpp   |    4 +-
 .../ubsan/ubsan_signals_standalone.cpp        |    5 +
 .../ubsan/ubsan_type_hash_itanium.cpp         |    2 +-
 libsanitizer/ubsan/ubsan_value.cpp            |   17 +-
 libsanitizer/ubsan/ubsan_value.h              |   33 +-
 libsanitizer/ubsan/ubsan_win_dll_thunk.cpp    |   20 -
 ..._thunk.cpp => ubsan_win_runtime_thunk.cpp} |   11 +-
 .../ubsan/ubsan_win_weak_interception.cpp     |   23 -
 230 files changed, 7205 insertions(+), 4615 deletions(-)
 delete mode 100644 libsanitizer/asan/asan_lock.h
 create mode 100644 libsanitizer/asan/asan_malloc_win_thunk.cpp
 create mode 100644 libsanitizer/asan/asan_win_common_runtime_thunk.cpp
 create mode 100644 libsanitizer/asan/asan_win_common_runtime_thunk.h
 delete mode 100644 libsanitizer/asan/asan_win_dll_thunk.cpp
 create mode 100644 libsanitizer/asan/asan_win_static_runtime_thunk.cpp
 delete mode 100644 libsanitizer/asan/asan_win_weak_interception.cpp
 create mode 100644 libsanitizer/include/sanitizer/nsan_interface.h
 create mode 100644 libsanitizer/include/sanitizer/rtsan_interface.h
 delete mode 100644 libsanitizer/sanitizer_common/sanitizer_atomic_clang_mips.h
 delete mode 100644 libsanitizer/sanitizer_common/sanitizer_atomic_clang_other.h
 delete mode 100644 libsanitizer/sanitizer_common/sanitizer_atomic_clang_x86.h
 delete mode 100644 
libsanitizer/sanitizer_common/sanitizer_coverage_win_dll_thunk.cpp
 rename 
libsanitizer/sanitizer_common/{sanitizer_coverage_win_dynamic_runtime_thunk.cpp 
=> sanitizer_coverage_win_runtime_thunk.cpp} (59%)
 delete mode 100644 
libsanitizer/sanitizer_common/sanitizer_coverage_win_weak_interception.cpp
 delete mode 100644 libsanitizer/sanitizer_common/sanitizer_freebsd.h
 delete mode 100644 
libsanitizer/sanitizer_common/sanitizer_platform_limits_openbsd.cpp
 delete mode 100644 
libsanitizer/sanitizer_common/sanitizer_platform_limits_openbsd.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_symbolizer_markup.h
 rename libsanitizer/sanitizer_common/{sanitizer_symbolizer_fuchsia.h => 
sanitizer_symbolizer_markup_constants.h} (69%)
 create mode 100644 
libsanitizer/sanitizer_common/sanitizer_symbolizer_markup_fuchsia.cpp
 create mode 100644 
libsanitizer/sanitizer_common/sanitizer_symbolizer_report_fuchsia.cpp
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_thread_history.cpp
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_thread_history.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_unwind_fuchsia.cpp
 delete mode 100644 libsanitizer/sanitizer_common/sanitizer_win_dll_thunk.cpp
 delete mode 100644 libsanitizer/sanitizer_common/sanitizer_win_dll_thunk.h
 delete mode 100644 
libsanitizer/sanitizer_common/sanitizer_win_dynamic_runtime_thunk.cpp
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_win_immortalize.h
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_win_interception.cpp
 create mode 100644 libsanitizer/sanitizer_common/sanitizer_win_interception.h
 create mode 100644 
libsanitizer/sanitizer_common/sanitizer_win_thunk_interception.cpp
 create mode 100644 
libsanitizer/sanitizer_common/sanitizer_win_thunk_interception.h
 delete mode 100644 
libsanitizer/sanitizer_common/sanitizer_win_weak_interception.cpp
 delete mode 100644 
libsanitizer/sanitizer_common/sanitizer_win_weak_interception.h
 delete mode 100644 libsanitizer/ubsan/ubsan_win_dll_thunk.cpp
 rename libsanitizer/ubsan/{ubsan_win_dynamic_runtime_thunk.cpp => 
ubsan_win_runtime_thunk.cpp} (62%)
 delete mode 100644 libsanitizer/ubsan/ubsan_win_weak_interception.cpp

-- 
2.34.1

Reply via email to