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-vendor
mailing list