Date: Mon, 2 Jan 2017 19:18:28 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: 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... Message-ID: <201701021918.v02JISQd050375@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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 ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201701021918.v02JISQd050375>