svn commit: r343175 - in vendor/compiler-rt/dist: . cmake cmake/Modules include/sanitizer include/xray lib/asan lib/asan/scripts lib/asan/tests lib/builtins lib/builtins/Darwin-excludes lib/builtin...

Dimitry Andric dim at FreeBSD.org
Sat Jan 19 10:05:14 UTC 2019


Author: dim
Date: Sat Jan 19 10:05:08 2019
New Revision: 343175
URL: https://svnweb.freebsd.org/changeset/base/343175

Log:
  Vendor import of compiler-rt trunk r351319 (just before the release_80
  branch point):
  https://llvm.org/svn/llvm-project/compiler-rt/trunk@351319

Added:
  vendor/compiler-rt/dist/lib/builtins/ppc/fixunstfti.c
  vendor/compiler-rt/dist/lib/builtins/ppc/floattitf.c
  vendor/compiler-rt/dist/lib/esan/esan_sideline_bsd.cpp
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerBuiltins.h
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerBuiltinsMsvc.h
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerExtFunctionsWindows.cpp
  vendor/compiler-rt/dist/lib/hwasan/hwasan_checks.h
  vendor/compiler-rt/dist/lib/hwasan/hwasan_memintrinsics.cc
  vendor/compiler-rt/dist/lib/hwasan/hwasan_thread_list.cc
  vendor/compiler-rt/dist/lib/hwasan/hwasan_thread_list.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_local_address_space_view.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_netbsd.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_freebsd.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_freebsd.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_ring_buffer.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_type_traits.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_type_traits.h
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_ring_buffer_test.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_type_traits_test.cc
  vendor/compiler-rt/dist/lib/xray/tests/unit/fdr_controller_test.cc
  vendor/compiler-rt/dist/lib/xray/tests/unit/fdr_log_writer_test.cc
  vendor/compiler-rt/dist/lib/xray/tests/unit/test_helpers.cc
  vendor/compiler-rt/dist/lib/xray/tests/unit/test_helpers.h
  vendor/compiler-rt/dist/lib/xray/xray_fdr_controller.h
  vendor/compiler-rt/dist/lib/xray/xray_fdr_log_writer.h
  vendor/compiler-rt/dist/test/.clang-format
  vendor/compiler-rt/dist/test/asan/TestCases/Darwin/init_for_dlopen.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/new_delete_mismatch_global.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/new_delete_mismatch_stack.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/odr-vtable.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/odr_indicators.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/no-fd.cc
  vendor/compiler-rt/dist/test/builtins/Unit/compiler_rt_logb_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/compiler_rt_logbf_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/compiler_rt_logbl_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ppc/fixunstfti_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ppc/fixunstfti_test.h
  vendor/compiler-rt/dist/test/builtins/Unit/ppc/floattitf_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ppc/floattitf_test.h
  vendor/compiler-rt/dist/test/fuzzer/AlignmentAssumptionTest.cpp
  vendor/compiler-rt/dist/test/fuzzer/ImplicitIntegerSignChangeTest.cpp
  vendor/compiler-rt/dist/test/fuzzer/ImplicitSignedIntegerTruncationOrSignChangeTest.cpp
  vendor/compiler-rt/dist/test/fuzzer/ImplicitSignedIntegerTruncationTest.cpp
  vendor/compiler-rt/dist/test/fuzzer/ImplicitUnsignedIntegerTruncationTest.cpp
  vendor/compiler-rt/dist/test/fuzzer/ReadBinaryTest.cpp
  vendor/compiler-rt/dist/test/fuzzer/dead-stripping.test
  vendor/compiler-rt/dist/test/fuzzer/fuzzer-alignment-assumption.test
  vendor/compiler-rt/dist/test/fuzzer/fuzzer-implicit-integer-sign-change.test
  vendor/compiler-rt/dist/test/fuzzer/fuzzer-implicit-signed-integer-truncation-or-sign-change.test
  vendor/compiler-rt/dist/test/fuzzer/fuzzer-implicit-signed-integer-truncation.test
  vendor/compiler-rt/dist/test/fuzzer/fuzzer-implicit-unsigned-integer-truncation.test
  vendor/compiler-rt/dist/test/fuzzer/read-binary.test
  vendor/compiler-rt/dist/test/fuzzer/windows-opt-ref.test
  vendor/compiler-rt/dist/test/hwasan/TestCases/Posix/system-allocator-fallback.cc
  vendor/compiler-rt/dist/test/hwasan/TestCases/abort-message-android.cc
  vendor/compiler-rt/dist/test/hwasan/TestCases/cfi.cc
  vendor/compiler-rt/dist/test/hwasan/TestCases/deep-recursion.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/double-free.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/heap-buffer-overflow.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/hwasan-print-shadow.cc
  vendor/compiler-rt/dist/test/hwasan/TestCases/longjmp.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/malloc-test.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/malloc_fill.cc
  vendor/compiler-rt/dist/test/hwasan/TestCases/many-threads-uaf.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/mem-intrinsics-zero-size.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/mem-intrinsics.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/new-test.cc
  vendor/compiler-rt/dist/test/hwasan/TestCases/print-memory-usage-android.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/print-memory-usage.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/pthread_exit.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/random-align-right.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/realloc-after-free.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/realloc-test.cc
  vendor/compiler-rt/dist/test/hwasan/TestCases/rich-stack.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/sanitizer_malloc.cc
  vendor/compiler-rt/dist/test/hwasan/TestCases/sizes.cpp
  vendor/compiler-rt/dist/test/hwasan/TestCases/stack-history-length.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/stack-oob.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/stack-uar.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/tail-magic.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/thread-uaf.c
  vendor/compiler-rt/dist/test/hwasan/TestCases/uaf_with_rb_distance.c
  vendor/compiler-rt/dist/test/lsan/TestCases/Linux/fork_and_leak.cc
  vendor/compiler-rt/dist/test/msan/Linux/reexec_unlimited_stack.cc
  vendor/compiler-rt/dist/test/msan/vararg.cc
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-gcov-__gcov_flush-multiple.c
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-gcov-__gcov_flush-multiple.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-gcov-execlp.c
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-gcov-execlp.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-gcov-execvp.c
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-gcov-execvp.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-gcov-one-line-function.c
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-gcov-one-line-function.c.gcov
  vendor/compiler-rt/dist/test/profile/Posix/instrprof-gcov-execlp.test
  vendor/compiler-rt/dist/test/profile/Posix/instrprof-gcov-execvp.test
  vendor/compiler-rt/dist/test/profile/instrprof-gcov-__gcov_flush-multiple.test
  vendor/compiler-rt/dist/test/profile/instrprof-gcov-one-line-function.test
  vendor/compiler-rt/dist/test/profile/instrprof-merging.cpp
  vendor/compiler-rt/dist/test/safestack/pthread-stack-size.c
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/FreeBSD/
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/FreeBSD/capsicum.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/FreeBSD/fdevname.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/FreeBSD/lit.local.cfg
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/mallopt.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/asysctl.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/cdb.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/fparseln.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/funopen2.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/getvfsstat.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/md2.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/md4.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/md5.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/mi_vector_hash.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/rmd160.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/sha1.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/sha2.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/statvfs1.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/strtoi.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/sysctlgetmibinfo.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/arc4random.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/feof_fileno_ferror.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/fgetc_ungetc_getc.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/fputc_putc_putchar.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/fseek.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/fts.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/funopen.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/getc_unlocked.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/getfsent.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/getmntinfo.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/getusershell.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/nl_langinfo.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/popen.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/putc_putchar_unlocked.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/regex.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/setvbuf.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/sl_add.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/strtonum.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/sysctl.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/vis.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/hard_rss_limit_mb_test.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/symbolize_pc_inline.cc
  vendor/compiler-rt/dist/test/scudo/dealloc-race.c
  vendor/compiler-rt/dist/test/tsan/Darwin/gcd-sync-block-copy.mm
  vendor/compiler-rt/dist/test/tsan/Darwin/objc-synchronize-cycle-tagged.mm
  vendor/compiler-rt/dist/test/tsan/Darwin/objc-synchronize-cycle.mm
  vendor/compiler-rt/dist/test/tsan/Darwin/objc-synchronize-nested-recursive.mm
  vendor/compiler-rt/dist/test/tsan/Linux/thread_timedjoin.c
  vendor/compiler-rt/dist/test/tsan/Linux/thread_tryjoin.c
  vendor/compiler-rt/dist/test/tsan/cxa_guard_acquire.cc
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/integer-arithmetic-value-change.c
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/integer-conversion.c
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/integer-sign-change-blacklist.c
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/integer-sign-change-summary.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/integer-sign-change.c
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/signed-integer-truncation-blacklist.c
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/signed-integer-truncation-or-sign-change-blacklist.c
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/signed-integer-truncation-or-sign-change-summary.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/signed-integer-truncation-summary.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/signed-integer-truncation.c
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/unsigned-integer-truncation-blacklist.c
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/unsigned-integer-truncation-summary.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/unsigned-integer-truncation.c
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/alignment-assumption-attribute-align_value-on-lvalue.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/alignment-assumption-attribute-align_value-on-paramvar.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/alignment-assumption-attribute-alloc_align-on-function-variable.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/alignment-assumption-attribute-alloc_align-on-function.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/alignment-assumption-attribute-assume_aligned-on-function-two-params.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/alignment-assumption-attribute-assume_aligned-on-function.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/alignment-assumption-blacklist.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/alignment-assumption-builtin_assume_aligned-three-params-variable.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/alignment-assumption-builtin_assume_aligned-three-params.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/alignment-assumption-builtin_assume_aligned-two-params.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/alignment-assumption-openmp.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/alignment-assumption-summary.cpp
  vendor/compiler-rt/dist/test/ubsan_minimal/TestCases/alignment-assumption.c
  vendor/compiler-rt/dist/test/ubsan_minimal/TestCases/implicit-integer-sign-change.c
  vendor/compiler-rt/dist/test/ubsan_minimal/TestCases/implicit-signed-integer-truncation-or-sign-change.c
  vendor/compiler-rt/dist/test/ubsan_minimal/TestCases/implicit-signed-integer-truncation.c
  vendor/compiler-rt/dist/test/ubsan_minimal/TestCases/implicit-unsigned-integer-truncation.c
  vendor/compiler-rt/dist/test/xray/TestCases/Posix/clang-no-xray-instrument.cc
  vendor/compiler-rt/dist/test/xray/TestCases/Posix/fdr-reinit.cc
Deleted:
  vendor/compiler-rt/dist/lib/builtins/Darwin-excludes/10.4.txt
  vendor/compiler-rt/dist/lib/builtins/arm64/
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerExtFunctionsDlsymWin.cpp
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerExtFunctionsWeakAlias.cpp
  vendor/compiler-rt/dist/lib/xray/tests/unit/fdr_logging_test.cc
  vendor/compiler-rt/dist/test/fuzzer/ImplicitIntegerTruncationTest.cpp
  vendor/compiler-rt/dist/test/fuzzer/PrintUnstableStatsTest.cpp
  vendor/compiler-rt/dist/test/fuzzer/fuzzer-implicit-integer-truncation.test
  vendor/compiler-rt/dist/test/fuzzer/fuzzer-mutationstats.test
  vendor/compiler-rt/dist/test/fuzzer/handle-unstable.test
  vendor/compiler-rt/dist/test/fuzzer/print_unstable_stats.test
  vendor/compiler-rt/dist/test/hwasan/TestCases/stack-oob.cc
  vendor/compiler-rt/dist/test/hwasan/TestCases/stack-uar.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/Linux/fork_with_threads.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/hard_rss_limit_mb_test.cc
  vendor/compiler-rt/dist/test/tsan/Darwin/ignored-interceptors.mm
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/integer-truncation-blacklist.c
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/integer-truncation-summary.cpp
  vendor/compiler-rt/dist/test/ubsan_minimal/TestCases/implicit-integer-truncation.c
Modified:
  vendor/compiler-rt/dist/CMakeLists.txt
  vendor/compiler-rt/dist/LICENSE.TXT
  vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake
  vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake
  vendor/compiler-rt/dist/cmake/Modules/HandleCompilerRT.cmake
  vendor/compiler-rt/dist/cmake/Modules/SanitizerUtils.cmake
  vendor/compiler-rt/dist/cmake/base-config-ix.cmake
  vendor/compiler-rt/dist/cmake/builtin-config-ix.cmake
  vendor/compiler-rt/dist/cmake/config-ix.cmake
  vendor/compiler-rt/dist/include/sanitizer/allocator_interface.h
  vendor/compiler-rt/dist/include/sanitizer/common_interface_defs.h
  vendor/compiler-rt/dist/include/sanitizer/hwasan_interface.h
  vendor/compiler-rt/dist/include/sanitizer/netbsd_syscall_hooks.h
  vendor/compiler-rt/dist/include/xray/xray_log_interface.h
  vendor/compiler-rt/dist/lib/asan/CMakeLists.txt
  vendor/compiler-rt/dist/lib/asan/asan_allocator.h
  vendor/compiler-rt/dist/lib/asan/asan_errors.cc
  vendor/compiler-rt/dist/lib/asan/asan_errors.h
  vendor/compiler-rt/dist/lib/asan/asan_flags.inc
  vendor/compiler-rt/dist/lib/asan/asan_fuchsia.cc
  vendor/compiler-rt/dist/lib/asan/asan_globals.cc
  vendor/compiler-rt/dist/lib/asan/asan_globals_win.cc
  vendor/compiler-rt/dist/lib/asan/asan_internal.h
  vendor/compiler-rt/dist/lib/asan/asan_linux.cc
  vendor/compiler-rt/dist/lib/asan/asan_malloc_linux.cc
  vendor/compiler-rt/dist/lib/asan/asan_malloc_mac.cc
  vendor/compiler-rt/dist/lib/asan/asan_malloc_win.cc
  vendor/compiler-rt/dist/lib/asan/asan_new_delete.cc
  vendor/compiler-rt/dist/lib/asan/asan_posix.cc
  vendor/compiler-rt/dist/lib/asan/asan_report.h
  vendor/compiler-rt/dist/lib/asan/asan_rtems.cc
  vendor/compiler-rt/dist/lib/asan/asan_rtl.cc
  vendor/compiler-rt/dist/lib/asan/asan_thread.cc
  vendor/compiler-rt/dist/lib/asan/asan_win.cc
  vendor/compiler-rt/dist/lib/asan/asan_win_dll_thunk.cc
  vendor/compiler-rt/dist/lib/asan/scripts/asan_symbolize.py
  vendor/compiler-rt/dist/lib/asan/tests/CMakeLists.txt
  vendor/compiler-rt/dist/lib/asan/tests/asan_interface_test.cc
  vendor/compiler-rt/dist/lib/asan/tests/asan_noinst_test.cc
  vendor/compiler-rt/dist/lib/asan/tests/asan_test.cc
  vendor/compiler-rt/dist/lib/builtins/CMakeLists.txt
  vendor/compiler-rt/dist/lib/builtins/arm/addsf3.S
  vendor/compiler-rt/dist/lib/builtins/arm/aeabi_cdcmp.S
  vendor/compiler-rt/dist/lib/builtins/arm/aeabi_cfcmp.S
  vendor/compiler-rt/dist/lib/builtins/clzdi2.c
  vendor/compiler-rt/dist/lib/builtins/cpu_model.c
  vendor/compiler-rt/dist/lib/builtins/ctzdi2.c
  vendor/compiler-rt/dist/lib/builtins/divdc3.c
  vendor/compiler-rt/dist/lib/builtins/divdf3.c
  vendor/compiler-rt/dist/lib/builtins/divsc3.c
  vendor/compiler-rt/dist/lib/builtins/divsf3.c
  vendor/compiler-rt/dist/lib/builtins/divtc3.c
  vendor/compiler-rt/dist/lib/builtins/emutls.c
  vendor/compiler-rt/dist/lib/builtins/fp_lib.h
  vendor/compiler-rt/dist/lib/builtins/gcc_personality_v0.c
  vendor/compiler-rt/dist/lib/builtins/int_lib.h
  vendor/compiler-rt/dist/lib/builtins/int_math.h
  vendor/compiler-rt/dist/lib/builtins/int_types.h
  vendor/compiler-rt/dist/lib/builtins/int_util.c
  vendor/compiler-rt/dist/lib/builtins/int_util.h
  vendor/compiler-rt/dist/lib/builtins/os_version_check.c
  vendor/compiler-rt/dist/lib/builtins/ppc/divtc3.c
  vendor/compiler-rt/dist/lib/cfi/CMakeLists.txt
  vendor/compiler-rt/dist/lib/cfi/cfi.cc
  vendor/compiler-rt/dist/lib/cfi/cfi_blacklist.txt
  vendor/compiler-rt/dist/lib/dfsan/dfsan.cc
  vendor/compiler-rt/dist/lib/esan/CMakeLists.txt
  vendor/compiler-rt/dist/lib/esan/esan_interceptors.cpp
  vendor/compiler-rt/dist/lib/esan/esan_shadow.h
  vendor/compiler-rt/dist/lib/esan/esan_sideline.h
  vendor/compiler-rt/dist/lib/fuzzer/CMakeLists.txt
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerCommand.h
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerCorpus.h
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerDefs.h
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerDriver.cpp
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerExtFunctionsWeak.cpp
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerFlags.def
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerIO.cpp
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerIO.h
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerIOPosix.cpp
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerIOWindows.cpp
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerInternal.h
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerLoop.cpp
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerMutate.cpp
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerMutate.h
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerOptions.h
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerTracePC.cpp
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerTracePC.h
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerUtil.h
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerUtilFuchsia.cpp
  vendor/compiler-rt/dist/lib/fuzzer/FuzzerUtilWindows.cpp
  vendor/compiler-rt/dist/lib/fuzzer/afl/afl_driver.cpp
  vendor/compiler-rt/dist/lib/fuzzer/tests/CMakeLists.txt
  vendor/compiler-rt/dist/lib/fuzzer/tests/FuzzerUnittest.cpp
  vendor/compiler-rt/dist/lib/hwasan/CMakeLists.txt
  vendor/compiler-rt/dist/lib/hwasan/hwasan.cc
  vendor/compiler-rt/dist/lib/hwasan/hwasan.h
  vendor/compiler-rt/dist/lib/hwasan/hwasan_allocator.cc
  vendor/compiler-rt/dist/lib/hwasan/hwasan_allocator.h
  vendor/compiler-rt/dist/lib/hwasan/hwasan_dynamic_shadow.cc
  vendor/compiler-rt/dist/lib/hwasan/hwasan_flags.h
  vendor/compiler-rt/dist/lib/hwasan/hwasan_flags.inc
  vendor/compiler-rt/dist/lib/hwasan/hwasan_interceptors.cc
  vendor/compiler-rt/dist/lib/hwasan/hwasan_interface_internal.h
  vendor/compiler-rt/dist/lib/hwasan/hwasan_linux.cc
  vendor/compiler-rt/dist/lib/hwasan/hwasan_mapping.h
  vendor/compiler-rt/dist/lib/hwasan/hwasan_new_delete.cc
  vendor/compiler-rt/dist/lib/hwasan/hwasan_poisoning.cc
  vendor/compiler-rt/dist/lib/hwasan/hwasan_poisoning.h
  vendor/compiler-rt/dist/lib/hwasan/hwasan_report.cc
  vendor/compiler-rt/dist/lib/hwasan/hwasan_report.h
  vendor/compiler-rt/dist/lib/hwasan/hwasan_thread.cc
  vendor/compiler-rt/dist/lib/hwasan/hwasan_thread.h
  vendor/compiler-rt/dist/lib/interception/interception.h
  vendor/compiler-rt/dist/lib/interception/interception_linux.h
  vendor/compiler-rt/dist/lib/interception/interception_win.cc
  vendor/compiler-rt/dist/lib/lsan/lsan_allocator.cc
  vendor/compiler-rt/dist/lib/lsan/lsan_allocator.h
  vendor/compiler-rt/dist/lib/lsan/lsan_common.cc
  vendor/compiler-rt/dist/lib/lsan/lsan_common_mac.cc
  vendor/compiler-rt/dist/lib/lsan/lsan_interceptors.cc
  vendor/compiler-rt/dist/lib/msan/msan.cc
  vendor/compiler-rt/dist/lib/msan/msan_allocator.cc
  vendor/compiler-rt/dist/lib/msan/msan_interceptors.cc
  vendor/compiler-rt/dist/lib/msan/msan_linux.cc
  vendor/compiler-rt/dist/lib/msan/tests/msan_test.cc
  vendor/compiler-rt/dist/lib/profile/GCDAProfiling.c
  vendor/compiler-rt/dist/lib/profile/InstrProfData.inc
  vendor/compiler-rt/dist/lib/profile/InstrProfilingPlatformLinux.c
  vendor/compiler-rt/dist/lib/profile/InstrProfilingPlatformOther.c
  vendor/compiler-rt/dist/lib/profile/InstrProfilingValue.c
  vendor/compiler-rt/dist/lib/profile/WindowsMMap.c
  vendor/compiler-rt/dist/lib/profile/WindowsMMap.h
  vendor/compiler-rt/dist/lib/safestack/CMakeLists.txt
  vendor/compiler-rt/dist/lib/safestack/safestack.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/CMakeLists.txt
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_bytemap.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_combined.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_internal.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_primary32.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_primary64.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_secondary.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_size_class_map.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_atomic_clang_x86.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interceptors.inc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_libcdep.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_fuchsia.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_win_sections.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_file.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flags.inc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_fuchsia.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_interceptors_ioctl_netbsd.inc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_internal_defs.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_libc.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_libcdep.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_malloc_mac.inc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_openbsd.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_interceptors.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_netbsd.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_posix.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_solaris.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix_libcdep.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_bsd.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_common.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_linux.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_mac.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_solaris.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_rtems.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_solaris.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stackdepot.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stackdepot.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace_libcdep.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace_printer.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace_sparc.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_fuchsia.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_syscall_generic.inc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_syscall_linux_aarch64.inc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_syscall_linux_arm.inc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_syscall_linux_x86_64.inc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_syscalls_netbsd.inc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_termination.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_thread_registry.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_thread_registry.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win_defs.h
  vendor/compiler-rt/dist/lib/sanitizer_common/scripts/gen_dynamic_list.py
  vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/CMakeLists.txt
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_allocator_test.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_common_test.cc
  vendor/compiler-rt/dist/lib/scudo/CMakeLists.txt
  vendor/compiler-rt/dist/lib/scudo/scudo_allocator.cpp
  vendor/compiler-rt/dist/lib/scudo/scudo_allocator.h
  vendor/compiler-rt/dist/lib/scudo/scudo_malloc.cpp
  vendor/compiler-rt/dist/lib/tsan/CMakeLists.txt
  vendor/compiler-rt/dist/lib/tsan/check_analyze.sh
  vendor/compiler-rt/dist/lib/tsan/go/buildgo.sh
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_debugging.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_flags.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_flags.inc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors_mac.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_libdispatch_mac.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_linux.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_mac.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_report.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_aarch64.S
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_amd64.S
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_thread.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_suppressions.cc
  vendor/compiler-rt/dist/lib/ubsan/ubsan_checks.inc
  vendor/compiler-rt/dist/lib/ubsan/ubsan_flags.inc
  vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers.cc
  vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers.h
  vendor/compiler-rt/dist/lib/ubsan/ubsan_interface.inc
  vendor/compiler-rt/dist/lib/ubsan_minimal/CMakeLists.txt
  vendor/compiler-rt/dist/lib/ubsan_minimal/ubsan_minimal_handlers.cc
  vendor/compiler-rt/dist/lib/xray/CMakeLists.txt
  vendor/compiler-rt/dist/lib/xray/tests/CMakeLists.txt
  vendor/compiler-rt/dist/lib/xray/tests/unit/CMakeLists.txt
  vendor/compiler-rt/dist/lib/xray/tests/unit/allocator_test.cc
  vendor/compiler-rt/dist/lib/xray/tests/unit/buffer_queue_test.cc
  vendor/compiler-rt/dist/lib/xray/tests/unit/function_call_trie_test.cc
  vendor/compiler-rt/dist/lib/xray/tests/unit/profile_collector_test.cc
  vendor/compiler-rt/dist/lib/xray/tests/unit/segmented_array_test.cc
  vendor/compiler-rt/dist/lib/xray/xray_allocator.h
  vendor/compiler-rt/dist/lib/xray/xray_basic_logging.cc
  vendor/compiler-rt/dist/lib/xray/xray_buffer_queue.cc
  vendor/compiler-rt/dist/lib/xray/xray_buffer_queue.h
  vendor/compiler-rt/dist/lib/xray/xray_defs.h
  vendor/compiler-rt/dist/lib/xray/xray_fdr_log_records.h
  vendor/compiler-rt/dist/lib/xray/xray_fdr_logging.cc
  vendor/compiler-rt/dist/lib/xray/xray_function_call_trie.h
  vendor/compiler-rt/dist/lib/xray/xray_init.cc
  vendor/compiler-rt/dist/lib/xray/xray_interface.cc
  vendor/compiler-rt/dist/lib/xray/xray_profile_collector.cc
  vendor/compiler-rt/dist/lib/xray/xray_profile_collector.h
  vendor/compiler-rt/dist/lib/xray/xray_profiling.cc
  vendor/compiler-rt/dist/lib/xray/xray_profiling_flags.inc
  vendor/compiler-rt/dist/lib/xray/xray_segmented_array.h
  vendor/compiler-rt/dist/lib/xray/xray_trampoline_x86_64.S
  vendor/compiler-rt/dist/lib/xray/xray_tsc.h
  vendor/compiler-rt/dist/lib/xray/xray_utils.cc
  vendor/compiler-rt/dist/lib/xray/xray_utils.h
  vendor/compiler-rt/dist/lib/xray/xray_x86_64.cc
  vendor/compiler-rt/dist/test/CMakeLists.txt
  vendor/compiler-rt/dist/test/asan/CMakeLists.txt
  vendor/compiler-rt/dist/test/asan/TestCases/Darwin/odr-lto.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Darwin/segv_read_write.c
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/asan_rt_confict_test-2.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-missing.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/local_alias.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/new_delete_mismatch.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/odr-violation.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/odr_c_test.c
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/preinit_test.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/preinstalled_signal.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/coverage-reset.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/coverage.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/dlclose-test.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/interception-in-shared-lib-test.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/mmap_limit_mb.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/stack-use-after-return.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/strndup_oob_test.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/strndup_oob_test2.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/tsd_dtor_leak.cc
  vendor/compiler-rt/dist/test/asan/TestCases/asan_and_llvm_coverage_test.cc
  vendor/compiler-rt/dist/test/asan/TestCases/atoll_strict.c
  vendor/compiler-rt/dist/test/asan/TestCases/heavy_uar_test.cc
  vendor/compiler-rt/dist/test/asan/TestCases/initialization-bug.cc
  vendor/compiler-rt/dist/test/asan/TestCases/intercept-rethrow-exception.cc
  vendor/compiler-rt/dist/test/asan/TestCases/interception_failure_test.cc
  vendor/compiler-rt/dist/test/asan/TestCases/intra-object-overflow.cc
  vendor/compiler-rt/dist/test/asan/TestCases/log-path_test.cc
  vendor/compiler-rt/dist/test/asan/TestCases/pass-object-byval.cc
  vendor/compiler-rt/dist/test/asan/TestCases/printf-2.c
  vendor/compiler-rt/dist/test/asan/TestCases/printf-3.c
  vendor/compiler-rt/dist/test/asan/TestCases/printf-4.c
  vendor/compiler-rt/dist/test/asan/TestCases/printf-5.c
  vendor/compiler-rt/dist/test/asan/TestCases/printf-m.c
  vendor/compiler-rt/dist/test/asan/TestCases/set_shadow_test.c
  vendor/compiler-rt/dist/test/asan/TestCases/strcasestr-1.c
  vendor/compiler-rt/dist/test/asan/TestCases/strcasestr-2.c
  vendor/compiler-rt/dist/test/asan/TestCases/strcasestr_strict.c
  vendor/compiler-rt/dist/test/asan/TestCases/strcat-overlap.cc
  vendor/compiler-rt/dist/test/asan/TestCases/strncasecmp_strict.c
  vendor/compiler-rt/dist/test/asan/TestCases/strtoll_strict.c
  vendor/compiler-rt/dist/test/asan/TestCases/suppressions-exec-relative-location.cc
  vendor/compiler-rt/dist/test/asan/TestCases/suppressions-function.cc
  vendor/compiler-rt/dist/test/asan/TestCases/suppressions-library.cc
  vendor/compiler-rt/dist/test/asan/TestCases/throw_catch.cc
  vendor/compiler-rt/dist/test/asan/TestCases/time_interceptor.cc
  vendor/compiler-rt/dist/test/asan/TestCases/verbose-log-path_test.cc
  vendor/compiler-rt/dist/test/asan/lit.cfg
  vendor/compiler-rt/dist/test/builtins/CMakeLists.txt
  vendor/compiler-rt/dist/test/builtins/Unit/absvti2_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/addvti3_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ashlti3_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ashrti3_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/clzti2_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/cmpti2_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ctzti2_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/divti3_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ffsti2_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/fixdfti_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/fixsfti_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/fixunsdfti_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/fixunssfti_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/fixunsxfti_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/fixxfdi_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/fixxfti_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/floattidf_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/floattisf_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/floattixf_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/floatuntidf_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/floatuntisf_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/floatuntixf_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/lit.cfg
  vendor/compiler-rt/dist/test/builtins/Unit/lit.site.cfg.in
  vendor/compiler-rt/dist/test/builtins/Unit/lshrti3_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/modti3_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/muloti4_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/multi3_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/mulvti3_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/negti2_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/negvti2_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/parityti2_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/popcountti2_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ppc/fixtfdi_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ppc/floatditf_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ppc/floatunditf_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ppc/qadd_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ppc/qdiv_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ppc/qmul_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ppc/qsub_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/subvti3_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/ucmpti2_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/udivmodti4_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/udivti3_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/umodti3_test.c
  vendor/compiler-rt/dist/test/cfi/bad-split.cpp
  vendor/compiler-rt/dist/test/cfi/cross-dso-diagnostic.cpp
  vendor/compiler-rt/dist/test/cfi/cross-dso/lit.local.cfg
  vendor/compiler-rt/dist/test/cfi/mfcall.cpp
  vendor/compiler-rt/dist/test/cfi/target_uninstrumented.cpp
  vendor/compiler-rt/dist/test/cfi/two-vcalls.cpp
  vendor/compiler-rt/dist/test/esan/TestCases/large-stack-linux.c
  vendor/compiler-rt/dist/test/esan/TestCases/workingset-early-fault.c
  vendor/compiler-rt/dist/test/esan/TestCases/workingset-memset.cpp
  vendor/compiler-rt/dist/test/esan/TestCases/workingset-midreport.cpp
  vendor/compiler-rt/dist/test/esan/TestCases/workingset-samples.cpp
  vendor/compiler-rt/dist/test/esan/TestCases/workingset-signal-posix.cpp
  vendor/compiler-rt/dist/test/esan/TestCases/workingset-simple.cpp
  vendor/compiler-rt/dist/test/esan/lit.cfg
  vendor/compiler-rt/dist/test/fuzzer/InitializeTest.cpp
  vendor/compiler-rt/dist/test/fuzzer/SymbolizeDeadlock.cpp
  vendor/compiler-rt/dist/test/fuzzer/afl-driver-extra-stats.test
  vendor/compiler-rt/dist/test/fuzzer/afl-driver-stderr.test
  vendor/compiler-rt/dist/test/fuzzer/counters.test
  vendor/compiler-rt/dist/test/fuzzer/coverage.test
  vendor/compiler-rt/dist/test/fuzzer/dso.test
  vendor/compiler-rt/dist/test/fuzzer/dump_coverage.test
  vendor/compiler-rt/dist/test/fuzzer/exit_on_src_pos.test
  vendor/compiler-rt/dist/test/fuzzer/fuzzer-oom.test
  vendor/compiler-rt/dist/test/fuzzer/gc-sections.test
  vendor/compiler-rt/dist/test/fuzzer/lit.cfg
  vendor/compiler-rt/dist/test/fuzzer/merge-control-file.test
  vendor/compiler-rt/dist/test/fuzzer/merge-posix.test
  vendor/compiler-rt/dist/test/fuzzer/merge-sigusr.test
  vendor/compiler-rt/dist/test/fuzzer/minimize_crash.test
  vendor/compiler-rt/dist/test/fuzzer/minimize_two_crashes.test
  vendor/compiler-rt/dist/test/fuzzer/null-deref-on-empty.test
  vendor/compiler-rt/dist/test/fuzzer/null-deref.test
  vendor/compiler-rt/dist/test/fuzzer/only-some-bytes.test
  vendor/compiler-rt/dist/test/fuzzer/shrink.test
  vendor/compiler-rt/dist/test/fuzzer/sigusr.test
  vendor/compiler-rt/dist/test/fuzzer/trace-malloc-threaded.test
  vendor/compiler-rt/dist/test/fuzzer/trace-malloc-unbalanced.test
  vendor/compiler-rt/dist/test/fuzzer/ulimit.test
  vendor/compiler-rt/dist/test/fuzzer/value-profile-cmp.test
  vendor/compiler-rt/dist/test/fuzzer/value-profile-cmp2.test
  vendor/compiler-rt/dist/test/fuzzer/value-profile-cmp3.test
  vendor/compiler-rt/dist/test/fuzzer/value-profile-cmp4.test
  vendor/compiler-rt/dist/test/fuzzer/value-profile-div.test
  vendor/compiler-rt/dist/test/fuzzer/value-profile-load.test
  vendor/compiler-rt/dist/test/fuzzer/value-profile-mem.test
  vendor/compiler-rt/dist/test/fuzzer/value-profile-set.test
  vendor/compiler-rt/dist/test/fuzzer/value-profile-strcmp.test
  vendor/compiler-rt/dist/test/fuzzer/value-profile-strncmp.test
  vendor/compiler-rt/dist/test/fuzzer/value-profile-switch.test
  vendor/compiler-rt/dist/test/hwasan/CMakeLists.txt
  vendor/compiler-rt/dist/test/hwasan/TestCases/use-after-free.c
  vendor/compiler-rt/dist/test/hwasan/lit.cfg
  vendor/compiler-rt/dist/test/hwasan/lit.site.cfg.in
  vendor/compiler-rt/dist/test/lit.common.cfg
  vendor/compiler-rt/dist/test/lit.common.configured.in
  vendor/compiler-rt/dist/test/lsan/TestCases/Linux/use_tls_dynamic.cc
  vendor/compiler-rt/dist/test/msan/Linux/sunrpc.cc
  vendor/compiler-rt/dist/test/msan/Linux/sunrpc_bytes.cc
  vendor/compiler-rt/dist/test/msan/Linux/sunrpc_string.cc
  vendor/compiler-rt/dist/test/msan/chained_origin_with_signals.cc
  vendor/compiler-rt/dist/test/msan/dtls_test.c
  vendor/compiler-rt/dist/test/msan/fork.cc
  vendor/compiler-rt/dist/test/msan/ioctl_custom.cc
  vendor/compiler-rt/dist/test/msan/lit.cfg
  vendor/compiler-rt/dist/test/msan/pthread_getname_np.cc
  vendor/compiler-rt/dist/test/msan/signal_stress_test.cc
  vendor/compiler-rt/dist/test/msan/strndup.cc
  vendor/compiler-rt/dist/test/msan/tls_reuse.cc
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-dlopen-dlclose-main.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-dlopen-dlclose-main_three-libs.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-gcov-exceptions.cpp.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-gcov-fork.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-gcov-multiple-bbs-single-line.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-gcov-switch1.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-gcov-switch2.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-shared-lib.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-shared-lib_called-twice.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-shared-lib_in-loop.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-shared-main-gcov-flush_no-writeout.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-after.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-before-after.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-shared-main-gcov-flush_shared-call-before.c.gcov
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-shared-main.c.gcov
  vendor/compiler-rt/dist/test/profile/Posix/instrprof-gcov-fork.test
  vendor/compiler-rt/dist/test/profile/instrprof-darwin-exports.c
  vendor/compiler-rt/dist/test/profile/instrprof-dlopen-dlclose-gcov.test
  vendor/compiler-rt/dist/test/profile/instrprof-gcov-multiple-bbs-single-line.test
  vendor/compiler-rt/dist/test/profile/instrprof-gcov-two-objects.test
  vendor/compiler-rt/dist/test/profile/instrprof-shared-gcov-flush.test
  vendor/compiler-rt/dist/test/profile/lit.cfg
  vendor/compiler-rt/dist/test/safestack/lit.cfg
  vendor/compiler-rt/dist/test/safestack/pthread-cleanup.c
  vendor/compiler-rt/dist/test/safestack/pthread.c
  vendor/compiler-rt/dist/test/sanitizer_common/CMakeLists.txt
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/allow_user_segv.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/assert.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/ill.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/signal_segv_handler.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/NetBSD/getgroupmembership.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/dedup_token_length_test.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/devname.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/devname_r.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/dump_instruction_bytes.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/fgetln.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/fgets.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/fputs_puts.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/lstat.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/readlinkat.c
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/allocator_returns_null.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/corelimit.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/get_module_and_offset_for_pc.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/malloc_hook.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/pthread_mutexattr_get.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/sanitizer_coverage_symbolize.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/strcasestr.c
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/symbolize_pc.cc
  vendor/compiler-rt/dist/test/sanitizer_common/ios_commands/iossim_run.py
  vendor/compiler-rt/dist/test/sanitizer_common/lit.common.cfg
  vendor/compiler-rt/dist/test/tsan/Darwin/ignore-noninstrumented.mm
  vendor/compiler-rt/dist/test/tsan/deadlock_detector_stress_test.cc
  vendor/compiler-rt/dist/test/tsan/dtls.c
  vendor/compiler-rt/dist/test/tsan/getline_nohang.cc
  vendor/compiler-rt/dist/test/tsan/ignore_lib5.cc
  vendor/compiler-rt/dist/test/tsan/ignored-interceptors-mmap.cc
  vendor/compiler-rt/dist/test/tsan/large_malloc_meta.cc
  vendor/compiler-rt/dist/test/tsan/mmap_large.cc
  vendor/compiler-rt/dist/test/tsan/mutex_cycle2.c
  vendor/compiler-rt/dist/test/tsan/mutex_lock_destroyed.cc
  vendor/compiler-rt/dist/test/tsan/strerror_r.cc
  vendor/compiler-rt/dist/test/tsan/sunrpc.cc
  vendor/compiler-rt/dist/test/ubsan/CMakeLists.txt
  vendor/compiler-rt/dist/test/ubsan/TestCases/ImplicitConversion/integer-truncation.c
  vendor/compiler-rt/dist/test/ubsan/TestCases/Integer/no-recover.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/enum.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/log-path_test.cc
  vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/monitor.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/index-overflow.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/Pointer/unsigned-index-expression.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/Function/function.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/PR33221.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr-corrupted-vtable-itanium.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr-non-unique-typeinfo.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr-virtual-base-construction.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr-virtual-base.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr.cpp
  vendor/compiler-rt/dist/test/ubsan/lit.common.cfg
  vendor/compiler-rt/dist/test/ubsan/lit.site.cfg.in
  vendor/compiler-rt/dist/test/xray/TestCases/Posix/argv0-log-file-name.cc
  vendor/compiler-rt/dist/test/xray/TestCases/Posix/basic-filtering.cc
  vendor/compiler-rt/dist/test/xray/TestCases/Posix/fdr-mode.cc
  vendor/compiler-rt/dist/test/xray/TestCases/Posix/fdr-single-thread.cc
  vendor/compiler-rt/dist/test/xray/TestCases/Posix/fdr-thread-order.cc
  vendor/compiler-rt/dist/test/xray/TestCases/Posix/fork_basic_logging.cc
  vendor/compiler-rt/dist/test/xray/TestCases/Posix/profiling-multi-threaded.cc
  vendor/compiler-rt/dist/test/xray/Unit/lit.site.cfg.in
  vendor/compiler-rt/dist/unittests/lit.common.unit.configured.in
  vendor/compiler-rt/dist/utils/generate_netbsd_ioctls.awk
  vendor/compiler-rt/dist/utils/generate_netbsd_syscalls.awk

Modified: vendor/compiler-rt/dist/CMakeLists.txt
==============================================================================
--- vendor/compiler-rt/dist/CMakeLists.txt	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/CMakeLists.txt	Sat Jan 19 10:05:08 2019	(r343175)
@@ -59,6 +59,9 @@ if (NOT COMPILER_RT_ASAN_SHADOW_SCALE STREQUAL "")
       -D${COMPILER_RT_ASAN_SHADOW_SCALE_DEFINITION})
 endif()
 
+set(COMPILER_RT_HWASAN_WITH_INTERCEPTORS ON CACHE BOOLEAN
+    "Enable libc interceptors in HWASan (testing mode)")
+
 set(COMPILER_RT_BAREMETAL_BUILD OFF CACHE BOOLEAN
   "Build for a bare-metal target.")
 
@@ -79,6 +82,61 @@ if (COMPILER_RT_STANDALONE_BUILD)
       or specify the PYTHON_EXECUTABLE CMake variable.")
   endif()
 
+  # Ensure that fat libraries are built correctly on Darwin
+  if(CMAKE_SYSTEM_NAME STREQUAL Darwin)
+    if(NOT CMAKE_LIBTOOL)
+      find_program(CMAKE_XCRUN
+                   NAMES
+                     xcrun)
+      if(CMAKE_XCRUN)
+        execute_process(COMMAND
+                          ${CMAKE_XCRUN} -find libtool
+                        OUTPUT_VARIABLE
+                          CMAKE_LIBTOOL
+                        OUTPUT_STRIP_TRAILING_WHITESPACE)
+      endif()
+
+      if(NOT CMAKE_LIBTOOL OR NOT EXISTS CMAKE_LIBTOOL)
+        find_program(CMAKE_LIBTOOL
+                     NAMES
+                       libtool)
+      endif()
+    endif()
+
+    get_property(languages GLOBAL PROPERTY ENABLED_LANGUAGES)
+
+    if(CMAKE_LIBTOOL)
+      set(CMAKE_LIBTOOL ${CMAKE_LIBTOOL} CACHE PATH "libtool executable")
+      message(STATUS "Found libtool - ${CMAKE_LIBTOOL}")
+
+      execute_process(COMMAND
+                        ${CMAKE_LIBTOOL} -V
+                      OUTPUT_VARIABLE
+                        LIBTOOL_V_OUTPUT
+                      OUTPUT_STRIP_TRAILING_WHITESPACE)
+      if("${LIBTOOL_V_OUTPUT}" MATCHES ".*cctools-([0-9]+).*")
+        string(REGEX REPLACE ".*cctools-([0-9]+).*" "\\1" LIBTOOL_VERSION ${LIBTOOL_V_OUTPUT})
+        if(NOT LIBTOOL_VERSION VERSION_LESS "862")
+          set(LIBTOOL_NO_WARNING_FLAG "-no_warning_for_no_symbols")
+        endif()
+      endif()
+
+      foreach(lang ${languages})
+        set(CMAKE_${lang}_CREATE_STATIC_LIBRARY "\"${CMAKE_LIBTOOL}\" -static ${LIBTOOL_NO_WARNING_FLAG} -o <TARGET> <LINK_FLAGS> <OBJECTS>")
+      endforeach()
+    endif()
+
+    # Workaround SIP :-(
+    if(DYLD_LIBRARY_PATH)
+      set(dyld_envar "DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}")
+      foreach(lang ${languages})
+        foreach(cmd ${CMAKE_${lang}_CREATE_STATIC_LIBRARY})
+          list(APPEND CMAKE_${lang}_CREATE_STATIC_LIBRARY_NEW "${dyld_envar} ${cmd}")
+        endforeach()
+      endforeach()
+    endif()
+  endif()
+
   # Define default arguments to lit.
   set(LIT_ARGS_DEFAULT "-sv")
   if (MSVC OR XCODE)
@@ -89,12 +147,12 @@ if (COMPILER_RT_STANDALONE_BUILD)
 endif()
 
 construct_compiler_rt_default_triple()
-if ("${COMPILER_RT_DEFAULT_TARGET_ABI}" MATCHES "hf$")
+if ("${COMPILER_RT_DEFAULT_TARGET_TRIPLE}" MATCHES ".*hf$")
   if (${COMPILER_RT_DEFAULT_TARGET_ARCH} MATCHES "^arm")
     set(COMPILER_RT_DEFAULT_TARGET_ARCH "armhf")
   endif()
 endif()
-if ("${COMPILER_RT_DEFAULT_TARGET_ABI}" MATCHES "^android")
+if ("${COMPILER_RT_DEFAULT_TARGET_TRIPLE}" MATCHES ".*android.*")
   set(ANDROID 1)
 endif()
 pythonize_bool(ANDROID)
@@ -142,7 +200,7 @@ set(CXXABIS none default libstdc++ libc++)
 set_property(CACHE SANITIZER_CXX_ABI PROPERTY STRINGS ;${CXXABIS})
 
 if (SANITIZER_CXX_ABI STREQUAL "default")
-  if (APPLE)
+  if (APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
     set(SANITIZER_CXX_ABI_LIBNAME "libc++")
     set(SANITIZER_CXX_ABI_SYSTEM 1)
   elseif (FUCHSIA)
@@ -310,11 +368,14 @@ append_list_if(COMPILER_RT_HAS_WD4391_FLAG /wd4391 SAN
 append_list_if(COMPILER_RT_HAS_WD4722_FLAG /wd4722 SANITIZER_COMMON_CFLAGS)
 append_list_if(COMPILER_RT_HAS_WD4800_FLAG /wd4800 SANITIZER_COMMON_CFLAGS)
 
+append_list_if(MINGW -fms-extensions SANITIZER_COMMON_CFLAGS)
+
 # Set common link flags.
 append_list_if(COMPILER_RT_HAS_NODEFAULTLIBS_FLAG -nodefaultlibs SANITIZER_COMMON_LINK_FLAGS)
 
 if (COMPILER_RT_USE_BUILTINS_LIBRARY)
   list(APPEND SANITIZER_COMMON_LINK_LIBS ${COMPILER_RT_BUILTINS_LIBRARY})
+  string(REPLACE "-Wl,-z,defs" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}")
 else()
   if (ANDROID)
     append_list_if(COMPILER_RT_HAS_GCC_LIB gcc SANITIZER_COMMON_LINK_LIBS)
@@ -325,14 +386,6 @@ endif()
 
 append_list_if(COMPILER_RT_HAS_LIBC c SANITIZER_COMMON_LINK_LIBS)
 
-if(ANDROID)
-# Put the Sanitizer shared libraries in the global group. For more details, see
-# android-changes-for-ndk-developers.md#changes-to-library-search-order
-  if (COMPILER_RT_HAS_Z_GLOBAL)
-    list(APPEND SANITIZER_COMMON_LINK_FLAGS -Wl,-z,global)
-  endif()
-endif()
-
 if("${CMAKE_SYSTEM_NAME}" STREQUAL "Fuchsia")
   list(APPEND SANITIZER_COMMON_LINK_FLAGS -Wl,-z,defs,-z,now,-z,relro)
   list(APPEND SANITIZER_COMMON_LINK_LIBS zircon)
@@ -375,15 +428,19 @@ endif()
 
 add_subdirectory(include)
 
-foreach(path IN ITEMS ${LLVM_MAIN_SRC_DIR}/projects/libcxx
-                      ${LLVM_MAIN_SRC_DIR}/runtimes/libcxx
-                      ${LLVM_MAIN_SRC_DIR}/../libcxx
-                      ${LLVM_EXTERNAL_LIBCXX_SOURCE_DIR})
-  if(IS_DIRECTORY ${path})
-    set(COMPILER_RT_LIBCXX_PATH ${path})
-    break()
-  endif()
-endforeach()
+option(COMPILER_RT_USE_LIBCXX
+  "Enable compiler-rt to use libc++ from the source tree" ON)
+if(COMPILER_RT_USE_LIBCXX)
+  foreach(path IN ITEMS ${LLVM_MAIN_SRC_DIR}/projects/libcxx
+                        ${LLVM_MAIN_SRC_DIR}/runtimes/libcxx
+                        ${LLVM_MAIN_SRC_DIR}/../libcxx
+                        ${LLVM_EXTERNAL_LIBCXX_SOURCE_DIR})
+    if(IS_DIRECTORY ${path})
+      set(COMPILER_RT_LIBCXX_PATH ${path})
+      break()
+    endif()
+  endforeach()
+endif()
 
 set(COMPILER_RT_LLD_PATH ${LLVM_MAIN_SRC_DIR}/tools/lld)
 if(EXISTS ${COMPILER_RT_LLD_PATH}/ AND LLVM_TOOL_LLD_BUILD)

Modified: vendor/compiler-rt/dist/LICENSE.TXT
==============================================================================
--- vendor/compiler-rt/dist/LICENSE.TXT	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/LICENSE.TXT	Sat Jan 19 10:05:08 2019	(r343175)
@@ -14,7 +14,7 @@ Full text of the relevant licenses is included below.
 University of Illinois/NCSA
 Open Source License
 
-Copyright (c) 2009-2018 by the contributors listed in CREDITS.TXT
+Copyright (c) 2009-2019 by the contributors listed in CREDITS.TXT
 
 All rights reserved.
 

Modified: vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake	Sat Jan 19 10:05:08 2019	(r343175)
@@ -77,7 +77,7 @@ function(add_compiler_rt_object_libraries name)
     endif()
 
     set_target_compile_flags(${libname}
-      ${CMAKE_CXX_FLAGS} ${extra_cflags_${libname}} ${target_flags})
+      ${extra_cflags_${libname}} ${target_flags})
     set_property(TARGET ${libname} APPEND PROPERTY
       COMPILE_DEFINITIONS ${LIB_DEFS})
     set_target_properties(${libname} PROPERTIES FOLDER "Compiler-RT Libraries")
@@ -357,19 +357,20 @@ set(COMPILER_RT_GTEST_CFLAGS
   -I${COMPILER_RT_GTEST_PATH}
 )
 
+# Mocking support.
+set(COMPILER_RT_GMOCK_PATH ${LLVM_MAIN_SRC_DIR}/utils/unittest/googlemock)
+set(COMPILER_RT_GMOCK_SOURCE ${COMPILER_RT_GMOCK_PATH}/src/gmock-all.cc)
+set(COMPILER_RT_GMOCK_CFLAGS
+  -DGTEST_NO_LLVM_RAW_OSTREAM=1
+  -DGTEST_HAS_RTTI=0
+  -I${COMPILER_RT_GMOCK_PATH}/include
+  -I${COMPILER_RT_GMOCK_PATH}
+)
+
 append_list_if(COMPILER_RT_DEBUG -DSANITIZER_DEBUG=1 COMPILER_RT_UNITTEST_CFLAGS)
 append_list_if(COMPILER_RT_HAS_WCOVERED_SWITCH_DEFAULT_FLAG -Wno-covered-switch-default COMPILER_RT_UNITTEST_CFLAGS)
 
 if(MSVC)
-  # clang doesn't support exceptions on Windows yet.
-  list(APPEND COMPILER_RT_UNITTEST_CFLAGS -D_HAS_EXCEPTIONS=0)
-
-  # We should teach clang to understand "#pragma intrinsic", see PR19898.
-  list(APPEND COMPILER_RT_UNITTEST_CFLAGS -Wno-undefined-inline)
-
-  # Clang doesn't support SEH on Windows yet.
-  list(APPEND COMPILER_RT_GTEST_CFLAGS -DGTEST_HAS_SEH=0)
-
   # gtest use a lot of stuff marked as deprecated on Windows.
   list(APPEND COMPILER_RT_GTEST_CFLAGS -Wno-deprecated-declarations)
 endif()
@@ -550,6 +551,9 @@ macro(add_custom_libcxx name prefix)
   set(PASSTHROUGH_VARIABLES
     CMAKE_C_COMPILER_TARGET
     CMAKE_CXX_COMPILER_TARGET
+    CMAKE_SHARED_LINKER_FLAGS
+    CMAKE_MODULE_LINKER_FLAGS
+    CMAKE_EXE_LINKER_FLAGS
     CMAKE_INSTALL_PREFIX
     CMAKE_MAKE_PROGRAM
     CMAKE_LINKER
@@ -562,14 +566,20 @@ macro(add_custom_libcxx name prefix)
     CMAKE_SYSROOT
     CMAKE_SYSTEM_NAME)
   foreach(variable ${PASSTHROUGH_VARIABLES})
-    if(${variable})
-      list(APPEND CMAKE_PASSTHROUGH_VARIABLES -D${variable}=${${variable}})
+    get_property(is_value_set CACHE ${variable} PROPERTY VALUE SET)
+    if(${is_value_set})
+      get_property(value CACHE ${variable} PROPERTY VALUE)
+      list(APPEND CMAKE_PASSTHROUGH_VARIABLES -D${variable}=${value})
     endif()
   endforeach()
 
-  string(REPLACE ";" " " FLAGS_STRING "${LIBCXX_CFLAGS}")
-  set(LIBCXX_C_FLAGS "${FLAGS_STRING}")
-  set(LIBCXX_CXX_FLAGS "${FLAGS_STRING}")
+  string(REPLACE ";" " " LIBCXX_C_FLAGS "${LIBCXX_CFLAGS}")
+  get_property(C_FLAGS CACHE CMAKE_C_FLAGS PROPERTY VALUE)
+  set(LIBCXX_C_FLAGS "${LIBCXX_C_FLAGS} ${C_FLAGS}")
+
+  string(REPLACE ";" " " LIBCXX_CXX_FLAGS "${LIBCXX_CFLAGS}")
+  get_property(CXX_FLAGS CACHE CMAKE_CXX_FLAGS PROPERTY VALUE)
+  set(LIBCXX_CXX_FLAGS "${LIBCXX_CXX_FLAGS} ${CXX_FLAGS}")
 
   ExternalProject_Add(${name}
     DEPENDS ${name}-clobber ${LIBCXX_DEPS}

Modified: vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake	Sat Jan 19 10:05:08 2019	(r343175)
@@ -58,14 +58,6 @@ macro(append_rtti_flag polarity list)
   endif()
 endmacro()
 
-macro(append_have_file_definition filename varname list)
-  check_include_file("${filename}" "${varname}")
-  if (NOT ${varname})
-    set("${varname}" 0)
-  endif()
-  list(APPEND ${list} "${varname}=${${varname}}")
-endmacro()
-
 macro(list_intersect output input1 input2)
   set(${output})
   foreach(it ${${input1}})
@@ -210,47 +202,91 @@ macro(load_llvm_config)
     find_program(LLVM_CONFIG_PATH "llvm-config"
                  DOC "Path to llvm-config binary")
     if (NOT LLVM_CONFIG_PATH)
-      message(FATAL_ERROR "llvm-config not found: specify LLVM_CONFIG_PATH")
+      message(WARNING "UNSUPPORTED COMPILER-RT CONFIGURATION DETECTED: "
+                      "llvm-config not found.\n"
+                      "Reconfigure with -DLLVM_CONFIG_PATH=path/to/llvm-config.")
     endif()
   endif()
-  execute_process(
-    COMMAND ${LLVM_CONFIG_PATH} "--obj-root" "--bindir" "--libdir" "--src-root"
-    RESULT_VARIABLE HAD_ERROR
-    OUTPUT_VARIABLE CONFIG_OUTPUT)
-  if (HAD_ERROR)
-    message(FATAL_ERROR "llvm-config failed with status ${HAD_ERROR}")
-  endif()
-  string(REGEX REPLACE "[ \t]*[\r\n]+[ \t]*" ";" CONFIG_OUTPUT ${CONFIG_OUTPUT})
-  list(GET CONFIG_OUTPUT 0 BINARY_DIR)
-  list(GET CONFIG_OUTPUT 1 TOOLS_BINARY_DIR)
-  list(GET CONFIG_OUTPUT 2 LIBRARY_DIR)
-  list(GET CONFIG_OUTPUT 3 MAIN_SRC_DIR)
+  if (LLVM_CONFIG_PATH)
+    execute_process(
+      COMMAND ${LLVM_CONFIG_PATH} "--obj-root" "--bindir" "--libdir" "--src-root" "--includedir"
+      RESULT_VARIABLE HAD_ERROR
+      OUTPUT_VARIABLE CONFIG_OUTPUT)
+    if (HAD_ERROR)
+      message(FATAL_ERROR "llvm-config failed with status ${HAD_ERROR}")
+    endif()
+    string(REGEX REPLACE "[ \t]*[\r\n]+[ \t]*" ";" CONFIG_OUTPUT ${CONFIG_OUTPUT})
+    list(GET CONFIG_OUTPUT 0 BINARY_DIR)
+    list(GET CONFIG_OUTPUT 1 TOOLS_BINARY_DIR)
+    list(GET CONFIG_OUTPUT 2 LIBRARY_DIR)
+    list(GET CONFIG_OUTPUT 3 MAIN_SRC_DIR)
+    list(GET CONFIG_OUTPUT 4 INCLUDE_DIR)
 
-  set(LLVM_BINARY_DIR ${BINARY_DIR} CACHE PATH "Path to LLVM build tree")
-  set(LLVM_TOOLS_BINARY_DIR ${TOOLS_BINARY_DIR} CACHE PATH "Path to llvm/bin")
-  set(LLVM_LIBRARY_DIR ${LIBRARY_DIR} CACHE PATH "Path to llvm/lib")
-  set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
+    set(LLVM_BINARY_DIR ${BINARY_DIR} CACHE PATH "Path to LLVM build tree")
+    set(LLVM_LIBRARY_DIR ${LIBRARY_DIR} CACHE PATH "Path to llvm/lib")
+    set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
+    set(LLVM_TOOLS_BINARY_DIR ${TOOLS_BINARY_DIR} CACHE PATH "Path to llvm/bin")
+    set(LLVM_INCLUDE_DIR ${INCLUDE_DIR} CACHE PATH "Paths to LLVM headers")
 
-  # Make use of LLVM CMake modules.
-  # --cmakedir is supported since llvm r291218 (4.0 release)
-  execute_process(
-    COMMAND ${LLVM_CONFIG_PATH} --cmakedir
-    RESULT_VARIABLE HAD_ERROR
-    OUTPUT_VARIABLE CONFIG_OUTPUT)
-  if(NOT HAD_ERROR)
-    string(STRIP "${CONFIG_OUTPUT}" LLVM_CMAKE_PATH_FROM_LLVM_CONFIG)
-    file(TO_CMAKE_PATH ${LLVM_CMAKE_PATH_FROM_LLVM_CONFIG} LLVM_CMAKE_PATH)
-  else()
-    file(TO_CMAKE_PATH ${LLVM_BINARY_DIR} LLVM_BINARY_DIR_CMAKE_STYLE)
-    set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR_CMAKE_STYLE}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm")
-  endif()
+    # Detect if we have the LLVMXRay and TestingSupport library installed and
+    # available from llvm-config.
+    execute_process(
+      COMMAND ${LLVM_CONFIG_PATH} "--ldflags" "--libs" "xray"
+      RESULT_VARIABLE HAD_ERROR
+      OUTPUT_VARIABLE CONFIG_OUTPUT)
+    if (HAD_ERROR)
+      message(WARNING "llvm-config finding xray failed with status ${HAD_ERROR}")
+      set(COMPILER_RT_HAS_LLVMXRAY FALSE)
+    else()
+      string(REGEX REPLACE "[ \t]*[\r\n]+[ \t]*" ";" CONFIG_OUTPUT ${CONFIG_OUTPUT})
+      list(GET CONFIG_OUTPUT 0 LDFLAGS)
+      list(GET CONFIG_OUTPUT 1 LIBLIST)
+      set(LLVM_XRAY_LDFLAGS ${LDFLAGS} CACHE STRING "Linker flags for LLVMXRay library")
+      set(LLVM_XRAY_LIBLIST ${LIBLIST} CACHE STRING "Library list for LLVMXRay")
+      set(COMPILER_RT_HAS_LLVMXRAY TRUE)
+    endif()
 
-  list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")
-  # Get some LLVM variables from LLVMConfig.
-  include("${LLVM_CMAKE_PATH}/LLVMConfig.cmake")
+    set(COMPILER_RT_HAS_LLVMTESTINGSUPPORT FALSE)
+    execute_process(
+      COMMAND ${LLVM_CONFIG_PATH} "--ldflags" "--libs" "testingsupport"
+      RESULT_VARIABLE HAD_ERROR
+      OUTPUT_VARIABLE CONFIG_OUTPUT)
+    if (HAD_ERROR)
+      message(WARNING "llvm-config finding testingsupport failed with status ${HAD_ERROR}")
+    else()
+      string(REGEX REPLACE "[ \t]*[\r\n]+[ \t]*" ";" CONFIG_OUTPUT ${CONFIG_OUTPUT})
+      list(GET CONFIG_OUTPUT 0 LDFLAGS)
+      list(GET CONFIG_OUTPUT 1 LIBLIST)
+      if (LIBLIST STREQUAL "")
+        message(WARNING "testingsupport library not installed, some tests will be skipped")
+      else()
+        set(LLVM_TESTINGSUPPORT_LDFLAGS ${LDFLAGS} CACHE STRING "Linker flags for LLVMTestingSupport library")
+        set(LLVM_TESTINGSUPPORT_LIBLIST ${LIBLIST} CACHE STRING "Library list for LLVMTestingSupport")
+        set(COMPILER_RT_HAS_LLVMTESTINGSUPPORT TRUE)
+      endif()
+    endif()
 
-  set(LLVM_LIBRARY_OUTPUT_INTDIR
-    ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
+    # Make use of LLVM CMake modules.
+    # --cmakedir is supported since llvm r291218 (4.0 release)
+    execute_process(
+      COMMAND ${LLVM_CONFIG_PATH} --cmakedir
+      RESULT_VARIABLE HAD_ERROR
+      OUTPUT_VARIABLE CONFIG_OUTPUT)
+    if(NOT HAD_ERROR)
+      string(STRIP "${CONFIG_OUTPUT}" LLVM_CMAKE_PATH_FROM_LLVM_CONFIG)
+      file(TO_CMAKE_PATH ${LLVM_CMAKE_PATH_FROM_LLVM_CONFIG} LLVM_CMAKE_PATH)
+    else()
+      file(TO_CMAKE_PATH ${LLVM_BINARY_DIR} LLVM_BINARY_DIR_CMAKE_STYLE)
+      set(LLVM_CMAKE_PATH "${LLVM_BINARY_DIR_CMAKE_STYLE}/lib${LLVM_LIBDIR_SUFFIX}/cmake/llvm")
+    endif()
+
+    list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")
+    # Get some LLVM variables from LLVMConfig.
+    include("${LLVM_CMAKE_PATH}/LLVMConfig.cmake")
+
+    set(LLVM_LIBRARY_OUTPUT_INTDIR
+      ${LLVM_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
+  endif()
 endmacro()
 
 macro(construct_compiler_rt_default_triple)
@@ -272,11 +308,6 @@ macro(construct_compiler_rt_default_triple)
 
   string(REPLACE "-" ";" TARGET_TRIPLE_LIST ${COMPILER_RT_DEFAULT_TARGET_TRIPLE})
   list(GET TARGET_TRIPLE_LIST 0 COMPILER_RT_DEFAULT_TARGET_ARCH)
-  list(GET TARGET_TRIPLE_LIST 1 COMPILER_RT_DEFAULT_TARGET_OS)
-  list(LENGTH TARGET_TRIPLE_LIST TARGET_TRIPLE_LIST_LENGTH)
-  if(TARGET_TRIPLE_LIST_LENGTH GREATER 2)
-    list(GET TARGET_TRIPLE_LIST 2 COMPILER_RT_DEFAULT_TARGET_ABI)
-  endif()
   # Determine if test target triple is specified explicitly, and doesn't match the
   # default.
   if(NOT COMPILER_RT_DEFAULT_TARGET_TRIPLE STREQUAL TARGET_TRIPLE)
@@ -316,13 +347,15 @@ function(filter_builtin_sources output_var exclude_or_
 endfunction()
 
 function(get_compiler_rt_target arch variable)
-  if(ANDROID AND ${arch} STREQUAL "i386")
-    set(target "i686${COMPILER_RT_OS_SUFFIX}-${COMPILER_RT_DEFAULT_TARGET_OS}")
+  string(FIND ${COMPILER_RT_DEFAULT_TARGET_TRIPLE} "-" dash_index)
+  string(SUBSTRING ${COMPILER_RT_DEFAULT_TARGET_TRIPLE} ${dash_index} -1 triple_suffix)
+  if(COMPILER_RT_DEFAULT_TARGET_ONLY)
+    # Use exact spelling when building only for the target specified to CMake.
+    set(target "${COMPILER_RT_DEFAULT_TARGET_TRIPLE}")
+  elseif(ANDROID AND ${arch} STREQUAL "i386")
+    set(target "i686${COMPILER_RT_OS_SUFFIX}${triple_suffix}")
   else()
-    set(target "${arch}-${COMPILER_RT_DEFAULT_TARGET_OS}")
-  endif()
-  if(COMPILER_RT_DEFAULT_TARGET_ABI)
-    set(target "${target}-${COMPILER_RT_DEFAULT_TARGET_ABI}")
+    set(target "${arch}${triple_suffix}")
   endif()
   set(${variable} ${target} PARENT_SCOPE)
 endfunction()

Modified: vendor/compiler-rt/dist/cmake/Modules/HandleCompilerRT.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/HandleCompilerRT.cmake	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/cmake/Modules/HandleCompilerRT.cmake	Sat Jan 19 10:05:08 2019	(r343175)
@@ -4,12 +4,16 @@ function(find_compiler_rt_library name variable)
   if (CMAKE_CXX_COMPILER_ID MATCHES Clang AND CMAKE_CXX_COMPILER_TARGET)
     list(APPEND CLANG_COMMAND "--target=${CMAKE_CXX_COMPILER_TARGET}")
   endif()
+  get_property(SANITIZER_CXX_FLAGS CACHE CMAKE_CXX_FLAGS PROPERTY VALUE)
+  string(REPLACE " " ";" SANITIZER_CXX_FLAGS "${SANITIZER_CXX_FLAGS}")
+  list(APPEND CLANG_COMMAND ${SANITIZER_CXX_FLAGS})
   execute_process(
       COMMAND ${CLANG_COMMAND}
       RESULT_VARIABLE HAD_ERROR
       OUTPUT_VARIABLE LIBRARY_FILE
   )
   string(STRIP "${LIBRARY_FILE}" LIBRARY_FILE)
+  file(TO_CMAKE_PATH "${LIBRARY_FILE}" LIBRARY_FILE)
   string(REPLACE "builtins" "${name}" LIBRARY_FILE "${LIBRARY_FILE}")
   if (NOT HAD_ERROR AND EXISTS "${LIBRARY_FILE}")
     message(STATUS "Found compiler-rt ${name} library: ${LIBRARY_FILE}")

Modified: vendor/compiler-rt/dist/cmake/Modules/SanitizerUtils.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/SanitizerUtils.cmake	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/cmake/Modules/SanitizerUtils.cmake	Sat Jan 19 10:05:08 2019	(r343175)
@@ -30,7 +30,7 @@ macro(add_sanitizer_rt_symbols name)
     add_custom_command(OUTPUT ${stamp}
       COMMAND ${PYTHON_EXECUTABLE}
         ${SANITIZER_GEN_DYNAMIC_LIST} ${extra_args} $<TARGET_FILE:${target_name}>
-        > $<TARGET_FILE:${target_name}>.syms
+        -o $<TARGET_FILE:${target_name}>.syms
       COMMAND ${CMAKE_COMMAND} -E touch ${stamp}
       DEPENDS ${target_name} ${SANITIZER_GEN_DYNAMIC_LIST} ${ARG_EXTRA}
       WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
@@ -51,7 +51,15 @@ endmacro()
 # This function is only used on Darwin, where undefined symbols must be specified
 # in the linker invocation.
 function(add_weak_symbols libname link_flags)
-  file(STRINGS "${COMPILER_RT_SOURCE_DIR}/lib/${libname}/weak_symbols.txt" WEAK_SYMBOLS)
+  set(weak_symbols_file "${COMPILER_RT_SOURCE_DIR}/lib/${libname}/weak_symbols.txt")
+  file(STRINGS  "${weak_symbols_file}" WEAK_SYMBOLS)
+  # Add this file as a configure-time dependency so that changes to this
+  # file trigger a re-configure. This is necessary so that `${link_flags}`
+  # is changed when appropriate.
+  set_property(
+    DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
+    APPEND
+    PROPERTY CMAKE_CONFIGURE_DEPENDS "${weak_symbols_file}")
   set(local_link_flags ${${link_flags}})
   foreach(SYMBOL ${WEAK_SYMBOLS})
     set(local_link_flags ${local_link_flags} -Wl,-U,${SYMBOL})
@@ -72,7 +80,7 @@ macro(add_sanitizer_rt_version_list name)
   add_custom_command(OUTPUT ${vers}
     COMMAND ${PYTHON_EXECUTABLE}
       ${SANITIZER_GEN_DYNAMIC_LIST} --version-list ${args}
-      > ${vers}
+      -o ${vers}
     DEPENDS ${SANITIZER_GEN_DYNAMIC_LIST} ${ARG_EXTRA} ${ARG_LIBS}
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
     COMMENT "Generating version list for ${name}"

Modified: vendor/compiler-rt/dist/cmake/base-config-ix.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/base-config-ix.cmake	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/cmake/base-config-ix.cmake	Sat Jan 19 10:05:08 2019	(r343175)
@@ -8,6 +8,12 @@ include(CheckCXXSourceCompiles)
 
 check_include_file(unwind.h HAVE_UNWIND_H)
 
+# Used by sanitizer_common and tests.
+check_include_file(rpc/xdr.h HAVE_RPC_XDR_H)
+if (NOT HAVE_RPC_XDR_H)
+  set(HAVE_RPC_XDR_H 0)
+endif()
+
 # Top level target used to build all compiler-rt libraries.
 add_custom_target(compiler-rt ALL)
 add_custom_target(install-compiler-rt)
@@ -122,8 +128,6 @@ macro(test_targets)
   # what version of MSVC to pretend to be so that the STL works.
   set(MSVC_VERSION_FLAG "")
   if (MSVC)
-    # Find and run MSVC (not clang-cl) and get its version. This will tell
-    # clang-cl what version of MSVC to pretend to be so that the STL works.
     execute_process(COMMAND "$ENV{VSINSTALLDIR}/VC/bin/cl.exe"
       OUTPUT_QUIET
       ERROR_VARIABLE MSVC_COMPAT_VERSION
@@ -191,11 +195,11 @@ macro(test_targets)
       # clang's default CPU's. In the 64-bit case, we must also specify the ABI
       # since the default ABI differs between gcc and clang.
       # FIXME: Ideally, we would build the N32 library too.
-      test_target_arch(mipsel "" "-mips32r2" "--target=mipsel-linux-gnu")
-      test_target_arch(mips64el "" "-mips64r2" "--target=mips64el-linux-gnu" "-mabi=64")
+      test_target_arch(mipsel "" "-mips32r2" "-mabi=32")
+      test_target_arch(mips64el "" "-mips64r2" "-mabi=64")
     elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "mips")
-      test_target_arch(mips "" "-mips32r2" "--target=mips-linux-gnu")
-      test_target_arch(mips64 "" "-mips64r2" "--target=mips64-linux-gnu" "-mabi=64")
+      test_target_arch(mips "" "-mips32r2" "-mabi=32")
+      test_target_arch(mips64 "" "-mips64r2" "-mabi=64")
     elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "arm")
       if(WIN32)
         test_target_arch(arm "" "" "")

Modified: vendor/compiler-rt/dist/cmake/builtin-config-ix.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/builtin-config-ix.cmake	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/cmake/builtin-config-ix.cmake	Sat Jan 19 10:05:08 2019	(r343175)
@@ -103,20 +103,6 @@ if(APPLE)
     set(CAN_TARGET_${arch} 1)
   endforeach()
 
-  # Need to build a 10.4 compatible libclang_rt
-  set(DARWIN_10.4_SYSROOT ${DARWIN_osx_SYSROOT})
-  set(DARWIN_10.4_BUILTIN_MIN_VER 10.4)
-  set(DARWIN_10.4_BUILTIN_MIN_VER_FLAG
-      -mmacosx-version-min=${DARWIN_10.4_BUILTIN_MIN_VER})
-  set(DARWIN_10.4_SKIP_CC_KEXT On)
-  darwin_test_archs(10.4 DARWIN_10.4_ARCHS i386 x86_64)
-  message(STATUS "OSX 10.4 supported builtin arches: ${DARWIN_10.4_ARCHS}")
-  if(DARWIN_10.4_ARCHS)
-    # don't include the Haswell slice in the 10.4 compatibility library
-    list(REMOVE_ITEM DARWIN_10.4_ARCHS x86_64h)
-    list(APPEND BUILTIN_SUPPORTED_OS 10.4)
-  endif()
-
   foreach(platform ${DARWIN_EMBEDDED_PLATFORMS})
     if(DARWIN_${platform}sim_SYSROOT)
       set(DARWIN_${platform}sim_BUILTIN_MIN_VER

Modified: vendor/compiler-rt/dist/cmake/config-ix.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/config-ix.cmake	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/cmake/config-ix.cmake	Sat Jan 19 10:05:08 2019	(r343175)
@@ -37,9 +37,23 @@ if (COMPILER_RT_HAS_NODEFAULTLIBS_FLAG)
   elseif (COMPILER_RT_HAS_GCC_LIB)
     list(APPEND CMAKE_REQUIRED_LIBRARIES gcc)
   endif ()
+  if (MINGW)
+    # Mingw64 requires quite a few "C" runtime libraries in order for basic
+    # programs to link successfully with -nodefaultlibs.
+    if (COMPILER_RT_USE_BUILTINS_LIBRARY)
+      set(MINGW_RUNTIME ${COMPILER_RT_BUILTINS_LIBRARY})
+    else ()
+      set(MINGW_RUNTIME gcc_s gcc)
+    endif()
+    set(MINGW_LIBRARIES mingw32 ${MINGW_RUNTIME} moldname mingwex msvcrt advapi32
+                        shell32 user32 kernel32 mingw32 ${MINGW_RUNTIME}
+                        moldname mingwex msvcrt)
+    list(APPEND CMAKE_REQUIRED_LIBRARIES ${MINGW_LIBRARIES})
+  endif()
 endif ()
 
 # CodeGen options.
+check_c_compiler_flag(-ffreestanding         COMPILER_RT_HAS_FFREESTANDING_FLAG)
 check_cxx_compiler_flag(-fPIC                COMPILER_RT_HAS_FPIC_FLAG)
 check_cxx_compiler_flag(-fPIE                COMPILER_RT_HAS_FPIE_FLAG)
 check_cxx_compiler_flag(-fno-builtin         COMPILER_RT_HAS_FNO_BUILTIN_FLAG)
@@ -51,7 +65,6 @@ check_cxx_compiler_flag(-fno-sanitize=safe-stack COMPI
 check_cxx_compiler_flag(-fvisibility=hidden  COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG)
 check_cxx_compiler_flag(-frtti               COMPILER_RT_HAS_FRTTI_FLAG)
 check_cxx_compiler_flag(-fno-rtti            COMPILER_RT_HAS_FNO_RTTI_FLAG)
-check_cxx_compiler_flag(-ffreestanding       COMPILER_RT_HAS_FFREESTANDING_FLAG)
 check_cxx_compiler_flag("-Werror -fno-function-sections" COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG)
 check_cxx_compiler_flag(-std=c++11           COMPILER_RT_HAS_STD_CXX11_FLAG)
 check_cxx_compiler_flag(-ftls-model=initial-exec COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC)
@@ -105,6 +118,21 @@ check_library_exists(dl dlopen "" COMPILER_RT_HAS_LIBD
 check_library_exists(rt shm_open "" COMPILER_RT_HAS_LIBRT)
 check_library_exists(m pow "" COMPILER_RT_HAS_LIBM)
 check_library_exists(pthread pthread_create "" COMPILER_RT_HAS_LIBPTHREAD)
+
+# Look for terminfo library, used in unittests that depend on LLVMSupport.
+if(LLVM_ENABLE_TERMINFO)
+  foreach(library terminfo tinfo curses ncurses ncursesw)
+    string(TOUPPER ${library} library_suffix)
+    check_library_exists(
+      ${library} setupterm "" COMPILER_RT_HAS_TERMINFO_${library_suffix})
+    if(COMPILER_RT_HAS_TERMINFO_${library_suffix})
+      set(COMPILER_RT_HAS_TERMINFO TRUE)
+      set(COMPILER_RT_TERMINFO_LIB "${library}")
+      break()
+    endif()
+  endforeach()
+endif()
+
 if (ANDROID AND COMPILER_RT_HAS_LIBDL)
   # Android's libstdc++ has a dependency on libdl.
   list(APPEND CMAKE_REQUIRED_LIBRARIES dl)
@@ -501,7 +529,8 @@ list_replace(COMPILER_RT_SANITIZERS_TO_BUILD all "${AL
 
 if (SANITIZER_COMMON_SUPPORTED_ARCH AND NOT LLVM_USE_SANITIZER AND
     (OS_NAME MATCHES "Android|Darwin|Linux|FreeBSD|NetBSD|OpenBSD|Fuchsia|SunOS" OR
-    (OS_NAME MATCHES "Windows" AND (NOT MINGW AND NOT CYGWIN))))
+    (OS_NAME MATCHES "Windows" AND NOT CYGWIN AND
+        (NOT MINGW OR CMAKE_CXX_COMPILER_ID MATCHES "Clang"))))
   set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)
 else()
   set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)
@@ -557,7 +586,7 @@ else()
 endif()
 
 if (PROFILE_SUPPORTED_ARCH AND NOT LLVM_USE_SANITIZER AND
-    OS_NAME MATCHES "Darwin|Linux|FreeBSD|Windows|Android|Fuchsia|SunOS")
+    OS_NAME MATCHES "Darwin|Linux|FreeBSD|Windows|Android|Fuchsia|SunOS|NetBSD")
   set(COMPILER_RT_HAS_PROFILE TRUE)
 else()
   set(COMPILER_RT_HAS_PROFILE FALSE)
@@ -598,7 +627,7 @@ else()
 endif()
 
 if (COMPILER_RT_HAS_SANITIZER_COMMON AND ESAN_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Linux")
+    OS_NAME MATCHES "Linux|FreeBSD")
   set(COMPILER_RT_HAS_ESAN TRUE)
 else()
   set(COMPILER_RT_HAS_ESAN FALSE)
@@ -612,14 +641,17 @@ else()
 endif()
 
 if (COMPILER_RT_HAS_SANITIZER_COMMON AND XRAY_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Darwin|Linux|FreeBSD|NetBSD|OpenBSD")
+    OS_NAME MATCHES "Darwin|Linux|FreeBSD|NetBSD|OpenBSD|Fuchsia")
   set(COMPILER_RT_HAS_XRAY TRUE)
 else()
   set(COMPILER_RT_HAS_XRAY FALSE)
 endif()
 
 if (COMPILER_RT_HAS_SANITIZER_COMMON AND FUZZER_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Android|Darwin|Linux|NetBSD|FreeBSD|OpenBSD|Fuchsia")
+    OS_NAME MATCHES "Android|Darwin|Linux|NetBSD|FreeBSD|OpenBSD|Fuchsia|Windows" AND
+    # TODO: Support builds with MSVC.
+    NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC" AND
+    NOT "${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
   set(COMPILER_RT_HAS_FUZZER TRUE)
 else()
   set(COMPILER_RT_HAS_FUZZER FALSE)

Modified: vendor/compiler-rt/dist/include/sanitizer/allocator_interface.h
==============================================================================
--- vendor/compiler-rt/dist/include/sanitizer/allocator_interface.h	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/include/sanitizer/allocator_interface.h	Sat Jan 19 10:05:08 2019	(r343175)
@@ -82,7 +82,6 @@ extern "C" {
      Currently available with ASan only.
   */
   void __sanitizer_purge_allocator(void);
-
 #ifdef __cplusplus
 }  // extern "C"
 #endif

Modified: vendor/compiler-rt/dist/include/sanitizer/common_interface_defs.h
==============================================================================
--- vendor/compiler-rt/dist/include/sanitizer/common_interface_defs.h	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/include/sanitizer/common_interface_defs.h	Sat Jan 19 10:05:08 2019	(r343175)
@@ -124,6 +124,12 @@ extern "C" {
 
   // Symbolizes the supplied 'pc' using the format string 'fmt'.
   // Outputs at most 'out_buf_size' bytes into 'out_buf'.
+  // If 'out_buf' is not empty then output is zero or more non empty C strings
+  // followed by single empty C string. Multiple strings can be returned if PC
+  // corresponds to inlined function. Inlined frames are printed in the order
+  // from "most-inlined" to the "least-inlined", so the last frame should be the
+  // not inlined function.
+  // Inlined frames can be removed with 'symbolize_inline_frames=0'.
   // The format syntax is described in
   // lib/sanitizer_common/sanitizer_stacktrace_printer.h.
   void __sanitizer_symbolize_pc(void *pc, const char *fmt, char *out_buf,

Modified: vendor/compiler-rt/dist/include/sanitizer/hwasan_interface.h
==============================================================================
--- vendor/compiler-rt/dist/include/sanitizer/hwasan_interface.h	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/include/sanitizer/hwasan_interface.h	Sat Jan 19 10:05:08 2019	(r343175)
@@ -19,6 +19,12 @@
 #ifdef __cplusplus
 extern "C" {
 #endif
+  // Initialize shadow but not the rest of the runtime.
+  // Does not call libc unless there is an error.
+  // Can be called multiple times, or not at all (in which case shadow will
+  // be initialized in compiler-inserted __hwasan_init() call).
+  void __hwasan_shadow_init(void);
+
   // This function may be optionally provided by user and should return
   // a string containing HWASan runtime options. See asan_flags.h for details.
   const char* __hwasan_default_options(void);
@@ -26,6 +32,51 @@ extern "C" {
   void __hwasan_enable_allocator_tagging(void);
   void __hwasan_disable_allocator_tagging(void);
 
+  // Mark region of memory with the given tag. Both address and size need to be
+  // 16-byte aligned.
+  void __hwasan_tag_memory(const volatile void *p, unsigned char tag,
+                           size_t size);
+
+  /// Set pointer tag. Previous tag is lost.
+  void *__hwasan_tag_pointer(const volatile void *p, unsigned char tag);
+
+  // Set memory tag from the current SP address to the given address to zero.
+  // This is meant to annotate longjmp and other non-local jumps.
+  // This function needs to know the (almost) exact destination frame address;
+  // clearing shadow for the entire thread stack like __asan_handle_no_return
+  // does would cause false reports.
+  void __hwasan_handle_longjmp(const void *sp_dst);
+
+  // Libc hook for thread creation. Should be called in the child thread before
+  // any instrumented code.
+  void __hwasan_thread_enter();
+
+  // Libc hook for thread destruction. No instrumented code should run after
+  // this call.
+  void __hwasan_thread_exit();
+
+  // Print shadow and origin for the memory range to stderr in a human-readable
+  // format.
+  void __hwasan_print_shadow(const volatile void *x, size_t size);
+
+  // Print one-line report about the memory usage of the current process.
+  void __hwasan_print_memory_usage();
+
+  int __sanitizer_posix_memalign(void **memptr, size_t alignment, size_t size);
+  void * __sanitizer_memalign(size_t alignment, size_t size);
+  void * __sanitizer_aligned_alloc(size_t alignment, size_t size);
+  void * __sanitizer___libc_memalign(size_t alignment, size_t size);
+  void * __sanitizer_valloc(size_t size);
+  void * __sanitizer_pvalloc(size_t size);
+  void __sanitizer_free(void *ptr);
+  void __sanitizer_cfree(void *ptr);
+  size_t __sanitizer_malloc_usable_size(const void *ptr);
+  struct mallinfo __sanitizer_mallinfo();
+  int __sanitizer_mallopt(int cmd, int value);
+  void __sanitizer_malloc_stats(void);
+  void * __sanitizer_calloc(size_t nmemb, size_t size);
+  void * __sanitizer_realloc(void *ptr, size_t size);
+  void * __sanitizer_malloc(size_t size);
 #ifdef __cplusplus
 }  // extern "C"
 #endif

Modified: vendor/compiler-rt/dist/include/sanitizer/netbsd_syscall_hooks.h
==============================================================================
--- vendor/compiler-rt/dist/include/sanitizer/netbsd_syscall_hooks.h	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/include/sanitizer/netbsd_syscall_hooks.h	Sat Jan 19 10:05:08 2019	(r343175)
@@ -21,8 +21,8 @@
 // DO NOT EDIT! THIS FILE HAS BEEN GENERATED!
 //
 // Generated with: generate_netbsd_syscalls.awk
-// Generated date: 2018-03-03
-// Generated from: syscalls.master,v 1.291 2018/01/06 16:41:23 kamil Exp
+// Generated date: 2018-10-30
+// Generated from: syscalls.master,v 1.293 2018/07/31 13:00:13 rjs Exp
 //
 //===----------------------------------------------------------------------===//
 #ifndef SANITIZER_NETBSD_SYSCALL_HOOKS_H
@@ -986,7 +986,15 @@
 #define __sanitizer_syscall_post_fpathconf(res, fd, name)                      \
   __sanitizer_syscall_post_impl_fpathconf(res, (long long)(fd),                \
                                           (long long)(name))
-/* syscall 193 has been skipped */
+#define __sanitizer_syscall_pre_getsockopt2(s, level, name, val, avalsize)     \
+  __sanitizer_syscall_pre_impl_getsockopt2(                                    \
+      (long long)(s), (long long)(level), (long long)(name), (long long)(val), \
+      (long long)(avalsize))
+#define __sanitizer_syscall_post_getsockopt2(res, s, level, name, val,         \
+                                             avalsize)                         \
+  __sanitizer_syscall_post_impl_getsockopt2(                                   \
+      res, (long long)(s), (long long)(level), (long long)(name),              \
+      (long long)(val), (long long)(avalsize))
 #define __sanitizer_syscall_pre_getrlimit(which, rlp)                          \
   __sanitizer_syscall_pre_impl_getrlimit((long long)(which), (long long)(rlp))
 #define __sanitizer_syscall_post_getrlimit(res, which, rlp)                    \
@@ -1752,18 +1760,8 @@
   __sanitizer_syscall_post_impl___sigaction_sigtramp(                          \
       res, (long long)(signum), (long long)(nsa), (long long)(osa),            \
       (long long)(tramp), (long long)(vers))
-#define __sanitizer_syscall_pre_pmc_get_info(ctr, op, args)                    \
-  __sanitizer_syscall_pre_impl_pmc_get_info((long long)(ctr), (long long)(op), \
-                                            (long long)(args))
-#define __sanitizer_syscall_post_pmc_get_info(res, ctr, op, args)              \
-  __sanitizer_syscall_post_impl_pmc_get_info(                                  \
-      res, (long long)(ctr), (long long)(op), (long long)(args))
-#define __sanitizer_syscall_pre_pmc_control(ctr, op, args)                     \
-  __sanitizer_syscall_pre_impl_pmc_control((long long)(ctr), (long long)(op),  \
-                                           (long long)(args))
-#define __sanitizer_syscall_post_pmc_control(res, ctr, op, args)               \
-  __sanitizer_syscall_post_impl_pmc_control(                                   \
-      res, (long long)(ctr), (long long)(op), (long long)(args))
+/* syscall 341 has been skipped */
+/* syscall 342 has been skipped */
 #define __sanitizer_syscall_pre_rasctl(addr, len, op)                          \
   __sanitizer_syscall_pre_impl_rasctl((long long)(addr), (long long)(len),     \
                                       (long long)(op))
@@ -3444,7 +3442,13 @@ void __sanitizer_syscall_post_impl_pathconf(long long 
 void __sanitizer_syscall_pre_impl_fpathconf(long long fd, long long name);
 void __sanitizer_syscall_post_impl_fpathconf(long long res, long long fd,
                                              long long name);
-/* syscall 193 has been skipped */
+void __sanitizer_syscall_pre_impl_getsockopt2(long long s, long long level,
+                                              long long name, long long val,
+                                              long long avalsize);
+void __sanitizer_syscall_post_impl_getsockopt2(long long res, long long s,
+                                               long long level, long long name,
+                                               long long val,
+                                               long long avalsize);
 void __sanitizer_syscall_pre_impl_getrlimit(long long which, long long rlp);
 void __sanitizer_syscall_post_impl_getrlimit(long long res, long long which,
                                              long long rlp);
@@ -4001,14 +4005,8 @@ void __sanitizer_syscall_pre_impl___sigaction_sigtramp
 void __sanitizer_syscall_post_impl___sigaction_sigtramp(
     long long res, long long signum, long long nsa, long long osa,
     long long tramp, long long vers);
-void __sanitizer_syscall_pre_impl_pmc_get_info(long long ctr, long long op,
-                                               long long args);
-void __sanitizer_syscall_post_impl_pmc_get_info(long long res, long long ctr,
-                                                long long op, long long args);
-void __sanitizer_syscall_pre_impl_pmc_control(long long ctr, long long op,
-                                              long long args);
-void __sanitizer_syscall_post_impl_pmc_control(long long res, long long ctr,
-                                               long long op, long long args);
+/* syscall 341 has been skipped */
+/* syscall 342 has been skipped */
 void __sanitizer_syscall_pre_impl_rasctl(long long addr, long long len,
                                          long long op);
 void __sanitizer_syscall_post_impl_rasctl(long long res, long long addr,

Modified: vendor/compiler-rt/dist/include/xray/xray_log_interface.h
==============================================================================
--- vendor/compiler-rt/dist/include/xray/xray_log_interface.h	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/include/xray/xray_log_interface.h	Sat Jan 19 10:05:08 2019	(r343175)
@@ -158,8 +158,8 @@ struct XRayLogImpl {
   /// The log initialization routine provided by the implementation, always
   /// provided with the following parameters:
   ///
-  ///   - buffer size
-  ///   - maximum number of buffers
+  ///   - buffer size (unused)
+  ///   - maximum number of buffers (unused)
   ///   - a pointer to an argument struct that the implementation MUST handle
   ///   - the size of the argument struct
   ///
@@ -354,26 +354,5 @@ XRayLogFlushStatus __xray_log_process_buffers(void (*P
                                                                 XRayBuffer));
 
 } // extern "C"
-
-namespace __xray {
-
-/// DEPRECATED: Use __xray_log_init_mode(...) instead, and provide flag
-/// configuration strings to set the options instead.
-/// Options used by the LLVM XRay FDR logging implementation.
-struct FDRLoggingOptions {
-  bool ReportErrors = false;
-  int Fd = -1;
-};
-
-/// DEPRECATED: Use __xray_log_init_mode(...) instead, and provide flag
-/// configuration strings to set the options instead.
-/// Options used by the LLVM XRay Basic (Naive) logging implementation.
-struct BasicLoggingOptions {
-  int DurationFilterMicros = 0;
-  size_t MaxStackDepth = 0;
-  size_t ThreadBufferSize = 0;
-};
-
-} // namespace __xray
 
 #endif // XRAY_XRAY_LOG_INTERFACE_H

Modified: vendor/compiler-rt/dist/lib/asan/CMakeLists.txt
==============================================================================
--- vendor/compiler-rt/dist/lib/asan/CMakeLists.txt	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/lib/asan/CMakeLists.txt	Sat Jan 19 10:05:08 2019	(r343175)
@@ -75,6 +75,14 @@ append_rtti_flag(OFF ASAN_CFLAGS)
 
 set(ASAN_DYNAMIC_LINK_FLAGS ${SANITIZER_COMMON_LINK_FLAGS})
 
+if(ANDROID)
+# Put most Sanitizer shared libraries in the global group. For more details, see
+# android-changes-for-ndk-developers.md#changes-to-library-search-order
+  if (COMPILER_RT_HAS_Z_GLOBAL)
+    list(APPEND ASAN_DYNAMIC_LINK_FLAGS -Wl,-z,global)
+  endif()
+endif()
+
 set(ASAN_DYNAMIC_DEFINITIONS
   ${ASAN_COMMON_DEFINITIONS} ASAN_DYNAMIC=1)
 append_list_if(WIN32 INTERCEPTION_DYNAMIC_CRT ASAN_DYNAMIC_DEFINITIONS)
@@ -91,7 +99,12 @@ append_list_if(COMPILER_RT_HAS_LIBRT rt ASAN_DYNAMIC_L
 append_list_if(COMPILER_RT_HAS_LIBM m ASAN_DYNAMIC_LIBS)
 append_list_if(COMPILER_RT_HAS_LIBPTHREAD pthread ASAN_DYNAMIC_LIBS)
 append_list_if(COMPILER_RT_HAS_LIBLOG log ASAN_DYNAMIC_LIBS)
+append_list_if(MINGW "${MINGW_LIBRARIES}" ASAN_DYNAMIC_LIBS)
 
+if (TARGET cxx-headers OR HAVE_LIBCXX)
+  set(ASAN_DEPS cxx-headers)
+endif()
+
 # Compile ASan sources into an object library.
 
 add_compiler_rt_object_libraries(RTAsan_dynamic
@@ -100,7 +113,8 @@ add_compiler_rt_object_libraries(RTAsan_dynamic
   SOURCES ${ASAN_SOURCES} ${ASAN_CXX_SOURCES}
   ADDITIONAL_HEADERS ${ASAN_HEADERS}
   CFLAGS ${ASAN_DYNAMIC_CFLAGS}
-  DEFS ${ASAN_DYNAMIC_DEFINITIONS})
+  DEFS ${ASAN_DYNAMIC_DEFINITIONS}
+  DEPS ${ASAN_DEPS})
 
 if(NOT APPLE)
   add_compiler_rt_object_libraries(RTAsan
@@ -108,26 +122,30 @@ if(NOT APPLE)
     SOURCES ${ASAN_SOURCES}
     ADDITIONAL_HEADERS ${ASAN_HEADERS}
     CFLAGS ${ASAN_CFLAGS}
-    DEFS ${ASAN_COMMON_DEFINITIONS})
+    DEFS ${ASAN_COMMON_DEFINITIONS}
+    DEPS ${ASAN_DEPS})
   add_compiler_rt_object_libraries(RTAsan_cxx
     ARCHS ${ASAN_SUPPORTED_ARCH}
     SOURCES ${ASAN_CXX_SOURCES}
     ADDITIONAL_HEADERS ${ASAN_HEADERS}
     CFLAGS ${ASAN_CFLAGS}
-    DEFS ${ASAN_COMMON_DEFINITIONS})
+    DEFS ${ASAN_COMMON_DEFINITIONS}
+    DEPS ${ASAN_DEPS})
   add_compiler_rt_object_libraries(RTAsan_preinit
     ARCHS ${ASAN_SUPPORTED_ARCH}
     SOURCES ${ASAN_PREINIT_SOURCES}
     ADDITIONAL_HEADERS ${ASAN_HEADERS}
     CFLAGS ${ASAN_CFLAGS}
-    DEFS ${ASAN_COMMON_DEFINITIONS})
+    DEFS ${ASAN_COMMON_DEFINITIONS}
+    DEPS ${ASAN_DEPS})
 
   file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/dummy.cc "")
   add_compiler_rt_object_libraries(RTAsan_dynamic_version_script_dummy
     ARCHS ${ASAN_SUPPORTED_ARCH}
     SOURCES ${CMAKE_CURRENT_BINARY_DIR}/dummy.cc
     CFLAGS ${ASAN_DYNAMIC_CFLAGS}
-    DEFS ${ASAN_DYNAMIC_DEFINITIONS})
+    DEFS ${ASAN_DYNAMIC_DEFINITIONS}
+    DEPS ${ASAN_DEPS})
 endif()
 
 # Build ASan runtimes shipped with Clang.
@@ -138,6 +156,7 @@ if(APPLE)
   add_weak_symbols("lsan" WEAK_SYMBOL_LINK_FLAGS)
   add_weak_symbols("ubsan" WEAK_SYMBOL_LINK_FLAGS)
   add_weak_symbols("sanitizer_common" WEAK_SYMBOL_LINK_FLAGS)
+  add_weak_symbols("xray" WEAK_SYMBOL_LINK_FLAGS)
 
   add_compiler_rt_runtime(clang_rt.asan
     SHARED
@@ -215,13 +234,14 @@ else()
     endif()
 
     set(ASAN_DYNAMIC_WEAK_INTERCEPTION)
-    if (MSVC)
+    if (WIN32)
       add_compiler_rt_object_libraries(AsanWeakInterception
         ${SANITIZER_COMMON_SUPPORTED_OS}
         ARCHS ${arch}
         SOURCES asan_win_weak_interception.cc
         CFLAGS ${ASAN_CFLAGS} -DSANITIZER_DYNAMIC
-        DEFS ${ASAN_COMMON_DEFINITIONS})
+        DEFS ${ASAN_COMMON_DEFINITIONS}
+        DEPS ${ASAN_DEPS})
       set(ASAN_DYNAMIC_WEAK_INTERCEPTION
           AsanWeakInterception
           UbsanWeakInterception
@@ -266,7 +286,8 @@ else()
         SOURCES asan_globals_win.cc
                 asan_win_dll_thunk.cc
         CFLAGS ${ASAN_CFLAGS} -DSANITIZER_DLL_THUNK
-        DEFS ${ASAN_COMMON_DEFINITIONS})
+        DEFS ${ASAN_COMMON_DEFINITIONS}
+        DEPS ${ASAN_DEPS})
 
       add_compiler_rt_runtime(clang_rt.asan_dll_thunk
         STATIC
@@ -291,7 +312,8 @@ else()
         SOURCES asan_globals_win.cc
                 asan_win_dynamic_runtime_thunk.cc
         CFLAGS ${ASAN_CFLAGS} ${DYNAMIC_RUNTIME_THUNK_CFLAGS}
-        DEFS ${ASAN_COMMON_DEFINITIONS})
+        DEFS ${ASAN_COMMON_DEFINITIONS}
+        DEPS ${ASAN_DEPS})
 
       add_compiler_rt_runtime(clang_rt.asan_dynamic_runtime_thunk
         STATIC

Modified: vendor/compiler-rt/dist/lib/asan/asan_allocator.h
==============================================================================
--- vendor/compiler-rt/dist/lib/asan/asan_allocator.h	Sat Jan 19 10:04:16 2019	(r343174)
+++ vendor/compiler-rt/dist/lib/asan/asan_allocator.h	Sat Jan 19 10:05:08 2019	(r343175)
@@ -148,6 +148,7 @@ const uptr kAllocatorSpace = 0x600000000000ULL;
 const uptr kAllocatorSize  =  0x40000000000ULL;  // 4T.
 typedef DefaultSizeClassMap SizeClassMap;
 # endif
+template <typename AddressSpaceViewTy>
 struct AP64 {  // Allocator64 parameters. Deliberately using a short name.
   static const uptr kSpaceBeg = kAllocatorSpace;
   static const uptr kSpaceSize = kAllocatorSize;
@@ -155,37 +156,57 @@ struct AP64 {  // Allocator64 parameters. Deliberately
   typedef __asan::SizeClassMap SizeClassMap;
   typedef AsanMapUnmapCallback MapUnmapCallback;
   static const uptr kFlags = 0;
+  using AddressSpaceView = AddressSpaceViewTy;
 };
 
-typedef SizeClassAllocator64<AP64> PrimaryAllocator;
+template <typename AddressSpaceView>

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list