svn commit: r287516 - in vendor/compiler-rt/dist: . SDKs SDKs/linux SDKs/linux/usr/include SDKs/linux/usr/include/sys cmake cmake/Modules include/sanitizer lib lib/asan lib/asan/scripts lib/asan/te...
Dimitry Andric
dim at FreeBSD.org
Sun Sep 6 18:41:29 UTC 2015
Author: dim
Date: Sun Sep 6 18:41:23 2015
New Revision: 287516
URL: https://svnweb.freebsd.org/changeset/base/287516
Log:
Import compiler-rt 3.7.0 release (r246257).
Added:
vendor/compiler-rt/dist/lib/builtins/atomic_flag_clear.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/atomic_flag_clear_explicit.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/atomic_flag_test_and_set.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/atomic_flag_test_and_set_explicit.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/atomic_signal_fence.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/atomic_thread_fence.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/extendhfsf2.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/fixtfdi.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/fixtfsi.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/fixtfti.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/fixunstfdi.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/fixunstfsi.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/fixunstfti.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/fp_fixint_impl.inc (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/fp_fixuint_impl.inc (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/i386/chkstk.S (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/truncdfhf2.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/truncsfhf2.c (contents, props changed)
vendor/compiler-rt/dist/lib/builtins/x86_64/chkstk.S (contents, props changed)
vendor/compiler-rt/dist/lib/profile/InstrProfilingUtil.c (contents, props changed)
vendor/compiler-rt/dist/lib/profile/InstrProfilingUtil.h (contents, props changed)
vendor/compiler-rt/dist/lib/safestack/
vendor/compiler-rt/dist/lib/safestack/CMakeLists.txt (contents, props changed)
vendor/compiler-rt/dist/lib/safestack/safestack.cc (contents, props changed)
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix.h (contents, props changed)
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_internal.h (contents, props changed)
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_mac.cc (contents, props changed)
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_mac.h (contents, props changed)
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_process_libcdep.cc (contents, props changed)
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_win.h (contents, props changed)
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_unwind_linux_libcdep.cc (contents, props changed)
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_symbolizer_test.cc (contents, props changed)
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors.h (contents, props changed)
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_new_delete.cc (contents, props changed)
vendor/compiler-rt/dist/lib/ubsan/ubsan_init_standalone.cc (contents, props changed)
vendor/compiler-rt/dist/lib/ubsan/ubsan_platform.h (contents, props changed)
vendor/compiler-rt/dist/lib/ubsan/ubsan_type_hash_itanium.cc (contents, props changed)
vendor/compiler-rt/dist/lib/ubsan/ubsan_type_hash_win.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/atos-symbolizer-dyld-root-path.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/atos-symbolizer.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/dladdr-demangling.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/empty-section.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/sandbox-symbolizer.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/suppressions-sandbox.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/asan_default_suppressions.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-missing.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/init-order-dlopen.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/leak_check_segv.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/read_binary_name_regtest.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/signal_during_stop_the_world.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Linux/static_tls.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/coverage-direct-activation.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/coverage-direct-large.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/coverage-direct.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/coverage-fork-direct.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/coverage-fork.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/coverage-module-unloaded.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/coverage-sandboxing.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/coverage.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/interception-in-shared-lib-test.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Posix/log_path_fork_test.cc.disabled
vendor/compiler-rt/dist/test/asan/TestCases/Windows/bind_io_completion_callback.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Windows/coverage-basic.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Windows/default_options.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Windows/dll_report_globals_symbolization_at_startup.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Windows/free_hook_realloc.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Windows/on_error_callback.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Windows/queue_user_work_item.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Windows/queue_user_work_item_report.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Windows/report_globals_reload_dll.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/Windows/report_globals_vs_freelibrary.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/alloca_loop_unpoisoning.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/alloca_vla_interact.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/atoi_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/atol_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/atoll_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/closed-fds.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/coverage-and-lsan.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/coverage-caller-callee-total-count.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/coverage-caller-callee.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/coverage-disabled.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/coverage-levels.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/coverage-maybe-open-file.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/coverage-order-pcs.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/coverage-reset.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/coverage-tracing.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strcasestr-1.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strcasestr-2.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strcasestr_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strcat_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strchr_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strcmp_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strcspn-1.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strcspn-2.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strcspn_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strncat_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strpbrk-1.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strpbrk-2.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strpbrk_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strspn-1.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strspn-2.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strspn_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strstr-1.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strstr-2.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strstr_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strtol_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/strtoll_strict.c (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/suppressions-exec-relative-location.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/verbose-log-path_test.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/vla_chrome_testcase.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/vla_condition_overflow.cc (contents, props changed)
vendor/compiler-rt/dist/test/asan/TestCases/vla_loop_overfow.cc (contents, props changed)
vendor/compiler-rt/dist/test/builtins/Unit/extendhfsf2_test.c (contents, props changed)
vendor/compiler-rt/dist/test/builtins/Unit/fixtfsi_test.c (contents, props changed)
vendor/compiler-rt/dist/test/builtins/Unit/fixunstfsi_test.c (contents, props changed)
vendor/compiler-rt/dist/test/builtins/Unit/truncdfhf2_test.c (contents, props changed)
vendor/compiler-rt/dist/test/builtins/Unit/truncdfsf2_test.c (contents, props changed)
vendor/compiler-rt/dist/test/builtins/Unit/truncsfhf2_test.c (contents, props changed)
vendor/compiler-rt/dist/test/cfi/README.txt (contents, props changed)
vendor/compiler-rt/dist/test/cfi/bad-cast.cpp (contents, props changed)
vendor/compiler-rt/dist/test/cfi/nvcall.cpp (contents, props changed)
vendor/compiler-rt/dist/test/cfi/sibling.cpp (contents, props changed)
vendor/compiler-rt/dist/test/lsan/TestCases/recoverable_leak_check.cc (contents, props changed)
vendor/compiler-rt/dist/test/msan/Linux/fopencookie.cc (contents, props changed)
vendor/compiler-rt/dist/test/msan/Linux/ioctl_sound.cc (contents, props changed)
vendor/compiler-rt/dist/test/msan/Linux/mallinfo.cc (contents, props changed)
vendor/compiler-rt/dist/test/msan/Linux/obstack.cc (contents, props changed)
vendor/compiler-rt/dist/test/msan/mmap.cc (contents, props changed)
vendor/compiler-rt/dist/test/profile/Inputs/gcc-flag-compatibility.c (contents, props changed)
vendor/compiler-rt/dist/test/profile/gcc-flag-compatibility.test
vendor/compiler-rt/dist/test/profile/instrprof-override-filename-then-reset-default.c (contents, props changed)
vendor/compiler-rt/dist/test/profile/instrprof-override-filename-with-env.c (contents, props changed)
vendor/compiler-rt/dist/test/profile/instrprof-override-filename.c (contents, props changed)
vendor/compiler-rt/dist/test/profile/instrprof-set-filename-then-reset-default.c (contents, props changed)
vendor/compiler-rt/dist/test/safestack/
vendor/compiler-rt/dist/test/safestack/CMakeLists.txt (contents, props changed)
vendor/compiler-rt/dist/test/safestack/buffer-copy-vla.c (contents, props changed)
vendor/compiler-rt/dist/test/safestack/buffer-copy.c (contents, props changed)
vendor/compiler-rt/dist/test/safestack/init.c (contents, props changed)
vendor/compiler-rt/dist/test/safestack/lit.cfg
vendor/compiler-rt/dist/test/safestack/lit.site.cfg.in (contents, props changed)
vendor/compiler-rt/dist/test/safestack/lto.c (contents, props changed)
vendor/compiler-rt/dist/test/safestack/overflow.c (contents, props changed)
vendor/compiler-rt/dist/test/safestack/pthread-cleanup.c (contents, props changed)
vendor/compiler-rt/dist/test/safestack/pthread.c (contents, props changed)
vendor/compiler-rt/dist/test/safestack/utils.h (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/assert.cc (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/signal_segv_handler.cc (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/decorate_proc_maps.cc (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Posix/lit.local.cfg
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/strcasestr.c (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/strcspn.c (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/strpbrk.c (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/strspn.c (contents, props changed)
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/strstr.c (contents, props changed)
vendor/compiler-rt/dist/test/tsan/cond_destruction.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/dl_iterate_phdr.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/fd_dup_norace2.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/fd_dup_race.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/java_heap_init.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/java_race_pc.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/java_symbolization.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/large_malloc_meta.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/mmap_stress.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/mop1.c (contents, props changed)
vendor/compiler-rt/dist/test/tsan/race_top_suppression.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/race_top_suppression1.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/setuid.c (contents, props changed)
vendor/compiler-rt/dist/test/tsan/setuid2.c (contents, props changed)
vendor/compiler-rt/dist/test/tsan/signal_cond.cc (contents, props changed)
vendor/compiler-rt/dist/test/tsan/thread_detach2.c (contents, props changed)
vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/Linux/
vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/Linux/coverage-levels.cc (contents, props changed)
vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/Linux/lit.local.cfg
vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/Linux/ubsan_options.cc (contents, props changed)
vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/log-path_test.cc (contents, props changed)
vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr-virtual-base-construction.cpp (contents, props changed)
Deleted:
vendor/compiler-rt/dist/SDKs/README.txt
vendor/compiler-rt/dist/SDKs/linux/README.txt
vendor/compiler-rt/dist/SDKs/linux/usr/include/endian.h
vendor/compiler-rt/dist/SDKs/linux/usr/include/fcntl.h
vendor/compiler-rt/dist/SDKs/linux/usr/include/limits.h
vendor/compiler-rt/dist/SDKs/linux/usr/include/stdio.h
vendor/compiler-rt/dist/SDKs/linux/usr/include/stdlib.h
vendor/compiler-rt/dist/SDKs/linux/usr/include/string.h
vendor/compiler-rt/dist/SDKs/linux/usr/include/sys/fcntl.h
vendor/compiler-rt/dist/SDKs/linux/usr/include/sys/mman.h
vendor/compiler-rt/dist/SDKs/linux/usr/include/sys/stat.h
vendor/compiler-rt/dist/SDKs/linux/usr/include/sys/types.h
vendor/compiler-rt/dist/SDKs/linux/usr/include/unistd.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_unwind_posix_libcdep.cc
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/interception-in-shared-lib-test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-and-lsan.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-caller-callee-total-count.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-caller-callee.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-direct-activation.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-direct-large.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-direct.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-disabled.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-fork-direct.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-fork.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-levels.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-maybe-open-file.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-module-unloaded.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-reset.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-sandboxing.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage-tracing.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/coverage.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/interception-in-shared-lib-test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Posix/init-order-dlopen.cc
vendor/compiler-rt/dist/test/asan/TestCases/Windows/globals_multiple_dlls.cc
vendor/compiler-rt/dist/test/asan/TestCases/log_path_fork_test.cc.disabled
vendor/compiler-rt/dist/test/msan/ioctl_sound.cc
vendor/compiler-rt/dist/test/msan/mallinfo.cc
vendor/compiler-rt/dist/test/msan/obstack.cc
vendor/compiler-rt/dist/test/tsan/signal_segv_handler.cc
vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/coverage-levels.cc
Modified:
vendor/compiler-rt/dist/CMakeLists.txt
vendor/compiler-rt/dist/LICENSE.TXT
vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake
vendor/compiler-rt/dist/cmake/Modules/CompilerRTCompile.cmake
vendor/compiler-rt/dist/cmake/Modules/CompilerRTLink.cmake
vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake
vendor/compiler-rt/dist/cmake/Modules/SanitizerUtils.cmake
vendor/compiler-rt/dist/cmake/config-ix.cmake
vendor/compiler-rt/dist/include/sanitizer/coverage_interface.h
vendor/compiler-rt/dist/include/sanitizer/dfsan_interface.h
vendor/compiler-rt/dist/include/sanitizer/lsan_interface.h
vendor/compiler-rt/dist/include/sanitizer/msan_interface.h
vendor/compiler-rt/dist/lib/CMakeLists.txt
vendor/compiler-rt/dist/lib/asan/CMakeLists.txt
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_fake_stack.cc
vendor/compiler-rt/dist/lib/asan/asan_flags.cc
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_interceptors.h
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_linux.cc
vendor/compiler-rt/dist/lib/asan/asan_mac.cc
vendor/compiler-rt/dist/lib/asan/asan_mapping.h
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_stats.cc
vendor/compiler-rt/dist/lib/asan/asan_stats.h
vendor/compiler-rt/dist/lib/asan/asan_suppressions.cc
vendor/compiler-rt/dist/lib/asan/asan_suppressions.h
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_symbolize.py
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_str_test.cc
vendor/compiler-rt/dist/lib/asan/tests/asan_test.cc
vendor/compiler-rt/dist/lib/builtins/CMakeLists.txt
vendor/compiler-rt/dist/lib/builtins/clear_cache.c
vendor/compiler-rt/dist/lib/builtins/enable_execute_stack.c
vendor/compiler-rt/dist/lib/builtins/fixdfdi.c
vendor/compiler-rt/dist/lib/builtins/fixdfsi.c
vendor/compiler-rt/dist/lib/builtins/fixdfti.c
vendor/compiler-rt/dist/lib/builtins/fixsfdi.c
vendor/compiler-rt/dist/lib/builtins/fixsfsi.c
vendor/compiler-rt/dist/lib/builtins/fixsfti.c
vendor/compiler-rt/dist/lib/builtins/fixunsdfdi.c
vendor/compiler-rt/dist/lib/builtins/fixunsdfsi.c
vendor/compiler-rt/dist/lib/builtins/fixunsdfti.c
vendor/compiler-rt/dist/lib/builtins/fixunssfdi.c
vendor/compiler-rt/dist/lib/builtins/fixunssfsi.c
vendor/compiler-rt/dist/lib/builtins/fixunssfti.c
vendor/compiler-rt/dist/lib/builtins/fixunsxfdi.c
vendor/compiler-rt/dist/lib/builtins/fixunsxfsi.c
vendor/compiler-rt/dist/lib/builtins/fixunsxfti.c
vendor/compiler-rt/dist/lib/builtins/fixxfdi.c
vendor/compiler-rt/dist/lib/builtins/fixxfti.c
vendor/compiler-rt/dist/lib/builtins/fp_extend.h
vendor/compiler-rt/dist/lib/builtins/fp_extend_impl.inc
vendor/compiler-rt/dist/lib/builtins/fp_trunc.h
vendor/compiler-rt/dist/lib/builtins/fp_trunc_impl.inc
vendor/compiler-rt/dist/lib/builtins/int_endianness.h
vendor/compiler-rt/dist/lib/builtins/int_lib.h
vendor/compiler-rt/dist/lib/dfsan/dfsan.cc
vendor/compiler-rt/dist/lib/dfsan/dfsan_custom.cc
vendor/compiler-rt/dist/lib/dfsan/done_abilist.txt
vendor/compiler-rt/dist/lib/dfsan/scripts/check_custom_wrappers.sh
vendor/compiler-rt/dist/lib/interception/CMakeLists.txt
vendor/compiler-rt/dist/lib/interception/interception.h
vendor/compiler-rt/dist/lib/interception/interception_win.cc
vendor/compiler-rt/dist/lib/lsan/CMakeLists.txt
vendor/compiler-rt/dist/lib/lsan/lsan_common.cc
vendor/compiler-rt/dist/lib/lsan/lsan_common.h
vendor/compiler-rt/dist/lib/lsan/lsan_common_linux.cc
vendor/compiler-rt/dist/lib/lsan/lsan_interceptors.cc
vendor/compiler-rt/dist/lib/lsan/lsan_thread.h
vendor/compiler-rt/dist/lib/msan/CMakeLists.txt
vendor/compiler-rt/dist/lib/msan/msan.cc
vendor/compiler-rt/dist/lib/msan/msan.h
vendor/compiler-rt/dist/lib/msan/msan.syms.extra
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/msan/msan_new_delete.cc
vendor/compiler-rt/dist/lib/msan/msan_origin.h
vendor/compiler-rt/dist/lib/msan/msan_poisoning.cc
vendor/compiler-rt/dist/lib/msan/msan_report.cc
vendor/compiler-rt/dist/lib/msan/msan_thread.cc
vendor/compiler-rt/dist/lib/msan/tests/CMakeLists.txt
vendor/compiler-rt/dist/lib/msan/tests/msan_test.cc
vendor/compiler-rt/dist/lib/profile/CMakeLists.txt
vendor/compiler-rt/dist/lib/profile/GCDAProfiling.c
vendor/compiler-rt/dist/lib/profile/InstrProfiling.h
vendor/compiler-rt/dist/lib/profile/InstrProfilingFile.c
vendor/compiler-rt/dist/lib/sanitizer_common/CMakeLists.txt
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_atomic.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_atomic_msvc.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_ioctl.inc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_libcdep.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_common_syscalls.inc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_libcdep.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_coverage_mapping_libcdep.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_deadlock_detector1.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_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_platform.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_interceptors.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_posix.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_platform_limits_posix.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix.cc
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_common.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps_mac.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stacktrace.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.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_suppressions.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_libbacktrace.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_libbacktrace.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer_libcdep.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_tls_get_addr.cc
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_tls_get_addr.h
vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win.cc
vendor/compiler-rt/dist/lib/sanitizer_common/scripts/check_lint.sh
vendor/compiler-rt/dist/lib/sanitizer_common/scripts/cpplint.py
vendor/compiler-rt/dist/lib/sanitizer_common/scripts/gen_dynamic_list.py
vendor/compiler-rt/dist/lib/sanitizer_common/scripts/litlint.py
vendor/compiler-rt/dist/lib/sanitizer_common/scripts/sancov.py
vendor/compiler-rt/dist/lib/sanitizer_common/tests/CMakeLists.txt
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_libc_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_posix_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_procmaps_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_stacktrace_printer_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_stacktrace_test.cc
vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_stoptheworld_test.cc
vendor/compiler-rt/dist/lib/tsan/CMakeLists.txt
vendor/compiler-rt/dist/lib/tsan/Makefile.old
vendor/compiler-rt/dist/lib/tsan/dd/CMakeLists.txt
vendor/compiler-rt/dist/lib/tsan/dd/dd_rtl.h
vendor/compiler-rt/dist/lib/tsan/go/buildgo.sh
vendor/compiler-rt/dist/lib/tsan/rtl/Makefile.old
vendor/compiler-rt/dist/lib/tsan/rtl/tsan.syms.extra
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_defs.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_fd.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_fd.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_flags.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interceptors.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_inl.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mman.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_linux.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_mac.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_report.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_mutex.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_suppressions.h
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_symbolize.cc
vendor/compiler-rt/dist/lib/tsan/rtl/tsan_symbolize.h
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_update_shadow_word_inl.h
vendor/compiler-rt/dist/lib/tsan/tests/CMakeLists.txt
vendor/compiler-rt/dist/lib/ubsan/CMakeLists.txt
vendor/compiler-rt/dist/lib/ubsan/Makefile.mk
vendor/compiler-rt/dist/lib/ubsan/ubsan_diag.cc
vendor/compiler-rt/dist/lib/ubsan/ubsan_diag.h
vendor/compiler-rt/dist/lib/ubsan/ubsan_flags.cc
vendor/compiler-rt/dist/lib/ubsan/ubsan_flags.h
vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers.cc
vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers_cxx.cc
vendor/compiler-rt/dist/lib/ubsan/ubsan_handlers_cxx.h
vendor/compiler-rt/dist/lib/ubsan/ubsan_init.cc
vendor/compiler-rt/dist/lib/ubsan/ubsan_init.h
vendor/compiler-rt/dist/lib/ubsan/ubsan_type_hash.cc
vendor/compiler-rt/dist/lib/ubsan/ubsan_type_hash.h
vendor/compiler-rt/dist/lib/ubsan/ubsan_value.cc
vendor/compiler-rt/dist/lib/ubsan/ubsan_value.h
vendor/compiler-rt/dist/make/platform/clang_darwin.mk
vendor/compiler-rt/dist/make/platform/clang_linux.mk
vendor/compiler-rt/dist/make/platform/clang_macho_embedded.mk
vendor/compiler-rt/dist/make/platform/darwin_bni.mk
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/Darwin/dyld_insert_libraries_reexec.cc
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/interface_symbols_darwin.c
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/reexec-insert-libraries-env.cc
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/suppressions-darwin.cc
vendor/compiler-rt/dist/test/asan/TestCases/Darwin/unset-insert-libraries-on-exec.cc
vendor/compiler-rt/dist/test/asan/TestCases/Helpers/init-order-pthread-create-extra.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/asan_prelink_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/asan_preload_test-1.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/asan_preload_test-2.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/asan_rt_confict_test-1.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/clang_gcc_abi.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/initialization-bug-any-order.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/interface_symbols_linux.c
vendor/compiler-rt/dist/test/asan/TestCases/Linux/kernel-area.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/leak.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/malloc-in-qsort.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/malloc_delete_mismatch.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/nohugepage_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/odr-violation.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/overflow-in-qsort.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/ptrace.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/quarantine_size_mb.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/sized_delete_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/stack-overflow-sigbus.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/stack-trace-dlclose.cc
vendor/compiler-rt/dist/test/asan/TestCases/Linux/stress_dtls.c
vendor/compiler-rt/dist/test/asan/TestCases/Posix/allow_user_segv.cc
vendor/compiler-rt/dist/test/asan/TestCases/Posix/asan-symbolize-sanity-test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Posix/ioctl.cc
vendor/compiler-rt/dist/test/asan/TestCases/Posix/large_allocator_unpoisons_on_free.cc
vendor/compiler-rt/dist/test/asan/TestCases/Posix/new_array_cookie_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Posix/new_array_cookie_uaf_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/Posix/start-deactivated.cc
vendor/compiler-rt/dist/test/asan/TestCases/Posix/tsd_dtor_leak.cc
vendor/compiler-rt/dist/test/asan/TestCases/Windows/dll_noreturn.cc
vendor/compiler-rt/dist/test/asan/TestCases/Windows/dll_thread_stack_array_left_oob.cc
vendor/compiler-rt/dist/test/asan/TestCases/Windows/stack_array_left_oob.cc
vendor/compiler-rt/dist/test/asan/TestCases/Windows/thread_stack_array_left_oob.cc
vendor/compiler-rt/dist/test/asan/TestCases/alloca_instruments_all_paddings.cc
vendor/compiler-rt/dist/test/asan/TestCases/allocator_returns_null.cc
vendor/compiler-rt/dist/test/asan/TestCases/asan_and_llvm_coverage_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/asan_options-help.cc
vendor/compiler-rt/dist/test/asan/TestCases/atexit_stats.cc
vendor/compiler-rt/dist/test/asan/TestCases/contiguous_container_crash.cc
vendor/compiler-rt/dist/test/asan/TestCases/debug_mapping.cc
vendor/compiler-rt/dist/test/asan/TestCases/debug_ppc64_mapping.cc
vendor/compiler-rt/dist/test/asan/TestCases/debug_stacks.cc
vendor/compiler-rt/dist/test/asan/TestCases/deep_call_stack.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/dump_instruction_bytes.cc
vendor/compiler-rt/dist/test/asan/TestCases/free_hook_realloc.cc
vendor/compiler-rt/dist/test/asan/TestCases/gc-test.cc
vendor/compiler-rt/dist/test/asan/TestCases/heap-overflow-large.cc
vendor/compiler-rt/dist/test/asan/TestCases/heap-overflow.cc
vendor/compiler-rt/dist/test/asan/TestCases/heavy_uar_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/init-order-atexit.cc
vendor/compiler-rt/dist/test/asan/TestCases/init-order-pthread-create.cc
vendor/compiler-rt/dist/test/asan/TestCases/initialization-blacklist.cc
vendor/compiler-rt/dist/test/asan/TestCases/initialization-bug.cc
vendor/compiler-rt/dist/test/asan/TestCases/initialization-constexpr.cc
vendor/compiler-rt/dist/test/asan/TestCases/initialization-nobug.cc
vendor/compiler-rt/dist/test/asan/TestCases/interface_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/invalid-free.cc
vendor/compiler-rt/dist/test/asan/TestCases/log-path_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/malloc_context_size.cc
vendor/compiler-rt/dist/test/asan/TestCases/malloc_fill.cc
vendor/compiler-rt/dist/test/asan/TestCases/max_redzone.cc
vendor/compiler-rt/dist/test/asan/TestCases/memcmp_strict_test.cc
vendor/compiler-rt/dist/test/asan/TestCases/mmap_limit_mb.cc
vendor/compiler-rt/dist/test/asan/TestCases/no_asan_gen_globals.c
vendor/compiler-rt/dist/test/asan/TestCases/on_error_callback.cc
vendor/compiler-rt/dist/test/asan/TestCases/poison_partial.cc
vendor/compiler-rt/dist/test/asan/TestCases/print_summary.cc
vendor/compiler-rt/dist/test/asan/TestCases/printf-1.c
vendor/compiler-rt/dist/test/asan/TestCases/printf-2.c
vendor/compiler-rt/dist/test/asan/TestCases/printf-3.c
vendor/compiler-rt/dist/test/asan/TestCases/printf-4.c
vendor/compiler-rt/dist/test/asan/TestCases/printf-5.c
vendor/compiler-rt/dist/test/asan/TestCases/sleep_before_dying.c
vendor/compiler-rt/dist/test/asan/TestCases/stack-overflow.cc
vendor/compiler-rt/dist/test/asan/TestCases/stack-use-after-return.cc
vendor/compiler-rt/dist/test/asan/TestCases/strip_path_prefix.c
vendor/compiler-rt/dist/test/asan/TestCases/suppressions-function.cc
vendor/compiler-rt/dist/test/asan/TestCases/suppressions-interceptor.cc
vendor/compiler-rt/dist/test/asan/TestCases/suppressions-library.cc
vendor/compiler-rt/dist/test/asan/TestCases/uar_and_exceptions.cc
vendor/compiler-rt/dist/test/asan/TestCases/use-after-poison.cc
vendor/compiler-rt/dist/test/asan/TestCases/use-after-scope.cc
vendor/compiler-rt/dist/test/asan/lit.cfg
vendor/compiler-rt/dist/test/builtins/Unit/absvdi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/absvsi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/absvti2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/adddf3vfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/addsf3vfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/addtf3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/addvdi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/addvsi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/addvti3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/ashldi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/ashlti3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/ashrdi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/ashrti3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/clzdi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/clzsi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/clzti2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/cmpdi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/cmpti2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/ctzdi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/ctzsi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/ctzti2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/divdc3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/divdf3vfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/divdi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/divmodsi4_test.c
vendor/compiler-rt/dist/test/builtins/Unit/divsc3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/divsf3vfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/divsi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/divtc3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/divtf3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/divti3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/divxc3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/extebdsfdf2vfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/extenddftf2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/extendsftf2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/ffsdi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/ffsti2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixdfdi_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixdfti_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixsfdi_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixsfti_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixunsdfdi_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixunsdfsi_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixunsdfsivfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixunsdfti_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixunssfdi_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixunssfsi_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixunssfti_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixunstfdi_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixunsxfdi_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixunsxfsi_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixunsxfti_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixxfdi_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fixxfti_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatdidf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatdisf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatdixf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatsidfvfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatsisfvfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatsitf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floattidf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floattisf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floattixf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatundidf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatundisf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatundixf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatunsitf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatunssidfvfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatunssisfvfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatuntidf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatuntisf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/floatuntixf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/fp_test.h
vendor/compiler-rt/dist/test/builtins/Unit/lshrdi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/lshrti3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/moddi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/modsi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/modti3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/muldc3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/muldf3vfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/muldi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/mulodi4_test.c
vendor/compiler-rt/dist/test/builtins/Unit/mulosi4_test.c
vendor/compiler-rt/dist/test/builtins/Unit/muloti4_test.c
vendor/compiler-rt/dist/test/builtins/Unit/mulsc3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/mulsf3vfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/multc3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/multf3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/multi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/mulvdi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/mulvsi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/mulvti3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/mulxc3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/negdf2vfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/negdi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/negsf2vfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/negti2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/negvdi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/negvsi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/negvti2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/paritydi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/paritysi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/parityti2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/popcountdi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/popcountsi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/popcountti2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/powidf2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/powisf2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/powitf2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/powixf2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/ppc/floatditf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/ppc/floatunditf_test.c
vendor/compiler-rt/dist/test/builtins/Unit/subdf3vfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/subsf3vfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/subtf3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/subvdi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/subvsi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/subvti3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/truncdfsf2vfp_test.c
vendor/compiler-rt/dist/test/builtins/Unit/trunctfdf2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/trunctfsf2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/ucmpdi2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/ucmpti2_test.c
vendor/compiler-rt/dist/test/builtins/Unit/udivdi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/udivmoddi4_test.c
vendor/compiler-rt/dist/test/builtins/Unit/udivmodsi4_test.c
vendor/compiler-rt/dist/test/builtins/Unit/udivmodti4_test.c
vendor/compiler-rt/dist/test/builtins/Unit/udivsi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/udivti3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/umoddi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/umodsi3_test.c
vendor/compiler-rt/dist/test/builtins/Unit/umodti3_test.c
vendor/compiler-rt/dist/test/cfi/CMakeLists.txt
vendor/compiler-rt/dist/test/cfi/anon-namespace.cpp
vendor/compiler-rt/dist/test/cfi/lit.cfg
vendor/compiler-rt/dist/test/cfi/multiple-inheritance.cpp
vendor/compiler-rt/dist/test/cfi/overwrite.cpp
vendor/compiler-rt/dist/test/cfi/simple-fail.cpp
vendor/compiler-rt/dist/test/cfi/simple-pass.cpp
vendor/compiler-rt/dist/test/cfi/vdtor.cpp
vendor/compiler-rt/dist/test/dfsan/basic.c
vendor/compiler-rt/dist/test/dfsan/custom.cc
vendor/compiler-rt/dist/test/dfsan/dump_labels.c
vendor/compiler-rt/dist/test/dfsan/flags.c
vendor/compiler-rt/dist/test/dfsan/fncall.c
vendor/compiler-rt/dist/test/dfsan/label_count.c
vendor/compiler-rt/dist/test/dfsan/lit.cfg
vendor/compiler-rt/dist/test/dfsan/propagate.c
vendor/compiler-rt/dist/test/dfsan/vararg.c
vendor/compiler-rt/dist/test/dfsan/write_callback.c
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/msan/Linux/getresid.cc
vendor/compiler-rt/dist/test/msan/Linux/glob.cc
vendor/compiler-rt/dist/test/msan/Linux/glob_altdirfunc.cc
vendor/compiler-rt/dist/test/msan/Linux/glob_nomatch.cc
vendor/compiler-rt/dist/test/msan/Linux/sunrpc.cc
vendor/compiler-rt/dist/test/msan/Linux/sunrpc_bytes.cc
vendor/compiler-rt/dist/test/msan/Linux/sunrpc_string.cc
vendor/compiler-rt/dist/test/msan/Linux/syscalls.cc
vendor/compiler-rt/dist/test/msan/Linux/tcgetattr.cc
vendor/compiler-rt/dist/test/msan/Linux/xattr.cc
vendor/compiler-rt/dist/test/msan/backtrace.cc
vendor/compiler-rt/dist/test/msan/c-strdup.c
vendor/compiler-rt/dist/test/msan/chained_origin.cc
vendor/compiler-rt/dist/test/msan/chained_origin_empty_stack.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/chained_origin_with_signals.cc
vendor/compiler-rt/dist/test/msan/check_mem_is_initialized.cc
vendor/compiler-rt/dist/test/msan/coverage-levels.cc
vendor/compiler-rt/dist/test/msan/cxa_atexit.cc
vendor/compiler-rt/dist/test/msan/death-callback.cc
vendor/compiler-rt/dist/test/msan/dlerror.cc
vendor/compiler-rt/dist/test/msan/dso-origin.cc
vendor/compiler-rt/dist/test/msan/dtls_test.c
vendor/compiler-rt/dist/test/msan/errno.cc
vendor/compiler-rt/dist/test/msan/fork.cc
vendor/compiler-rt/dist/test/msan/ftime.cc
vendor/compiler-rt/dist/test/msan/getaddrinfo-positive.cc
vendor/compiler-rt/dist/test/msan/getaddrinfo.cc
vendor/compiler-rt/dist/test/msan/getc_unlocked.c
vendor/compiler-rt/dist/test/msan/getline.cc
vendor/compiler-rt/dist/test/msan/heap-origin.cc
vendor/compiler-rt/dist/test/msan/iconv.cc
vendor/compiler-rt/dist/test/msan/if_indextoname.cc
vendor/compiler-rt/dist/test/msan/ifaddrs.cc
vendor/compiler-rt/dist/test/msan/initgroups.cc
vendor/compiler-rt/dist/test/msan/insertvalue_origin.cc
vendor/compiler-rt/dist/test/msan/ioctl.cc
vendor/compiler-rt/dist/test/msan/ioctl_custom.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/msan/lit.cfg
vendor/compiler-rt/dist/test/msan/mktime.cc
vendor/compiler-rt/dist/test/msan/mmap_below_shadow.cc
vendor/compiler-rt/dist/test/msan/msan_check_mem_is_initialized.cc
vendor/compiler-rt/dist/test/msan/msan_dump_shadow.cc
vendor/compiler-rt/dist/test/msan/msan_print_shadow.cc
vendor/compiler-rt/dist/test/msan/msan_print_shadow2.cc
vendor/compiler-rt/dist/test/msan/msan_print_shadow3.cc
vendor/compiler-rt/dist/test/msan/mul_by_const.cc
vendor/compiler-rt/dist/test/msan/no_sanitize_memory.cc
vendor/compiler-rt/dist/test/msan/no_sanitize_memory_prop.cc
vendor/compiler-rt/dist/test/msan/origin-store-long.cc
vendor/compiler-rt/dist/test/msan/param_tls_limit.cc
vendor/compiler-rt/dist/test/msan/print_stats.cc
vendor/compiler-rt/dist/test/msan/pthread_getattr_np_deadlock.cc
vendor/compiler-rt/dist/test/msan/rand_r.cc
vendor/compiler-rt/dist/test/msan/readdir64.cc
vendor/compiler-rt/dist/test/msan/realloc-large-origin.cc
vendor/compiler-rt/dist/test/msan/realloc-origin.cc
vendor/compiler-rt/dist/test/msan/report-demangling.cc
vendor/compiler-rt/dist/test/msan/scandir.cc
vendor/compiler-rt/dist/test/msan/scandir_null.cc
vendor/compiler-rt/dist/test/msan/select.cc
vendor/compiler-rt/dist/test/msan/setlocale.cc
vendor/compiler-rt/dist/test/msan/stack-origin.cc
vendor/compiler-rt/dist/test/msan/stack-origin2.cc
vendor/compiler-rt/dist/test/msan/strlen_of_shadow.cc
vendor/compiler-rt/dist/test/msan/strxfrm.cc
vendor/compiler-rt/dist/test/msan/sync_lock_set_and_test.cc
vendor/compiler-rt/dist/test/msan/textdomain.cc
vendor/compiler-rt/dist/test/msan/times.cc
vendor/compiler-rt/dist/test/msan/tls_reuse.cc
vendor/compiler-rt/dist/test/msan/tzset.cc
vendor/compiler-rt/dist/test/msan/unaligned_read_origin.cc
vendor/compiler-rt/dist/test/msan/unpoison_string.cc
vendor/compiler-rt/dist/test/msan/use-after-free.cc
vendor/compiler-rt/dist/test/msan/vector_cvt.cc
vendor/compiler-rt/dist/test/msan/vector_select.cc
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-dynamic-a.cpp
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-dynamic-b.cpp
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-dynamic-header.h
vendor/compiler-rt/dist/test/profile/Inputs/instrprof-dynamic-main.cpp
vendor/compiler-rt/dist/test/profile/lit.cfg
vendor/compiler-rt/dist/test/sanitizer_common/CMakeLists.txt
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/getpwnam_r_invalid_user.cc
vendor/compiler-rt/dist/test/sanitizer_common/TestCases/Linux/open_memstream.cc
vendor/compiler-rt/dist/test/sanitizer_common/lit.common.cfg
vendor/compiler-rt/dist/test/sanitizer_common/lit.site.cfg.in
vendor/compiler-rt/dist/test/tsan/CMakeLists.txt
vendor/compiler-rt/dist/test/tsan/cond_cancel.c
vendor/compiler-rt/dist/test/tsan/cond_race.cc
vendor/compiler-rt/dist/test/tsan/deadlock_detector_stress_test.cc
vendor/compiler-rt/dist/test/tsan/heap_race.cc
vendor/compiler-rt/dist/test/tsan/ignore_free.cc
vendor/compiler-rt/dist/test/tsan/ignore_malloc.cc
vendor/compiler-rt/dist/test/tsan/java.h
vendor/compiler-rt/dist/test/tsan/java_race.cc
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/malloc_stack.cc
vendor/compiler-rt/dist/test/tsan/mmap_large.cc
vendor/compiler-rt/dist/test/tsan/signal_longjmp.cc
vendor/compiler-rt/dist/test/tsan/signal_recursive.cc
vendor/compiler-rt/dist/test/tsan/test.h
vendor/compiler-rt/dist/test/ubsan/CMakeLists.txt
vendor/compiler-rt/dist/test/ubsan/TestCases/Float/cast-overflow.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Integer/add-overflow.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Integer/div-zero.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Integer/incdec-overflow.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Integer/negate-overflow.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Integer/shift.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Integer/sub-overflow.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Integer/summary.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Integer/uadd-overflow.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Integer/uincdec-overflow.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Integer/usub-overflow.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/bounds.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/deduplication.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/enum.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/Misc/missing_return.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/Function/function.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/misaligned.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/null.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr-virtual-base.cpp
vendor/compiler-rt/dist/test/ubsan/TestCases/TypeCheck/vptr.cpp
vendor/compiler-rt/dist/test/ubsan/lit.common.cfg
vendor/compiler-rt/dist/test/ubsan/lit.site.cfg.in
vendor/compiler-rt/dist/www/index.html
vendor/compiler-rt/dist/www/menu.html.incl
Modified: vendor/compiler-rt/dist/CMakeLists.txt
==============================================================================
--- vendor/compiler-rt/dist/CMakeLists.txt Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/CMakeLists.txt Sun Sep 6 18:41:23 2015 (r287516)
@@ -139,6 +139,13 @@ string(REPLACE "-" ";" TARGET_TRIPLE_LIS
list(GET TARGET_TRIPLE_LIST 0 COMPILER_RT_TEST_TARGET_ARCH)
list(GET TARGET_TRIPLE_LIST 1 COMPILER_RT_TEST_TARGET_OS)
list(GET TARGET_TRIPLE_LIST 2 COMPILER_RT_TEST_TARGET_ABI)
+# Determine if test target triple is specified explicitly, and doesn't match the
+# default.
+if(NOT COMPILER_RT_TEST_TARGET_TRIPLE STREQUAL TARGET_TRIPLE)
+ set(COMPILER_RT_HAS_EXPLICIT_TEST_TARGET_TRIPLE TRUE)
+else()
+ set(COMPILER_RT_HAS_EXPLICIT_TEST_TARGET_TRIPLE FALSE)
+endif()
if ("${COMPILER_RT_TEST_TARGET_ABI}" STREQUAL "androideabi")
set(ANDROID 1)
@@ -160,13 +167,11 @@ include(CompilerRTUtils)
set(COMPILER_RT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(COMPILER_RT_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
-# Setup custom SDK sysroots.
-set(COMPILER_RT_LINUX_SDK_SYSROOT ${COMPILER_RT_SOURCE_DIR}/SDKs/linux)
# We support running instrumented tests when we're not cross compiling
# and target a UNIX-like system or Windows.
# We can run tests on Android even when we are cross-compiling.
-if(("${CMAKE_HOST_SYSTEM}" STREQUAL "${CMAKE_SYSTEM}" AND (UNIX OR MSVC)) OR ANDROID
+if(("${CMAKE_HOST_SYSTEM}" STREQUAL "${CMAKE_SYSTEM}" AND (UNIX OR WIN32)) OR ANDROID
OR COMPILER_RT_EMULATOR)
option(COMPILER_RT_CAN_EXECUTE_TESTS "Can we execute instrumented tests" ON)
else()
@@ -209,22 +214,22 @@ append_list_if(COMPILER_RT_HAS_FNO_EXCEP
append_list_if(COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG -fomit-frame-pointer SANITIZER_COMMON_CFLAGS)
append_list_if(COMPILER_RT_HAS_FUNWIND_TABLES_FLAG -funwind-tables SANITIZER_COMMON_CFLAGS)
append_list_if(COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG -fno-stack-protector SANITIZER_COMMON_CFLAGS)
+append_list_if(COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG -fno-sanitize=safe-stack SANITIZER_COMMON_CFLAGS)
append_list_if(COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG -fvisibility=hidden SANITIZER_COMMON_CFLAGS)
append_list_if(COMPILER_RT_HAS_FNO_FUNCTION_SECTIONS_FLAG -fno-function-sections SANITIZER_COMMON_CFLAGS)
append_list_if(COMPILER_RT_HAS_FNO_LTO_FLAG -fno-lto SANITIZER_COMMON_CFLAGS)
if(MSVC)
- # Replace the /MD[d] flags with /MT.
+ # Replace the /M[DT][d] flags with /MT, and strip any definitions of _DEBUG,
+ # which cause definition mismatches at link time.
# FIXME: In fact, sanitizers should support both /MT and /MD, see PR20214.
if(COMPILER_RT_HAS_MT_FLAG)
foreach(flag_var
CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
- if(${flag_var} MATCHES "/MD")
- string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
- elseif(${flag_var} MATCHES "/MDd")
- string(REGEX REPLACE "/MDd" "/MT" ${flag_var} "${${flag_var}}")
- endif()
+ string(REGEX REPLACE "/M[DT]d" "/MT" ${flag_var} "${${flag_var}}")
+ string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
+ string(REGEX REPLACE "/D_DEBUG" "" ${flag_var} "${${flag_var}}")
endforeach()
endif()
append_list_if(COMPILER_RT_HAS_Oy_FLAG /Oy- SANITIZER_COMMON_CFLAGS)
@@ -240,12 +245,13 @@ if(NOT COMPILER_RT_DEBUG AND NOT MSVC)
endif()
# Determine if we should restrict stack frame sizes.
-# Stack frames on PowerPC and in debug biuld can be much larger than
+# Stack frames on PowerPC and Mips and in debug biuld can be much larger than
# anticipated.
# FIXME: Fix all sanitizers and add -Wframe-larger-than to
# SANITIZER_COMMON_FLAGS
if(COMPILER_RT_HAS_WFRAME_LARGER_THAN_FLAG AND NOT COMPILER_RT_DEBUG
- AND NOT ${LLVM_NATIVE_ARCH} STREQUAL "PowerPC")
+ AND NOT ${LLVM_NATIVE_ARCH} STREQUAL "PowerPC"
+ AND NOT ${LLVM_NATIVE_ARCH} STREQUAL "Mips")
set(SANITIZER_LIMIT_FRAME_SIZE TRUE)
else()
set(SANITIZER_LIMIT_FRAME_SIZE FALSE)
@@ -292,26 +298,51 @@ if(APPLE)
find_darwin_sdk_dir(OSX_SDK_DIR macosx)
find_darwin_sdk_dir(IOSSIM_SDK_DIR iphonesimulator)
- string(REGEX MATCH "-mmacosx-version-min="
+ set(SANITIZER_COMMON_SUPPORTED_OS osx)
+ string(REGEX MATCH "-mmacosx-version-min=([.0-9]+)"
MACOSX_VERSION_MIN_FLAG "${CMAKE_CXX_FLAGS}")
- set(SANITIZER_COMMON_SUPPORTED_DARWIN_OS osx)
- if (IOSSIM_SDK_DIR AND NOT MACOSX_VERSION_MIN_FLAG)
- list(APPEND SANITIZER_COMMON_SUPPORTED_DARWIN_OS iossim)
+ if(MACOSX_VERSION_MIN_FLAG)
+ set(SANITIZER_MIN_OSX_VERSION "${CMAKE_MATCH_1}")
+ elseif(CMAKE_OSX_DEPLOYMENT_TARGET)
+ set(SANITIZER_MIN_OSX_VERSION ${CMAKE_OSX_DEPLOYMENT_TARGET})
+ else()
+ set(SANITIZER_MIN_OSX_VERSION 10.9)
+ if(IOSSIM_SDK_DIR)
+ list(APPEND SANITIZER_COMMON_SUPPORTED_OS iossim)
+ endif()
+ endif()
+ if(SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.7")
+ message(FATAL_ERROR "Too old OS X version: ${SANITIZER_MIN_OSX_VERSION}")
endif()
- set(SANITIZER_MIN_OSX_VERSION 10.7)
- set(CMAKE_OSX_DEPLOYMENT_TARGET "") # We're setting the flag manually below.
+ set(CMAKE_OSX_DEPLOYMENT_TARGET "") # We evaluate target OS X version above.
set(DARWIN_osx_CFLAGS -mmacosx-version-min=${SANITIZER_MIN_OSX_VERSION}
- -isysroot ${OSX_SDK_DIR} -stdlib=libc++)
+ -stdlib=libc++)
set(DARWIN_iossim_CFLAGS
+ -stdlib=libc++
-mios-simulator-version-min=7.0 -isysroot ${IOSSIM_SDK_DIR})
set(DARWIN_osx_LINKFLAGS -mmacosx-version-min=${SANITIZER_MIN_OSX_VERSION}
- -isysroot ${OSX_SDK_DIR} -stdlib=libc++)
+ -stdlib=libc++ -lc++ -lc++abi)
set(DARWIN_iossim_LINKFLAGS
+ -stdlib=libc++ -lc++ -lc++abi
-Wl,-ios_simulator_version_min,7.0.0
-mios-simulator-version-min=7.0
-isysroot ${IOSSIM_SDK_DIR})
+
+ if(OSX_SDK_DIR)
+ list(APPEND DARWIN_osx_CFLAGS -isysroot ${OSX_SDK_DIR})
+ list(APPEND DARWIN_osx_LINKFLAGS -isysroot ${OSX_SDK_DIR})
+ endif()
+endif()
+
+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)
+else()
+ set(SANITIZER_CAN_USE_CXXABI TRUE)
endif()
+pythonize_bool(SANITIZER_CAN_USE_CXXABI)
add_subdirectory(include)
Modified: vendor/compiler-rt/dist/LICENSE.TXT
==============================================================================
--- vendor/compiler-rt/dist/LICENSE.TXT Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/LICENSE.TXT Sun Sep 6 18:41:23 2015 (r287516)
@@ -14,7 +14,7 @@ Full text of the relevant licenses is in
University of Illinois/NCSA
Open Source License
-Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT
+Copyright (c) 2009-2015 by the contributors listed in CREDITS.TXT
All rights reserved.
@@ -55,7 +55,7 @@ SOFTWARE.
==============================================================================
-Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT
+Copyright (c) 2009-2015 by the contributors listed in CREDITS.TXT
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Modified: vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/cmake/Modules/AddCompilerRT.cmake Sun Sep 6 18:41:23 2015 (r287516)
@@ -1,42 +1,48 @@
include(AddLLVM)
include(ExternalProject)
-include(LLVMParseArguments)
include(CompilerRTUtils)
-# Tries to add "object library" target for a given architecture
-# with name "<name>.<arch>" if architecture can be targeted.
-# add_compiler_rt_object_library(<name> <arch>
-# SOURCES <source files>
-# CFLAGS <compile flags>
-# DEFS <compile definitions>)
-macro(add_compiler_rt_object_library name arch)
- if(CAN_TARGET_${arch})
- parse_arguments(LIB "SOURCES;CFLAGS;DEFS" "" ${ARGN})
- add_library(${name}.${arch} OBJECT ${LIB_SOURCES})
- set_target_compile_flags(${name}.${arch}
- ${CMAKE_CXX_FLAGS} ${TARGET_${arch}_CFLAGS} ${LIB_CFLAGS})
- set_property(TARGET ${name}.${arch} APPEND PROPERTY
- COMPILE_DEFINITIONS ${LIB_DEFS})
+# Tries to add an "object library" target for a given list of OSs and/or
+# architectures with name "<name>.<arch>" for non-Darwin platforms if
+# architecture can be targeted, and "<name>.<os>" for Darwin platforms.
+# add_compiler_rt_object_libraries(<name>
+# OS <os names>
+# ARCHS <architectures>
+# SOURCES <source files>
+# CFLAGS <compile flags>
+# DEFS <compile definitions>)
+function(add_compiler_rt_object_libraries name)
+ cmake_parse_arguments(LIB "" "" "OS;ARCHS;SOURCES;CFLAGS;DEFS" ${ARGN})
+ set(libnames)
+ if(APPLE)
+ foreach(os ${LIB_OS})
+ set(libname "${name}.${os}")
+ set(libnames ${libnames} ${libname})
+ set(extra_cflags_${libname} ${DARWIN_${os}_CFLAGS})
+ endforeach()
else()
- message(FATAL_ERROR "Archtecture ${arch} can't be targeted")
+ foreach(arch ${LIB_ARCHS})
+ set(libname "${name}.${arch}")
+ set(libnames ${libnames} ${libname})
+ set(extra_cflags_${libname} ${TARGET_${arch}_CFLAGS})
+ if(NOT CAN_TARGET_${arch})
+ message(FATAL_ERROR "Archtecture ${arch} can't be targeted")
+ return()
+ endif()
+ endforeach()
endif()
-endmacro()
-
-# Same as above, but adds universal osx library for either OSX or iOS simulator
-# with name "<name>.<os>" targeting multiple architectures.
-# add_compiler_rt_darwin_object_library(<name> <os> ARCH <architectures>
-# SOURCES <source files>
-# CFLAGS <compile flags>
-# DEFS <compile definitions>)
-macro(add_compiler_rt_darwin_object_library name os)
- parse_arguments(LIB "ARCH;SOURCES;CFLAGS;DEFS" "" ${ARGN})
- set(libname "${name}.${os}")
- add_library(${libname} OBJECT ${LIB_SOURCES})
- set_target_compile_flags(${libname} ${LIB_CFLAGS} ${DARWIN_${os}_CFLAGS})
- set_target_properties(${libname} PROPERTIES OSX_ARCHITECTURES "${LIB_ARCH}")
- set_property(TARGET ${libname} APPEND PROPERTY
- COMPILE_DEFINITIONS ${LIB_DEFS})
-endmacro()
+
+ foreach(libname ${libnames})
+ add_library(${libname} OBJECT ${LIB_SOURCES})
+ set_target_compile_flags(${libname}
+ ${CMAKE_CXX_FLAGS} ${extra_cflags_${libname}} ${LIB_CFLAGS})
+ set_property(TARGET ${libname} APPEND PROPERTY
+ COMPILE_DEFINITIONS ${LIB_DEFS})
+ if(APPLE)
+ set_target_properties(${libname} PROPERTIES OSX_ARCHITECTURES "${LIB_ARCHS}")
+ endif()
+ endforeach()
+endfunction()
# Adds static or shared runtime for a given architecture and puts it in the
# proper directory in the build and install trees.
@@ -47,13 +53,13 @@ endmacro()
# OUTPUT_NAME <output library name>)
macro(add_compiler_rt_runtime name arch type)
if(CAN_TARGET_${arch})
- parse_arguments(LIB "SOURCES;CFLAGS;DEFS;OUTPUT_NAME" "" ${ARGN})
+ cmake_parse_arguments(LIB "" "OUTPUT_NAME" "SOURCES;CFLAGS;LINKFLAGS;DEFS" ${ARGN})
add_library(${name} ${type} ${LIB_SOURCES})
# Setup compile flags and definitions.
set_target_compile_flags(${name}
${TARGET_${arch}_CFLAGS} ${LIB_CFLAGS})
set_target_link_flags(${name}
- ${TARGET_${arch}_CFLAGS} ${LIB_CFLAGS})
+ ${TARGET_${arch}_CFLAGS} ${LIB_CFLAGS} ${LIB_LINKFLAGS})
set_property(TARGET ${name} APPEND PROPERTY
COMPILE_DEFINITIONS ${LIB_DEFS})
# Setup correct output directory in the build tree.
@@ -80,18 +86,18 @@ endmacro()
# Same as add_compiler_rt_runtime(... STATIC), but creates a universal library
# for several architectures.
-# add_compiler_rt_osx_static_runtime(<name> ARCH <architectures>
+# add_compiler_rt_osx_static_runtime(<name> ARCHS <architectures>
# SOURCES <source files>
# CFLAGS <compile flags>
# DEFS <compile definitions>)
macro(add_compiler_rt_osx_static_runtime name)
- parse_arguments(LIB "ARCH;SOURCES;CFLAGS;DEFS" "" ${ARGN})
+ cmake_parse_arguments(LIB "" "" "ARCHS;SOURCES;CFLAGS;DEFS" ${ARGN})
add_library(${name} STATIC ${LIB_SOURCES})
set_target_compile_flags(${name} ${LIB_CFLAGS})
set_property(TARGET ${name} APPEND PROPERTY
COMPILE_DEFINITIONS ${LIB_DEFS})
set_target_properties(${name} PROPERTIES
- OSX_ARCHITECTURES "${LIB_ARCH}"
+ OSX_ARCHITECTURES "${LIB_ARCHS}"
ARCHIVE_OUTPUT_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR})
install(TARGETS ${name}
ARCHIVE DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR})
@@ -100,20 +106,20 @@ endmacro()
# Adds dynamic runtime library on osx/iossim, which supports multiple
# architectures.
# add_compiler_rt_darwin_dynamic_runtime(<name> <os>
-# ARCH <architectures>
+# ARCHS <architectures>
# SOURCES <source files>
# CFLAGS <compile flags>
# DEFS <compile definitions>
# LINKFLAGS <link flags>)
macro(add_compiler_rt_darwin_dynamic_runtime name os)
- parse_arguments(LIB "ARCH;SOURCES;CFLAGS;DEFS;LINKFLAGS" "" ${ARGN})
+ cmake_parse_arguments(LIB "" "" "ARCHS;SOURCES;CFLAGS;DEFS;LINKFLAGS" ${ARGN})
add_library(${name} SHARED ${LIB_SOURCES})
set_target_compile_flags(${name} ${LIB_CFLAGS} ${DARWIN_${os}_CFLAGS})
set_target_link_flags(${name} ${LIB_LINKFLAGS} ${DARWIN_${os}_LINKFLAGS})
set_property(TARGET ${name} APPEND PROPERTY
COMPILE_DEFINITIONS ${LIB_DEFS})
set_target_properties(${name} PROPERTIES
- OSX_ARCHITECTURES "${LIB_ARCH}"
+ OSX_ARCHITECTURES "${LIB_ARCHS}"
LIBRARY_OUTPUT_DIRECTORY ${COMPILER_RT_LIBRARY_OUTPUT_DIR})
install(TARGETS ${name}
LIBRARY DESTINATION ${COMPILER_RT_LIBRARY_INSTALL_DIR})
@@ -162,7 +168,7 @@ endif()
# DEPS <deps (e.g. runtime libs)>
# LINK_FLAGS <link flags>)
macro(add_compiler_rt_test test_suite test_name)
- parse_arguments(TEST "SUBDIR;OBJECTS;DEPS;LINK_FLAGS" "" ${ARGN})
+ cmake_parse_arguments(TEST "" "SUBDIR" "OBJECTS;DEPS;LINK_FLAGS" "" ${ARGN})
if(TEST_SUBDIR)
set(output_bin "${CMAKE_CURRENT_BINARY_DIR}/${TEST_SUBDIR}/${test_name}")
else()
@@ -229,7 +235,7 @@ macro(add_custom_libcxx name prefix)
message(FATAL_ERROR "libcxx not found!")
endif()
- parse_arguments(LIBCXX "DEPS;CFLAGS" "" ${ARGN})
+ cmake_parse_arguments(LIBCXX "" "" "DEPS;CFLAGS" ${ARGN})
foreach(flag ${LIBCXX_CFLAGS})
set(flagstr "${flagstr} ${flag}")
endforeach()
@@ -252,6 +258,7 @@ macro(add_custom_libcxx name prefix)
LOG_CONFIGURE 1
LOG_INSTALL 1
)
+ set_target_properties(${name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
ExternalProject_Add_Step(${name} force-reconfigure
DEPENDERS configure
Modified: vendor/compiler-rt/dist/cmake/Modules/CompilerRTCompile.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/CompilerRTCompile.cmake Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/cmake/Modules/CompilerRTCompile.cmake Sun Sep 6 18:41:23 2015 (r287516)
@@ -1,4 +1,28 @@
-include(LLVMParseArguments)
+# On Windows, CMAKE_*_FLAGS are built for MSVC but we use the GCC clang.exe,
+# which uses completely different flags. Translate some common flag types, and
+# drop the rest.
+function(translate_msvc_cflags out_flags msvc_flags)
+ # Insert an empty string in the list to simplify processing.
+ set(msvc_flags ";${msvc_flags}")
+
+ # Canonicalize /flag to -flag.
+ string(REPLACE ";/" ";-" msvc_flags "${msvc_flags}")
+
+ # Make space separated -D and -U flags into joined flags.
+ string(REGEX REPLACE ";-\([DU]\);" ";-\\1" msvc_flags "${msvc_flags}")
+
+ set(clang_flags "")
+ foreach(flag ${msvc_flags})
+ if ("${flag}" MATCHES "^-[DU]")
+ # Pass through basic command line macro definitions (-DNDEBUG).
+ list(APPEND clang_flags "${flag}")
+ elseif ("${flag}" MATCHES "^-O[2x]")
+ # Canonicalize normal optimization flags to -O2.
+ list(APPEND clang_flags "-O2")
+ endif()
+ endforeach()
+ set(${out_flags} "${clang_flags}" PARENT_SCOPE)
+endfunction()
# Compile a source into an object file with COMPILER_RT_TEST_COMPILER using
# a provided compile flags and dependenices.
@@ -6,7 +30,7 @@ include(LLVMParseArguments)
# CFLAGS <list of compile flags>
# DEPS <list of dependencies>)
macro(clang_compile object_file source)
- parse_arguments(SOURCE "CFLAGS;DEPS" "" ${ARGN})
+ cmake_parse_arguments(SOURCE "" "" "CFLAGS;DEPS" ${ARGN})
get_filename_component(source_rpath ${source} REALPATH)
if(NOT COMPILER_RT_STANDALONE_BUILD)
list(APPEND SOURCE_DEPS clang compiler-rt-headers)
@@ -20,13 +44,11 @@ macro(clang_compile object_file source)
else()
string(REPLACE " " ";" global_flags "${CMAKE_C_FLAGS}")
endif()
- # On Windows, CMAKE_*_FLAGS are built for MSVC but we use the GCC clang.exe
- # which doesn't support flags starting with "/smth". Replace those with
- # "-smth" equivalents.
- if(MSVC)
- string(REGEX REPLACE "^/" "-" global_flags "${global_flags}")
- string(REPLACE ";/" ";-" global_flags "${global_flags}")
+
+ if (MSVC)
+ translate_msvc_cflags(global_flags "${global_flags}")
endif()
+
# Ignore unknown warnings. CMAKE_CXX_FLAGS may contain GCC-specific options
# which are not supported by Clang.
list(APPEND global_flags -Wno-unknown-warning-option)
Modified: vendor/compiler-rt/dist/cmake/Modules/CompilerRTLink.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/CompilerRTLink.cmake Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/cmake/Modules/CompilerRTLink.cmake Sun Sep 6 18:41:23 2015 (r287516)
@@ -1,12 +1,10 @@
-include(LLVMParseArguments)
-
# Link a shared library with COMPILER_RT_TEST_COMPILER.
# clang_link_shared(<output.so>
# OBJECTS <list of input objects>
# LINKFLAGS <list of link flags>
# DEPS <list of dependencies>)
macro(clang_link_shared so_file)
- parse_arguments(SOURCE "OBJECTS;LINKFLAGS;DEPS" "" ${ARGN})
+ cmake_parse_arguments(SOURCE "" "" "OBJECTS;LINKFLAGS;DEPS" ${ARGN})
if(NOT COMPILER_RT_STANDALONE_BUILD)
list(APPEND SOURCE_DEPS clang)
endif()
Modified: vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/cmake/Modules/CompilerRTUtils.cmake Sun Sep 6 18:41:23 2015 (r287516)
@@ -49,3 +49,11 @@ macro(append_no_rtti_flag list)
append_list_if(COMPILER_RT_HAS_FNO_RTTI_FLAG -fno-rtti ${list})
append_list_if(COMPILER_RT_HAS_GR_FLAG /GR- ${list})
endmacro()
+
+macro(append_have_file_definition filename varname list)
+ check_include_file("${filename}" "${varname}")
+ if (NOT ${varname})
+ set("${varname}" 0)
+ endif()
+ list(APPEND ${list} "${varname}=${${varname}}")
+endmacro()
Modified: vendor/compiler-rt/dist/cmake/Modules/SanitizerUtils.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/Modules/SanitizerUtils.cmake Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/cmake/Modules/SanitizerUtils.cmake Sun Sep 6 18:41:23 2015 (r287516)
@@ -1,5 +1,3 @@
-include(LLVMParseArguments)
-
set(SANITIZER_GEN_DYNAMIC_LIST
${COMPILER_RT_SOURCE_DIR}/lib/sanitizer_common/scripts/gen_dynamic_list.py)
@@ -13,9 +11,13 @@ set(SANITIZER_LINT_SCRIPT
# add_sanitizer_rt_symbols(<name> <files with extra symbols to export>)
macro(add_sanitizer_rt_symbols name)
set(stamp ${CMAKE_CURRENT_BINARY_DIR}/${name}.syms-stamp)
+ set(extra_args)
+ foreach(arg ${ARGN})
+ list(APPEND extra_args "--extra" ${arg})
+ endforeach()
add_custom_command(OUTPUT ${stamp}
COMMAND ${PYTHON_EXECUTABLE}
- ${SANITIZER_GEN_DYNAMIC_LIST} $<TARGET_FILE:${name}> ${ARGN}
+ ${SANITIZER_GEN_DYNAMIC_LIST} ${extra_args} $<TARGET_FILE:${name}>
> $<TARGET_FILE:${name}>.syms
COMMAND ${CMAKE_COMMAND} -E touch ${stamp}
DEPENDS ${name} ${SANITIZER_GEN_DYNAMIC_LIST} ${ARGN}
@@ -44,6 +46,29 @@ macro(add_sanitizer_rt_symbols name)
endif()
endmacro()
+macro(add_sanitizer_rt_version_list name)
+ set(vers ${CMAKE_CURRENT_BINARY_DIR}/${name}.vers)
+ cmake_parse_arguments(ARG "" "" "LIBS;EXTRA" ${ARGN})
+ set(args)
+ foreach(arg ${ARG_EXTRA})
+ list(APPEND args "--extra" ${arg})
+ endforeach()
+ foreach(arg ${ARG_LIBS})
+ list(APPEND args "$<TARGET_FILE:${arg}>")
+ endforeach()
+ add_custom_command(OUTPUT ${vers}
+ COMMAND ${PYTHON_EXECUTABLE}
+ ${SANITIZER_GEN_DYNAMIC_LIST} --version-list ${args}
+ > ${vers}
+ DEPENDS ${SANITIZER_GEN_DYNAMIC_LIST} ${ARG_EXTRA} ${ARG_LIBS}
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+ COMMENT "Generating version list for ${name}"
+ VERBATIM)
+
+ add_custom_target(${name}-version-list ALL
+ DEPENDS ${vers})
+endmacro()
+
# Add target to check code style for sanitizer runtimes.
if(UNIX)
add_custom_target(SanitizerLintCheck
Modified: vendor/compiler-rt/dist/cmake/config-ix.cmake
==============================================================================
--- vendor/compiler-rt/dist/cmake/config-ix.cmake Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/cmake/config-ix.cmake Sun Sep 6 18:41:23 2015 (r287516)
@@ -1,8 +1,16 @@
+include(CMakePushCheckState)
include(CheckCXXCompilerFlag)
include(CheckLibraryExists)
include(CheckSymbolExists)
include(TestBigEndian)
+function(check_linker_flag flag out_var)
+ cmake_push_check_state()
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${flag}")
+ check_cxx_compiler_flag("" ${out_var})
+ cmake_pop_check_state()
+endfunction()
+
# CodeGen options.
check_cxx_compiler_flag(-fPIC COMPILER_RT_HAS_FPIC_FLAG)
check_cxx_compiler_flag(-fPIE COMPILER_RT_HAS_FPIE_FLAG)
@@ -11,6 +19,7 @@ check_cxx_compiler_flag(-fno-exceptions
check_cxx_compiler_flag(-fomit-frame-pointer COMPILER_RT_HAS_FOMIT_FRAME_POINTER_FLAG)
check_cxx_compiler_flag(-funwind-tables COMPILER_RT_HAS_FUNWIND_TABLES_FLAG)
check_cxx_compiler_flag(-fno-stack-protector COMPILER_RT_HAS_FNO_STACK_PROTECTOR_FLAG)
+check_cxx_compiler_flag(-fno-sanitize=safe-stack COMPILER_RT_HAS_FNO_SANITIZE_SAFE_STACK_FLAG)
check_cxx_compiler_flag(-fvisibility=hidden COMPILER_RT_HAS_FVISIBILITY_HIDDEN_FLAG)
check_cxx_compiler_flag(-fno-rtti COMPILER_RT_HAS_FNO_RTTI_FLAG)
check_cxx_compiler_flag(-ffreestanding COMPILER_RT_HAS_FFREESTANDING_FLAG)
@@ -54,10 +63,16 @@ check_symbol_exists(__func__ "" COMPILER
# Libraries.
check_library_exists(c printf "" COMPILER_RT_HAS_LIBC)
check_library_exists(dl dlopen "" COMPILER_RT_HAS_LIBDL)
+check_library_exists(rt shm_open "" COMPILER_RT_HAS_LIBRT)
check_library_exists(m pow "" COMPILER_RT_HAS_LIBM)
check_library_exists(pthread pthread_create "" COMPILER_RT_HAS_LIBPTHREAD)
check_library_exists(stdc++ __cxa_throw "" COMPILER_RT_HAS_LIBSTDCXX)
+# Linker flags.
+if(ANDROID)
+ check_linker_flag("-Wl,-z,global" COMPILER_RT_HAS_Z_GLOBAL)
+endif()
+
# Architectures.
# List of all architectures we can target.
@@ -70,22 +85,43 @@ set(COMPILER_RT_SUPPORTED_ARCH)
set(SIMPLE_SOURCE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/simple.cc)
file(WRITE ${SIMPLE_SOURCE} "#include <stdlib.h>\n#include <limits>\nint main() {}\n")
-# test_target_arch(<arch> <target flags...>)
-# Sets the target flags for a given architecture and determines if this
-# architecture is supported by trying to build a simple file.
-macro(test_target_arch arch)
+function(check_compile_definition def argstring out_var)
+ if("${def}" STREQUAL "")
+ set(${out_var} TRUE PARENT_SCOPE)
+ return()
+ endif()
+ cmake_push_check_state()
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${argstring}")
+ check_symbol_exists(${def} "" ${out_var})
+ cmake_pop_check_state()
+endfunction()
+
+# test_target_arch(<arch> <def> <target flags...>)
+# Checks if architecture is supported: runs host compiler with provided
+# flags to verify that:
+# 1) <def> is defined (if non-empty)
+# 2) simple file can be successfully built.
+# If successful, saves target flags for this architecture.
+macro(test_target_arch arch def)
set(TARGET_${arch}_CFLAGS ${ARGN})
- set(argstring "${CMAKE_EXE_LINKER_FLAGS}")
+ set(argstring "")
foreach(arg ${ARGN})
set(argstring "${argstring} ${arg}")
endforeach()
- 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}")
+ check_compile_definition("${def}" "${argstring}" HAS_${arch}_DEF)
+ if(NOT HAS_${arch}_DEF)
+ set(CAN_TARGET_${arch} FALSE)
+ 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}")
+ endif()
if(${CAN_TARGET_${arch}})
list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
- elseif("${COMPILER_RT_TEST_TARGET_ARCH}" MATCHES "${arch}")
+ elseif("${COMPILER_RT_TEST_TARGET_ARCH}" MATCHES "${arch}" AND
+ COMPILER_RT_HAS_EXPLICIT_TEST_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}")
endif()
@@ -139,33 +175,46 @@ if(ANDROID)
else()
if("${LLVM_NATIVE_ARCH}" STREQUAL "X86")
if(NOT MSVC)
- test_target_arch(x86_64 "-m64")
- test_target_arch(i386 "-m32")
+ test_target_arch(x86_64 "" "-m64")
+ # FIXME: We build runtimes for both i686 and i386, as "clang -m32" may
+ # target different variant than "$CMAKE_C_COMPILER -m32". This part should
+ # be gone after we resolve PR14109.
+ test_target_arch(i686 __i686__ "-m32")
+ test_target_arch(i386 __i386__ "-m32")
else()
- test_target_arch(i386 "")
+ if (CMAKE_SIZEOF_VOID_P EQUAL 4)
+ test_target_arch(i386 "" "")
+ else()
+ test_target_arch(x86_64 "" "")
+ endif()
endif()
elseif("${LLVM_NATIVE_ARCH}" STREQUAL "PowerPC")
TEST_BIG_ENDIAN(HOST_IS_BIG_ENDIAN)
if(HOST_IS_BIG_ENDIAN)
- test_target_arch(powerpc64 "-m64")
+ test_target_arch(powerpc64 "" "-m64")
else()
- test_target_arch(powerpc64le "-m64")
+ test_target_arch(powerpc64le "" "-m64")
endif()
elseif("${LLVM_NATIVE_ARCH}" STREQUAL "Mips")
+ # Gcc doesn't accept -m32/-m64 so we do the next best thing and use
+ # -mips32r2/-mips64r2. We don't use -mips1/-mips3 because we want to match
+ # clang's default CPU's. In the 64-bit case, we must also specify the ABI
+ # since the default ABI differs between gcc and clang.
+ # FIXME: Ideally, we would build the N32 library too.
if("${COMPILER_RT_TEST_TARGET_ARCH}" MATCHES "mipsel|mips64el")
# regex for mipsel, mips64el
- test_target_arch(mipsel "-m32")
- test_target_arch(mips64el "-m64")
+ test_target_arch(mipsel "" "-mips32r2" "--target=mipsel-linux-gnu")
+ test_target_arch(mips64el "" "-mips64r2" "-mabi=n64")
else()
- test_target_arch(mips "-m32")
- test_target_arch(mips64 "-m64")
+ test_target_arch(mips "" "-mips32r2" "--target=mips-linux-gnu")
+ test_target_arch(mips64 "" "-mips64r2" "-mabi=n64")
endif()
elseif("${COMPILER_RT_TEST_TARGET_ARCH}" MATCHES "arm")
- test_target_arch(arm "-march=armv7-a")
+ test_target_arch(arm "" "-march=armv7-a")
elseif("${COMPILER_RT_TEST_TARGET_ARCH}" MATCHES "aarch32")
- test_target_arch(aarch32 "-march=armv8-a")
+ test_target_arch(aarch32 "" "-march=armv8-a")
elseif("${COMPILER_RT_TEST_TARGET_ARCH}" MATCHES "aarch64")
- test_target_arch(aarch64 "-march=armv8-a")
+ test_target_arch(aarch64 "" "-march=armv8-a")
endif()
set(COMPILER_RT_OS_SUFFIX "")
endif()
@@ -184,6 +233,7 @@ function(filter_available_targets out_va
set(${out_var} ${archs} PARENT_SCOPE)
endfunction()
+# Returns a list of architecture specific target cflags in @out_var list.
function(get_target_flags_for_arch arch out_var)
list(FIND COMPILER_RT_SUPPORTED_ARCH ${arch} ARCH_INDEX)
if(ARCH_INDEX EQUAL -1)
@@ -196,19 +246,23 @@ endfunction()
# Architectures supported by compiler-rt libraries.
filter_available_targets(SANITIZER_COMMON_SUPPORTED_ARCH
x86_64 i386 i686 powerpc64 powerpc64le arm aarch64 mips mips64 mipsel mips64el)
+# LSan and UBSan common files should be available on all architectures supported
+# by other sanitizers (even if they build into dummy object files).
+filter_available_targets(LSAN_COMMON_SUPPORTED_ARCH
+ ${SANITIZER_COMMON_SUPPORTED_ARCH})
+filter_available_targets(UBSAN_COMMON_SUPPORTED_ARCH
+ ${SANITIZER_COMMON_SUPPORTED_ARCH})
filter_available_targets(ASAN_SUPPORTED_ARCH
x86_64 i386 i686 powerpc64 powerpc64le arm mips mipsel mips64 mips64el)
filter_available_targets(DFSAN_SUPPORTED_ARCH x86_64 mips64 mips64el)
filter_available_targets(LSAN_SUPPORTED_ARCH x86_64 mips64 mips64el)
-# LSan common files should be available on all architectures supported
-# by other sanitizers (even if they build into dummy object files).
-filter_available_targets(LSAN_COMMON_SUPPORTED_ARCH
- ${SANITIZER_COMMON_SUPPORTED_ARCH})
filter_available_targets(MSAN_SUPPORTED_ARCH x86_64 mips64 mips64el)
filter_available_targets(PROFILE_SUPPORTED_ARCH x86_64 i386 i686 arm mips mips64
mipsel mips64el aarch64 powerpc64 powerpc64le)
filter_available_targets(TSAN_SUPPORTED_ARCH x86_64 mips64 mips64el)
-filter_available_targets(UBSAN_SUPPORTED_ARCH x86_64 i386 i686 arm aarch64 mips mipsel mips64 mips64el)
+filter_available_targets(UBSAN_SUPPORTED_ARCH x86_64 i386 i686 arm aarch64 mips
+ mipsel mips64 mips64el powerpc64 powerpc64le)
+filter_available_targets(SAFESTACK_SUPPORTED_ARCH x86_64 i386 i686)
if(ANDROID)
set(OS_NAME "Android")
@@ -218,13 +272,21 @@ endif()
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 AND CMAKE_SIZEOF_VOID_P EQUAL 4)))
+ (OS_NAME MATCHES "Windows" AND MSVC)))
set(COMPILER_RT_HAS_SANITIZER_COMMON TRUE)
else()
set(COMPILER_RT_HAS_SANITIZER_COMMON FALSE)
endif()
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND ASAN_SUPPORTED_ARCH)
+if (COMPILER_RT_HAS_SANITIZER_COMMON AND
+ (NOT OS_NAME MATCHES "Windows" OR CMAKE_SIZEOF_VOID_P EQUAL 4))
+ set(COMPILER_RT_HAS_INTERCEPTION TRUE)
+else()
+ set(COMPILER_RT_HAS_INTERCEPTION FALSE)
+endif()
+
+if (COMPILER_RT_HAS_SANITIZER_COMMON AND ASAN_SUPPORTED_ARCH AND
+ (NOT OS_NAME MATCHES "Windows" OR CMAKE_SIZEOF_VOID_P EQUAL 4))
set(COMPILER_RT_HAS_ASAN TRUE)
else()
set(COMPILER_RT_HAS_ASAN FALSE)
@@ -246,19 +308,12 @@ else()
endif()
if (COMPILER_RT_HAS_SANITIZER_COMMON AND LSAN_SUPPORTED_ARCH AND
- OS_NAME MATCHES "Darwin|Linux|FreeBSD")
+ OS_NAME MATCHES "Linux|FreeBSD")
set(COMPILER_RT_HAS_LSAN TRUE)
else()
set(COMPILER_RT_HAS_LSAN FALSE)
endif()
-if (COMPILER_RT_HAS_SANITIZER_COMMON AND LSAN_COMMON_SUPPORTED_ARCH AND
- OS_NAME MATCHES "Darwin|Linux|FreeBSD|Android")
- set(COMPILER_RT_HAS_LSAN_COMMON TRUE)
-else()
- set(COMPILER_RT_HAS_LSAN_COMMON FALSE)
-endif()
-
if (COMPILER_RT_HAS_SANITIZER_COMMON AND MSAN_SUPPORTED_ARCH AND
OS_NAME MATCHES "Linux")
set(COMPILER_RT_HAS_MSAN TRUE)
@@ -281,9 +336,23 @@ else()
endif()
if (COMPILER_RT_HAS_SANITIZER_COMMON AND UBSAN_SUPPORTED_ARCH AND
- OS_NAME MATCHES "Darwin|Linux|FreeBSD")
+ OS_NAME MATCHES "Darwin|Linux|FreeBSD|Windows")
set(COMPILER_RT_HAS_UBSAN TRUE)
else()
set(COMPILER_RT_HAS_UBSAN FALSE)
endif()
+# -msse3 flag is not valid for Mips therefore clang gives a warning
+# message with -msse3. But check_c_compiler_flags() checks only for
+# compiler error messages. Therefore COMPILER_RT_HAS_MSSE3_FLAG turns out to be
+# true on Mips, so we make it false here.
+if("${LLVM_NATIVE_ARCH}" STREQUAL "Mips")
+ set(COMPILER_RT_HAS_MSSE3_FLAG FALSE)
+endif()
+
+if (COMPILER_RT_HAS_SANITIZER_COMMON AND SAFESTACK_SUPPORTED_ARCH AND
+ OS_NAME MATCHES "Darwin|Linux|FreeBSD")
+ set(COMPILER_RT_HAS_SAFESTACK TRUE)
+else()
+ set(COMPILER_RT_HAS_SAFESTACK FALSE)
+endif()
Modified: vendor/compiler-rt/dist/include/sanitizer/coverage_interface.h
==============================================================================
--- vendor/compiler-rt/dist/include/sanitizer/coverage_interface.h Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/include/sanitizer/coverage_interface.h Sun Sep 6 18:41:23 2015 (r287516)
@@ -39,6 +39,23 @@ extern "C" {
// Some of the entries in *data will be zero.
uintptr_t __sanitizer_get_coverage_guards(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.
+ // Every counter is associated with 8 bits in the bitset.
+ // We define 8 value ranges: 1, 2, 3, 4-7, 8-15, 16-31, 32-127, 128+
+ // The i-th bit is set to 1 if the counter value is in the i-th range.
+ // This counter-based coverage implementation is *not* thread-safe.
+
+ // Returns the number of registered coverage counters.
+ uintptr_t __sanitizer_get_number_of_counters();
+ // Updates the counter 'bitset', clears the counters and returns the number of
+ // new bits in 'bitset'.
+ // If 'bitset' is nullptr, only clears the counters.
+ // Otherwise 'bitset' should be at least
+ // __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
Modified: vendor/compiler-rt/dist/include/sanitizer/dfsan_interface.h
==============================================================================
--- vendor/compiler-rt/dist/include/sanitizer/dfsan_interface.h Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/include/sanitizer/dfsan_interface.h Sun Sep 6 18:41:23 2015 (r287516)
@@ -91,6 +91,16 @@ void dfsan_set_write_callback(dfsan_writ
/// <label> <parent label 1> <parent label 2> <label description if any>
void dfsan_dump_labels(int fd);
+/// Whenever a dfsan's custom function is called the corresponding
+/// hook is called it non-zero. The hooks should be defined by the user.
+/// The primary use case is taint-guided fuzzing, where the fuzzer
+/// needs to see the parameters of the function and the labels.
+/// FIXME: implement more hooks.
+
+/// memcmp hook.
+void dfsan_weak_hook_memcmp(void *caller_pc, const void *s1, const void *s2,
+ size_t n, dfsan_label s1_label,
+ dfsan_label s2_label, dfsan_label n_label);
#ifdef __cplusplus
} // extern "C"
Modified: vendor/compiler-rt/dist/include/sanitizer/lsan_interface.h
==============================================================================
--- vendor/compiler-rt/dist/include/sanitizer/lsan_interface.h Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/include/sanitizer/lsan_interface.h Sun Sep 6 18:41:23 2015 (r287516)
@@ -41,14 +41,25 @@ extern "C" {
void __lsan_register_root_region(const void *p, size_t size);
void __lsan_unregister_root_region(const void *p, size_t size);
- // Calling this function makes LSan enter the leak checking phase immediately.
- // Use this if normal end-of-process leak checking happens too late (e.g. if
- // you have intentional memory leaks in your shutdown code). Calling this
- // function overrides end-of-process leak checking; it must be called at
- // most once per process. This function will terminate the process if there
- // are memory leaks and the exit_code flag is non-zero.
+ // Check for leaks now. This function behaves identically to the default
+ // end-of-process leak check. In particular, it will terminate the process if
+ // leaks are found and the exit_code flag is non-zero.
+ // Subsequent calls to this function will have no effect and end-of-process
+ // leak check will not run. Effectively, end-of-process leak check is moved to
+ // the time of first invocation of this function.
+ // By calling this function early during process shutdown, you can instruct
+ // LSan to ignore shutdown-only leaks which happen later on.
void __lsan_do_leak_check();
+ // Check for leaks now. Returns zero if no leaks have been found or if leak
+ // detection is disabled, non-zero otherwise.
+ // This function may be called repeatedly, e.g. to periodically check a
+ // long-running process. It prints a leak report if appropriate, but does not
+ // terminate the process. It does not affect the behavior of
+ // __lsan_do_leak_check() or the end-of-process leak check, and is not
+ // affected by them.
+ int __lsan_do_recoverable_leak_check();
+
// The user may optionally provide this function to disallow leak checking
// for the program it is linked into (if the return value is non-zero). This
// function must be defined as returning a constant value; any behavior beyond
Modified: vendor/compiler-rt/dist/include/sanitizer/msan_interface.h
==============================================================================
--- vendor/compiler-rt/dist/include/sanitizer/msan_interface.h Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/include/sanitizer/msan_interface.h Sun Sep 6 18:41:23 2015 (r287516)
@@ -25,6 +25,11 @@ extern "C" {
/* Get raw origin for an address. */
uint32_t __msan_get_origin(const volatile void *a);
+ /* Test that this_id is a descendant of prev_id (or they are simply equal).
+ * "descendant" here means they are part of the same chain, created with
+ * __msan_chain_origin. */
+ int __msan_origin_is_descendant_or_same(uint32_t this_id, uint32_t prev_id);
+
/* Returns non-zero if tracking origins. */
int __msan_get_track_origins();
Modified: vendor/compiler-rt/dist/lib/CMakeLists.txt
==============================================================================
--- vendor/compiler-rt/dist/lib/CMakeLists.txt Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/lib/CMakeLists.txt Sun Sep 6 18:41:23 2015 (r287516)
@@ -4,9 +4,14 @@
include(AddCompilerRT)
include(SanitizerUtils)
-if(COMPILER_RT_HAS_SANITIZER_COMMON)
+if(COMPILER_RT_HAS_INTERCEPTION)
add_subdirectory(interception)
+endif()
+
+if(COMPILER_RT_HAS_SANITIZER_COMMON)
add_subdirectory(sanitizer_common)
+ add_subdirectory(lsan)
+ add_subdirectory(ubsan)
endif()
if(COMPILER_RT_HAS_ASAN)
@@ -19,10 +24,6 @@ if(COMPILER_RT_HAS_DFSAN)
add_subdirectory(dfsan)
endif()
-if(COMPILER_RT_HAS_LSAN OR COMPILER_RT_HAS_LSAN_COMMON)
- add_subdirectory(lsan)
-endif()
-
if(COMPILER_RT_HAS_MSAN)
add_subdirectory(msan)
endif()
@@ -36,7 +37,6 @@ if(COMPILER_RT_HAS_TSAN)
add_subdirectory(tsan/dd)
endif()
-if(COMPILER_RT_HAS_UBSAN)
- add_subdirectory(ubsan)
+if(COMPILER_RT_HAS_SAFESTACK)
+ add_subdirectory(safestack)
endif()
-
Modified: vendor/compiler-rt/dist/lib/asan/CMakeLists.txt
==============================================================================
--- vendor/compiler-rt/dist/lib/asan/CMakeLists.txt Sun Sep 6 18:37:51 2015 (r287515)
+++ vendor/compiler-rt/dist/lib/asan/CMakeLists.txt Sun Sep 6 18:41:23 2015 (r287516)
@@ -37,9 +37,22 @@ append_no_rtti_flag(ASAN_CFLAGS)
set(ASAN_COMMON_DEFINITIONS
ASAN_HAS_EXCEPTIONS=1)
+set(ASAN_DYNAMIC_LINK_FLAGS)
+
if(ANDROID)
list(APPEND ASAN_COMMON_DEFINITIONS
ASAN_LOW_MEMORY=1)
+# On Android, -z global does not do what it is documented to do.
+# On Android, -z global moves the library ahead in the lookup order,
+# placing it right after the LD_PRELOADs. This is used to compensate for the fact
+# that Android linker does not look at the dependencies of the main executable
+# that aren't dependencies of the current DSO when resolving symbols from said DSO.
+# As a net result, this allows running ASan executables without LD_PRELOAD-ing the
+# ASan runtime library.
+# The above is applicable to L MR1 or newer.
+ if (COMPILER_RT_HAS_Z_GLOBAL)
+ list(APPEND ASAN_DYNAMIC_LINK_FLAGS -Wl,-z,global)
+ endif()
endif()
set(ASAN_DYNAMIC_DEFINITIONS
@@ -53,6 +66,7 @@ append_list_if(MSVC /DEBUG ASAN_DYNAMIC_
append_list_if(COMPILER_RT_HAS_LIBC c ASAN_DYNAMIC_LIBS)
append_list_if(COMPILER_RT_HAS_LIBDL dl ASAN_DYNAMIC_LIBS)
+append_list_if(COMPILER_RT_HAS_LIBRT rt ASAN_DYNAMIC_LIBS)
append_list_if(COMPILER_RT_HAS_LIBM m ASAN_DYNAMIC_LIBS)
append_list_if(COMPILER_RT_HAS_LIBPTHREAD pthread ASAN_DYNAMIC_LIBS)
append_list_if(COMPILER_RT_HAS_LIBSTDCXX stdc++ ASAN_DYNAMIC_LIBS)
@@ -61,41 +75,50 @@ append_list_if(ANDROID log ASAN_DYNAMIC_
# Compile ASan sources into an object library.
if(APPLE)
- foreach(os ${SANITIZER_COMMON_SUPPORTED_DARWIN_OS})
- add_compiler_rt_darwin_object_library(RTAsan ${os}
- ARCH ${ASAN_SUPPORTED_ARCH}
- SOURCES ${ASAN_SOURCES} ${ASAN_CXX_SOURCES}
- CFLAGS ${ASAN_DYNAMIC_CFLAGS}
- DEFS ${ASAN_DYNAMIC_DEFINITIONS})
- endforeach()
+ add_compiler_rt_object_libraries(RTAsan
+ OS ${SANITIZER_COMMON_SUPPORTED_OS}
+ ARCHS ${ASAN_SUPPORTED_ARCH}
+ SOURCES ${ASAN_SOURCES} ${ASAN_CXX_SOURCES}
+ CFLAGS ${ASAN_DYNAMIC_CFLAGS}
+ DEFS ${ASAN_DYNAMIC_DEFINITIONS})
else()
- foreach(arch ${ASAN_SUPPORTED_ARCH})
- add_compiler_rt_object_library(RTAsan ${arch}
- SOURCES ${ASAN_SOURCES} CFLAGS ${ASAN_CFLAGS}
- DEFS ${ASAN_COMMON_DEFINITIONS})
- add_compiler_rt_object_library(RTAsan_cxx ${arch}
- SOURCES ${ASAN_CXX_SOURCES} CFLAGS ${ASAN_CFLAGS}
- DEFS ${ASAN_COMMON_DEFINITIONS})
- add_compiler_rt_object_library(RTAsan_preinit ${arch}
- SOURCES ${ASAN_PREINIT_SOURCES} CFLAGS ${ASAN_CFLAGS}
- DEFS ${ASAN_COMMON_DEFINITIONS})
- add_compiler_rt_object_library(RTAsan_dynamic ${arch}
- SOURCES ${ASAN_SOURCES} ${ASAN_CXX_SOURCES}
- CFLAGS ${ASAN_DYNAMIC_CFLAGS}
- DEFS ${ASAN_DYNAMIC_DEFINITIONS})
- endforeach()
+ add_compiler_rt_object_libraries(RTAsan
+ ARCHS ${ASAN_SUPPORTED_ARCH}
+ SOURCES ${ASAN_SOURCES} CFLAGS ${ASAN_CFLAGS}
+ DEFS ${ASAN_COMMON_DEFINITIONS})
+ add_compiler_rt_object_libraries(RTAsan_cxx
+ ARCHS ${ASAN_SUPPORTED_ARCH}
+ SOURCES ${ASAN_CXX_SOURCES} CFLAGS ${ASAN_CFLAGS}
+ DEFS ${ASAN_COMMON_DEFINITIONS})
+ add_compiler_rt_object_libraries(RTAsan_preinit
+ ARCHS ${ASAN_SUPPORTED_ARCH}
+ SOURCES ${ASAN_PREINIT_SOURCES} CFLAGS ${ASAN_CFLAGS}
+ DEFS ${ASAN_COMMON_DEFINITIONS})
+ add_compiler_rt_object_libraries(RTAsan_dynamic
+ ARCHS ${ASAN_SUPPORTED_ARCH}
+ SOURCES ${ASAN_SOURCES} ${ASAN_CXX_SOURCES}
+ CFLAGS ${ASAN_DYNAMIC_CFLAGS}
+ DEFS ${ASAN_DYNAMIC_DEFINITIONS})
+
+ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/dummy.cc "")
+ add_compiler_rt_object_libraries(RTAsan_dynamic_version_script_dummy
+ ARCHS ${ASAN_SUPPORTED_ARCH}
+ SOURCES ${CMAKE_CURRENT_BINARY_DIR}/dummy.cc
+ CFLAGS ${ASAN_DYNAMIC_CFLAGS}
+ DEFS ${ASAN_DYNAMIC_DEFINITIONS})
endif()
# Build ASan runtimes shipped with Clang.
add_custom_target(asan)
if(APPLE)
- foreach (os ${SANITIZER_COMMON_SUPPORTED_DARWIN_OS})
+ foreach (os ${SANITIZER_COMMON_SUPPORTED_OS})
add_compiler_rt_darwin_dynamic_runtime(clang_rt.asan_${os}_dynamic ${os}
- ARCH ${ASAN_SUPPORTED_ARCH}
+ ARCHS ${ASAN_SUPPORTED_ARCH}
SOURCES $<TARGET_OBJECTS:RTAsan.${os}>
$<TARGET_OBJECTS:RTInterception.${os}>
$<TARGET_OBJECTS:RTSanitizerCommon.${os}>
$<TARGET_OBJECTS:RTLSanCommon.${os}>
+ $<TARGET_OBJECTS:RTUbsan.${os}>
CFLAGS ${ASAN_DYNAMIC_CFLAGS}
DEFS ${ASAN_DYNAMIC_DEFINITIONS})
add_dependencies(asan clang_rt.asan_${os}_dynamic)
@@ -106,12 +129,9 @@ else()
set(ASAN_COMMON_RUNTIME_OBJECTS
$<TARGET_OBJECTS:RTInterception.${arch}>
$<TARGET_OBJECTS:RTSanitizerCommon.${arch}>
- $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}>)
- if(NOT WIN32)
- # We can't build Leak Sanitizer on Windows yet.
- list(APPEND ASAN_COMMON_RUNTIME_OBJECTS
- $<TARGET_OBJECTS:RTLSanCommon.${arch}>)
- endif()
+ $<TARGET_OBJECTS:RTSanitizerCommonLibc.${arch}>
+ $<TARGET_OBJECTS:RTLSanCommon.${arch}>
+ $<TARGET_OBJECTS:RTUbsan.${arch}>)
add_compiler_rt_runtime(clang_rt.asan-${arch} ${arch} STATIC
SOURCES $<TARGET_OBJECTS:RTAsan_preinit.${arch}>
@@ -123,6 +143,7 @@ else()
add_compiler_rt_runtime(clang_rt.asan_cxx-${arch} ${arch} STATIC
SOURCES $<TARGET_OBJECTS:RTAsan_cxx.${arch}>
+ $<TARGET_OBJECTS:RTUbsan_cxx.${arch}>
CFLAGS ${ASAN_CFLAGS}
DEFS ${ASAN_COMMON_DEFINITIONS})
add_dependencies(asan clang_rt.asan_cxx-${arch})
@@ -133,6 +154,20 @@ else()
DEFS ${ASAN_COMMON_DEFINITIONS})
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-vendor
mailing list