Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Jul 2012 10:58:14 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r238901 - in vendor/compiler-rt/dist: . BlocksRuntime SDKs/darwin/usr/include SDKs/linux/usr/include cmake cmake/Modules lib lib/arm lib/asan lib/asan/mach_override lib/asan/output_test...
Message-ID:  <201207301058.q6UAwEen079112@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: andrew
Date: Mon Jul 30 10:58:13 2012
New Revision: 238901
URL: http://svn.freebsd.org/changeset/base/238901

Log:
  Import compiler-rt r160957.

Added:
  vendor/compiler-rt/dist/lib/arm/aeabi_idivmod.S
  vendor/compiler-rt/dist/lib/arm/aeabi_ldivmod.S
  vendor/compiler-rt/dist/lib/arm/aeabi_memcmp.S
  vendor/compiler-rt/dist/lib/arm/aeabi_memcpy.S
  vendor/compiler-rt/dist/lib/arm/aeabi_memmove.S
  vendor/compiler-rt/dist/lib/arm/aeabi_memset.S
  vendor/compiler-rt/dist/lib/arm/aeabi_uidivmod.S
  vendor/compiler-rt/dist/lib/arm/aeabi_uldivmod.S
  vendor/compiler-rt/dist/lib/asan/CMakeLists.txt
  vendor/compiler-rt/dist/lib/asan/asan_flags.h
  vendor/compiler-rt/dist/lib/asan/asan_malloc_win.cc
  vendor/compiler-rt/dist/lib/asan/asan_new_delete.cc
  vendor/compiler-rt/dist/lib/asan/asan_posix.cc
  vendor/compiler-rt/dist/lib/asan/asan_win.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/
  vendor/compiler-rt/dist/lib/asan/output_tests/clone_test.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/deep_tail_call.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/default_options.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/dlclose-test-so.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/dlclose-test.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/global-overflow.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/heap-overflow.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/interception_failure_test-linux.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/interception_malloc_test-linux.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/interception_test-linux.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/large_func_test.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/memcmp_test.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/null_deref.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/shared-lib-test-so.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/shared-lib-test.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/stack-overflow.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/stack-use-after-return.cc.disabled
  vendor/compiler-rt/dist/lib/asan/output_tests/strncpy-overflow.cc
  vendor/compiler-rt/dist/lib/asan/output_tests/test_output.sh   (contents, props changed)
  vendor/compiler-rt/dist/lib/asan/output_tests/use-after-free.c
  vendor/compiler-rt/dist/lib/asan/output_tests/use-after-free.cc
  vendor/compiler-rt/dist/lib/asan/tests/CMakeLists.txt
  vendor/compiler-rt/dist/lib/asan/tests/asan_racy_double_free_test.cc
  vendor/compiler-rt/dist/lib/atomic.c
  vendor/compiler-rt/dist/lib/interception/
  vendor/compiler-rt/dist/lib/interception/CMakeLists.txt
  vendor/compiler-rt/dist/lib/interception/Makefile.mk
  vendor/compiler-rt/dist/lib/interception/interception.h
  vendor/compiler-rt/dist/lib/interception/interception_linux.cc
  vendor/compiler-rt/dist/lib/interception/interception_linux.h
  vendor/compiler-rt/dist/lib/interception/interception_mac.cc
  vendor/compiler-rt/dist/lib/interception/interception_mac.h
  vendor/compiler-rt/dist/lib/interception/interception_win.cc
  vendor/compiler-rt/dist/lib/interception/interception_win.h
  vendor/compiler-rt/dist/lib/interception/mach_override/
  vendor/compiler-rt/dist/lib/interception/mach_override/LICENSE.TXT
  vendor/compiler-rt/dist/lib/interception/mach_override/Makefile.mk
  vendor/compiler-rt/dist/lib/interception/mach_override/README.txt
  vendor/compiler-rt/dist/lib/interception/mach_override/mach_override.c
  vendor/compiler-rt/dist/lib/interception/mach_override/mach_override.h
  vendor/compiler-rt/dist/lib/sanitizer_common/
  vendor/compiler-rt/dist/lib/sanitizer_common/CMakeLists.txt
  vendor/compiler-rt/dist/lib/sanitizer_common/Makefile.mk
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_allocator64.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_atomic.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_atomic_clang.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_flags.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_flags.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_interface_defs.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_internal_defs.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_libc.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_libc.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_linux.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_list.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mac.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_mutex.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_placement_new.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_posix.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_printf.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_procmaps.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_symbolizer.h
  vendor/compiler-rt/dist/lib/sanitizer_common/sanitizer_win.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_allocator64_test.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_allocator64_testlib.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_allocator_test.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_common_test.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_flags_test.cc
  vendor/compiler-rt/dist/lib/sanitizer_common/tests/sanitizer_list_test.cc
  vendor/compiler-rt/dist/lib/tsan/
  vendor/compiler-rt/dist/lib/tsan/CMakeLists.txt
  vendor/compiler-rt/dist/lib/tsan/Makefile.mk
  vendor/compiler-rt/dist/lib/tsan/Makefile.old
  vendor/compiler-rt/dist/lib/tsan/analyze_libtsan.sh   (contents, props changed)
  vendor/compiler-rt/dist/lib/tsan/benchmarks/
  vendor/compiler-rt/dist/lib/tsan/benchmarks/mini_bench_local.cc
  vendor/compiler-rt/dist/lib/tsan/benchmarks/mini_bench_shared.cc
  vendor/compiler-rt/dist/lib/tsan/benchmarks/start_many_threads.cc
  vendor/compiler-rt/dist/lib/tsan/benchmarks/vts_many_threads_bench.cc
  vendor/compiler-rt/dist/lib/tsan/check_analyze.sh   (contents, props changed)
  vendor/compiler-rt/dist/lib/tsan/go/
  vendor/compiler-rt/dist/lib/tsan/go/buildgo.sh   (contents, props changed)
  vendor/compiler-rt/dist/lib/tsan/go/test.c
  vendor/compiler-rt/dist/lib/tsan/go/tsan_go.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/
  vendor/compiler-rt/dist/lib/tsan/output_tests/free_race.c
  vendor/compiler-rt/dist/lib/tsan/output_tests/free_race2.c
  vendor/compiler-rt/dist/lib/tsan/output_tests/heap_race.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/memcpy_race.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/mop_with_offset.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/mop_with_offset2.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/race_on_barrier.c
  vendor/compiler-rt/dist/lib/tsan/output_tests/race_on_barrier2.c
  vendor/compiler-rt/dist/lib/tsan/output_tests/race_on_mutex.c
  vendor/compiler-rt/dist/lib/tsan/output_tests/race_with_finished_thread.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/simple_race.c
  vendor/compiler-rt/dist/lib/tsan/output_tests/simple_race.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/simple_stack.c
  vendor/compiler-rt/dist/lib/tsan/output_tests/simple_stack2.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/static_init1.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/static_init2.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/static_init3.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/static_init4.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/static_init5.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/suppress_same_address.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/suppress_same_stacks.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/test_output.sh   (contents, props changed)
  vendor/compiler-rt/dist/lib/tsan/output_tests/thread_leak.c
  vendor/compiler-rt/dist/lib/tsan/output_tests/thread_leak2.c
  vendor/compiler-rt/dist/lib/tsan/output_tests/thread_leak3.c
  vendor/compiler-rt/dist/lib/tsan/output_tests/tiny_race.c
  vendor/compiler-rt/dist/lib/tsan/output_tests/virtual_inheritance_compile_bug.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/vptr_benign_race.cc
  vendor/compiler-rt/dist/lib/tsan/output_tests/vptr_harmful_race.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/
  vendor/compiler-rt/dist/lib/tsan/rtl/Makefile.mk
  vendor/compiler-rt/dist/lib/tsan/rtl/Makefile.old
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_clock.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_clock.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_defs.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_flags.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_flags.h
  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_ann.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_ann.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_atomic.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_atomic.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_interface_inl.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_md5.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mman.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mman.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mutex.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_mutex.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_linux.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_platform_mac.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_printf.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_report.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_report.h
  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_amd64.S
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_mutex.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_report.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_rtl_thread.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_stat.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_stat.h
  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_symbolize_addr2line_linux.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_sync.cc
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_sync.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_trace.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_update_shadow_word_inl.h
  vendor/compiler-rt/dist/lib/tsan/rtl/tsan_vector.h
  vendor/compiler-rt/dist/lib/tsan/rtl_tests/
  vendor/compiler-rt/dist/lib/tsan/rtl_tests/tsan_bench.cc
  vendor/compiler-rt/dist/lib/tsan/rtl_tests/tsan_mop.cc
  vendor/compiler-rt/dist/lib/tsan/rtl_tests/tsan_mutex.cc
  vendor/compiler-rt/dist/lib/tsan/rtl_tests/tsan_posix.cc
  vendor/compiler-rt/dist/lib/tsan/rtl_tests/tsan_string.cc
  vendor/compiler-rt/dist/lib/tsan/rtl_tests/tsan_test.cc
  vendor/compiler-rt/dist/lib/tsan/rtl_tests/tsan_test_util.h
  vendor/compiler-rt/dist/lib/tsan/rtl_tests/tsan_test_util_linux.cc
  vendor/compiler-rt/dist/lib/tsan/rtl_tests/tsan_thread.cc
  vendor/compiler-rt/dist/lib/tsan/unit_tests/
  vendor/compiler-rt/dist/lib/tsan/unit_tests/tsan_clock_test.cc
  vendor/compiler-rt/dist/lib/tsan/unit_tests/tsan_flags_test.cc
  vendor/compiler-rt/dist/lib/tsan/unit_tests/tsan_mman_test.cc
  vendor/compiler-rt/dist/lib/tsan/unit_tests/tsan_mutex_test.cc
  vendor/compiler-rt/dist/lib/tsan/unit_tests/tsan_platform_test.cc
  vendor/compiler-rt/dist/lib/tsan/unit_tests/tsan_printf_test.cc
  vendor/compiler-rt/dist/lib/tsan/unit_tests/tsan_shadow_test.cc
  vendor/compiler-rt/dist/lib/tsan/unit_tests/tsan_suppressions_test.cc
  vendor/compiler-rt/dist/lib/tsan/unit_tests/tsan_sync_test.cc
  vendor/compiler-rt/dist/lib/tsan/unit_tests/tsan_vector_test.cc
Deleted:
  vendor/compiler-rt/dist/BlocksRuntime/CMakeLists.txt
  vendor/compiler-rt/dist/cmake/ConfigureChecks.cmake
  vendor/compiler-rt/dist/cmake/Modules/DefineCompilerFlags.cmake
  vendor/compiler-rt/dist/cmake/Modules/MacroAddCheckTest.cmake
  vendor/compiler-rt/dist/cmake/Modules/MacroEnsureOutOfSourceBuild.cmake
  vendor/compiler-rt/dist/cmake/config.h.cmake
  vendor/compiler-rt/dist/lib/arm/CMakeLists.txt
  vendor/compiler-rt/dist/lib/asan/mach_override/
  vendor/compiler-rt/dist/lib/asan/sysinfo/
  vendor/compiler-rt/dist/lib/asan/tests/asan_interface_test.cc
  vendor/compiler-rt/dist/lib/asan/tests/dlclose-test-so.cc
  vendor/compiler-rt/dist/lib/asan/tests/dlclose-test.cc
  vendor/compiler-rt/dist/lib/asan/tests/dlclose-test.tmpl
  vendor/compiler-rt/dist/lib/asan/tests/global-overflow.cc
  vendor/compiler-rt/dist/lib/asan/tests/global-overflow.tmpl
  vendor/compiler-rt/dist/lib/asan/tests/heap-overflow.cc
  vendor/compiler-rt/dist/lib/asan/tests/heap-overflow.tmpl
  vendor/compiler-rt/dist/lib/asan/tests/heap-overflow.tmpl.Darwin
  vendor/compiler-rt/dist/lib/asan/tests/large_func_test.cc
  vendor/compiler-rt/dist/lib/asan/tests/large_func_test.tmpl
  vendor/compiler-rt/dist/lib/asan/tests/match_output.py
  vendor/compiler-rt/dist/lib/asan/tests/null_deref.cc
  vendor/compiler-rt/dist/lib/asan/tests/null_deref.tmpl
  vendor/compiler-rt/dist/lib/asan/tests/shared-lib-test-so.cc
  vendor/compiler-rt/dist/lib/asan/tests/shared-lib-test.cc
  vendor/compiler-rt/dist/lib/asan/tests/shared-lib-test.tmpl
  vendor/compiler-rt/dist/lib/asan/tests/stack-overflow.cc
  vendor/compiler-rt/dist/lib/asan/tests/stack-overflow.tmpl
  vendor/compiler-rt/dist/lib/asan/tests/stack-use-after-return.cc
  vendor/compiler-rt/dist/lib/asan/tests/stack-use-after-return.disabled
  vendor/compiler-rt/dist/lib/asan/tests/strncpy-overflow.cc
  vendor/compiler-rt/dist/lib/asan/tests/strncpy-overflow.tmpl
  vendor/compiler-rt/dist/lib/asan/tests/test_output.sh
  vendor/compiler-rt/dist/lib/asan/tests/use-after-free.c
  vendor/compiler-rt/dist/lib/asan/tests/use-after-free.cc
  vendor/compiler-rt/dist/lib/asan/tests/use-after-free.tmpl
  vendor/compiler-rt/dist/lib/i386/CMakeLists.txt
  vendor/compiler-rt/dist/lib/ppc/CMakeLists.txt
  vendor/compiler-rt/dist/lib/x86_64/CMakeLists.txt
  vendor/compiler-rt/dist/test/CMakeLists.txt
  vendor/compiler-rt/dist/test/Unit/ppc/CMakeLists.txt
  vendor/compiler-rt/dist/test/timing/CMakeLists.txt
Modified:
  vendor/compiler-rt/dist/CMakeLists.txt
  vendor/compiler-rt/dist/LICENSE.TXT
  vendor/compiler-rt/dist/SDKs/darwin/usr/include/stdlib.h
  vendor/compiler-rt/dist/SDKs/darwin/usr/include/string.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/lib/CMakeLists.txt
  vendor/compiler-rt/dist/lib/Makefile.mk
  vendor/compiler-rt/dist/lib/absvti2.c
  vendor/compiler-rt/dist/lib/adddf3.c
  vendor/compiler-rt/dist/lib/addsf3.c
  vendor/compiler-rt/dist/lib/addvti3.c
  vendor/compiler-rt/dist/lib/asan/Makefile.mk
  vendor/compiler-rt/dist/lib/asan/Makefile.old
  vendor/compiler-rt/dist/lib/asan/README.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_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.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_lock.h
  vendor/compiler-rt/dist/lib/asan/asan_mac.cc
  vendor/compiler-rt/dist/lib/asan/asan_mac.h
  vendor/compiler-rt/dist/lib/asan/asan_malloc_linux.cc
  vendor/compiler-rt/dist/lib/asan/asan_malloc_mac.cc
  vendor/compiler-rt/dist/lib/asan/asan_mapping.h
  vendor/compiler-rt/dist/lib/asan/asan_poisoning.cc
  vendor/compiler-rt/dist/lib/asan/asan_printf.cc
  vendor/compiler-rt/dist/lib/asan/asan_rtl.cc
  vendor/compiler-rt/dist/lib/asan/asan_stack.cc
  vendor/compiler-rt/dist/lib/asan/asan_stack.h
  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_thread.cc
  vendor/compiler-rt/dist/lib/asan/asan_thread.h
  vendor/compiler-rt/dist/lib/asan/asan_thread_registry.cc
  vendor/compiler-rt/dist/lib/asan/asan_thread_registry.h
  vendor/compiler-rt/dist/lib/asan/scripts/asan_symbolize.py
  vendor/compiler-rt/dist/lib/asan/tests/asan_benchmarks_test.cc
  vendor/compiler-rt/dist/lib/asan/tests/asan_break_optimization.cc
  vendor/compiler-rt/dist/lib/asan/tests/asan_globals_test.cc
  vendor/compiler-rt/dist/lib/asan/tests/asan_mac_test.h
  vendor/compiler-rt/dist/lib/asan/tests/asan_mac_test.mm
  vendor/compiler-rt/dist/lib/asan/tests/asan_noinst_test.cc
  vendor/compiler-rt/dist/lib/asan/tests/asan_test.cc
  vendor/compiler-rt/dist/lib/asan/tests/asan_test_config.h
  vendor/compiler-rt/dist/lib/asan/tests/asan_test_utils.h
  vendor/compiler-rt/dist/lib/ashldi3.c
  vendor/compiler-rt/dist/lib/ashlti3.c
  vendor/compiler-rt/dist/lib/ashrdi3.c
  vendor/compiler-rt/dist/lib/ashrti3.c
  vendor/compiler-rt/dist/lib/assembly.h
  vendor/compiler-rt/dist/lib/clzti2.c
  vendor/compiler-rt/dist/lib/cmpti2.c
  vendor/compiler-rt/dist/lib/ctzti2.c
  vendor/compiler-rt/dist/lib/divdf3.c
  vendor/compiler-rt/dist/lib/divmoddi4.c
  vendor/compiler-rt/dist/lib/divsf3.c
  vendor/compiler-rt/dist/lib/divsi3.c
  vendor/compiler-rt/dist/lib/divti3.c
  vendor/compiler-rt/dist/lib/extendsfdf2.c
  vendor/compiler-rt/dist/lib/ffsti2.c
  vendor/compiler-rt/dist/lib/fixdfdi.c
  vendor/compiler-rt/dist/lib/fixdfsi.c
  vendor/compiler-rt/dist/lib/fixdfti.c
  vendor/compiler-rt/dist/lib/fixsfdi.c
  vendor/compiler-rt/dist/lib/fixsfsi.c
  vendor/compiler-rt/dist/lib/fixsfti.c
  vendor/compiler-rt/dist/lib/fixunsdfdi.c
  vendor/compiler-rt/dist/lib/fixunsdfsi.c
  vendor/compiler-rt/dist/lib/fixunsdfti.c
  vendor/compiler-rt/dist/lib/fixunssfdi.c
  vendor/compiler-rt/dist/lib/fixunssfsi.c
  vendor/compiler-rt/dist/lib/fixunssfti.c
  vendor/compiler-rt/dist/lib/fixunsxfti.c
  vendor/compiler-rt/dist/lib/fixxfti.c
  vendor/compiler-rt/dist/lib/floatdidf.c
  vendor/compiler-rt/dist/lib/floatdisf.c
  vendor/compiler-rt/dist/lib/floatsidf.c
  vendor/compiler-rt/dist/lib/floatsisf.c
  vendor/compiler-rt/dist/lib/floattidf.c
  vendor/compiler-rt/dist/lib/floattisf.c
  vendor/compiler-rt/dist/lib/floattixf.c
  vendor/compiler-rt/dist/lib/floatundidf.c
  vendor/compiler-rt/dist/lib/floatundisf.c
  vendor/compiler-rt/dist/lib/floatunsidf.c
  vendor/compiler-rt/dist/lib/floatunsisf.c
  vendor/compiler-rt/dist/lib/floatuntidf.c
  vendor/compiler-rt/dist/lib/floatuntisf.c
  vendor/compiler-rt/dist/lib/floatuntixf.c
  vendor/compiler-rt/dist/lib/fp_lib.h
  vendor/compiler-rt/dist/lib/int_endianness.h
  vendor/compiler-rt/dist/lib/int_util.c
  vendor/compiler-rt/dist/lib/int_util.h
  vendor/compiler-rt/dist/lib/lshrdi3.c
  vendor/compiler-rt/dist/lib/lshrti3.c
  vendor/compiler-rt/dist/lib/modti3.c
  vendor/compiler-rt/dist/lib/muldf3.c
  vendor/compiler-rt/dist/lib/muldi3.c
  vendor/compiler-rt/dist/lib/muloti4.c
  vendor/compiler-rt/dist/lib/mulsf3.c
  vendor/compiler-rt/dist/lib/multi3.c
  vendor/compiler-rt/dist/lib/mulvti3.c
  vendor/compiler-rt/dist/lib/negdf2.c
  vendor/compiler-rt/dist/lib/negsf2.c
  vendor/compiler-rt/dist/lib/negti2.c
  vendor/compiler-rt/dist/lib/negvti2.c
  vendor/compiler-rt/dist/lib/parityti2.c
  vendor/compiler-rt/dist/lib/popcountti2.c
  vendor/compiler-rt/dist/lib/powitf2.c
  vendor/compiler-rt/dist/lib/profile/GCDAProfiling.c
  vendor/compiler-rt/dist/lib/subdf3.c
  vendor/compiler-rt/dist/lib/subsf3.c
  vendor/compiler-rt/dist/lib/subvti3.c
  vendor/compiler-rt/dist/lib/truncdfsf2.c
  vendor/compiler-rt/dist/lib/ucmpti2.c
  vendor/compiler-rt/dist/lib/udivmoddi4.c
  vendor/compiler-rt/dist/lib/udivmodti4.c
  vendor/compiler-rt/dist/lib/udivsi3.c
  vendor/compiler-rt/dist/lib/udivti3.c
  vendor/compiler-rt/dist/lib/umodti3.c
  vendor/compiler-rt/dist/make/config.mk
  vendor/compiler-rt/dist/make/platform/clang_darwin.mk
  vendor/compiler-rt/dist/make/platform/clang_linux.mk
  vendor/compiler-rt/dist/make/subdir.mk
  vendor/compiler-rt/dist/test/Unit/clear_cache_test.c
  vendor/compiler-rt/dist/test/Unit/enable_execute_stack_test.c
  vendor/compiler-rt/dist/test/Unit/endianness.h

Modified: vendor/compiler-rt/dist/CMakeLists.txt
==============================================================================
--- vendor/compiler-rt/dist/CMakeLists.txt	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/CMakeLists.txt	Mon Jul 30 10:58:13 2012	(r238901)
@@ -1,55 +1,68 @@
-# See docs/CMake.html for instructions about how to build Compiler-RT with CMake.
-
-PROJECT( CompilerRT C )
-CMAKE_MINIMUM_REQUIRED( VERSION 2.6 )
-
-set(PACKAGE_NAME compiler-rt)
-set(PACKAGE_VERSION 1.0svn)
-set(PACKAGE_STRING "${PACKAGE_NAME} ${PACKAGE_VERSION}")
-set(PACKAGE_BUGREPORT "llvmbugs@cs.uiuc.edu")
-
-SET( CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules )
-
-# add definitions
-include(DefineCompilerFlags)
-
-# Disallow in-source build
-INCLUDE( MacroEnsureOutOfSourceBuild )
-MACRO_ENSURE_OUT_OF_SOURCE_BUILD(
- "${PROJECT_NAME} requires an out of source build. Please create a separate build directory and run 'cmake /path/to/${PROJECT_NAME} [options]' there."
- )
-
-INCLUDE( ${CMAKE_SOURCE_DIR}/cmake/ConfigureChecks.cmake )
-CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/cmake/config.h.cmake
-                ${CMAKE_CURRENT_BINARY_DIR}/config.h )
-
-INCLUDE_DIRECTORIES(
- ${CMAKE_CURRENT_BINARY_DIR}
-)
-
-SET( Achitectures
- i386 x86_64 ppc arm
- )
-
-SET( Configurations
- Debug Release Profile
- )
-
-# Only build Blocks Runtime if the compiler has enough support
-IF( WIN32 OR MSVC OR HAVE_OSATOMIC_COMPARE_AND_SWAP_INT OR HAVE_SYNC_BOOL_COMPARE_AND_SWAP_INT )
-  SET(BUILD_BLOCKS_RUNTIME TRUE)
-ELSE( WIN32 OR MSVC OR HAVE_OSATOMIC_COMPARE_AND_SWAP_INT OR HAVE_SYNC_BOOL_COMPARE_AND_SWAP_INT )
-  SET(BUILD_BLOCKS_RUNTIME FALSE)
-ENDIF( WIN32 OR MSVC OR HAVE_OSATOMIC_COMPARE_AND_SWAP_INT OR HAVE_SYNC_BOOL_COMPARE_AND_SWAP_INT )
-
-IF( BUILD_BLOCKS_RUNTIME )
-  ADD_SUBDIRECTORY( BlocksRuntime )
-ELSE( BUILD_BLOCKS_RUNTIME )
-  MESSAGE(STATUS "No suitable atomic operation routines detected, skipping Blocks Runtime")
-ENDIF( BUILD_BLOCKS_RUNTIME )
-
-ADD_SUBDIRECTORY( lib )
-
-# Enable Test Suit:
-INCLUDE( MacroAddCheckTest )
-ADD_SUBDIRECTORY( test )
+# CMake build for CompilerRT.
+#
+# This build assumes that CompilerRT is checked out into the
+# 'projects/compiler-rt' inside of an LLVM tree, it is not a stand-alone build
+# system.
+#
+# An important constraint of the build is that it only produces libraries
+# based on the ability of the host toolchain to target various platforms.
+
+include(LLVMParseArguments)
+
+# The CompilerRT build system requires CMake version 2.8.8 or higher in order
+# to use its support for building convenience "libraries" as a collection of
+# .o files. This is particularly useful in producing larger, more complex
+# runtime libraries.
+cmake_minimum_required(VERSION 2.8.8)
+
+# FIXME: Below we assume that the target build of LLVM/Clang is x86, which is
+# not at all valid. Much of this can be fixed just by switching to use
+# a just-built-clang binary for the compiles.
+
+# Detect whether the current target platform is 32-bit or 64-bit, and setup
+# the correct commandline flags needed to attempt to target 32-bit and 64-bit.
+if(CMAKE_SIZEOF_VOID_P EQUAL 4)
+  set(TARGET_X86_64_CFLAGS "-m64")
+  set(TARGET_I386_CFLAGS "")
+else()
+  if(NOT CMAKE_SIZEOF_VOID_P EQUAL 8)
+    message(FATAL_ERROR "Please use a sane architecture with 4 or 8 byte pointers.")
+  endif()
+  set(TARGET_X86_64_CFLAGS "")
+  set(TARGET_I386_CFLAGS "-m32")
+endif()
+
+# Try to compile a very simple source file to ensure we can target the given
+# platform. We use the results of these tests to build only the various target
+# runtime libraries supported by our current compilers cross-compiling
+# abilities.
+set(SIMPLE_SOURCE64 ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/simple64.c)
+file(WRITE ${SIMPLE_SOURCE64} "#include <stdlib.h>\nint main() {}")
+try_compile(CAN_TARGET_X86_64 ${CMAKE_BINARY_DIR} ${SIMPLE_SOURCE64}
+            COMPILE_DEFINITIONS "${TARGET_X86_64_CFLAGS}"
+            CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS:STRING=${TARGET_X86_64_CFLAGS}")
+
+set(SIMPLE_SOURCE32 ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/simple32.c)
+file(WRITE ${SIMPLE_SOURCE32} "#include <stdlib.h>\nint main() {}")
+try_compile(CAN_TARGET_I386 ${CMAKE_BINARY_DIR} ${SIMPLE_SOURCE32}
+            COMPILE_DEFINITIONS "${TARGET_I386_CFLAGS}"
+            CMAKE_FLAGS "-DCMAKE_EXE_LINKER_FLAGS:STRING=${TARGET_I386_CFLAGS}")
+
+# Because compiler-rt spends a lot of time setting up custom compile flags,
+# define a handy helper function for it. The compile flags setting in CMake
+# has serious issues that make its syntax challenging at best.
+function(set_target_compile_flags target)
+  foreach(arg ${ARGN})
+    set(argstring "${argstring} ${arg}")
+  endforeach()
+  set_property(TARGET ${target} PROPERTY COMPILE_FLAGS "${argstring}")
+endfunction()
+
+add_subdirectory(lib)
+
+if(LLVM_INCLUDE_TESTS)
+  # Currently the tests have not been ported to CMake, so disable this
+  # directory.
+  #
+  #add_subdirectory(test)
+endif()

Modified: vendor/compiler-rt/dist/LICENSE.TXT
==============================================================================
--- vendor/compiler-rt/dist/LICENSE.TXT	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/LICENSE.TXT	Mon Jul 30 10:58:13 2012	(r238901)
@@ -94,5 +94,4 @@ licenses, and/or restrictions:
 
 Program             Directory
 -------             ---------
-sysinfo             lib/asan/sysinfo
-mach_override       lib/asan/mach_override
+mach_override       lib/interception/mach_override

Modified: vendor/compiler-rt/dist/SDKs/darwin/usr/include/stdlib.h
==============================================================================
--- vendor/compiler-rt/dist/SDKs/darwin/usr/include/stdlib.h	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/SDKs/darwin/usr/include/stdlib.h	Mon Jul 30 10:58:13 2012	(r238901)
@@ -22,6 +22,7 @@
 typedef __SIZE_TYPE__ size_t;
 
 void abort(void) __attribute__((__noreturn__));
+int atoi(const char *);
 void free(void *);
 char *getenv(const char *);
 void *malloc(size_t);

Modified: vendor/compiler-rt/dist/SDKs/darwin/usr/include/string.h
==============================================================================
--- vendor/compiler-rt/dist/SDKs/darwin/usr/include/string.h	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/SDKs/darwin/usr/include/string.h	Mon Jul 30 10:58:13 2012	(r238901)
@@ -19,6 +19,8 @@
 
 typedef __SIZE_TYPE__ size_t;
 
+int memcmp(const void *, const void *, size_t);
+void *memcpy(void *, const void *, size_t);
 char *strcat(char *, const char *);
 char *strcpy(char *, const char *);
 char *strdup(const char *);

Modified: vendor/compiler-rt/dist/SDKs/linux/usr/include/stdlib.h
==============================================================================
--- vendor/compiler-rt/dist/SDKs/linux/usr/include/stdlib.h	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/SDKs/linux/usr/include/stdlib.h	Mon Jul 30 10:58:13 2012	(r238901)
@@ -22,6 +22,7 @@
 typedef __SIZE_TYPE__ size_t;
 
 void abort(void) __attribute__((__nothrow__)) __attribute__((__noreturn__));
+int atoi(const char *) __attribute__((__nothrow__));
 void free(void *) __attribute__((__nothrow__));
 char *getenv(const char *) __attribute__((__nothrow__))
   __attribute__((__nonnull__(1)));

Modified: vendor/compiler-rt/dist/SDKs/linux/usr/include/string.h
==============================================================================
--- vendor/compiler-rt/dist/SDKs/linux/usr/include/string.h	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/SDKs/linux/usr/include/string.h	Mon Jul 30 10:58:13 2012	(r238901)
@@ -19,6 +19,8 @@
 
 typedef __SIZE_TYPE__ size_t;
 
+int memcmp(const void *, const void *, size_t);
+void *memcpy(void *, const void *, size_t);
 char *strcat(char *, const char *);
 char *strcpy(char *, const char *);
 char *strdup(const char *);

Modified: vendor/compiler-rt/dist/lib/CMakeLists.txt
==============================================================================
--- vendor/compiler-rt/dist/lib/CMakeLists.txt	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/lib/CMakeLists.txt	Mon Jul 30 10:58:13 2012	(r238901)
@@ -1,81 +1,197 @@
-#
-# Create a library called "CompilerRT" which includes the source files.
-
-#INCLUDE_DIRECTORIES(
-# ${CMAKE_CURRENT_BINARY_DIR}
-#)
-
-# Generic functions needed for each architecture
-# libcompiler_rt.Generic.a    libcompiler_rt.Optimized.a
-
-# Generic
-SET( Generic_SRCS
- absvdi2.c absvsi2.c addvdi3.c addvsi3.c ashldi3.c ashrdi3.c
- clzdi2.c clzsi2.c cmpdi2.c ctzdi2.c ctzsi2.c
- divdc3.c divdi3.c divsc3.c ffsdi2.c
- fixdfdi.c fixsfdi.c fixunsdfdi.c fixunsdfsi.c fixunssfdi.c
- fixunssfsi.c floatdidf.c floatdisf.c floatundidf.c floatundisf.c
- gcc_personality_v0.c lshrdi3.c moddi3.c muldc3.c muldi3.c
- mulsc3.c mulvdi3.c mulvsi3.c negdi2.c negvdi2.c negvsi2.c
- paritydi2.c paritysi2.c popcountdi2.c popcountsi2.c powidf2.c
- powisf2.c subvdi3.c subvsi3.c ucmpdi2.c udivdi3.c
- udivmoddi4.c umoddi3.c apple_versioning.c eprintf.c
- )
-
-# Optimized functions for each architecture
-
-# Commenting out for the min until the basics are working first.
-# ADD_SUBDIRECTORY( ppc )
-# ADD_SUBDIRECTORY( x86_64 )
-# ADD_SUBDIRECTORY( i386 )
-# ADD_SUBDIRECTORY( arm )
-
-# List of functions needed for each architecture.
-SET( i386_Functions
- divxc3.c fixunsxfdi.c fixunsxfsi.c fixxfdi.c floatdixf.c
- floatundixf.c mulxc3.c powixf2.c clear_cache.c enable_execute_stack.c 
- )
-
-SET( x86_64_Functions
- absvti2.c addvti3.c ashlti3.c ashrti3.c clzti2.c cmpti2.c
- ctzti2.c divti3.c divxc3.c ffsti2.c fixdfti.c fixsfti.c
- fixunsdfti.c fixunssfti.c fixunsxfdi.c fixunsxfsi.c
- fixunsxfti.c fixxfdi.c fixxfti.c floatdixf.c floattidf.c
- floattisf.c floattixf.c floatundixf.c floatuntidf.c
- floatuntisf.c floatuntixf.c lshrti3.c modti3.c multi3.c
- mulvti3.c mulxc3.c negti2.c negvti2.c parityti2.c
- popcountti2.c powixf2.c subvti3.c ucmpti2.c udivmodti4.c
- udivti3.c umodti3.c clear_cache.c enable_execute_stack.c
- )
-
-SET( PPC_Functions
- divtc3.c fixtfdi.c fixunstfdi.c floatditf.c floatunditf.c
- gcc_qadd.c gcc_qdiv.c gcc_qmul.c gcc_qsub.c multc3.c
- powitf2.c restFP.c saveFP.c trampoline_setup.c
- clear_cache.c enable_execute_stack.c
- )
-
-SET( ARM_Functions
- adddf3vfp.c addsf3vfp.c bswapdi2.c bswapsi2.c divdf3vfp.c
- divsf3vfp.c eqdf2vfp.c eqsf2vfp.c extendsfdf2vfp.c
- fixdfsivfp.c fixsfsivfp.c fixunsdfsivfp.c fixunssfsivfp.c
- floatsidfvfp.c floatsisfvfp.c floatunssidfvfp.c floatunssisfvfp.c
- gedf2vfp.c gesf2vfp.c gtdf2vfp.c gtsf2vfp.c
- ledf2vfp.c lesf2vfp.c ltdf2vfp.c ltsf2vfp.c
- muldf3vfp.c mulsf3vfp.c
- nedf2vfp.c negdf2vfp.c negsf2vfp.c nesf2vfp.c
- subdf3vfp.c subsf3vfp.c truncdfsf2vfp.c unorddf2vfp.c unordsf2vfp.c
- modsi3.c umodsi3.c udivsi3.c divsi3.c switch.c
- )
-
-#FOREACH( LOOP_VAR ${Achitectures} )
-# See ARCHIVE_OUTPUT_DIRECTORY docs.
-#${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/${LOOP_VAR}
-#ENDFOREACH
-
-ADD_LIBRARY( ${PROJECT_NAME}-Generic STATIC ${Generic_SRCS} )
-#ADD_LIBRARY( ${PROJECT_NAME}-i386 STATIC ${i386_Functions} )
-
-# [[debug|optimized|general]
-#TARGET_LINK_LIBRARIES( ${PROJECT_NAME} ${PROJECT_NAME}-Common optimized ${PROJECT_NAME}-i386 )
-
+# Compute the Clang version from the LLVM version.
+# FIXME: We should be able to reuse CLANG_VERSION variable calculated
+#        in Clang cmake files, instead of copying the rules here.
+string(REGEX MATCH "[0-9]+\\.[0-9]+(\\.[0-9]+)?" CLANG_VERSION
+       ${PACKAGE_VERSION})
+
+# Call add_clang_runtime_static_library(<target_library>) to make
+# sure that static <target_library> is built in the directory
+# where Clang driver expects to find it.
+if (APPLE)
+  set(CLANG_RUNTIME_LIB_DIR
+      ${LLVM_BINARY_DIR}/lib/clang/${CLANG_VERSION}/lib/darwin)
+elseif (UNIX)
+  # Assume Linux.
+  set(CLANG_RUNTIME_LIB_DIR
+      ${LLVM_BINARY_DIR}/lib/clang/${CLANG_VERSION}/lib/linux)
+endif()
+function(add_clang_runtime_static_library target_name)
+  set_target_properties(${target_name} PROPERTIES
+                        ARCHIVE_OUTPUT_DIRECTORY ${CLANG_RUNTIME_LIB_DIR})
+endfunction()
+
+# First, add the subdirectories which contain feature-based runtime libraries
+# and several convenience helper libraries.
+add_subdirectory(asan)
+add_subdirectory(interception)
+add_subdirectory(sanitizer_common)
+
+# FIXME: Add support for the profile library.
+
+
+# The top-level lib directory contains a large amount of C code which provides
+# generic implementations of the core runtime library along with optimized
+# architecture-specific code in various subdirectories.
+
+set(GENERIC_SOURCES
+  absvdi2.c
+  absvsi2.c
+  absvti2.c
+  adddf3.c
+  addsf3.c
+  addvdi3.c
+  addvsi3.c
+  addvti3.c
+  apple_versioning.c
+  ashldi3.c
+  ashlti3.c
+  ashrdi3.c
+  ashrti3.c
+  clear_cache.c
+  clzdi2.c
+  clzsi2.c
+  clzti2.c
+  cmpdi2.c
+  cmpti2.c
+  comparedf2.c
+  comparesf2.c
+  ctzdi2.c
+  ctzsi2.c
+  ctzti2.c
+  divdc3.c
+  divdf3.c
+  divdi3.c
+  divmoddi4.c
+  divmodsi4.c
+  divsc3.c
+  divsf3.c
+  divsi3.c
+  divti3.c
+  divxc3.c
+  enable_execute_stack.c
+  eprintf.c
+  extendsfdf2.c
+  ffsdi2.c
+  ffsti2.c
+  fixdfdi.c
+  fixdfsi.c
+  fixdfti.c
+  fixsfdi.c
+  fixsfsi.c
+  fixsfti.c
+  fixunsdfdi.c
+  fixunsdfsi.c
+  fixunsdfti.c
+  fixunssfdi.c
+  fixunssfsi.c
+  fixunssfti.c
+  fixunsxfdi.c
+  fixunsxfsi.c
+  fixunsxfti.c
+  fixxfdi.c
+  fixxfti.c
+  floatdidf.c
+  floatdisf.c
+  floatdixf.c
+  floatsidf.c
+  floatsisf.c
+  floattidf.c
+  floattisf.c
+  floattixf.c
+  floatundidf.c
+  floatundisf.c
+  floatundixf.c
+  floatunsidf.c
+  floatunsisf.c
+  floatuntidf.c
+  floatuntisf.c
+  floatuntixf.c
+  gcc_personality_v0.c
+  int_util.c
+  lshrdi3.c
+  lshrti3.c
+  moddi3.c
+  modsi3.c
+  modti3.c
+  muldc3.c
+  muldf3.c
+  muldi3.c
+  mulodi4.c
+  mulosi4.c
+  muloti4.c
+  mulsc3.c
+  mulsf3.c
+  multi3.c
+  mulvdi3.c
+  mulvsi3.c
+  mulvti3.c
+  mulxc3.c
+  negdf2.c
+  negdi2.c
+  negsf2.c
+  negti2.c
+  negvdi2.c
+  negvsi2.c
+  negvti2.c
+  paritydi2.c
+  paritysi2.c
+  parityti2.c
+  popcountdi2.c
+  popcountsi2.c
+  popcountti2.c
+  powidf2.c
+  powisf2.c
+  powitf2.c
+  powixf2.c
+  subdf3.c
+  subsf3.c
+  subvdi3.c
+  subvsi3.c
+  subvti3.c
+  trampoline_setup.c
+  truncdfsf2.c
+  ucmpdi2.c
+  ucmpti2.c
+  udivdi3.c
+  udivmoddi4.c
+  udivmodsi4.c
+  udivmodti4.c
+  udivsi3.c
+  udivti3.c
+  umoddi3.c
+  umodsi3.c
+  umodti3.c
+  )
+
+if(CAN_TARGET_X86_64)
+  add_library(clang_rt.x86_64 STATIC
+    x86_64/floatdidf.c
+    x86_64/floatdisf.c
+    x86_64/floatdixf.c
+    x86_64/floatundidf.S
+    x86_64/floatundisf.S
+    x86_64/floatundixf.S
+    ${GENERIC_SOURCES}
+    )
+  set_target_properties(clang_rt.x86_64 PROPERTIES COMPILE_FLAGS "-std=c99 ${TARGET_X86_64_CFLAGS}")
+endif()
+if(CAN_TARGET_I386)
+  add_library(clang_rt.i386 STATIC
+    i386/ashldi3.S
+    i386/ashrdi3.S
+    i386/divdi3.S
+    i386/floatdidf.S
+    i386/floatdisf.S
+    i386/floatdixf.S
+    i386/floatundidf.S
+    i386/floatundisf.S
+    i386/floatundixf.S
+    i386/lshrdi3.S
+    i386/moddi3.S
+    i386/muldi3.S
+    i386/udivdi3.S
+    i386/umoddi3.S
+    ${GENERIC_SOURCES}
+    )
+  set_target_properties(clang_rt.i386 PROPERTIES COMPILE_FLAGS "-std=c99 ${TARGET_I386_CFLAGS}")
+endif()

Modified: vendor/compiler-rt/dist/lib/Makefile.mk
==============================================================================
--- vendor/compiler-rt/dist/lib/Makefile.mk	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/lib/Makefile.mk	Mon Jul 30 10:58:13 2012	(r238901)
@@ -15,10 +15,18 @@ SubDirs += i386 ppc x86_64 arm
 
 # Add other submodules.
 SubDirs += asan
+SubDirs += interception
 SubDirs += profile
+SubDirs += sanitizer_common
+SubDirs += tsan
+
+# FIXME: We don't currently support building an atomic library, and as it must
+# be a separate library from the runtime library, we need to remove its source
+# code from the source files list.
+ExcludedSources := atomic.c
 
 # Define the variables for this specific directory.
-Sources := $(foreach file,$(wildcard $(Dir)/*.c),$(notdir $(file)))
+Sources := $(foreach file,$(wildcard $(Dir)/*.c),$(filter-out $(ExcludedSources),$(notdir $(file))))
 ObjNames := $(Sources:%.c=%.o)
 Implementation := Generic
 

Modified: vendor/compiler-rt/dist/lib/absvti2.c
==============================================================================
--- vendor/compiler-rt/dist/lib/absvti2.c	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/lib/absvti2.c	Mon Jul 30 10:58:13 2012	(r238901)
@@ -12,10 +12,10 @@
  * ===----------------------------------------------------------------------===
  */
 
-#if __x86_64
-
 #include "int_lib.h"
 
+#if __x86_64
+
 /* Returns: absolute value */
 
 /* Effects: aborts if abs(x) < 0 */

Modified: vendor/compiler-rt/dist/lib/adddf3.c
==============================================================================
--- vendor/compiler-rt/dist/lib/adddf3.c	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/lib/adddf3.c	Mon Jul 30 10:58:13 2012	(r238901)
@@ -15,7 +15,7 @@
 #define DOUBLE_PRECISION
 #include "fp_lib.h"
 
-ARM_EABI_FNALIAS(dadd, adddf3);
+ARM_EABI_FNALIAS(dadd, adddf3)
 
 COMPILER_RT_ABI fp_t
 __adddf3(fp_t a, fp_t b) {
@@ -85,7 +85,7 @@ __adddf3(fp_t a, fp_t b) {
     
     // Shift the significand of b by the difference in exponents, with a sticky
     // bottom bit to get rounding correct.
-    const int align = aExponent - bExponent;
+    const unsigned int align = aExponent - bExponent;
     if (align) {
         if (align < typeWidth) {
             const bool sticky = bSignificand << (typeWidth - align);

Modified: vendor/compiler-rt/dist/lib/addsf3.c
==============================================================================
--- vendor/compiler-rt/dist/lib/addsf3.c	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/lib/addsf3.c	Mon Jul 30 10:58:13 2012	(r238901)
@@ -15,7 +15,7 @@
 #define SINGLE_PRECISION
 #include "fp_lib.h"
 
-ARM_EABI_FNALIAS(fadd, addsf3);
+ARM_EABI_FNALIAS(fadd, addsf3)
 
 fp_t __addsf3(fp_t a, fp_t b) {
 
@@ -84,7 +84,7 @@ fp_t __addsf3(fp_t a, fp_t b) {
     
     // Shift the significand of b by the difference in exponents, with a sticky
     // bottom bit to get rounding correct.
-    const int align = aExponent - bExponent;
+    const unsigned int align = aExponent - bExponent;
     if (align) {
         if (align < typeWidth) {
             const bool sticky = bSignificand << (typeWidth - align);

Modified: vendor/compiler-rt/dist/lib/addvti3.c
==============================================================================
--- vendor/compiler-rt/dist/lib/addvti3.c	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/lib/addvti3.c	Mon Jul 30 10:58:13 2012	(r238901)
@@ -12,10 +12,10 @@
  * ===----------------------------------------------------------------------===
  */
 
-#if __x86_64
-
 #include "int_lib.h"
 
+#if __x86_64
+
 /* Returns: a + b */
 
 /* Effects: aborts if a + b overflows */

Added: vendor/compiler-rt/dist/lib/arm/aeabi_idivmod.S
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/lib/arm/aeabi_idivmod.S	Mon Jul 30 10:58:13 2012	(r238901)
@@ -0,0 +1,27 @@
+//===-- aeabi_idivmod.S - EABI idivmod implementation ---------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "../assembly.h"
+
+// struct { int quot, int rem} __aeabi_idivmod(int numerator, int denominator) {
+//   int rem, quot;
+//   quot = __divmodsi4(numerator, denominator, &rem);
+//   return {quot, rem};
+// }
+
+        .syntax unified
+        .align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_idivmod)
+        push    { lr }
+        sub     sp, sp, #4
+        mov     r2, sp
+        bl      SYMBOL_NAME(__divmodsi4)
+        ldr     r1, [sp]
+        add     sp, sp, #4
+        pop     { pc }

Added: vendor/compiler-rt/dist/lib/arm/aeabi_ldivmod.S
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/lib/arm/aeabi_ldivmod.S	Mon Jul 30 10:58:13 2012	(r238901)
@@ -0,0 +1,30 @@
+//===-- aeabi_ldivmod.S - EABI ldivmod implementation ---------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "../assembly.h"
+
+// struct { int64_t quot, int64_t rem}
+//        __aeabi_ldivmod(int64_t numerator, int64_t denominator) {
+//   int64_t rem, quot;
+//   quot = __divmoddi4(numerator, denominator, &rem);
+//   return {quot, rem};
+// }
+
+        .syntax unified
+        .align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_ldivmod)
+        push    {r11, lr}
+        sub     sp, sp, #16
+        add     r12, sp, #8
+        str     r12, [sp]
+        bl      SYMBOL_NAME(__divmoddi4)
+        ldr     r2, [sp, #8]
+        ldr     r3, [sp, #12]
+        add     sp, sp, #16
+        pop     {r11, pc}

Added: vendor/compiler-rt/dist/lib/arm/aeabi_memcmp.S
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/lib/arm/aeabi_memcmp.S	Mon Jul 30 10:58:13 2012	(r238901)
@@ -0,0 +1,19 @@
+//===-- aeabi_memcmp.S - EABI memcmp implementation -----------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "../assembly.h"
+
+//  void __aeabi_memcmp(void *dest, void *src, size_t n) { memcmp(dest, src, n); }
+
+        .align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_memcmp)
+        b       memcmp
+
+DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memcmp4, __aeabi_memcmp)
+DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memcmp8, __aeabi_memcmp)

Added: vendor/compiler-rt/dist/lib/arm/aeabi_memcpy.S
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/lib/arm/aeabi_memcpy.S	Mon Jul 30 10:58:13 2012	(r238901)
@@ -0,0 +1,19 @@
+//===-- aeabi_memcpy.S - EABI memcpy implementation -----------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "../assembly.h"
+
+//  void __aeabi_memcpy(void *dest, void *src, size_t n) { memcpy(dest, src, n); }
+
+        .align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_memcpy)
+        b       memcpy
+
+DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memcpy4, __aeabi_memcpy)
+DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memcpy8, __aeabi_memcpy)

Added: vendor/compiler-rt/dist/lib/arm/aeabi_memmove.S
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/lib/arm/aeabi_memmove.S	Mon Jul 30 10:58:13 2012	(r238901)
@@ -0,0 +1,19 @@
+//===-- aeabi_memmove.S - EABI memmove implementation --------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===---------------------------------------------------------------------===//
+
+#include "../assembly.h"
+
+//  void __aeabi_memmove(void *dest, void *src, size_t n) { memmove(dest, src, n); }
+
+        .align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_memmove)
+        b       memmove
+
+DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memmove4, __aeabi_memmove)
+DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memmove8, __aeabi_memmove)

Added: vendor/compiler-rt/dist/lib/arm/aeabi_memset.S
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/lib/arm/aeabi_memset.S	Mon Jul 30 10:58:13 2012	(r238901)
@@ -0,0 +1,32 @@
+//===-- aeabi_memset.S - EABI memset implementation -----------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "../assembly.h"
+
+//  void __aeabi_memset(void *dest, size_t n, int c) { memset(dest, c, n); }
+//  void __aeabi_memclr(void *dest, size_t n) { __aeabi_memset(dest, n, 0); }
+
+        .align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_memset)
+        mov     r3, r1
+        mov     r1, r2
+        mov     r2, r3
+        b       memset
+
+DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memset4, __aeabi_memset)
+DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memset8, __aeabi_memset)
+        
+DEFINE_COMPILERRT_FUNCTION(__aeabi_memclr)
+        mov     r2, r1
+        mov     r1, #0
+        b       memset
+
+DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memclr4, __aeabi_memclr)
+DEFINE_AEABI_FUNCTION_ALIAS(__aeabi_memclr8, __aeabi_memclr)
+

Added: vendor/compiler-rt/dist/lib/arm/aeabi_uidivmod.S
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/lib/arm/aeabi_uidivmod.S	Mon Jul 30 10:58:13 2012	(r238901)
@@ -0,0 +1,28 @@
+//===-- aeabi_uidivmod.S - EABI uidivmod implementation -------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "../assembly.h"
+
+// struct { unsigned quot, unsigned rem}
+//        __aeabi_uidivmod(unsigned numerator, unsigned denominator) {
+//   unsigned rem, quot;
+//   quot = __udivmodsi4(numerator, denominator, &rem);
+//   return {quot, rem};
+// }
+
+        .syntax unified
+        .align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_uidivmod)
+        push    { lr }
+        sub     sp, sp, #4
+        mov     r2, sp
+        bl      SYMBOL_NAME(__udivmodsi4)
+        ldr     r1, [sp]
+        add     sp, sp, #4
+        pop     { pc }

Added: vendor/compiler-rt/dist/lib/arm/aeabi_uldivmod.S
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/lib/arm/aeabi_uldivmod.S	Mon Jul 30 10:58:13 2012	(r238901)
@@ -0,0 +1,30 @@
+//===-- aeabi_uldivmod.S - EABI uldivmod implementation -------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "../assembly.h"
+
+// struct { uint64_t quot, uint64_t rem}
+//        __aeabi_uldivmod(uint64_t numerator, uint64_t denominator) {
+//   uint64_t rem, quot;
+//   quot = __udivmoddi4(numerator, denominator, &rem);
+//   return {quot, rem};
+// }
+
+        .syntax unified
+        .align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_uldivmod)
+        push	{r11, lr}
+        sub	sp, sp, #16
+        add	r12, sp, #8
+        str	r12, [sp]
+        bl	SYMBOL_NAME(__udivmoddi4)
+        ldr	r2, [sp, #8]
+        ldr	r3, [sp, #12]
+        add	sp, sp, #16
+        pop	{r11, pc}
\ No newline at end of file

Added: vendor/compiler-rt/dist/lib/asan/CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/lib/asan/CMakeLists.txt	Mon Jul 30 10:58:13 2012	(r238901)
@@ -0,0 +1,82 @@
+# Build for the AddressSanitizer runtime support library.
+
+set(ASAN_SOURCES
+  asan_allocator.cc
+  asan_globals.cc
+  asan_interceptors.cc
+  asan_linux.cc
+  asan_mac.cc
+  asan_malloc_linux.cc
+  asan_malloc_mac.cc
+  asan_malloc_win.cc
+  asan_new_delete.cc
+  asan_poisoning.cc
+  asan_posix.cc
+  asan_printf.cc
+  asan_rtl.cc
+  asan_stack.cc
+  asan_stats.cc
+  asan_thread.cc
+  asan_thread_registry.cc
+  asan_win.cc
+  )
+
+include_directories(..)
+
+set(ASAN_CFLAGS
+  -fPIC
+  -fno-exceptions
+  -funwind-tables
+  -fvisibility=hidden
+  -fno-builtin
+  -fomit-frame-pointer
+  -O3
+  )
+if (SUPPORTS_NO_VARIADIC_MACROS_FLAG)
+  list(APPEND ASAN_CFLAGS -Wno-variadic-macros)
+endif ()
+
+if (APPLE)
+  list(APPEND ASAN_CFLAGS -mmacosx-version-min=10.5)
+endif()
+
+set(ASAN_COMMON_DEFINITIONS
+  ASAN_HAS_EXCEPTIONS=1
+  ASAN_NEEDS_SEGV=1
+  )
+
+# FIXME: We need to build universal binaries on OS X instead of
+# two arch-specific binaries.
+
+if(CAN_TARGET_X86_64)
+  add_library(clang_rt.asan-x86_64 STATIC
+    ${ASAN_SOURCES}
+    $<TARGET_OBJECTS:RTInterception.x86_64>
+    $<TARGET_OBJECTS:RTSanitizerCommon.x86_64>
+    )
+  set_target_compile_flags(clang_rt.asan-x86_64
+    ${ASAN_CFLAGS}
+    ${TARGET_X86_64_CFLAGS}
+    )
+  set_property(TARGET clang_rt.asan-x86_64 APPEND PROPERTY COMPILE_DEFINITIONS
+    ${ASAN_COMMON_DEFINITIONS})
+  add_clang_runtime_static_library(clang_rt.asan-x86_64)
+endif()
+if(CAN_TARGET_I386)
+  add_library(clang_rt.asan-i386 STATIC
+    ${ASAN_SOURCES}
+    $<TARGET_OBJECTS:RTInterception.i386>
+    $<TARGET_OBJECTS:RTSanitizerCommon.i386>
+    )
+  set_target_compile_flags(clang_rt.asan-i386
+    ${ASAN_CFLAGS}
+    ${TARGET_I386_CFLAGS}
+    )
+  set_property(TARGET clang_rt.asan-i386 APPEND PROPERTY COMPILE_DEFINITIONS
+    ${ASAN_COMMON_DEFINITIONS})
+  add_clang_runtime_static_library(clang_rt.asan-i386)
+endif()
+
+if(LLVM_INCLUDE_TESTS)
+  add_subdirectory(tests)
+endif()

Modified: vendor/compiler-rt/dist/lib/asan/Makefile.mk
==============================================================================
--- vendor/compiler-rt/dist/lib/asan/Makefile.mk	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/lib/asan/Makefile.mk	Mon Jul 30 10:58:13 2012	(r238901)
@@ -8,7 +8,7 @@
 #===------------------------------------------------------------------------===#
 
 ModuleName := asan
-SubDirs := mach_override sysinfo
+SubDirs :=
 
 Sources := $(foreach file,$(wildcard $(Dir)/*.cc),$(notdir $(file)))
 ObjNames := $(Sources:%.cc=%.o)
@@ -17,6 +17,8 @@ Implementation := Generic
 
 # FIXME: use automatic dependencies?
 Dependencies := $(wildcard $(Dir)/*.h)
+Dependencies += $(wildcard $(Dir)/interception/*.h)
+Dependencies += $(wildcard $(Dir)/interception/mach_override/*.h)
 
 # Define a convenience variable for all the asan functions.
 AsanFunctions := $(Sources:%.cc=%)

Modified: vendor/compiler-rt/dist/lib/asan/Makefile.old
==============================================================================
--- vendor/compiler-rt/dist/lib/asan/Makefile.old	Mon Jul 30 10:55:23 2012	(r238900)
+++ vendor/compiler-rt/dist/lib/asan/Makefile.old	Mon Jul 30 10:58:13 2012	(r238901)
@@ -58,9 +58,11 @@ ifeq ($(ARCH), arm)
 endif
 
 CLANG_FLAGS=
+CLANG_VERSION=3.2
 CLANG_BUILD=$(ROOT)/../../../../build/Release+Asserts
 CLANG_CC=$(CLANG_BUILD)/bin/clang $(CLANG_FLAGS)
 CLANG_CXX=$(CLANG_BUILD)/bin/clang++ $(CLANG_FLAGS)
+FILE_CHECK=$(CLANG_BUILD)/bin/FileCheck
 
 CC=$(CLANG_CC)
 CXX=$(CLANG_CXX)
@@ -77,7 +79,6 @@ ARCH=x86_64
 
 ASAN_STACK=1
 ASAN_GLOBALS=1
-ASAN_USE_CALL=1
 ASAN_SCALE=0  # default will be used
 ASAN_OFFSET=-1  #default will be used
 ASAN_UAR=0
@@ -120,8 +121,8 @@ endif
 
 # This will build libasan on linux for both x86_64 and i386 in the
 # desired location. The Mac library is already build by the clang's make.
-# $(CLANG_BUILD)/lib/clang/3.1/lib/$(OS)/libclang_rt.asan-$(ARCH).a
-LIBASAN_INST_DIR=$(CLANG_BUILD)/lib/clang/3.1/lib/$(OS)
+# $(CLANG_BUILD)/lib/clang/$(CLANG_VERSION)/lib/$(OS)/libclang_rt.asan-$(ARCH).a
+LIBASAN_INST_DIR=$(CLANG_BUILD)/lib/clang/$(CLANG_VERSION)/lib/$(OS)
 LIBASAN_A=$(LIBASAN_INST_DIR)/libclang_rt.asan-$(ARCH).a
 
 BLACKLIST=
@@ -140,7 +141,6 @@ CLANG_ASAN_CXX=$(CLANG_CXX) \
 		$(BLACKLIST)  \
 		-mllvm -asan-stack=$(ASAN_STACK)      \
 		-mllvm -asan-globals=$(ASAN_GLOBALS)  \
-		-mllvm -asan-use-call=$(ASAN_USE_CALL) \
 		-mllvm -asan-mapping-scale=$(ASAN_SCALE) \
 		-mllvm -asan-mapping-offset-log=$(ASAN_OFFSET) \
 		-mllvm -asan-use-after-return=$(ASAN_UAR) \
@@ -169,37 +169,25 @@ ifeq ($(ASAN_COMPILER), gcc)
   ASAN_LD_TAIL=$(LIBASAN_A)
 endif
 
-RTL_HDR=asan_allocator.h \
-	asan_internal.h \
-	asan_interceptors.h \
-	asan_interface.h \
-	asan_lock.h \
-	asan_mac.h \
-	asan_mapping.h \
-	asan_stack.h \
-	asan_stats.h \
-	asan_thread.h \
-	asan_thread_registry.h \
-	mach_override/mach_override.h \
-	sysinfo/basictypes.h \
-	sysinfo/sysinfo.h
-
-LIBASAN_OBJ=$(BIN)/asan_rtl$(SUFF).o \
-	    $(BIN)/asan_allocator$(SUFF).o  \
-	    $(BIN)/asan_globals$(SUFF).o  \
-	    $(BIN)/asan_interceptors$(SUFF).o  \
-	    $(BIN)/asan_linux$(SUFF).o \
-	    $(BIN)/asan_mac$(SUFF).o \
-	    $(BIN)/asan_malloc_linux$(SUFF).o \
-	    $(BIN)/asan_malloc_mac$(SUFF).o \
-	    $(BIN)/asan_poisoning$(SUFF).o  \
-	    $(BIN)/asan_printf$(SUFF).o  \
-	    $(BIN)/asan_stack$(SUFF).o  \
-	    $(BIN)/asan_stats$(SUFF).o  \
-	    $(BIN)/asan_thread$(SUFF).o  \
-	    $(BIN)/asan_thread_registry$(SUFF).o  \
-	    $(BIN)/mach_override/mach_override$(SUFF).o \
-	    $(BIN)/sysinfo/sysinfo$(SUFF).o
+INTERCEPTION=../interception
+MACH_OVERRIDE=$(INTERCEPTION)/mach_override
+COMMON=../sanitizer_common
+
+RTL_HDR=$(wildcard *.h) \
+	$(wildcard $(INTERCEPTION)/*.h) \
+	$(wildcard $(MACH_OVERRIDE)/*.h) \
+	$(wildcard $(COMMON)/*.h)
+
+LIBTSAN_SRC=$(wildcard *.cc)
+INTERCEPTION_SRC=$(wildcard $(INTERCEPTION)/*.cc)
+MACH_OVERRIDE_SRC=$(wildcard $(MACH_OVERRIDE)/*.c)
+COMMON_SRC=$(wildcard $(COMMON)/*.cc)
+
+
+LIBASAN_OBJ=$(patsubst %.cc,$(BIN)/%$(SUFF).o,$(LIBTSAN_SRC)) \
+	    $(patsubst $(INTERCEPTION)/%.cc,$(BIN)/%$(SUFF).o,$(INTERCEPTION_SRC)) \
+	    $(patsubst $(COMMON)/%.cc,$(BIN)/%$(SUFF).o,$(COMMON_SRC)) \
+	    $(patsubst $(MACH_OVERRIDE)/%.c,$(BIN)/%$(SUFF).o,$(MACH_OVERRIDE_SRC))
 
 GTEST_ROOT=third_party/googletest
 GTEST_INCLUDE=-I$(GTEST_ROOT)/include
@@ -209,29 +197,28 @@ GTEST_LIB=$(GTEST_MAKE_DIR)/gtest-all.o
 all: b64 b32
 
 test: t64 t32 output_tests lint
+	@echo "ALL TESTS PASSED"
 
 output_tests: b32 b64
-	cd tests && ./test_output.sh $(CLANG_CXX) $(CLANG_CC)
+	cd output_tests && ./test_output.sh $(CLANG_CXX) $(CLANG_CC) $(FILE_CHECK)
 
 t64: b64
 	$(BIN)/asan_test64
 t32: b32
 	$(BIN)/asan_test32
 
-b64: | $(BIN)
+b64: | mk_bin_dir
 	$(MAKE) -f $(MAKEFILE) ARCH=x86_64 asan_test asan_benchmarks

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201207301058.q6UAwEen079112>