svn commit: r311120 - in vendor/compiler-rt/dist: . cmake cmake/Modules docs include include/sanitizer include/xray lib lib/asan lib/asan/scripts lib/asan/tests lib/builtins lib/builtins/arm lib/bu...

Dimitry Andric dim at FreeBSD.org
Mon Jan 2 19:18:30 UTC 2017


Author: dim
Date: Mon Jan  2 19:18:27 2017
New Revision: 311120
URL: https://svnweb.freebsd.org/changeset/base/311120

Log:
  Vendor import of compiler-rt trunk r290819:
  https://llvm.org/svn/llvm-project/compiler-rt/trunk@290819

Added:
  vendor/compiler-rt/dist/docs/
  vendor/compiler-rt/dist/docs/TestingGuide.rst
  vendor/compiler-rt/dist/include/xray/
  vendor/compiler-rt/dist/include/xray/xray_interface.h   (contents, props changed)
  vendor/compiler-rt/dist/include/xray/xray_records.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/asan/asan_descriptions.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/asan/asan_descriptions.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/asan/asan_errors.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/asan/asan_errors.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/asan/asan_globals_win.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/asan/asan_globals_win.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/asan/tests/asan_internal_interface_test.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/builtins/mingw_fixfloat.c   (contents, props changed)
  vendor/compiler-rt/dist/lib/esan/esan_hashtable.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_bytemap.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_combined.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_local_cache.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_primary32.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_primary64.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_secondary.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_size_class_map.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_stats.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_libcdep_new.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_dbghelp.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux_mips64.S   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/
  vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/sanitizer_symbolize.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/sanitizer_wrappers.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/scripts/
  vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/scripts/build_symbolizer.sh   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/symbolizer/scripts/global_symbols.txt   (contents, props changed)
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/malloc_stress_transfer_test.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/scudo/scudo_allocator_secondary.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_mips64.S   (contents, props changed)
  vendor/compiler-rt/dist/lib/tsan/tests/rtl/tsan_posix_util.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/
  vendor/compiler-rt/dist/lib/xray/CMakeLists.txt   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/tests/
  vendor/compiler-rt/dist/lib/xray/tests/CMakeLists.txt   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/tests/unit/
  vendor/compiler-rt/dist/lib/xray/tests/unit/CMakeLists.txt   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/tests/unit/buffer_queue_test.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/tests/unit/xray_unit_test_main.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_AArch64.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_arm.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_buffer_queue.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_buffer_queue.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_defs.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_emulate_tsc.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_flags.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_flags.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_flags.inc   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_init.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_inmemory_log.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_interface.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_interface_internal.h   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_trampoline_AArch64.S   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_trampoline_arm.S   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_trampoline_x86_64.S   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_x86_64.cc   (contents, props changed)
  vendor/compiler-rt/dist/lib/xray/xray_x86_64.h   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Darwin/cstring_section.c   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Darwin/dead-strip.c   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Darwin/dump_registers.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Darwin/malloc_destroy_zone.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Darwin/odr-lto.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/auto_memory_profile_test.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/cuda_test.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/pthread_create_from_constructor.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/release_to_os_test.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/thread_local_quarantine_size_kb.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/handle_abort_on_error.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/no_asan_gen_globals.c   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/coverage-dll-stdio.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/delay_dbghelp.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/dll_global_dead_strip.c   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/global_dead_strip.c   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/shadow_conflict_32.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/tls_init.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/debug_double_free.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/exitcode.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/global-address.cpp   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/ill.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/printf-m.c   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/scariness_score_test.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/set_shadow_test.c   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/strncasecmp_strict.c   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/strncmp_strict.c   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-goto.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-temp2.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-types.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/cfi/icall/weak.c   (contents, props changed)
  vendor/compiler-rt/dist/test/cfi/two-vcalls.cpp   (contents, props changed)
  vendor/compiler-rt/dist/test/esan/Unit/hashtable.cpp   (contents, props changed)
  vendor/compiler-rt/dist/test/interception/CMakeLists.txt   (contents, props changed)
  vendor/compiler-rt/dist/test/interception/Unit/
  vendor/compiler-rt/dist/test/interception/Unit/lit.site.cfg.in   (contents, props changed)
  vendor/compiler-rt/dist/test/lsan/TestCases/strace_test.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/msan/getutent.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/msan/recover-dso.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/msan/recover.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/profile/Inputs/comdat_rename.h   (contents, props changed)
  vendor/compiler-rt/dist/test/profile/Inputs/comdat_rename_1.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/profile/Inputs/comdat_rename_2.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/profile/Linux/comdat_rename.test
  vendor/compiler-rt/dist/test/profile/Linux/instrprof-cs.c   (contents, props changed)
  vendor/compiler-rt/dist/test/profile/instrprof-darwin-dead-strip.c   (contents, props changed)
  vendor/compiler-rt/dist/test/profile/instrprof-dump.c   (contents, props changed)
  vendor/compiler-rt/dist/test/profile/instrprof-path.c   (contents, props changed)
  vendor/compiler-rt/dist/test/profile/instrprof-set-filename-shared.test
  vendor/compiler-rt/dist/test/profile/instrprof-value-prof-reset.c   (contents, props changed)
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/get_module_and_offset_for_pc.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/printf-ldbl.c   (contents, props changed)
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard-dso.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/sanitizer_coverage_trace_pc_guard.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/scanf-ldbl.c   (contents, props changed)
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/symbolize_pc.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/sanitizer_common/print_address.h   (contents, props changed)
  vendor/compiler-rt/dist/test/scudo/interface.cpp   (contents, props changed)
  vendor/compiler-rt/dist/test/scudo/options.cpp   (contents, props changed)
  vendor/compiler-rt/dist/test/scudo/random_shuffle.cpp   (contents, props changed)
  vendor/compiler-rt/dist/test/scudo/secondary.cpp   (contents, props changed)
  vendor/compiler-rt/dist/test/tsan/Darwin/gcd-suspend.mm
  vendor/compiler-rt/dist/test/tsan/Darwin/gcd-target-queue-norace.mm
  vendor/compiler-rt/dist/test/tsan/Darwin/libcxx-call-once.mm
  vendor/compiler-rt/dist/test/tsan/Darwin/libcxx-future.mm
  vendor/compiler-rt/dist/test/tsan/Darwin/norace-objcxx-run-time.mm
  vendor/compiler-rt/dist/test/tsan/Darwin/objc-double-property.mm
  vendor/compiler-rt/dist/test/tsan/Darwin/osatomics-bitops.mm
  vendor/compiler-rt/dist/test/tsan/Darwin/realloc-zero.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/tsan/atomic_store.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/tsan/debug_alloc_stack.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/tsan/debug_locate.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/tsan/exceptions.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/tsan/ignore_lib5.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/tsan/ignore_lib5.cc.supp
  vendor/compiler-rt/dist/test/tsan/signal_block.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/xray/
  vendor/compiler-rt/dist/test/xray/CMakeLists.txt   (contents, props changed)
  vendor/compiler-rt/dist/test/xray/TestCases/
  vendor/compiler-rt/dist/test/xray/TestCases/Linux/
  vendor/compiler-rt/dist/test/xray/TestCases/Linux/fixedsize-logging.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/xray/TestCases/Linux/optional-inmemory-log.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/xray/TestCases/Linux/patching-unpatching.cc   (contents, props changed)
  vendor/compiler-rt/dist/test/xray/Unit/
  vendor/compiler-rt/dist/test/xray/Unit/lit.site.cfg.in   (contents, props changed)
  vendor/compiler-rt/dist/test/xray/lit.cfg
  vendor/compiler-rt/dist/test/xray/lit.site.cfg.in   (contents, props changed)
Deleted:
  vendor/compiler-rt/dist/Makefile
  vendor/compiler-rt/dist/lib/Makefile.mk
  vendor/compiler-rt/dist/lib/builtins/Makefile.mk
  vendor/compiler-rt/dist/lib/builtins/arm/Makefile.mk
  vendor/compiler-rt/dist/lib/builtins/arm64/Makefile.mk
  vendor/compiler-rt/dist/lib/builtins/armv6m/Makefile.mk
  vendor/compiler-rt/dist/lib/builtins/i386/Makefile.mk
  vendor/compiler-rt/dist/lib/builtins/ppc/Makefile.mk
  vendor/compiler-rt/dist/lib/builtins/x86_64/Makefile.mk
  vendor/compiler-rt/dist/make/AppleBI.mk
  vendor/compiler-rt/dist/make/config.mk
  vendor/compiler-rt/dist/make/filter-inputs
  vendor/compiler-rt/dist/make/lib_info.mk
  vendor/compiler-rt/dist/make/lib_platforms.mk
  vendor/compiler-rt/dist/make/lib_util.mk
  vendor/compiler-rt/dist/make/options.mk
  vendor/compiler-rt/dist/make/platform/clang_darwin.mk
  vendor/compiler-rt/dist/make/platform/clang_darwin_test_input.c
  vendor/compiler-rt/dist/make/platform/clang_linux.mk
  vendor/compiler-rt/dist/make/platform/clang_linux_test_input.c
  vendor/compiler-rt/dist/make/platform/clang_macho_embedded.mk
  vendor/compiler-rt/dist/make/platform/clang_macho_embedded_test_input.c
  vendor/compiler-rt/dist/make/platform/clang_mingw.mk
  vendor/compiler-rt/dist/make/platform/darwin_bni.mk
  vendor/compiler-rt/dist/make/platform/multi_arch.mk
  vendor/compiler-rt/dist/make/subdir.mk
  vendor/compiler-rt/dist/make/test/test-util.mk
  vendor/compiler-rt/dist/make/util.mk
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage_html_report.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/scariness_score_test.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/default_options.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/on_error_callback.cc
  vendor/compiler-rt/dist/test/asan/TestCases/coverage-pc-buffer.cc
  vendor/compiler-rt/dist/test/asan/TestCases/no_asan_gen_globals.c
  vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-chars.cc
  vendor/compiler-rt/dist/test/msan/keep-going-dso.cc
  vendor/compiler-rt/dist/test/msan/keep-going.cc
  vendor/compiler-rt/dist/test/profile/Linux/instrprof-set-filename-shared.test
Modified:
  vendor/compiler-rt/dist/CMakeLists.txt
  vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake
  vendor/compiler-rt/dist/cmake/Modules/BuiltinTests.cmake
  vendor/compiler-rt/dist/cmake/Modules/CompilerRTDarwinUtils.cmake
  vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.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/CMakeLists.txt
  vendor/compiler-rt/dist/include/sanitizer/common_interface_defs.h
  vendor/compiler-rt/dist/include/sanitizer/coverage_interface.h
  vendor/compiler-rt/dist/lib/CMakeLists.txt
  vendor/compiler-rt/dist/lib/asan/CMakeLists.txt
  vendor/compiler-rt/dist/lib/asan/asan_activation.cc
  vendor/compiler-rt/dist/lib/asan/asan_activation_flags.inc
  vendor/compiler-rt/dist/lib/asan/asan_allocator.cc
  vendor/compiler-rt/dist/lib/asan/asan_allocator.h
  vendor/compiler-rt/dist/lib/asan/asan_debugging.cc
  vendor/compiler-rt/dist/lib/asan/asan_fake_stack.cc
  vendor/compiler-rt/dist/lib/asan/asan_fake_stack.h
  vendor/compiler-rt/dist/lib/asan/asan_flags.cc
  vendor/compiler-rt/dist/lib/asan/asan_flags.inc
  vendor/compiler-rt/dist/lib/asan/asan_globals.cc
  vendor/compiler-rt/dist/lib/asan/asan_interceptors.cc
  vendor/compiler-rt/dist/lib/asan/asan_interface_internal.h
  vendor/compiler-rt/dist/lib/asan/asan_internal.h
  vendor/compiler-rt/dist/lib/asan/asan_mac.cc
  vendor/compiler-rt/dist/lib/asan/asan_malloc_linux.cc
  vendor/compiler-rt/dist/lib/asan/asan_malloc_win.cc
  vendor/compiler-rt/dist/lib/asan/asan_mapping.h
  vendor/compiler-rt/dist/lib/asan/asan_memory_profile.cc
  vendor/compiler-rt/dist/lib/asan/asan_new_delete.cc
  vendor/compiler-rt/dist/lib/asan/asan_poisoning.cc
  vendor/compiler-rt/dist/lib/asan/asan_poisoning.h
  vendor/compiler-rt/dist/lib/asan/asan_posix.cc
  vendor/compiler-rt/dist/lib/asan/asan_report.cc
  vendor/compiler-rt/dist/lib/asan/asan_report.h
  vendor/compiler-rt/dist/lib/asan/asan_rtl.cc
  vendor/compiler-rt/dist/lib/asan/asan_scariness_score.h
  vendor/compiler-rt/dist/lib/asan/asan_thread.cc
  vendor/compiler-rt/dist/lib/asan/asan_thread.h
  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/asan_win_dynamic_runtime_thunk.cc
  vendor/compiler-rt/dist/lib/asan/scripts/asan_device_setup
  vendor/compiler-rt/dist/lib/asan/tests/CMakeLists.txt
  vendor/compiler-rt/dist/lib/asan/tests/asan_asm_test.cc
  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_str_test.cc
  vendor/compiler-rt/dist/lib/asan/tests/asan_test.cc
  vendor/compiler-rt/dist/lib/asan/tests/asan_test_main.cc
  vendor/compiler-rt/dist/lib/asan/tests/asan_test_utils.h
  vendor/compiler-rt/dist/lib/builtins/CMakeLists.txt
  vendor/compiler-rt/dist/lib/builtins/arm/aeabi_idivmod.S
  vendor/compiler-rt/dist/lib/builtins/arm/aeabi_ldivmod.S
  vendor/compiler-rt/dist/lib/builtins/arm/aeabi_uidivmod.S
  vendor/compiler-rt/dist/lib/builtins/arm/aeabi_uldivmod.S
  vendor/compiler-rt/dist/lib/builtins/arm/comparesf2.S
  vendor/compiler-rt/dist/lib/builtins/arm/divsi3.S
  vendor/compiler-rt/dist/lib/builtins/arm/udivsi3.S
  vendor/compiler-rt/dist/lib/builtins/assembly.h
  vendor/compiler-rt/dist/lib/builtins/atomic.c
  vendor/compiler-rt/dist/lib/builtins/clear_cache.c
  vendor/compiler-rt/dist/lib/builtins/int_lib.h
  vendor/compiler-rt/dist/lib/cfi/CMakeLists.txt
  vendor/compiler-rt/dist/lib/cfi/cfi.cc
  vendor/compiler-rt/dist/lib/dfsan/CMakeLists.txt
  vendor/compiler-rt/dist/lib/dfsan/dfsan.cc
  vendor/compiler-rt/dist/lib/dfsan/dfsan.h
  vendor/compiler-rt/dist/lib/dfsan/dfsan_interceptors.cc
  vendor/compiler-rt/dist/lib/dfsan/dfsan_platform.h
  vendor/compiler-rt/dist/lib/dfsan/done_abilist.txt
  vendor/compiler-rt/dist/lib/esan/CMakeLists.txt
  vendor/compiler-rt/dist/lib/esan/cache_frag.cpp
  vendor/compiler-rt/dist/lib/esan/esan.cpp
  vendor/compiler-rt/dist/lib/esan/esan.h
  vendor/compiler-rt/dist/lib/esan/esan_flags.cpp
  vendor/compiler-rt/dist/lib/esan/esan_interceptors.cpp
  vendor/compiler-rt/dist/lib/esan/esan_interface_internal.h
  vendor/compiler-rt/dist/lib/esan/esan_linux.cpp
  vendor/compiler-rt/dist/lib/esan/esan_shadow.h
  vendor/compiler-rt/dist/lib/interception/interception.h
  vendor/compiler-rt/dist/lib/interception/interception_win.cc
  vendor/compiler-rt/dist/lib/interception/tests/CMakeLists.txt
  vendor/compiler-rt/dist/lib/interception/tests/interception_linux_test.cc
  vendor/compiler-rt/dist/lib/interception/tests/interception_win_test.cc
  vendor/compiler-rt/dist/lib/lsan/CMakeLists.txt
  vendor/compiler-rt/dist/lib/lsan/lsan_allocator.cc
  vendor/compiler-rt/dist/lib/lsan/lsan_common.cc
  vendor/compiler-rt/dist/lib/lsan/lsan_common_linux.cc
  vendor/compiler-rt/dist/lib/lsan/lsan_thread.cc
  vendor/compiler-rt/dist/lib/msan/CMakeLists.txt
  vendor/compiler-rt/dist/lib/msan/msan.h
  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_interface_internal.h
  vendor/compiler-rt/dist/lib/msan/msan_linux.cc
  vendor/compiler-rt/dist/lib/profile/CMakeLists.txt
  vendor/compiler-rt/dist/lib/profile/GCDAProfiling.c
  vendor/compiler-rt/dist/lib/profile/InstrProfData.inc
  vendor/compiler-rt/dist/lib/profile/InstrProfiling.c
  vendor/compiler-rt/dist/lib/profile/InstrProfiling.h
  vendor/compiler-rt/dist/lib/profile/InstrProfilingFile.c
  vendor/compiler-rt/dist/lib/profile/InstrProfilingInternal.h
  vendor/compiler-rt/dist/lib/profile/InstrProfilingPort.h
  vendor/compiler-rt/dist/lib/profile/InstrProfilingRuntime.cc
  vendor/compiler-rt/dist/lib/profile/InstrProfilingUtil.c
  vendor/compiler-rt/dist/lib/profile/InstrProfilingUtil.h
  vendor/compiler-rt/dist/lib/profile/InstrProfilingValue.c
  vendor/compiler-rt/dist/lib/profile/WindowsMMap.c
  vendor/compiler-rt/dist/lib/safestack/CMakeLists.txt
  vendor/compiler-rt/dist/lib/safestack/safestack.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/.clang-tidy
  vendor/compiler-rt/dist/lib/sanitizer_common/CMakeLists.txt
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_addrhashmap.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_interface.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator_internal.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_atomic.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_interceptors_format.inc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_libcdep.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_nolibc.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_libcdep.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flags.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flags.inc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_interface_internal.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_internal_defs.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_libc.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_libignore.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_platform.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_interceptors.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_linux.cc
  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_posix_libcdep.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_printf.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_freebsd.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_quarantine.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stackdepot.cc
  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_printer.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_libcdep.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_mac.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_win.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_thread_registry.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/scripts/gen_dynamic_list.py
  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_allocator_testlib.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_common_test.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_format_interceptor_test.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_libc_test.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_nolibc_test_main.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_procmaps_test.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_test_main.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_flags.cpp
  vendor/compiler-rt/dist/lib/scudo/scudo_flags.h
  vendor/compiler-rt/dist/lib/scudo/scudo_interceptors.cpp
  vendor/compiler-rt/dist/lib/scudo/scudo_new_delete.cpp
  vendor/compiler-rt/dist/lib/scudo/scudo_termination.cpp
  vendor/compiler-rt/dist/lib/scudo/scudo_utils.cpp
  vendor/compiler-rt/dist/lib/scudo/scudo_utils.h
  vendor/compiler-rt/dist/lib/stats/stats_client.cc
  vendor/compiler-rt/dist/lib/tsan/CMakeLists.txt
  vendor/compiler-rt/dist/lib/tsan/go/build.bat
  vendor/compiler-rt/dist/lib/tsan/go/buildgo.sh
  vendor/compiler-rt/dist/lib/tsan/go/tsan_go.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_clock.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_debugging.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_defs.h
  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_mac.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_atomic.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_inl.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_java.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_java.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_libdispatch_mac.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mman.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mutexset.h
  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_platform_posix.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_windows.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_mutex.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_proc.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_report.cc
  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/tsan/rtl/tsan_sync.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_sync.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_trace.h
  vendor/compiler-rt/dist/lib/tsan/tests/CMakeLists.txt
  vendor/compiler-rt/dist/lib/tsan/tests/rtl/tsan_posix.cc
  vendor/compiler-rt/dist/lib/tsan/tests/rtl/tsan_test_util_posix.cc
  vendor/compiler-rt/dist/lib/tsan/tests/unit/tsan_mman_test.cc
  vendor/compiler-rt/dist/lib/ubsan/CMakeLists.txt
  vendor/compiler-rt/dist/lib/ubsan/ubsan_init.cc
  vendor/compiler-rt/dist/lib/ubsan/ubsan_type_hash_itanium.cc
  vendor/compiler-rt/dist/test/CMakeLists.txt
  vendor/compiler-rt/dist/test/asan/CMakeLists.txt
  vendor/compiler-rt/dist/test/asan/TestCases/Android/coverage-android.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/abort_on_error.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/local_alias.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/malloc_delete_mismatch.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/memmem_test.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/print_memory_profile_test.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/quarantine_size_mb.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/stack-trace-dlclose.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Linux/swapcontext_annotation.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/asan-symbolize-sanity-test.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/coverage-fork.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/halt_on_error-signals.c
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/halt_on_error-torture.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/halt_on_error_suppress_equal_pcs.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Posix/start-deactivated.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/bind_io_completion_callback.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/dll_host.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/dll_intercept_memchr.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/dll_intercept_memcpy_indirect.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/dll_operator_array_new_with_dtor_left_oob.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/free_hook_realloc.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/intercept_memcpy.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/oom.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/operator_array_new_with_dtor_left_oob.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/queue_user_work_item.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/queue_user_work_item_report.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/report_after_syminitialize.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/shadow_mapping_failure.cc
  vendor/compiler-rt/dist/test/asan/TestCases/Windows/unsymbolized.cc
  vendor/compiler-rt/dist/test/asan/TestCases/alloca_big_alignment.cc
  vendor/compiler-rt/dist/test/asan/TestCases/alloca_detect_custom_size_.cc
  vendor/compiler-rt/dist/test/asan/TestCases/alloca_instruments_all_paddings.cc
  vendor/compiler-rt/dist/test/asan/TestCases/alloca_loop_unpoisoning.cc
  vendor/compiler-rt/dist/test/asan/TestCases/alloca_overflow_partial.cc
  vendor/compiler-rt/dist/test/asan/TestCases/alloca_overflow_right.cc
  vendor/compiler-rt/dist/test/asan/TestCases/alloca_safe_access.cc
  vendor/compiler-rt/dist/test/asan/TestCases/alloca_underflow_left.cc
  vendor/compiler-rt/dist/test/asan/TestCases/alloca_vla_interact.cc
  vendor/compiler-rt/dist/test/asan/TestCases/atexit_stats.cc
  vendor/compiler-rt/dist/test/asan/TestCases/coverage-order-pcs.cc
  vendor/compiler-rt/dist/test/asan/TestCases/coverage-tracing.cc
  vendor/compiler-rt/dist/test/asan/TestCases/debug_mapping.cc
  vendor/compiler-rt/dist/test/asan/TestCases/debug_report.cc
  vendor/compiler-rt/dist/test/asan/TestCases/debug_stacks.cc
  vendor/compiler-rt/dist/test/asan/TestCases/deep_stack_uaf.cc
  vendor/compiler-rt/dist/test/asan/TestCases/default_options.cc
  vendor/compiler-rt/dist/test/asan/TestCases/double-free.cc
  vendor/compiler-rt/dist/test/asan/TestCases/initialization-bug.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/invalid-free.cc
  vendor/compiler-rt/dist/test/asan/TestCases/large_func_test.cc
  vendor/compiler-rt/dist/test/asan/TestCases/on_error_callback.cc
  vendor/compiler-rt/dist/test/asan/TestCases/sanity_check_pure_c.c
  vendor/compiler-rt/dist/test/asan/TestCases/speculative_load.cc
  vendor/compiler-rt/dist/test/asan/TestCases/strdup_oob_test.cc
  vendor/compiler-rt/dist/test/asan/TestCases/strncpy-overflow.cc
  vendor/compiler-rt/dist/test/asan/TestCases/strstr-1.c
  vendor/compiler-rt/dist/test/asan/TestCases/strstr_strict.c
  vendor/compiler-rt/dist/test/asan/TestCases/suppressions-library.cc
  vendor/compiler-rt/dist/test/asan/TestCases/use-after-delete.cc
  vendor/compiler-rt/dist/test/asan/TestCases/use-after-free-right.cc
  vendor/compiler-rt/dist/test/asan/TestCases/use-after-free.cc
  vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-capture.cc
  vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-inlined.cc
  vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-loop-bug.cc
  vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-loop-removed.cc
  vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope-temp.cc
  vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope.cc
  vendor/compiler-rt/dist/test/asan/TestCases/vla_chrome_testcase.cc
  vendor/compiler-rt/dist/test/asan/TestCases/vla_condition_overflow.cc
  vendor/compiler-rt/dist/test/asan/TestCases/vla_loop_overfow.cc
  vendor/compiler-rt/dist/test/asan/android_commands/android_run.py
  vendor/compiler-rt/dist/test/asan/lit.cfg
  vendor/compiler-rt/dist/test/builtins/Unit/cpu_model_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/negdf2vfp_test.c
  vendor/compiler-rt/dist/test/builtins/Unit/subdf3vfp_test.c
  vendor/compiler-rt/dist/test/cfi/CMakeLists.txt
  vendor/compiler-rt/dist/test/cfi/cross-dso/stats.cpp
  vendor/compiler-rt/dist/test/cfi/simple-fail.cpp
  vendor/compiler-rt/dist/test/dfsan/CMakeLists.txt
  vendor/compiler-rt/dist/test/dfsan/custom.cc
  vendor/compiler-rt/dist/test/dfsan/write_callback.c
  vendor/compiler-rt/dist/test/esan/TestCases/mmap-shadow-conflict.c
  vendor/compiler-rt/dist/test/esan/TestCases/struct-simple.cpp
  vendor/compiler-rt/dist/test/esan/TestCases/verbose-simple.c
  vendor/compiler-rt/dist/test/esan/lit.cfg
  vendor/compiler-rt/dist/test/lit.common.cfg
  vendor/compiler-rt/dist/test/lit.common.configured.in
  vendor/compiler-rt/dist/test/lsan/CMakeLists.txt
  vendor/compiler-rt/dist/test/lsan/TestCases/cleanup_in_tsd_destructor.c
  vendor/compiler-rt/dist/test/lsan/TestCases/guard-page.c
  vendor/compiler-rt/dist/test/lsan/TestCases/large_allocation_leak.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/pointer_to_self.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/stale_stack_leak.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/use_after_return.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/use_globals_initialized.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/use_globals_uninitialized.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/use_poisoned_asan.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/use_registers.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/use_stacks.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/use_stacks_threaded.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/use_tls_dynamic.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/use_tls_pthread_specific_dynamic.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/use_tls_pthread_specific_static.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/use_tls_static.cc
  vendor/compiler-rt/dist/test/lsan/TestCases/use_unaligned.cc
  vendor/compiler-rt/dist/test/lsan/lit.common.cfg
  vendor/compiler-rt/dist/test/msan/CMakeLists.txt
  vendor/compiler-rt/dist/test/msan/Linux/forkpty.cc
  vendor/compiler-rt/dist/test/msan/Linux/obstack.cc
  vendor/compiler-rt/dist/test/msan/Linux/process_vm_readv.cc
  vendor/compiler-rt/dist/test/msan/Linux/syscalls_sigaction.cc
  vendor/compiler-rt/dist/test/msan/allocator_mapping.cc
  vendor/compiler-rt/dist/test/msan/backtrace.cc
  vendor/compiler-rt/dist/test/msan/chained_origin.cc
  vendor/compiler-rt/dist/test/msan/chained_origin_limits.cc
  vendor/compiler-rt/dist/test/msan/chained_origin_memcpy.cc
  vendor/compiler-rt/dist/test/msan/coverage-levels.cc
  vendor/compiler-rt/dist/test/msan/fork.cc
  vendor/compiler-rt/dist/test/msan/iconv.cc
  vendor/compiler-rt/dist/test/msan/lit.cfg
  vendor/compiler-rt/dist/test/msan/mmap.cc
  vendor/compiler-rt/dist/test/msan/msan_check_mem_is_initialized.cc
  vendor/compiler-rt/dist/test/msan/msan_copy_shadow.cc
  vendor/compiler-rt/dist/test/msan/print_stats.cc
  vendor/compiler-rt/dist/test/msan/realloc-large-origin.cc
  vendor/compiler-rt/dist/test/msan/strlen_of_shadow.cc
  vendor/compiler-rt/dist/test/profile/CMakeLists.txt
  vendor/compiler-rt/dist/test/profile/Inputs/extern_template.h
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-comdat.h
  vendor/compiler-rt/dist/test/profile/Inputs/instrprof-dynamic-a.cpp
  vendor/compiler-rt/dist/test/profile/Linux/coverage_ctors.cpp
  vendor/compiler-rt/dist/test/profile/Linux/coverage_dtor.cpp
  vendor/compiler-rt/dist/test/profile/Linux/coverage_test.cpp
  vendor/compiler-rt/dist/test/profile/Linux/extern_template.test
  vendor/compiler-rt/dist/test/profile/Linux/instrprof-comdat.test
  vendor/compiler-rt/dist/test/profile/Linux/lit.local.cfg
  vendor/compiler-rt/dist/test/profile/gcc-flag-compatibility.test
  vendor/compiler-rt/dist/test/profile/instrprof-basic.c
  vendor/compiler-rt/dist/test/profile/instrprof-icall-promo.test
  vendor/compiler-rt/dist/test/profile/instrprof-override-filename-then-reset-default.c
  vendor/compiler-rt/dist/test/profile/instrprof-override-filename-with-env.c
  vendor/compiler-rt/dist/test/profile/instrprof-override-filename.c
  vendor/compiler-rt/dist/test/profile/instrprof-value-prof-evict.test
  vendor/compiler-rt/dist/test/profile/instrprof-value-prof-shared.test
  vendor/compiler-rt/dist/test/profile/instrprof-value-prof.test
  vendor/compiler-rt/dist/test/profile/instrprof-visibility.cpp
  vendor/compiler-rt/dist/test/profile/lit.cfg
  vendor/compiler-rt/dist/test/safestack/lit.cfg
  vendor/compiler-rt/dist/test/sanitizer_common/CMakeLists.txt
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/soft_rss_limit_mb_test.cc
  vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/dedup_token_length_test.cc
  vendor/compiler-rt/dist/test/scudo/CMakeLists.txt
  vendor/compiler-rt/dist/test/scudo/alignment.cpp
  vendor/compiler-rt/dist/test/scudo/double-free.cpp
  vendor/compiler-rt/dist/test/scudo/lit.cfg
  vendor/compiler-rt/dist/test/scudo/lit.site.cfg.in
  vendor/compiler-rt/dist/test/scudo/malloc.cpp
  vendor/compiler-rt/dist/test/scudo/memalign.cpp
  vendor/compiler-rt/dist/test/scudo/mismatch.cpp
  vendor/compiler-rt/dist/test/scudo/overflow.cpp
  vendor/compiler-rt/dist/test/scudo/preinit.cpp
  vendor/compiler-rt/dist/test/scudo/realloc.cpp
  vendor/compiler-rt/dist/test/tsan/CMakeLists.txt
  vendor/compiler-rt/dist/test/tsan/Darwin/gcd-apply-race.mm
  vendor/compiler-rt/dist/test/tsan/Darwin/gcd-apply.mm
  vendor/compiler-rt/dist/test/tsan/atomic_free.cc
  vendor/compiler-rt/dist/test/tsan/fork_atexit.cc
  vendor/compiler-rt/dist/test/tsan/global_race.cc
  vendor/compiler-rt/dist/test/tsan/ignore_lib4.cc
  vendor/compiler-rt/dist/test/tsan/java.h
  vendor/compiler-rt/dist/test/tsan/libcxx/lit.local.cfg
  vendor/compiler-rt/dist/test/tsan/lit.cfg
  vendor/compiler-rt/dist/test/tsan/longjmp.cc
  vendor/compiler-rt/dist/test/tsan/longjmp2.cc
  vendor/compiler-rt/dist/test/tsan/longjmp3.cc
  vendor/compiler-rt/dist/test/tsan/longjmp4.cc
  vendor/compiler-rt/dist/test/tsan/map32bit.cc
  vendor/compiler-rt/dist/test/tsan/pie_test.cc
  vendor/compiler-rt/dist/test/tsan/signal_cond.cc
  vendor/compiler-rt/dist/test/tsan/signal_longjmp.cc
  vendor/compiler-rt/dist/test/tsan/simple_stack.c
  vendor/compiler-rt/dist/test/tsan/test.h
  vendor/compiler-rt/dist/test/ubsan/CMakeLists.txt
  vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/null.cpp
  vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr.cpp

Modified: vendor/compiler-rt/dist/CMakeLists.txt
==============================================================================
--- vendor/compiler-rt/dist/CMakeLists.txt	Mon Jan  2 19:18:17 2017	(r311119)
+++ vendor/compiler-rt/dist/CMakeLists.txt	Mon Jan  2 19:18:27 2017	(r311120)
@@ -1,14 +1,14 @@
 # CMake build for CompilerRT.
 #
 # This build assumes that CompilerRT is checked out into the
-# 'projects/compiler-rt' inside of an LLVM tree.
+# 'projects/compiler-rt' or 'runtimes/compiler-rt' inside of an LLVM tree.
 # Standalone build system for CompilerRT is not yet ready.
 #
 # An important constraint of the build is that it only produces libraries
 # based on the ability of the host toolchain to target various platforms.
 
 # Check if compiler-rt is built as a standalone project.
-if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR OR COMPILER_RT_STANDALONE_BUILD)
   project(CompilerRT C CXX ASM)
   set(COMPILER_RT_STANDALONE_BUILD TRUE)
 endif()
@@ -32,42 +32,17 @@ list(INSERT CMAKE_MODULE_PATH 0
   )
 
 include(base-config-ix)
+include(CompilerRTUtils)
 
 option(COMPILER_RT_BUILD_BUILTINS "Build builtins" ON)
 mark_as_advanced(COMPILER_RT_BUILD_BUILTINS)
 option(COMPILER_RT_BUILD_SANITIZERS "Build sanitizers" ON)
 mark_as_advanced(COMPILER_RT_BUILD_SANITIZERS)
+option(COMPILER_RT_BUILD_XRAY "Build xray" ON)
+mark_as_advanced(COMPILER_RT_BUILD_XRAY)
 
 if (COMPILER_RT_STANDALONE_BUILD)
-  if (NOT LLVM_CONFIG_PATH)
-    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")
-    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 LLVM_BINARY_DIR)
-  list(GET CONFIG_OUTPUT 1 LLVM_TOOLS_BINARY_DIR)
-  list(GET CONFIG_OUTPUT 2 LLVM_LIBRARY_DIR)
-  list(GET CONFIG_OUTPUT 3 LLVM_MAIN_SRC_DIR)
-
-  # Make use of LLVM CMake modules.
-  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")
-  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
-    ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
+  load_llvm_config()
 
   # Find Python interpreter.
   set(Python_ADDITIONAL_VERSIONS 2.7 2.6 2.5)
@@ -86,29 +61,10 @@ if (COMPILER_RT_STANDALONE_BUILD)
   set(LLVM_LIT_ARGS "${LIT_ARGS_DEFAULT}" CACHE STRING "Default options for lit")
 endif()
 
-set(COMPILER_RT_DEFAULT_TARGET_TRIPLE ${TARGET_TRIPLE} CACHE STRING
-    "Default triple for which compiler-rt runtimes will be built.")
-if(DEFINED COMPILER_RT_TEST_TARGET_TRIPLE)
-  # Backwards compatibility: this variable used to be called
-  # COMPILER_RT_TEST_TARGET_TRIPLE.
-  set(COMPILER_RT_DEFAULT_TARGET_TRIPLE ${COMPILER_RT_TEST_TARGET_TRIPLE})
-endif()
-
-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(GET TARGET_TRIPLE_LIST 2 COMPILER_RT_DEFAULT_TARGET_ABI)
-# Determine if test target triple is specified explicitly, and doesn't match the
-# default.
-if(NOT COMPILER_RT_DEFAULT_TARGET_TRIPLE STREQUAL TARGET_TRIPLE)
-  set(COMPILER_RT_HAS_EXPLICIT_DEFAULT_TARGET_TRIPLE TRUE)
-else()
-  set(COMPILER_RT_HAS_EXPLICIT_DEFAULT_TARGET_TRIPLE FALSE)
-endif()
+construct_compiler_rt_default_triple()
 if ("${COMPILER_RT_DEFAULT_TARGET_ABI}" STREQUAL "androideabi")
   set(ANDROID 1)
 endif()
-include(CompilerRTUtils)
 
 set(COMPILER_RT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
 set(COMPILER_RT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
@@ -129,12 +85,25 @@ option(COMPILER_RT_EXTERNALIZE_DEBUGINFO
 # COMPILER_RT_DEBUG_PYBOOL is used by lit.common.configured.in.
 pythonize_bool(COMPILER_RT_DEBUG)
 
+include(config-ix)
+
+if(APPLE AND SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.9")
+  # Mac OS X prior to 10.9 had problems with exporting symbols from
+  # libc++/libc++abi.
+  set(use_cxxabi_default OFF)
+elseif(MSVC)
+  set(use_cxxabi_default OFF)
+else()
+  set(use_cxxabi_default ON)
+endif()
+
+option(SANITIZER_CAN_USE_CXXABI "Sanitizers can use cxxabi" ${use_cxxabi_default})
+pythonize_bool(SANITIZER_CAN_USE_CXXABI)
+
 #================================
 # Setup Compiler Flags
 #================================
 
-include(config-ix)
-
 if(MSVC)
   # Override any existing /W flags with /W4. This is what LLVM does.  Failing to
   # remove other /W[0-4] flags will result in a warning about overriding a
@@ -160,7 +129,9 @@ if(NOT COMPILER_RT_HAS_FUNC_SYMBOL)
 endif()
 
 # Provide some common commmandline flags for Sanitizer runtimes.
-append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC SANITIZER_COMMON_CFLAGS)
+if(NOT WIN32)
+  append_list_if(COMPILER_RT_HAS_FPIC_FLAG -fPIC SANITIZER_COMMON_CFLAGS)
+endif()
 append_list_if(COMPILER_RT_HAS_FNO_BUILTIN_FLAG -fno-builtin SANITIZER_COMMON_CFLAGS)
 append_list_if(COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG -fno-exceptions SANITIZER_COMMON_CFLAGS)
 if(NOT COMPILER_RT_DEBUG)
@@ -194,7 +165,7 @@ if(MSVC)
   # VS 2015 (version 1900) added support for thread safe static initialization.
   # However, ASan interceptors run before CRT initialization, which causes the
   # new thread safe code to crash. Disable this feature for now.
-  if (MSVC_VERSION GREATER 1899)
+  if (MSVC_VERSION GREATER 1899 OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
     list(APPEND SANITIZER_COMMON_CFLAGS /Zc:threadSafeInit-)
   endif()
 endif()
@@ -224,8 +195,20 @@ if(COMPILER_RT_HAS_GLINE_TABLES_ONLY_FLA
   list(APPEND SANITIZER_COMMON_CFLAGS -gline-tables-only)
 elseif(COMPILER_RT_HAS_G_FLAG)
   list(APPEND SANITIZER_COMMON_CFLAGS -g)
-elseif(COMPILER_RT_HAS_Zi_FLAG)
-  list(APPEND SANITIZER_COMMON_CFLAGS /Zi)
+elseif(MSVC)
+  # Use /Z7 instead of /Zi for the asan runtime. This avoids the LNK4099
+  # warning from the MS linker complaining that it can't find the 'vc140.pdb'
+  # file used by our object library compilations.
+  list(APPEND SANITIZER_COMMON_CFLAGS /Z7)
+  llvm_replace_compiler_option(CMAKE_CXX_FLAGS "/Z[i7I]" "/Z7")
+  llvm_replace_compiler_option(CMAKE_CXX_FLAGS_DEBUG "/Z[i7I]" "/Z7")
+  llvm_replace_compiler_option(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/Z[i7I]" "/Z7")
+endif()
+
+if(LLVM_ENABLE_MODULES)
+  # Sanitizers cannot be built with -fmodules. The interceptors intentionally
+  # don't include system headers, which is incompatible with modules.
+  list(APPEND SANITIZER_COMMON_CFLAGS -fno-modules)
 endif()
 
 # Turn off several warnings.
@@ -242,17 +225,6 @@ append_list_if(COMPILER_RT_HAS_WD4800_FL
 # Warnings to turn off for all libraries, not just sanitizers.
 append_string_if(COMPILER_RT_HAS_WUNUSED_PARAMETER_FLAG -Wno-unused-parameter CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
 
-if(APPLE AND SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.9")
-  # Mac OS X prior to 10.9 had problems with exporting symbols from
-  # libc++/libc++abi.
-  set(SANITIZER_CAN_USE_CXXABI FALSE)
-elseif(MSVC)
-  set(SANITIZER_CAN_USE_CXXABI FALSE)
-else()
-  set(SANITIZER_CAN_USE_CXXABI TRUE)
-endif()
-pythonize_bool(SANITIZER_CAN_USE_CXXABI)
-
 add_subdirectory(include)
 
 set(COMPILER_RT_LIBCXX_PATH ${LLVM_MAIN_SRC_DIR}/projects/libcxx)

Modified: vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake	Mon Jan  2 19:18:17 2017	(r311119)
+++ vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake	Mon Jan  2 19:18:27 2017	(r311120)
@@ -77,6 +77,15 @@ macro(format_object_libs output suffix)
   endforeach()
 endmacro()
 
+function(add_compiler_rt_component name)
+  add_custom_target(${name})
+  set_target_properties(${name} PROPERTIES FOLDER "Compiler-RT Misc")
+  if(COMMAND runtime_register_component)
+    runtime_register_component(${name})
+  endif()
+  add_dependencies(compiler-rt ${name})
+endfunction()
+
 # Adds static or shared runtime for a list of architectures and operating
 # systems and puts it in the proper directory in the build and install trees.
 # add_compiler_rt_runtime(<name>
@@ -164,6 +173,7 @@ function(add_compiler_rt_runtime name ty
                                 -P "${CMAKE_BINARY_DIR}/cmake_install.cmake")
       set_target_properties(install-${LIB_PARENT_TARGET} PROPERTIES
                             FOLDER "Compiler-RT Misc")
+      add_dependencies(install-compiler-rt install-${LIB_PARENT_TARGET})
     endif()
   endif()
 
@@ -185,8 +195,14 @@ function(add_compiler_rt_runtime name ty
     set_target_properties(${libname} PROPERTIES
         OUTPUT_NAME ${output_name_${libname}})
     set_target_properties(${libname} PROPERTIES FOLDER "Compiler-RT Runtime")
-    if(LIB_LINK_LIBS AND ${type} STREQUAL "SHARED")
-      target_link_libraries(${libname} ${LIB_LINK_LIBS})
+    if(${type} STREQUAL "SHARED")
+      if(LIB_LINK_LIBS)
+        target_link_libraries(${libname} ${LIB_LINK_LIBS})
+      endif()
+      if(WIN32 AND NOT CYGWIN AND NOT MINGW)
+        set_target_properties(${libname} PROPERTIES IMPORT_PREFIX "")
+        set_target_properties(${libname} PROPERTIES IMPORT_SUFFIX ".lib")
+      endif()
     endif()
     install(TARGETS ${libname}
       ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR}
@@ -253,12 +269,6 @@ if(MSVC)
 
   # gtest use a lot of stuff marked as deprecated on Windows.
   list(APPEND COMPILER_RT_GTEST_CFLAGS -Wno-deprecated-declarations)
-
-  # Visual Studio 2012 only supports up to 8 template parameters in
-  # std::tr1::tuple by default, but gtest requires 10
-  if(MSVC_VERSION EQUAL 1700)
-    list(APPEND COMPILER_RT_GTEST_CFLAGS -D_VARIADIC_MAX=10)
-  endif()
 endif()
 
 # Link objects into a single executable with COMPILER_RT_TEST_COMPILER,

Modified: vendor/compiler-rt/dist/cmake/Modules/BuiltinTests.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/BuiltinTests.cmake	Mon Jan  2 19:18:17 2017	(r311119)
+++ vendor/compiler-rt/dist/cmake/Modules/BuiltinTests.cmake	Mon Jan  2 19:18:27 2017	(r311120)
@@ -1,3 +1,4 @@
+include(CMakeCheckCompilerFlagCommonPatterns)
 
 # This function takes an OS and a list of architectures and identifies the
 # subset of the architectures list that the installed toolchain can target.
@@ -10,7 +11,13 @@ function(try_compile_only output)
   file(WRITE ${SIMPLE_C} "${ARG_SOURCE}\n")
   string(REGEX MATCHALL "<[A-Za-z0-9_]*>" substitutions
          ${CMAKE_C_COMPILE_OBJECT})
-  string(REPLACE ";" " " extra_flags "${ARG_FLAGS}")
+
+  set(TRY_COMPILE_FLAGS "${ARG_FLAGS}")
+  if(CMAKE_C_COMPILER_ID MATCHES Clang AND CMAKE_C_COMPILER_TARGET)
+    list(APPEND TRY_COMPILE_FLAGS "-target ${CMAKE_C_COMPILER_TARGET}")
+  endif()
+
+  string(REPLACE ";" " " extra_flags "${TRY_COMPILE_FLAGS}")
 
   set(test_compile_command "${CMAKE_C_COMPILE_OBJECT}")
   foreach(substitution ${substitutions})
@@ -41,7 +48,19 @@ function(try_compile_only output)
     OUTPUT_VARIABLE TEST_OUTPUT
     ERROR_VARIABLE TEST_ERROR
   )
-  if(result EQUAL 0)
+
+  CHECK_COMPILER_FLAG_COMMON_PATTERNS(_CheckCCompilerFlag_COMMON_PATTERNS)
+  set(ERRORS_FOUND OFF)
+  foreach(var ${_CheckCCompilerFlag_COMMON_PATTERNS})
+    if("${var}" STREQUAL "FAIL_REGEX")
+      continue()
+    endif()
+    if("${TEST_ERROR}" MATCHES "${var}" OR "${TEST_OUTPUT}" MATCHES "${var}")
+      set(ERRORS_FOUND ON)
+    endif()
+  endforeach()
+
+  if(result EQUAL 0 AND NOT ERRORS_FOUND)
     set(${output} True PARENT_SCOPE)
   else()
     file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log

Modified: vendor/compiler-rt/dist/cmake/Modules/CompilerRTDarwinUtils.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/CompilerRTDarwinUtils.cmake	Mon Jan  2 19:18:17 2017	(r311119)
+++ vendor/compiler-rt/dist/cmake/Modules/CompilerRTDarwinUtils.cmake	Mon Jan  2 19:18:27 2017	(r311120)
@@ -7,13 +7,15 @@ function(find_darwin_sdk_dir var sdk_nam
   # Let's first try the internal SDK, otherwise use the public SDK.
   execute_process(
     COMMAND xcodebuild -version -sdk ${sdk_name}.internal Path
+    RESULT_VARIABLE result_process
     OUTPUT_VARIABLE var_internal
     OUTPUT_STRIP_TRAILING_WHITESPACE
     ERROR_FILE /dev/null
   )
-  if("" STREQUAL "${var_internal}")
+  if((NOT result_process EQUAL 0) OR "" STREQUAL "${var_internal}")
     execute_process(
       COMMAND xcodebuild -version -sdk ${sdk_name} Path
+      RESULT_VARIABLE result_process
       OUTPUT_VARIABLE var_internal
       OUTPUT_STRIP_TRAILING_WHITESPACE
       ERROR_FILE /dev/null
@@ -21,7 +23,9 @@ function(find_darwin_sdk_dir var sdk_nam
   else()
     set(${var}_INTERNAL ${var_internal} PARENT_SCOPE)
   endif()
-  set(${var} ${var_internal} PARENT_SCOPE)
+  if(result_process EQUAL 0)
+    set(${var} ${var_internal} PARENT_SCOPE)
+  endif()
 endfunction()
 
 # There isn't a clear mapping of what architectures are supported with a given
@@ -256,30 +260,6 @@ function(darwin_filter_builtin_sources o
   set(${output_var} ${intermediate} PARENT_SCOPE)
 endfunction()
 
-function(darwin_add_eprintf_library)
-  cmake_parse_arguments(LIB
-    ""
-    ""
-    "CFLAGS"
-    ${ARGN})
-
-  add_library(clang_rt.eprintf STATIC eprintf.c)
-  set_target_compile_flags(clang_rt.eprintf
-    -isysroot ${DARWIN_osx_SYSROOT}
-    ${DARWIN_osx_BUILTIN_MIN_VER_FLAG}
-    -arch i386
-    ${LIB_CFLAGS})
-  set_target_properties(clang_rt.eprintf PROPERTIES
-      OUTPUT_NAME clang_rt.eprintf${COMPILER_RT_OS_SUFFIX})
-  set_target_properties(clang_rt.eprintf PROPERTIES
-    OSX_ARCHITECTURES i386)
-  add_dependencies(builtins clang_rt.eprintf)
-  set_target_properties(clang_rt.eprintf PROPERTIES
-        ARCHIVE_OUTPUT_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR})
-  install(TARGETS clang_rt.eprintf
-      ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR})
-endfunction()
-
 # Generates builtin libraries for all operating systems specified in ARGN. Each
 # OS library is constructed by lipo-ing together single-architecture libraries.
 macro(darwin_add_builtin_libraries)
@@ -350,8 +330,6 @@ macro(darwin_add_builtin_libraries)
     endif()
   endforeach()
 
-  darwin_add_eprintf_library(CFLAGS ${CFLAGS})
-
   # We put the x86 sim slices into the archives for their base OS
   foreach (os ${ARGN})
     if(NOT ${os} MATCHES ".*sim$")

Modified: vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake	Mon Jan  2 19:18:17 2017	(r311119)
+++ vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake	Mon Jan  2 19:18:27 2017	(r311120)
@@ -49,7 +49,7 @@ macro(append_string_if condition value)
 endmacro()
 
 macro(append_rtti_flag polarity list)
-  if(polarity)
+  if(${polarity})
     append_list_if(COMPILER_RT_HAS_FRTTI_FLAG -frtti ${list})
     append_list_if(COMPILER_RT_HAS_GR_FLAG /GR ${list})
   else()
@@ -76,6 +76,18 @@ macro(list_intersect output input1 input
   endforeach()
 endmacro()
 
+function(list_replace input_list old new)
+  set(replaced_list)
+  foreach(item ${${input_list}})
+    if(${item} STREQUAL ${old})
+      list(APPEND replaced_list ${new})
+    else()
+      list(APPEND replaced_list ${item})
+    endif()
+  endforeach()
+  set(${input_list} "${replaced_list}" PARENT_SCOPE)
+endfunction()
+
 # Takes ${ARGN} and puts only supported architectures in @out_var list.
 function(filter_available_targets out_var)
   set(archs ${${out_var}})
@@ -88,6 +100,13 @@ function(filter_available_targets out_va
   set(${out_var} ${archs} PARENT_SCOPE)
 endfunction()
 
+# Add $arch as supported with no additional flags.
+macro(add_default_target_arch arch)
+  set(TARGET_${arch}_CFLAGS "")
+  set(CAN_TARGET_${arch} 1)
+  list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
+endmacro()
+
 function(check_compile_definition def argstring out_var)
   if("${def}" STREQUAL "")
     set(${out_var} TRUE PARENT_SCOPE)
@@ -113,20 +132,26 @@ macro(test_target_arch arch def)
     set(argstring "${argstring} ${arg}")
   endforeach()
   check_compile_definition("${def}" "${argstring}" HAS_${arch}_DEF)
-  if(NOT HAS_${arch}_DEF)
-    set(CAN_TARGET_${arch} FALSE)
-  elseif(TEST_COMPILE_ONLY)
-    try_compile_only(CAN_TARGET_${arch} ${TARGET_${arch}_CFLAGS})
-  else()
-    set(argstring "${CMAKE_EXE_LINKER_FLAGS} ${argstring}")
-    try_compile(CAN_TARGET_${arch} ${CMAKE_BINARY_DIR} ${SIMPLE_SOURCE}
-                COMPILE_DEFINITIONS "${TARGET_${arch}_CFLAGS}"
-                OUTPUT_VARIABLE TARGET_${arch}_OUTPUT
-                CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS:STRING=${argstring}")
+  if(NOT DEFINED CAN_TARGET_${arch})
+    if(NOT HAS_${arch}_DEF)
+      set(CAN_TARGET_${arch} FALSE)
+    elseif(TEST_COMPILE_ONLY)
+      try_compile_only(CAN_TARGET_${arch} ${TARGET_${arch}_CFLAGS})
+    else()
+      set(argstring "${CMAKE_EXE_LINKER_FLAGS} ${argstring}")
+      set(FLAG_NO_EXCEPTIONS "")
+      if(COMPILER_RT_HAS_FNO_EXCEPTIONS_FLAG)
+        set(FLAG_NO_EXCEPTIONS " -fno-exceptions ")
+      endif()
+      try_compile(CAN_TARGET_${arch} ${CMAKE_BINARY_DIR} ${SIMPLE_SOURCE}
+                  COMPILE_DEFINITIONS "${TARGET_${arch}_CFLAGS} ${FLAG_NO_EXCEPTIONS}"
+                  OUTPUT_VARIABLE TARGET_${arch}_OUTPUT
+                  CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS:STRING=${argstring}")
+    endif()
   endif()
   if(${CAN_TARGET_${arch}})
     list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
-  elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "${arch}" AND
+  elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" STREQUAL "${arch}" AND
          COMPILER_RT_HAS_EXPLICIT_DEFAULT_TARGET_TRIPLE)
     # Bail out if we cannot target the architecture we plan to test.
     message(FATAL_ERROR "Cannot compile for ${arch}:\n${TARGET_${arch}_OUTPUT}")
@@ -166,3 +191,73 @@ macro(detect_target_arch)
     add_default_target_arch(wasm64)
   endif()
 endmacro()
+
+macro(load_llvm_config)
+  if (NOT LLVM_CONFIG_PATH)
+    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")
+    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)
+
+  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")
+
+  # Make use of LLVM CMake modules.
+  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")
+  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})
+endmacro()
+
+macro(construct_compiler_rt_default_triple)
+  if(COMPILER_RT_DEFAULT_TARGET_ONLY)
+    if(DEFINED COMPILER_RT_DEFAULT_TARGET_TRIPLE)
+      message(FATAL_ERROR "COMPILER_RT_DEFAULT_TARGET_TRIPLE isn't supported when building for default target only")
+    endif()
+    set(COMPILER_RT_DEFAULT_TARGET_TRIPLE ${CMAKE_C_COMPILER_TARGET})
+  else()
+    set(COMPILER_RT_DEFAULT_TARGET_TRIPLE ${TARGET_TRIPLE} CACHE STRING
+          "Default triple for which compiler-rt runtimes will be built.")
+  endif()
+
+  if(DEFINED COMPILER_RT_TEST_TARGET_TRIPLE)
+    # Backwards compatibility: this variable used to be called
+    # COMPILER_RT_TEST_TARGET_TRIPLE.
+    set(COMPILER_RT_DEFAULT_TARGET_TRIPLE ${COMPILER_RT_TEST_TARGET_TRIPLE})
+  endif()
+
+  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)
+    set(COMPILER_RT_HAS_EXPLICIT_DEFAULT_TARGET_TRIPLE TRUE)
+  else()
+    set(COMPILER_RT_HAS_EXPLICIT_DEFAULT_TARGET_TRIPLE FALSE)
+  endif()
+endmacro()

Modified: vendor/compiler-rt/dist/cmake/base-config-ix.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/base-config-ix.cmake	Mon Jan  2 19:18:17 2017	(r311119)
+++ vendor/compiler-rt/dist/cmake/base-config-ix.cmake	Mon Jan  2 19:18:27 2017	(r311120)
@@ -8,6 +8,7 @@ check_include_file(unwind.h HAVE_UNWIND_
 
 # Top level target used to build all compiler-rt libraries.
 add_custom_target(compiler-rt ALL)
+add_custom_target(install-compiler-rt)
 set_target_properties(compiler-rt PROPERTIES FOLDER "Compiler-RT Misc")
 
 # Setting these variables from an LLVM build is sufficient that compiler-rt can
@@ -80,9 +81,20 @@ if(APPLE)
     set(OSX_SYSROOT_FLAG "-isysroot${OSX_SYSROOT}")
   endif()
 
-  option(COMPILER_RT_ENABLE_IOS "Enable building for iOS" Off)
+  option(COMPILER_RT_ENABLE_IOS "Enable building for iOS" On)
   option(COMPILER_RT_ENABLE_WATCHOS "Enable building for watchOS - Experimental" Off)
   option(COMPILER_RT_ENABLE_TVOS "Enable building for tvOS - Experimental" Off)
+else()
+  option(COMPILER_RT_DEFAULT_TARGET_ONLY "Build builtins only for the default target" Off)
+endif()
+
+if(WIN32 AND NOT MINGW AND NOT CYGWIN)
+  set(CMAKE_SHARED_LIBRARY_PREFIX_C "")
+  set(CMAKE_SHARED_LIBRARY_PREFIX_CXX "")
+  set(CMAKE_STATIC_LIBRARY_PREFIX_C "")
+  set(CMAKE_STATIC_LIBRARY_PREFIX_CXX "")
+  set(CMAKE_STATIC_LIBRARY_SUFFIX_C ".lib")
+  set(CMAKE_STATIC_LIBRARY_SUFFIX_CXX ".lib")
 endif()
 
 macro(test_targets)
@@ -117,7 +129,9 @@ macro(test_targets)
     detect_target_arch()
     set(COMPILER_RT_OS_SUFFIX "-android")
   elseif(NOT APPLE) # Supported archs for Apple platforms are generated later
-    if("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "i[2-6]86|x86|amd64")
+    if(COMPILER_RT_DEFAULT_TARGET_ONLY)
+      add_default_target_arch(${COMPILER_RT_DEFAULT_TARGET_ARCH})
+    elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "i[2-6]86|x86|amd64")
       if(NOT MSVC)
         test_target_arch(x86_64 "" "-m64")
         # FIXME: We build runtimes for both i686 and i386, as "clang -m32" may
@@ -153,8 +167,12 @@ macro(test_targets)
       test_target_arch(mips "" "-mips32r2" "--target=mips-linux-gnu")
       test_target_arch(mips64 "" "-mips64r2" "--target=mips64-linux-gnu" "-mabi=64")
     elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "arm")
-      test_target_arch(arm "" "-march=armv7-a" "-mfloat-abi=soft")
-      test_target_arch(armhf "" "-march=armv7-a" "-mfloat-abi=hard")
+      if(WIN32)
+        test_target_arch(arm "" "" "")
+      else()
+        test_target_arch(arm "" "-march=armv7-a" "-mfloat-abi=soft")
+        test_target_arch(armhf "" "-march=armv7-a" "-mfloat-abi=hard")
+      endif()
     elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch32")
       test_target_arch(aarch32 "" "-march=armv8-a")
     elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "aarch64")

Modified: vendor/compiler-rt/dist/cmake/builtin-config-ix.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/builtin-config-ix.cmake	Mon Jan  2 19:18:17 2017	(r311119)
+++ vendor/compiler-rt/dist/cmake/builtin-config-ix.cmake	Mon Jan  2 19:18:27 2017	(r311120)
@@ -4,18 +4,17 @@ include(CheckCSourceCompiles)
 # Make all the tests only check the compiler
 set(TEST_COMPILE_ONLY On)
 
+# Check host compiler support for certain flags
 builtin_check_c_compiler_flag(-fPIC                 COMPILER_RT_HAS_FPIC_FLAG)
 builtin_check_c_compiler_flag(-fPIE                 COMPILER_RT_HAS_FPIE_FLAG)
 builtin_check_c_compiler_flag(-fno-builtin          COMPILER_RT_HAS_FNO_BUILTIN_FLAG)
-builtin_check_c_compiler_flag(-std=c99              COMPILER_RT_HAS_STD_C99_FLAG)
+builtin_check_c_compiler_flag(-std=c11              COMPILER_RT_HAS_STD_C11_FLAG)
 builtin_check_c_compiler_flag(-fvisibility=hidden   COMPILER_RT_HAS_VISIBILITY_HIDDEN_FLAG)
 builtin_check_c_compiler_flag(-fomit-frame-pointer  COMPILER_RT_HAS_OMIT_FRAME_POINTER_FLAG)
 builtin_check_c_compiler_flag(-ffreestanding        COMPILER_RT_HAS_FREESTANDING_FLAG)
-builtin_check_c_compiler_flag(-mfloat-abi=soft      COMPILER_RT_HAS_FLOAT_ABI_SOFT_FLAG)
-builtin_check_c_compiler_flag(-mfloat-abi=hard      COMPILER_RT_HAS_FLOAT_ABI_HARD_FLAG)
-builtin_check_c_compiler_flag(-static               COMPILER_RT_HAS_STATIC_FLAG)
+builtin_check_c_compiler_flag(-fxray-instrument     COMPILER_RT_HAS_XRAY_COMPILER_FLAG)
 
-builtin_check_c_compiler_source(COMPILER_RT_SUPPORTS_ATOMIC_KEYWORD
+builtin_check_c_compiler_source(COMPILER_RT_HAS_ATOMIC_KEYWORD
 "
 int foo(int x, int y) {
  _Atomic int result = x * y;

Modified: vendor/compiler-rt/dist/cmake/config-ix.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/config-ix.cmake	Mon Jan  2 19:18:17 2017	(r311119)
+++ vendor/compiler-rt/dist/cmake/config-ix.cmake	Mon Jan  2 19:18:27 2017	(r311120)
@@ -29,6 +29,7 @@ check_cxx_compiler_flag(-std=c++11      
 check_cxx_compiler_flag(-ftls-model=initial-exec COMPILER_RT_HAS_FTLS_MODEL_INITIAL_EXEC)
 check_cxx_compiler_flag(-fno-lto             COMPILER_RT_HAS_FNO_LTO_FLAG)
 check_cxx_compiler_flag("-Werror -msse3" COMPILER_RT_HAS_MSSE3_FLAG)
+check_cxx_compiler_flag("-Werror -msse4.2"   COMPILER_RT_HAS_MSSE4_2_FLAG)
 check_cxx_compiler_flag(--sysroot=.          COMPILER_RT_HAS_SYSROOT_FLAG)
 
 if(NOT WIN32 AND NOT CYGWIN)
@@ -93,14 +94,7 @@ set(COMPILER_RT_SUPPORTED_ARCH)
 # runtime libraries supported by our current compilers cross-compiling
 # abilities.
 set(SIMPLE_SOURCE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/simple.cc)
-file(WRITE ${SIMPLE_SOURCE} "#include <stdlib.h>\n#include <limits>\nint main() {}\n")
-
-# Add $arch as supported with no additional flags.
-macro(add_default_target_arch arch)
-  set(TARGET_${arch}_CFLAGS "")
-  set(CAN_TARGET_${arch} 1)
-  list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
-endmacro()
+file(WRITE ${SIMPLE_SOURCE} "#include <stdlib.h>\n#include <stdio.h>\nint main() { printf(\"hello, world\"); }\n")
 
 # Detect whether the current target platform is 32-bit or 64-bit, and setup
 # the correct commandline flags needed to attempt to target 32-bit and 64-bit.
@@ -128,6 +122,24 @@ function(get_target_flags_for_arch arch 
   endif()
 endfunction()
 
+# Returns a compiler and CFLAGS that should be used to run tests for the
+# specific architecture.  When cross-compiling, this is controled via
+# COMPILER_RT_TEST_COMPILER and COMPILER_RT_TEST_COMPILER_CFLAGS.
+macro(get_test_cc_for_arch arch cc_out cflags_out)
+  if(ANDROID OR ${arch} MATCHES "arm|aarch64")
+    # This is only true if we are cross-compiling.
+    # Build all tests with host compiler and use host tools.
+    set(${cc_out} ${COMPILER_RT_TEST_COMPILER})
+    set(${cflags_out} ${COMPILER_RT_TEST_COMPILER_CFLAGS})
+  else()
+    get_target_flags_for_arch(${arch} ${cflags_out})
+    if(APPLE)
+      list(APPEND ${cflags_out} ${DARWIN_osx_CFLAGS})
+    endif()
+    string(REPLACE ";" " " ${cflags_out} "${${cflags_out}}")
+  endif()
+endmacro()
+
 set(ARM64 aarch64)
 set(ARM32 arm armhf)
 set(X86 i386 i686)
@@ -148,19 +160,20 @@ endif()
 set(ALL_SANITIZER_COMMON_SUPPORTED_ARCH ${X86} ${X86_64} ${PPC64}
     ${ARM32} ${ARM64} ${MIPS32} ${MIPS64} ${S390X})
 set(ALL_ASAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}
-    ${MIPS32} ${MIPS64} ${PPC64})
+    ${MIPS32} ${MIPS64} ${PPC64} ${S390X})
 set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
 set(ALL_LSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
 set(ALL_MSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64})
 set(ALL_PROFILE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${PPC64}
-    ${MIPS32} ${MIPS64})
+    ${MIPS32} ${MIPS64} ${S390X})
 set(ALL_TSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64})
 set(ALL_UBSAN_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64}
     ${MIPS32} ${MIPS64} ${PPC64} ${S390X})
 set(ALL_SAFESTACK_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM64} ${MIPS32} ${MIPS64})
 set(ALL_CFI_SUPPORTED_ARCH ${X86} ${X86_64} ${MIPS64})
-set(ALL_ESAN_SUPPORTED_ARCH ${X86_64})
-set(ALL_SCUDO_SUPPORTED_ARCH ${X86_64})
+set(ALL_ESAN_SUPPORTED_ARCH ${X86_64} ${MIPS64})
+set(ALL_SCUDO_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32})
+set(ALL_XRAY_SUPPORTED_ARCH ${X86_64} ${ARM32} ${ARM64})
 
 if(APPLE)
   include(CompilerRTDarwinUtils)
@@ -173,6 +186,14 @@ if(APPLE)
   find_darwin_sdk_dir(DARWIN_tvossim_SYSROOT appletvsimulator)
   find_darwin_sdk_dir(DARWIN_tvos_SYSROOT appletvos)
 
+  if(NOT DARWIN_osx_SYSROOT)
+    if(EXISTS /usr/include)
+      set(DARWIN_osx_SYSROOT /)
+    else()
+      message(ERROR "Could not detect OS X Sysroot. Either install Xcode or the Apple Command Line Tools")
+    endif()
+  endif()
+
   if(COMPILER_RT_ENABLE_IOS)
     list(APPEND DARWIN_EMBEDDED_PLATFORMS ios)
     set(DARWIN_ios_MIN_VER_FLAG -miphoneos-version-min)
@@ -208,7 +229,11 @@ if(APPLE)
       set(SANITIZER_MIN_OSX_VERSION 10.9)
     endif()
     if(SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.7")
-      message(FATAL_ERROR "Too old OS X version: ${SANITIZER_MIN_OSX_VERSION}")
+      message(FATAL_ERROR "macOS deployment target '${SANITIZER_MIN_OSX_VERSION}' is too old.")
+    endif()
+    if(SANITIZER_MIN_OSX_VERSION VERSION_GREATER "10.9")
+      message(WARNING "macOS deployment target '${SANITIZER_MIN_OSX_VERSION}' is too new, setting to '10.9' instead.")
+      set(SANITIZER_MIN_OSX_VERSION 10.9)
     endif()
   endif()
 
@@ -268,7 +293,7 @@ if(APPLE)
           DARWIN_${platform}sim_ARCHS
           ${toolchain_arches})
         message(STATUS "${platform} Simulator supported arches: ${DARWIN_${platform}sim_ARCHS}")
-        if(DARWIN_${platform}_ARCHS)
+        if(DARWIN_${platform}sim_ARCHS)
           list(APPEND SANITIZER_COMMON_SUPPORTED_OS ${platform}sim)
           list(APPEND PROFILE_SUPPORTED_OS ${platform}sim)
           if(DARWIN_${platform}_SYSROOT_INTERNAL)
@@ -350,6 +375,9 @@ if(APPLE)
   list_intersect(SCUDO_SUPPORTED_ARCH
     ALL_SCUDO_SUPPORTED_ARCH
     SANITIZER_COMMON_SUPPORTED_ARCH)
+  list_intersect(XRAY_SUPPORTED_ARCH
+    ALL_XRAY_SUPPORTED_ARCH
+		SANITIZER_COMMON_SUPPORTED_ARCH)
 else()
   # Architectures supported by compiler-rt libraries.
   filter_available_targets(SANITIZER_COMMON_SUPPORTED_ARCH
@@ -371,8 +399,8 @@ else()
     ${ALL_SAFESTACK_SUPPORTED_ARCH})
   filter_available_targets(CFI_SUPPORTED_ARCH ${ALL_CFI_SUPPORTED_ARCH})
   filter_available_targets(ESAN_SUPPORTED_ARCH ${ALL_ESAN_SUPPORTED_ARCH})
-  filter_available_targets(SCUDO_SUPPORTED_ARCH
-    ${ALL_SCUDO_SUPPORTED_ARCH})
+  filter_available_targets(SCUDO_SUPPORTED_ARCH ${ALL_SCUDO_SUPPORTED_ARCH})
+  filter_available_targets(XRAY_SUPPORTED_ARCH ${ALL_XRAY_SUPPORTED_ARCH})
 endif()
 
 if (MSVC)
@@ -387,6 +415,11 @@ else()
   set(CAN_SYMBOLIZE 1)
 endif()
 
+find_program(GOLD_EXECUTABLE NAMES ${LLVM_DEFAULT_TARGET_TRIPLE}-ld.gold ld.gold ${LLVM_DEFAULT_TARGET_TRIPLE}-ld ld DOC "The gold linker")
+
+if(COMPILER_RT_SUPPORTED_ARCH)
+  list(REMOVE_DUPLICATES COMPILER_RT_SUPPORTED_ARCH)
+endif()
 message(STATUS "Compiler-RT supported architectures: ${COMPILER_RT_SUPPORTED_ARCH}")
 
 if(ANDROID)
@@ -395,9 +428,14 @@ else()
   set(OS_NAME "${CMAKE_SYSTEM_NAME}")
 endif()
 
+set(ALL_SANITIZERS asan;dfsan;msan;tsan;safestack;cfi;esan;scudo)
+set(COMPILER_RT_SANITIZERS_TO_BUILD ${ALL_SANITIZERS} CACHE STRING
+    "sanitizers to build if supported on the target (all;${ALL_SANITIZERS})")
+list_replace(COMPILER_RT_SANITIZERS_TO_BUILD all "${ALL_SANITIZERS}")
+
 if (SANITIZER_COMMON_SUPPORTED_ARCH AND NOT LLVM_USE_SANITIZER AND
     (OS_NAME MATCHES "Android|Darwin|Linux|FreeBSD" OR
-    (OS_NAME MATCHES "Windows" AND MSVC)))
+    (OS_NAME MATCHES "Windows" AND (NOT MINGW AND NOT CYGWIN))))
   set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)
 else()
   set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)
@@ -444,7 +482,7 @@ else()
   set(COMPILER_RT_HAS_MSAN FALSE)
 endif()
 
-if (PROFILE_SUPPORTED_ARCH AND
+if (PROFILE_SUPPORTED_ARCH AND NOT LLVM_USE_SANITIZER AND
     OS_NAME MATCHES "Darwin|Linux|FreeBSD|Windows")
   set(COMPILER_RT_HAS_PROFILE TRUE)
 else()
@@ -493,3 +531,9 @@ else()
   set(COMPILER_RT_HAS_SCUDO FALSE)
 endif()
 
+if (COMPILER_RT_HAS_SANITIZER_COMMON AND XRAY_SUPPORTED_ARCH AND
+    OS_NAME MATCHES "Linux")
+  set(COMPILER_RT_HAS_XRAY TRUE)
+else()
+  set(COMPILER_RT_HAS_XRAY FALSE)
+endif()

Added: vendor/compiler-rt/dist/docs/TestingGuide.rst
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/docs/TestingGuide.rst	Mon Jan  2 19:18:27 2017	(r311120)
@@ -0,0 +1,66 @@
+========================================
+Compiler-rt Testing Infrastructure Guide
+========================================
+
+.. contents::
+   :local:
+
+Overview
+========
+
+This document is the reference manual for the compiler-rt modifications to the
+testing infrastructure. Documentation for the infrastructure itself can be found at
+:ref:`llvm_testing_guide`.
+
+LLVM testing infrastructure organization
+========================================
+
+The compiler-rt testing infrastructure contains regression tests which are run
+as part of the usual ``make check-all`` and are expected to always pass -- they
+should be run before every commit.
+
+Quick start
+===========
+
+The regressions tests are in the "compiler-rt" module and are normally checked
+out in the directory ``llvm/projects/compiler-rt/test``. Use ``make check-all``
+to run the regression tests after building compiler-rt.
+
+REQUIRES, XFAIL, etc.
+---------------------
+
+Sometimes it is necessary to restrict a test to a specific target or mark it as
+an "expected fail" or XFAIL. This is normally achieved using ``REQUIRES:`` or
+``XFAIL:`` with a substring of LLVM's default target triple. Unfortunately, the
+behaviour of this is somewhat quirky in compiler-rt. There are two main
+pitfalls to avoid.
+
+The first pitfall is that these directives perform a substring match on the
+triple and as such ``XFAIL: mips`` affects more triples than expected. For
+example, ``mips-linux-gnu``, ``mipsel-linux-gnu``, ``mips64-linux-gnu``, and
+``mips64el-linux-gnu`` will all match a ``XFAIL: mips`` directive. Including a
+trailing ``-`` such as in ``XFAIL: mips-`` can help to mitigate this quirk but
+even that has issues as described below.
+
+The second pitfall is that the default target triple is often inappropriate for
+compiler-rt tests since compiler-rt tests may be compiled for multiple targets.
+For example, a typical build on an ``x86_64-linux-gnu`` host will often run the
+tests for both x86_64 and i386. In this situation ``XFAIL: x86_64`` will mark
+both the x86_64 and i386 tests as an expected failure while ``XFAIL: i386``
+will have no effect at all.
+
+To remedy both pitfalls, compiler-rt tests provide a feature string which can
+be used to specify a single target. This string is of the form
+``target-is-${arch}`` where ``${arch}}`` is one of the values from the
+following lines of the CMake output::
+
+  -- Compiler-RT supported architectures: x86_64;i386
+  -- Builtin supported architectures: i386;x86_64
+
+So for example ``XFAIL: target-is-x86_64`` will mark a test as expected to fail
+on x86_64 without also affecting the i386 test and ``XFAIL: target-is-i386``
+will mark a test as expected to fail on i386 even if the default target triple
+is ``x86_64-linux-gnu``. Directives that use these ``target-is-${arch}`` string
+require exact matches so ``XFAIL: target-is-mips``,
+``XFAIL: target-is-mipsel``, ``XFAIL: target-is-mips64``, and
+``XFAIL: target-is-mips64el`` all refer to different MIPS targets.

Modified: vendor/compiler-rt/dist/include/CMakeLists.txt
==============================================================================
--- vendor/compiler-rt/dist/include/CMakeLists.txt	Mon Jan  2 19:18:17 2017	(r311119)
+++ vendor/compiler-rt/dist/include/CMakeLists.txt	Mon Jan  2 19:18:27 2017	(r311120)
@@ -10,11 +10,18 @@ set(SANITIZER_HEADERS
   sanitizer/msan_interface.h
   sanitizer/tsan_interface_atomic.h)
 
+set(XRAY_HEADERS
+  xray/xray_interface.h)
+
+set(COMPILER_RT_HEADERS
+  ${SANITIZER_HEADERS}
+	${XRAY_HEADERS})
+
 set(output_dir ${COMPILER_RT_OUTPUT_DIR}/include)
 
 # Copy compiler-rt headers to the build tree.
 set(out_files)
-foreach( f ${SANITIZER_HEADERS} )
+foreach( f ${COMPILER_RT_HEADERS} )
   set( src ${CMAKE_CURRENT_SOURCE_DIR}/${f} )
   set( dst ${output_dir}/${f} )
   add_custom_command(OUTPUT ${dst}
@@ -32,3 +39,7 @@ set_target_properties(compiler-rt-header
 install(FILES ${SANITIZER_HEADERS}
   PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
   DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/sanitizer)
+# Install xray headers.
+install(FILES ${XRAY_HEADERS}
+  PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ
+  DESTINATION ${COMPILER_RT_INSTALL_PATH}/include/xray)

Modified: vendor/compiler-rt/dist/include/sanitizer/common_interface_defs.h
==============================================================================
--- vendor/compiler-rt/dist/include/sanitizer/common_interface_defs.h	Mon Jan  2 19:18:17 2017	(r311119)
+++ vendor/compiler-rt/dist/include/sanitizer/common_interface_defs.h	Mon Jan  2 19:18:27 2017	(r311120)
@@ -117,6 +117,16 @@ extern "C" {
   // Print the stack trace leading to this call. Useful for debugging user code.
   void __sanitizer_print_stack_trace();
 
+  // Symbolizes the supplied 'pc' using the format string 'fmt'.
+  // Outputs at most 'out_buf_size' bytes into 'out_buf'.
+  // 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,
+                                size_t out_buf_size);
+  // Same as __sanitizer_symbolize_pc, but for data section (i.e. globals).
+  void __sanitizer_symbolize_global(void *data_ptr, const char *fmt,
+                                    char *out_buf, size_t out_buf_size);
+
   // Sets the callback to be called right before death on error.
   // Passing 0 will unset the callback.
   void __sanitizer_set_death_callback(void (*callback)(void));
@@ -169,7 +179,16 @@ extern "C" {
   // use-after-return detection.
   void __sanitizer_start_switch_fiber(void **fake_stack_save,
                                       const void *bottom, size_t size);
-  void __sanitizer_finish_switch_fiber(void *fake_stack_save);
+  void __sanitizer_finish_switch_fiber(void *fake_stack_save,
+                                       const void **bottom_old,
+                                       size_t *size_old);
+
+  // Get full module name and calculate pc offset within it.
+  // Returns 1 if pc belongs to some module, 0 if module was not found.
+  int __sanitizer_get_module_and_offset_for_pc(void *pc, char *module_path,
+                                               size_t module_path_len,
+                                               void **pc_offset);
+
 #ifdef __cplusplus
 }  // extern "C"
 #endif

Modified: vendor/compiler-rt/dist/include/sanitizer/coverage_interface.h
==============================================================================
--- vendor/compiler-rt/dist/include/sanitizer/coverage_interface.h	Mon Jan  2 19:18:17 2017	(r311119)
+++ vendor/compiler-rt/dist/include/sanitizer/coverage_interface.h	Mon Jan  2 19:18:27 2017	(r311120)
@@ -23,6 +23,11 @@ extern "C" {
   void __sanitizer_cov_init();
   // Record and dump coverage info.
   void __sanitizer_cov_dump();
+
+  //  Dump collected coverage info. Sorts pcs by module into individual
+  //  .sancov files.
+  void __sanitizer_dump_coverage(const uintptr_t *pcs, uintptr_t len);
+
   // Open <name>.sancov.packed in the coverage directory and return the file
   // descriptor. Returns -1 on failure, or if coverage dumping is disabled.
   // This is intended for use by sandboxing code.
@@ -41,13 +46,6 @@ extern "C" {
   // Some of the entries in *data will be zero.
   uintptr_t __sanitizer_get_coverage_guards(uintptr_t **data);
 
-  // Set *data to the growing buffer with covered PCs and return the size
-  // of the buffer. The entries are never zero.
-  // When only unique pcs are collected, the size is equal to
-  // __sanitizer_get_total_unique_coverage.
-  // WARNING: EXPERIMENTAL API.
-  uintptr_t __sanitizer_get_coverage_pc_buffer(uintptr_t **data);
-
   // The coverage instrumentation may optionally provide imprecise counters.
   // Rather than exposing the counter values to the user we instead map
   // the counters to a bitset.
@@ -65,6 +63,7 @@ extern "C" {
   // __sanitizer_get_number_of_counters bytes long and 8-aligned.
   uintptr_t
   __sanitizer_update_counter_bitset_and_clear_counters(uint8_t *bitset);
+
 #ifdef __cplusplus
 }  // extern "C"
 #endif

Added: vendor/compiler-rt/dist/include/xray/xray_interface.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/include/xray/xray_interface.h	Mon Jan  2 19:18:27 2017	(r311120)
@@ -0,0 +1,65 @@
+//===-- xray_interface.h ----------------------------------------*- C++ -*-===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file is a part of XRay, a dynamic runtime instrumentation system.
+//
+// APIs for controlling XRay functionality explicitly.
+//===----------------------------------------------------------------------===//
+#ifndef XRAY_XRAY_INTERFACE_H
+#define XRAY_XRAY_INTERFACE_H
+
+#include <cstdint>
+
+extern "C" {
+
+enum XRayEntryType { ENTRY = 0, EXIT = 1, TAIL = 2 };
+
+// Provide a function to invoke for when instrumentation points are hit. This is
+// a user-visible control surface that overrides the default implementation. The
+// function provided should take the following arguments:
+//
+//   - function id: an identifier that indicates the id of a function; this id
+//                  is generated by xray; the mapping between the function id
+//                  and the actual function pointer is available through
+//                  __xray_table.
+//   - entry type: identifies what kind of instrumentation point was encountered
+//                 (function entry, function exit, etc.). See the enum
+//                 XRayEntryType for more details.
+//
+// The user handler must handle correctly spurious calls after this handler is
+// removed or replaced with another handler, because it would be too costly for
+// XRay runtime to avoid spurious calls.
+// To prevent circular calling, the handler function itself and all its
+// direct&indirect callees must not be instrumented with XRay, which can be
+// achieved by marking them all with: __attribute__((xray_never_instrument))
+//
+// Returns 1 on success, 0 on error.
+extern int __xray_set_handler(void (*entry)(int32_t, XRayEntryType));
+
+// This removes whatever the currently provided handler is. Returns 1 on
+// success, 0 on error.
+extern int __xray_remove_handler();
+
+enum XRayPatchingStatus {
+  NOT_INITIALIZED = 0,

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


More information about the svn-src-all mailing list