Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 31 Dec 2011 14:55:24 +0000 (UTC)
From:      Ed Schouten <ed@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r229109 - in vendor/compiler-rt/dist: . SDKs SDKs/darwin SDKs/darwin/usr SDKs/darwin/usr/include SDKs/darwin/usr/include/sys SDKs/linux SDKs/linux/usr SDKs/linux/usr/include SDKs/linux/...
Message-ID:  <201112311455.pBVEtOkJ069353@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ed
Date: Sat Dec 31 14:55:23 2011
New Revision: 229109
URL: http://svn.freebsd.org/changeset/base/229109

Log:
  Import compiler-rt r147390.

Added:
  vendor/compiler-rt/dist/SDKs/
  vendor/compiler-rt/dist/SDKs/README.txt
  vendor/compiler-rt/dist/SDKs/darwin/
  vendor/compiler-rt/dist/SDKs/darwin/README.txt
  vendor/compiler-rt/dist/SDKs/darwin/usr/
  vendor/compiler-rt/dist/SDKs/darwin/usr/include/
  vendor/compiler-rt/dist/SDKs/darwin/usr/include/limits.h
  vendor/compiler-rt/dist/SDKs/darwin/usr/include/stdio.h
  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/darwin/usr/include/sys/
  vendor/compiler-rt/dist/SDKs/darwin/usr/include/sys/stat.h
  vendor/compiler-rt/dist/SDKs/darwin/usr/include/sys/types.h
  vendor/compiler-rt/dist/SDKs/linux/
  vendor/compiler-rt/dist/SDKs/linux/README.txt
  vendor/compiler-rt/dist/SDKs/linux/usr/
  vendor/compiler-rt/dist/SDKs/linux/usr/include/
  vendor/compiler-rt/dist/SDKs/linux/usr/include/endian.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/
  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/asan/
  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/mach_override/
  vendor/compiler-rt/dist/lib/asan/mach_override/LICENSE.TXT
  vendor/compiler-rt/dist/lib/asan/mach_override/Makefile.mk
  vendor/compiler-rt/dist/lib/asan/mach_override/README.txt
  vendor/compiler-rt/dist/lib/asan/mach_override/mach_override.c
  vendor/compiler-rt/dist/lib/asan/mach_override/mach_override.h
  vendor/compiler-rt/dist/lib/asan/scripts/
  vendor/compiler-rt/dist/lib/asan/scripts/asan_symbolize.py   (contents, props changed)
  vendor/compiler-rt/dist/lib/asan/sysinfo/
  vendor/compiler-rt/dist/lib/asan/sysinfo/LICENSE.TXT
  vendor/compiler-rt/dist/lib/asan/sysinfo/Makefile.mk
  vendor/compiler-rt/dist/lib/asan/sysinfo/basictypes.h
  vendor/compiler-rt/dist/lib/asan/sysinfo/sysinfo.cc
  vendor/compiler-rt/dist/lib/asan/sysinfo/sysinfo.h
  vendor/compiler-rt/dist/lib/asan/tests/
  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_exceptions_test.cc
  vendor/compiler-rt/dist/lib/asan/tests/asan_globals_test.cc
  vendor/compiler-rt/dist/lib/asan/tests/asan_interface_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.ignore
  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/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   (contents, props changed)
  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   (contents, props changed)
  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/int_endianness.h
  vendor/compiler-rt/dist/lib/int_math.h
  vendor/compiler-rt/dist/lib/int_types.h
  vendor/compiler-rt/dist/lib/int_util.c
  vendor/compiler-rt/dist/lib/int_util.h
  vendor/compiler-rt/dist/lib/mulodi4.c
  vendor/compiler-rt/dist/lib/mulosi4.c
  vendor/compiler-rt/dist/lib/muloti4.c
  vendor/compiler-rt/dist/lib/profile/
  vendor/compiler-rt/dist/lib/profile/GCDAProfiling.c
  vendor/compiler-rt/dist/lib/profile/Makefile.mk
  vendor/compiler-rt/dist/make/platform/clang_darwin_test_input.c
  vendor/compiler-rt/dist/make/platform/clang_linux.mk
  vendor/compiler-rt/dist/test/Unit/mulodi4_test.c
  vendor/compiler-rt/dist/test/Unit/mulosi4_test.c
  vendor/compiler-rt/dist/test/Unit/muloti4_test.c
Deleted:
  vendor/compiler-rt/dist/lib/abi.h
  vendor/compiler-rt/dist/lib/endianness.h
Modified:
  vendor/compiler-rt/dist/.gitignore
  vendor/compiler-rt/dist/LICENSE.TXT
  vendor/compiler-rt/dist/Makefile
  vendor/compiler-rt/dist/README.txt
  vendor/compiler-rt/dist/lib/Makefile.mk
  vendor/compiler-rt/dist/lib/absvdi2.c
  vendor/compiler-rt/dist/lib/absvsi2.c
  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/addvdi3.c
  vendor/compiler-rt/dist/lib/addvsi3.c
  vendor/compiler-rt/dist/lib/addvti3.c
  vendor/compiler-rt/dist/lib/arm/Makefile.mk
  vendor/compiler-rt/dist/lib/arm/adddf3vfp.S
  vendor/compiler-rt/dist/lib/arm/addsf3vfp.S
  vendor/compiler-rt/dist/lib/arm/divdf3vfp.S
  vendor/compiler-rt/dist/lib/arm/divsf3vfp.S
  vendor/compiler-rt/dist/lib/arm/eqdf2vfp.S
  vendor/compiler-rt/dist/lib/arm/eqsf2vfp.S
  vendor/compiler-rt/dist/lib/arm/extendsfdf2vfp.S
  vendor/compiler-rt/dist/lib/arm/fixdfsivfp.S
  vendor/compiler-rt/dist/lib/arm/fixsfsivfp.S
  vendor/compiler-rt/dist/lib/arm/fixunsdfsivfp.S
  vendor/compiler-rt/dist/lib/arm/fixunssfsivfp.S
  vendor/compiler-rt/dist/lib/arm/floatsidfvfp.S
  vendor/compiler-rt/dist/lib/arm/floatsisfvfp.S
  vendor/compiler-rt/dist/lib/arm/floatunssidfvfp.S
  vendor/compiler-rt/dist/lib/arm/floatunssisfvfp.S
  vendor/compiler-rt/dist/lib/arm/gedf2vfp.S
  vendor/compiler-rt/dist/lib/arm/gesf2vfp.S
  vendor/compiler-rt/dist/lib/arm/gtdf2vfp.S
  vendor/compiler-rt/dist/lib/arm/gtsf2vfp.S
  vendor/compiler-rt/dist/lib/arm/ledf2vfp.S
  vendor/compiler-rt/dist/lib/arm/lesf2vfp.S
  vendor/compiler-rt/dist/lib/arm/ltdf2vfp.S
  vendor/compiler-rt/dist/lib/arm/ltsf2vfp.S
  vendor/compiler-rt/dist/lib/arm/muldf3vfp.S
  vendor/compiler-rt/dist/lib/arm/mulsf3vfp.S
  vendor/compiler-rt/dist/lib/arm/nedf2vfp.S
  vendor/compiler-rt/dist/lib/arm/negdf2vfp.S
  vendor/compiler-rt/dist/lib/arm/negsf2vfp.S
  vendor/compiler-rt/dist/lib/arm/nesf2vfp.S
  vendor/compiler-rt/dist/lib/arm/subdf3vfp.S
  vendor/compiler-rt/dist/lib/arm/subsf3vfp.S
  vendor/compiler-rt/dist/lib/arm/truncdfsf2vfp.S
  vendor/compiler-rt/dist/lib/arm/unorddf2vfp.S
  vendor/compiler-rt/dist/lib/arm/unordsf2vfp.S
  vendor/compiler-rt/dist/lib/ashldi3.c
  vendor/compiler-rt/dist/lib/ashrdi3.c
  vendor/compiler-rt/dist/lib/assembly.h
  vendor/compiler-rt/dist/lib/clear_cache.c
  vendor/compiler-rt/dist/lib/clzdi2.c
  vendor/compiler-rt/dist/lib/clzsi2.c
  vendor/compiler-rt/dist/lib/cmpdi2.c
  vendor/compiler-rt/dist/lib/ctzdi2.c
  vendor/compiler-rt/dist/lib/ctzsi2.c
  vendor/compiler-rt/dist/lib/divdc3.c
  vendor/compiler-rt/dist/lib/divdf3.c
  vendor/compiler-rt/dist/lib/divdi3.c
  vendor/compiler-rt/dist/lib/divmoddi4.c
  vendor/compiler-rt/dist/lib/divmodsi4.c
  vendor/compiler-rt/dist/lib/divsc3.c
  vendor/compiler-rt/dist/lib/divsf3.c
  vendor/compiler-rt/dist/lib/divsi3.c
  vendor/compiler-rt/dist/lib/divxc3.c
  vendor/compiler-rt/dist/lib/enable_execute_stack.c
  vendor/compiler-rt/dist/lib/eprintf.c
  vendor/compiler-rt/dist/lib/extendsfdf2.c
  vendor/compiler-rt/dist/lib/ffsdi2.c
  vendor/compiler-rt/dist/lib/fixdfdi.c
  vendor/compiler-rt/dist/lib/fixdfsi.c
  vendor/compiler-rt/dist/lib/fixsfdi.c
  vendor/compiler-rt/dist/lib/fixsfsi.c
  vendor/compiler-rt/dist/lib/fixunsdfdi.c
  vendor/compiler-rt/dist/lib/fixunsdfsi.c
  vendor/compiler-rt/dist/lib/fixunssfdi.c
  vendor/compiler-rt/dist/lib/fixunssfsi.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/gcc_personality_v0.c
  vendor/compiler-rt/dist/lib/i386/Makefile.mk
  vendor/compiler-rt/dist/lib/int_lib.h
  vendor/compiler-rt/dist/lib/lshrdi3.c
  vendor/compiler-rt/dist/lib/moddi3.c
  vendor/compiler-rt/dist/lib/modsi3.c
  vendor/compiler-rt/dist/lib/muldc3.c
  vendor/compiler-rt/dist/lib/muldf3.c
  vendor/compiler-rt/dist/lib/muldi3.c
  vendor/compiler-rt/dist/lib/mulsc3.c
  vendor/compiler-rt/dist/lib/mulsf3.c
  vendor/compiler-rt/dist/lib/mulvdi3.c
  vendor/compiler-rt/dist/lib/mulvsi3.c
  vendor/compiler-rt/dist/lib/mulvti3.c
  vendor/compiler-rt/dist/lib/mulxc3.c
  vendor/compiler-rt/dist/lib/negdf2.c
  vendor/compiler-rt/dist/lib/negsf2.c
  vendor/compiler-rt/dist/lib/negvdi2.c
  vendor/compiler-rt/dist/lib/negvsi2.c
  vendor/compiler-rt/dist/lib/negvti2.c
  vendor/compiler-rt/dist/lib/paritydi2.c
  vendor/compiler-rt/dist/lib/paritysi2.c
  vendor/compiler-rt/dist/lib/popcountdi2.c
  vendor/compiler-rt/dist/lib/popcountsi2.c
  vendor/compiler-rt/dist/lib/powidf2.c
  vendor/compiler-rt/dist/lib/powisf2.c
  vendor/compiler-rt/dist/lib/ppc/DD.h
  vendor/compiler-rt/dist/lib/ppc/Makefile.mk
  vendor/compiler-rt/dist/lib/ppc/divtc3.c
  vendor/compiler-rt/dist/lib/ppc/fixtfdi.c
  vendor/compiler-rt/dist/lib/ppc/fixunstfdi.c
  vendor/compiler-rt/dist/lib/ppc/floatditf.c
  vendor/compiler-rt/dist/lib/ppc/floatunditf.c
  vendor/compiler-rt/dist/lib/ppc/multc3.c
  vendor/compiler-rt/dist/lib/subdf3.c
  vendor/compiler-rt/dist/lib/subsf3.c
  vendor/compiler-rt/dist/lib/subvdi3.c
  vendor/compiler-rt/dist/lib/subvsi3.c
  vendor/compiler-rt/dist/lib/subvti3.c
  vendor/compiler-rt/dist/lib/trampoline_setup.c
  vendor/compiler-rt/dist/lib/truncdfsf2.c
  vendor/compiler-rt/dist/lib/ucmpdi2.c
  vendor/compiler-rt/dist/lib/udivdi3.c
  vendor/compiler-rt/dist/lib/udivmoddi4.c
  vendor/compiler-rt/dist/lib/udivmodsi4.c
  vendor/compiler-rt/dist/lib/udivmodti4.c
  vendor/compiler-rt/dist/lib/udivsi3.c
  vendor/compiler-rt/dist/lib/umoddi3.c
  vendor/compiler-rt/dist/lib/umodsi3.c
  vendor/compiler-rt/dist/lib/x86_64/Makefile.mk
  vendor/compiler-rt/dist/lib/x86_64/floatdidf.c
  vendor/compiler-rt/dist/lib/x86_64/floatdisf.c
  vendor/compiler-rt/dist/lib/x86_64/floatdixf.c
  vendor/compiler-rt/dist/make/AppleBI.mk
  vendor/compiler-rt/dist/make/config.mk
  vendor/compiler-rt/dist/make/lib_info.mk
  vendor/compiler-rt/dist/make/options.mk
  vendor/compiler-rt/dist/make/platform/clang_darwin.mk
  vendor/compiler-rt/dist/make/platform/darwin_bni.mk
  vendor/compiler-rt/dist/make/platform/darwin_fat.mk
  vendor/compiler-rt/dist/make/platform/multi_arch.mk
  vendor/compiler-rt/dist/make/subdir.mk
  vendor/compiler-rt/dist/www/index.html

Modified: vendor/compiler-rt/dist/.gitignore
==============================================================================
--- vendor/compiler-rt/dist/.gitignore	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/.gitignore	Sat Dec 31 14:55:23 2011	(r229109)
@@ -1,4 +1,4 @@
 *~
-Debug
-Release
-Profile
+darwin_fat
+clang_darwin
+multi_arch

Modified: vendor/compiler-rt/dist/LICENSE.TXT
==============================================================================
--- vendor/compiler-rt/dist/LICENSE.TXT	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/LICENSE.TXT	Sat Dec 31 14:55:23 2011	(r229109)
@@ -74,3 +74,25 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE F
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.
+
+==============================================================================
+Copyrights and Licenses for Third Party Software Distributed with LLVM:
+==============================================================================
+The LLVM software contains code written by third parties.  Such software will
+have its own individual LICENSE.TXT file in the directory in which it appears.
+This file will describe the copyrights, license, and restrictions which apply
+to that code.
+
+The disclaimer of warranty in the University of Illinois Open Source License
+applies to all code in the LLVM Distribution, and nothing in any of the
+other licenses gives permission to use the names of the LLVM Team or the
+University of Illinois to endorse or promote products derived from this
+Software.
+
+The following pieces of software have additional or alternate copyrights,
+licenses, and/or restrictions:
+
+Program             Directory
+-------             ---------
+sysinfo             lib/asan/sysinfo
+mach_override       lib/asan/mach_override

Modified: vendor/compiler-rt/dist/Makefile
==============================================================================
--- vendor/compiler-rt/dist/Makefile	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/Makefile	Sat Dec 31 14:55:23 2011	(r229109)
@@ -164,6 +164,7 @@ define PerPlatformConfigArch_template
 $(call Set,Tmp.Arch,$(1))
 $(call Set,Tmp.ObjPath,$(ProjObjRoot)/$(Tmp.Name)/$(Tmp.Config)/$(Tmp.Arch))
 $(call Set,Tmp.Functions,$(strip \
+  $(AlwaysRequiredModules) \
   $(call GetCNAVar,FUNCTIONS,$(Tmp.Key),$(Tmp.Config),$(Tmp.Arch))))
 $(call Set,Tmp.Optimized,$(strip \
   $(call GetCNAVar,OPTIMIZED,$(Tmp.Key),$(Tmp.Config),$(Tmp.Arch))))
@@ -226,7 +227,10 @@ $(Tmp.ObjPath)/%.o: $(Tmp.SrcPath)/%.S $
 	$(Verb) $(Tmp.CC) $(Tmp.CFLAGS) -c -o $$@ $$<
 $(Tmp.ObjPath)/%.o: $(Tmp.SrcPath)/%.c $(Tmp.Dependencies) $(Tmp.ObjPath)/.dir
 	$(Summary) "  COMPILE:   $(Tmp.Name)/$(Tmp.Config)/$(Tmp.Arch): $$<"
-	$(Verb) $(Tmp.CC) $(Tmp.CFLAGS) -c -o $$@ $$<
+	$(Verb) $(Tmp.CC) $(Tmp.CFLAGS) -c $(COMMON_CFLAGS) -o $$@ $$<
+$(Tmp.ObjPath)/%.o: $(Tmp.SrcPath)/%.cc $(Tmp.Dependencies) $(Tmp.ObjPath)/.dir
+	$(Summary) "  COMPILE:   $(Tmp.Name)/$(Tmp.Config)/$(Tmp.Arch): $$<"
+	$(Verb) $(Tmp.CC) $(Tmp.CFLAGS) -c $(COMMON_CXXFLAGS) -o $$@ $$<
 .PRECIOUS: $(Tmp.ObjPath)/.dir
 
 endef

Modified: vendor/compiler-rt/dist/README.txt
==============================================================================
--- vendor/compiler-rt/dist/README.txt	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/README.txt	Sat Dec 31 14:55:23 2011	(r229109)
@@ -106,6 +106,15 @@ si_int __mulvsi3(si_int a, si_int b);  /
 di_int __mulvdi3(di_int a, di_int b);  // a * b
 ti_int __mulvti3(ti_int a, ti_int b);  // a * b
 
+
+// Integral arithmetic which returns if overflow
+
+si_int __mulosi4(si_int a, si_int b, int* overflow);  // a * b, overflow set to one if result not in signed range
+di_int __mulodi4(di_int a, di_int b, int* overflow);  // a * b, overflow set to one if result not in signed range
+ti_int __muloti4(ti_int a, ti_int b, int* overflow);  // a * b, overflow set to
+ one if result not in signed range
+
+
 //  Integral comparison: a  < b -> 0
 //                       a == b -> 1
 //                       a  > b -> 2

Added: vendor/compiler-rt/dist/SDKs/README.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/README.txt	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,9 @@
+It is often convenient to be able to build compiler-rt libraries for a certain
+platform without having a full SDK or development environment installed.
+
+This makes it easy for users to build a compiler which can target a number of
+different platforms, without having to actively maintain full development
+environments for those platforms.
+
+Since compiler-rt's libraries typically have minimal interaction with the
+system, we achieve this by stubbing out the SDKs of certain platforms.

Added: vendor/compiler-rt/dist/SDKs/darwin/README.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/darwin/README.txt	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,3 @@
+The Darwin platforms are all similar enough we roll them into one SDK, and use
+preprocessor tricks to get the right definitions for the few things which
+diverge between OS X and iOS.

Added: vendor/compiler-rt/dist/SDKs/darwin/usr/include/limits.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/darwin/usr/include/limits.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,23 @@
+/* ===-- limits.h - stub SDK header for compiler-rt -------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __LIMITS_H__
+#define __LIMITS_H__
+
+/* This is only here as a landing pad for the include_next from the compiler's
+   built-in limits.h. */
+
+#endif /* __LIMITS_H__ */

Added: vendor/compiler-rt/dist/SDKs/darwin/usr/include/stdio.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/darwin/usr/include/stdio.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,61 @@
+/* ===-- stdio.h - stub SDK header for compiler-rt --------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __STDIO_H__
+#define __STDIO_H__
+
+typedef struct __sFILE FILE;
+typedef __SIZE_TYPE__ size_t;
+
+/* Determine the appropriate fopen() and fwrite() functions. */
+#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)
+#  if defined(__i386)
+#    define __FOPEN_NAME "_fopen$UNIX2003"
+#    define __FWRITE_NAME "_fwrite$UNIX2003"
+#  elif defined(__x86_64__)
+#    define __FOPEN_NAME "_fopen"
+#    define __FWRITE_NAME "_fwrite"
+#  elif defined(__arm)
+#    define __FOPEN_NAME "_fopen"
+#    define __FWRITE_NAME "_fwrite"
+#  else
+#    error "unrecognized architecture for targetting OS X"
+#  endif
+#elif defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__)
+#  if defined(__i386) || defined (__x86_64)
+#    define __FOPEN_NAME "_fopen"
+#    define __FWRITE_NAME "_fwrite"
+#  elif defined(__arm)
+#    define __FOPEN_NAME "_fopen"
+#    define __FWRITE_NAME "_fwrite"
+#  else
+#    error "unrecognized architecture for targetting iOS"
+#  endif
+#else
+#  error "unrecognized architecture for targetting Darwin"
+#endif
+
+#    define stderr __stderrp
+extern FILE *__stderrp;
+
+int fclose(FILE *);
+int fflush(FILE *);
+FILE *fopen(const char * restrict, const char * restrict) __asm(__FOPEN_NAME);
+int fprintf(FILE * restrict, const char * restrict, ...);
+size_t fwrite(const void * restrict, size_t, size_t, FILE * restrict)
+  __asm(__FWRITE_NAME);
+
+#endif /* __STDIO_H__ */

Added: vendor/compiler-rt/dist/SDKs/darwin/usr/include/stdlib.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/darwin/usr/include/stdlib.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,29 @@
+/* ===-- stdlib.h - stub SDK header for compiler-rt -------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __STDLIB_H__
+#define __STDLIB_H__
+
+#define NULL ((void *)0)
+
+typedef __SIZE_TYPE__ size_t;
+
+void abort(void) __attribute__((__noreturn__));
+void free(void *);
+char *getenv(const char *);
+void *malloc(size_t);
+
+#endif /* __STDLIB_H__ */

Added: vendor/compiler-rt/dist/SDKs/darwin/usr/include/string.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/darwin/usr/include/string.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,28 @@
+/* ===-- string.h - stub SDK header for compiler-rt -------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __STRING_H__
+#define __STRING_H__
+
+typedef __SIZE_TYPE__ size_t;
+
+char *strcat(char *, const char *);
+char *strcpy(char *, const char *);
+char *strdup(const char *);
+size_t strlen(const char *);
+char *strncpy(char *, const char *, size_t);
+
+#endif /* __STRING_H__ */

Added: vendor/compiler-rt/dist/SDKs/darwin/usr/include/sys/stat.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/darwin/usr/include/sys/stat.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,25 @@
+/* ===-- stat.h - stub SDK header for compiler-rt ---------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __SYS_STAT_H__
+#define __SYS_STAT_H__
+
+typedef unsigned short uint16_t;
+typedef uint16_t mode_t;
+
+int mkdir(const char *, mode_t);
+
+#endif /* __SYS_STAT_H__ */

Added: vendor/compiler-rt/dist/SDKs/darwin/usr/include/sys/types.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/darwin/usr/include/sys/types.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,20 @@
+/* ===-- types.h - stub SDK header for compiler-rt --------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __SYS_TYPES_H__
+#define __SYS_TYPES_H__
+
+#endif /* __SYS_TYPES_H__ */

Added: vendor/compiler-rt/dist/SDKs/linux/README.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/linux/README.txt	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,2 @@
+This is a stub SDK for Linux. Currently, this has only been tested on i386 and
+x86_64 using the Clang compiler.

Added: vendor/compiler-rt/dist/SDKs/linux/usr/include/endian.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/linux/usr/include/endian.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,29 @@
+/* ===-- endian.h - stub SDK header for compiler-rt -------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __ENDIAN_H__
+#define __ENDIAN_H__
+
+#define __LITTLE_ENDIAN 1234
+#define __BIG_ENDIAN 4321
+
+#if defined(__LITTLE_ENDIAN__) || defined(__ORDER_LITTLE_ENDIAN__)
+#define __BYTE_ORDER __LITTLE_ENDIAN
+#else
+#define __BYTE_ORDER __BIG_ENDIAN
+#endif
+
+#endif /* __ENDIAN_H__ */

Added: vendor/compiler-rt/dist/SDKs/linux/usr/include/limits.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/linux/usr/include/limits.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,23 @@
+/* ===-- limits.h - stub SDK header for compiler-rt -------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __LIMITS_H__
+#define __LIMITS_H__
+
+/* This is only here as a landing pad for the include_next from the compiler's
+   built-in limits.h. */
+
+#endif /* __LIMITS_H__ */

Added: vendor/compiler-rt/dist/SDKs/linux/usr/include/stdio.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/linux/usr/include/stdio.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,35 @@
+/* ===-- stdio.h - stub SDK header for compiler-rt --------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __STDIO_H__
+#define __STDIO_H__
+
+typedef __SIZE_TYPE__ size_t;
+
+struct _IO_FILE;
+typedef struct _IO_FILE FILE;
+
+extern struct _IO_FILE *stdin;
+extern struct _IO_FILE *stdout;
+extern struct _IO_FILE *stderr;
+
+extern int fclose(FILE *);
+extern int fflush(FILE *);
+extern FILE *fopen(const char * restrict, const char * restrict);
+extern int fprintf(FILE * restrict, const char * restrict, ...);
+extern size_t fwrite(const void * restrict, size_t, size_t, FILE * restrict);
+
+#endif /* __STDIO_H__ */

Added: vendor/compiler-rt/dist/SDKs/linux/usr/include/stdlib.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/linux/usr/include/stdlib.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,32 @@
+/* ===-- stdlib.h - stub SDK header for compiler-rt -------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __STDLIB_H__
+#define __STDLIB_H__
+
+#define NULL ((void *)0)
+
+typedef __SIZE_TYPE__ size_t;
+
+void abort(void) __attribute__((__nothrow__)) __attribute__((__noreturn__));
+void free(void *) __attribute__((__nothrow__));
+char *getenv(const char *) __attribute__((__nothrow__))
+  __attribute__((__nonnull__(1)));
+  __attribute__((__warn_unused_result__));
+void *malloc(size_t) __attribute__((__nothrow__)) __attribute((__malloc__))
+     __attribute__((__warn_unused_result__));
+
+#endif /* __STDLIB_H__ */

Added: vendor/compiler-rt/dist/SDKs/linux/usr/include/string.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/linux/usr/include/string.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,28 @@
+/* ===-- string.h - stub SDK header for compiler-rt -------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __STRING_H__
+#define __STRING_H__
+
+typedef __SIZE_TYPE__ size_t;
+
+char *strcat(char *, const char *);
+char *strcpy(char *, const char *);
+char *strdup(const char *);
+size_t strlen(const char *);
+char *strncpy(char *, const char *, size_t);
+
+#endif /* __STRING_H__ */

Added: vendor/compiler-rt/dist/SDKs/linux/usr/include/sys/mman.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/linux/usr/include/sys/mman.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,29 @@
+/* ===-- limits.h - stub SDK header for compiler-rt -------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __SYS_MMAN_H__
+#define __SYS_MMAN_H__
+
+typedef __SIZE_TYPE__ size_t;
+
+#define PROT_READ 0x1
+#define PROT_WRITE 0x2
+#define PROT_EXEC 0x4
+
+extern int mprotect (void *__addr, size_t __len, int __prot)
+  __attribute__((__nothrow__));
+
+#endif /* __SYS_MMAN_H__ */

Added: vendor/compiler-rt/dist/SDKs/linux/usr/include/sys/stat.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/linux/usr/include/sys/stat.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,24 @@
+/* ===-- stat.h - stub SDK header for compiler-rt ---------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __SYS_STAT_H__
+#define __SYS_STAT_H__
+
+typedef unsigned int mode_t;
+
+int mkdir(const char *, mode_t);
+
+#endif /* __SYS_STAT_H__ */

Added: vendor/compiler-rt/dist/SDKs/linux/usr/include/sys/types.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/linux/usr/include/sys/types.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,20 @@
+/* ===-- stat.h - stub SDK header for compiler-rt ---------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __SYS_TYPES_H__
+#define __SYS_TYPES_H__
+
+#endif /* __SYS_TYPES_H__ */

Added: vendor/compiler-rt/dist/SDKs/linux/usr/include/unistd.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/compiler-rt/dist/SDKs/linux/usr/include/unistd.h	Sat Dec 31 14:55:23 2011	(r229109)
@@ -0,0 +1,26 @@
+/* ===-- unistd.h - stub SDK header for compiler-rt -------------------------===
+ *
+ *                     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.
+ *
+ * ===-----------------------------------------------------------------------===
+ *
+ * This is a stub SDK header file. This file is not part of the interface of
+ * this library nor an official version of the appropriate SDK header. It is
+ * intended only to stub the features of this header required by compiler-rt.
+ *
+ * ===-----------------------------------------------------------------------===
+ */
+
+#ifndef __UNISTD_H__
+#define __UNISTD_H__
+
+enum {
+  _SC_PAGESIZE = 30
+};
+
+extern long int sysconf (int __name) __attribute__ ((__nothrow__));
+
+#endif /* __UNISTD_H__ */

Modified: vendor/compiler-rt/dist/lib/Makefile.mk
==============================================================================
--- vendor/compiler-rt/dist/lib/Makefile.mk	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/Makefile.mk	Sat Dec 31 14:55:23 2011	(r229109)
@@ -7,8 +7,17 @@
 #
 #===------------------------------------------------------------------------===#
 
-SubDirs := i386 ppc x86_64 arm
+ModuleName := builtins
+SubDirs :=
 
+# Add arch specific optimized implementations.
+SubDirs += i386 ppc x86_64 arm
+
+# Add other submodules.
+SubDirs += asan
+SubDirs += profile
+
+# Define the variables for this specific directory.
 Sources := $(foreach file,$(wildcard $(Dir)/*.c),$(notdir $(file)))
 ObjNames := $(Sources:%.c=%.o)
 Implementation := Generic

Modified: vendor/compiler-rt/dist/lib/absvdi2.c
==============================================================================
--- vendor/compiler-rt/dist/lib/absvdi2.c	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/absvdi2.c	Sat Dec 31 14:55:23 2011	(r229109)
@@ -11,10 +11,8 @@
  *
  *===----------------------------------------------------------------------===
  */
-#include "abi.h"
 
 #include "int_lib.h"
-#include <stdlib.h>
 
 /* Returns: absolute value */
 

Modified: vendor/compiler-rt/dist/lib/absvsi2.c
==============================================================================
--- vendor/compiler-rt/dist/lib/absvsi2.c	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/absvsi2.c	Sat Dec 31 14:55:23 2011	(r229109)
@@ -11,10 +11,8 @@
  *
  * ===----------------------------------------------------------------------===
  */
-#include "abi.h"
 
 #include "int_lib.h"
-#include <stdlib.h>
 
 /* Returns: absolute value */
 

Modified: vendor/compiler-rt/dist/lib/absvti2.c
==============================================================================
--- vendor/compiler-rt/dist/lib/absvti2.c	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/absvti2.c	Sat Dec 31 14:55:23 2011	(r229109)
@@ -15,7 +15,6 @@
 #if __x86_64
 
 #include "int_lib.h"
-#include <stdlib.h>
 
 /* Returns: absolute value */
 

Modified: vendor/compiler-rt/dist/lib/adddf3.c
==============================================================================
--- vendor/compiler-rt/dist/lib/adddf3.c	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/adddf3.c	Sat Dec 31 14:55:23 2011	(r229109)
@@ -12,8 +12,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "abi.h"
-
 #define DOUBLE_PRECISION
 #include "fp_lib.h"
 

Modified: vendor/compiler-rt/dist/lib/addsf3.c
==============================================================================
--- vendor/compiler-rt/dist/lib/addsf3.c	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/addsf3.c	Sat Dec 31 14:55:23 2011	(r229109)
@@ -12,8 +12,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "abi.h"
-
 #define SINGLE_PRECISION
 #include "fp_lib.h"
 

Modified: vendor/compiler-rt/dist/lib/addvdi3.c
==============================================================================
--- vendor/compiler-rt/dist/lib/addvdi3.c	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/addvdi3.c	Sat Dec 31 14:55:23 2011	(r229109)
@@ -11,10 +11,8 @@
  *
  * ===----------------------------------------------------------------------===
  */
-#include "abi.h"
 
 #include "int_lib.h"
-#include <stdlib.h>
 
 /* Returns: a + b */
 

Modified: vendor/compiler-rt/dist/lib/addvsi3.c
==============================================================================
--- vendor/compiler-rt/dist/lib/addvsi3.c	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/addvsi3.c	Sat Dec 31 14:55:23 2011	(r229109)
@@ -11,10 +11,8 @@
  *
  * ===----------------------------------------------------------------------===
  */
-#include "abi.h"
 
 #include "int_lib.h"
-#include <stdlib.h>
 
 /* Returns: a + b */
 

Modified: vendor/compiler-rt/dist/lib/addvti3.c
==============================================================================
--- vendor/compiler-rt/dist/lib/addvti3.c	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/addvti3.c	Sat Dec 31 14:55:23 2011	(r229109)
@@ -15,7 +15,6 @@
 #if __x86_64
 
 #include "int_lib.h"
-#include <stdlib.h>
 
 /* Returns: a + b */
 

Modified: vendor/compiler-rt/dist/lib/arm/Makefile.mk
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/Makefile.mk	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/Makefile.mk	Sat Dec 31 14:55:23 2011	(r229109)
@@ -7,6 +7,7 @@
 #
 #===------------------------------------------------------------------------===#
 
+ModuleName := builtins
 SubDirs := 
 OnlyArchs := armv5 armv6 armv7
 

Modified: vendor/compiler-rt/dist/lib/arm/adddf3vfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/adddf3vfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/adddf3vfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -15,10 +15,11 @@
 // Adds two double precision floating point numbers using the Darwin
 // calling convention where double arguments are passsed in GPR pairs
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__adddf3vfp)
-	fmdrr	d6, r0, r1		// move first param from r0/r1 pair into d6
-	fmdrr	d7, r2, r3		// move second param from r2/r3 pair into d7
-	faddd	d6, d6, d7		
-	fmrrd	r0, r1, d6		// move result back to r0/r1 pair
+	vmov	d6, r0, r1		// move first param from r0/r1 pair into d6
+	vmov	d7, r2, r3		// move second param from r2/r3 pair into d7
+	vadd.f64 d6, d6, d7		
+	vmov	r0, r1, d6		// move result back to r0/r1 pair
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/addsf3vfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/addsf3vfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/addsf3vfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -15,10 +15,11 @@
 // Adds two single precision floating point numbers using the Darwin
 // calling convention where single arguments are passsed in GPRs
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__addsf3vfp)
-	fmsr	s14, r0		// move first param from r0 into float register
-	fmsr	s15, r1		// move second param from r1 into float register
-	fadds	s14, s14, s15
-	fmrs	r0, s14		// move result back to r0
+	vmov	s14, r0		// move first param from r0 into float register
+	vmov	s15, r1		// move second param from r1 into float register
+	vadd.f32 s14, s14, s15
+	vmov	r0, s14		// move result back to r0
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/divdf3vfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/divdf3vfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/divdf3vfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -15,10 +15,11 @@
 // Divides two double precision floating point numbers using the Darwin
 // calling convention where double arguments are passsed in GPR pairs
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__divdf3vfp)
-	fmdrr	d6, r0, r1		// move first param from r0/r1 pair into d6
-	fmdrr	d7, r2, r3		// move second param from r2/r3 pair into d7
-	fdivd	d5, d6, d7		
-	fmrrd	r0, r1, d5		// move result back to r0/r1 pair
+	vmov	d6, r0, r1		// move first param from r0/r1 pair into d6
+	vmov	d7, r2, r3		// move second param from r2/r3 pair into d7
+	vdiv.f64 d5, d6, d7		
+	vmov	r0, r1, d5		// move result back to r0/r1 pair
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/divsf3vfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/divsf3vfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/divsf3vfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -15,10 +15,11 @@
 // Divides two single precision floating point numbers using the Darwin
 // calling convention where single arguments are passsed like 32-bit ints.
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__divsf3vfp)
-	fmsr	s14, r0		// move first param from r0 into float register
-	fmsr	s15, r1		// move second param from r1 into float register
-	fdivs	s13, s14, s15
-	fmrs	r0, s13		// move result back to r0
+	vmov	s14, r0		// move first param from r0 into float register
+	vmov	s15, r1		// move second param from r1 into float register
+	vdiv.f32 s13, s14, s15
+	vmov	r0, s13		// move result back to r0
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/eqdf2vfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/eqdf2vfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/eqdf2vfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -16,12 +16,13 @@
 // Uses Darwin calling convention where double precision arguments are passsed 
 // like in GPR pairs.
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__eqdf2vfp)
-	fmdrr	d6, r0, r1	// load r0/r1 pair in double register
-	fmdrr	d7, r2, r3	// load r2/r3 pair in double register
-	fcmpd	d6, d7		
-	fmstat
+	vmov	d6, r0, r1	// load r0/r1 pair in double register
+	vmov	d7, r2, r3	// load r2/r3 pair in double register
+	vcmp.f64 d6, d7		
+	vmrs	apsr_nzcv, fpscr
 	moveq	r0, #1		// set result register to 1 if equal
 	movne	r0, #0
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/eqsf2vfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/eqsf2vfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/eqsf2vfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -16,12 +16,13 @@
 // Uses Darwin calling convention where single precision arguments are passsed 
 // like 32-bit ints
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__eqsf2vfp)
-	fmsr	s14, r0     // move from GPR 0 to float register
-	fmsr	s15, r1	    // move from GPR 1 to float register
-	fcmps	s14, s15
-	fmstat
+	vmov	s14, r0     // move from GPR 0 to float register
+	vmov	s15, r1	    // move from GPR 1 to float register
+	vcmp.f32 s14, s15
+	vmrs	apsr_nzcv, fpscr
 	moveq	r0, #1      // set result register to 1 if equal
 	movne	r0, #0
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/extendsfdf2vfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/extendsfdf2vfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/extendsfdf2vfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -16,9 +16,10 @@
 // Uses Darwin calling convention where a single precision parameter is 
 // passed in a GPR and a double precision result is returned in R0/R1 pair.
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__extendsfdf2vfp)
-	fmsr	s15, r0      // load float register from R0
-	fcvtds	d7, s15      // convert single to double
-	fmrrd	r0, r1, d7   // return result in r0/r1 pair
+	vmov	s15, r0      // load float register from R0
+	vcvt.f64.f32 d7, s15 // convert single to double
+	vmov	r0, r1, d7   // return result in r0/r1 pair
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/fixdfsivfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/fixdfsivfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/fixdfsivfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -16,9 +16,10 @@
 // Uses Darwin calling convention where a double precision parameter is 
 // passed in GPR register pair.
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__fixdfsivfp)
-	fmdrr	d7, r0, r1    // load double register from R0/R1
-	ftosizd	s15, d7       // convert double to 32-bit int into s15
-	fmrs	r0, s15	      // move s15 to result register
+	vmov	d7, r0, r1    // load double register from R0/R1
+	vcvt.s32.f64 s15, d7  // convert double to 32-bit int into s15
+	vmov	r0, s15	      // move s15 to result register
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/fixsfsivfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/fixsfsivfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/fixsfsivfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -16,9 +16,10 @@
 // Uses Darwin calling convention where a single precision parameter is 
 // passed in a GPR..
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__fixsfsivfp)
-	fmsr	s15, r0      // load float register from R0
-	ftosizs	s15, s15     // convert single to 32-bit int into s15
-	fmrs	r0, s15	     // move s15 to result register
+	vmov	s15, r0        // load float register from R0
+	vcvt.s32.f32 s15, s15  // convert single to 32-bit int into s15
+	vmov	r0, s15	       // move s15 to result register
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/fixunsdfsivfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/fixunsdfsivfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/fixunsdfsivfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -17,9 +17,10 @@
 // Uses Darwin calling convention where a double precision parameter is 
 // passed in GPR register pair.
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__fixunsdfsivfp)
-	fmdrr	d7, r0, r1    // load double register from R0/R1
-	ftouizd	s15, d7       // convert double to 32-bit int into s15
-	fmrs	r0, s15	      // move s15 to result register
+	vmov	d7, r0, r1    // load double register from R0/R1
+	vcvt.u32.f64 s15, d7  // convert double to 32-bit int into s15
+	vmov	r0, s15	      // move s15 to result register
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/fixunssfsivfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/fixunssfsivfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/fixunssfsivfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -17,9 +17,10 @@
 // Uses Darwin calling convention where a single precision parameter is 
 // passed in a GPR..
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__fixunssfsivfp)
-	fmsr	s15, r0      // load float register from R0
-	ftouizs	s15, s15     // convert single to 32-bit unsigned into s15
-	fmrs	r0, s15	     // move s15 to result register
+	vmov	s15, r0        // load float register from R0
+	vcvt.u32.f32 s15, s15  // convert single to 32-bit unsigned into s15
+	vmov	r0, s15	       // move s15 to result register
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/floatsidfvfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/floatsidfvfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/floatsidfvfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -16,9 +16,10 @@
 // Uses Darwin calling convention where a double precision result is 
 // return in GPR register pair.
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__floatsidfvfp)
-	fmsr	s15, r0		   // move int to float register s15
-	fsitod	d7, s15        // convert 32-bit int in s15 to double in d7
-	fmrrd	r0, r1, d7     // move d7 to result register pair r0/r1
+	vmov	s15, r0        // move int to float register s15
+	vcvt.f64.s32 d7, s15   // convert 32-bit int in s15 to double in d7
+	vmov	r0, r1, d7     // move d7 to result register pair r0/r1
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/floatsisfvfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/floatsisfvfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/floatsisfvfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -16,9 +16,10 @@
 // Uses Darwin calling convention where a single precision result is 
 // return in a GPR..
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__floatsisfvfp)
-	fmsr	s15, r0	     // move int to float register s15
-	fsitos	s15, s15     // convert 32-bit int in s15 to float in s15
-	fmrs	r0, s15      // move s15 to result register
+	vmov	s15, r0	       // move int to float register s15
+	vcvt.f32.s32 s15, s15  // convert 32-bit int in s15 to float in s15
+	vmov	r0, s15        // move s15 to result register
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/floatunssidfvfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/floatunssidfvfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/floatunssidfvfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -16,9 +16,10 @@
 // Uses Darwin calling convention where a double precision result is 
 // return in GPR register pair.
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__floatunssidfvfp)
-	fmsr	s15, r0		   // move int to float register s15
-	fuitod	d7, s15        // convert 32-bit int in s15 to double in d7
-	fmrrd	r0, r1, d7     // move d7 to result register pair r0/r1
+	vmov	s15, r0        // move int to float register s15
+	vcvt.f64.u32 d7, s15   // convert 32-bit int in s15 to double in d7
+	vmov	r0, r1, d7     // move d7 to result register pair r0/r1
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/floatunssisfvfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/floatunssisfvfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/floatunssisfvfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -16,9 +16,10 @@
 // Uses Darwin calling convention where a single precision result is 
 // return in a GPR..
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__floatunssisfvfp)
-	fmsr	s15, r0	     // move int to float register s15
-	fuitos 	s15, s15     // convert 32-bit int in s15 to float in s15
-	fmrs	r0, s15      // move s15 to result register
+	vmov	s15, r0	       // move int to float register s15
+	vcvt.f32.u32 s15, s15  // convert 32-bit int in s15 to float in s15
+	vmov	r0, s15        // move s15 to result register
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/gedf2vfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/gedf2vfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/gedf2vfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -16,12 +16,13 @@
 // Uses Darwin calling convention where double precision arguments are passsed 
 // like in GPR pairs.
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__gedf2vfp)
-	fmdrr	d6, r0, r1	// load r0/r1 pair in double register
-	fmdrr	d7, r2, r3	// load r2/r3 pair in double register
-	fcmpd	d6, d7		
-	fmstat
+	vmov 	d6, r0, r1	// load r0/r1 pair in double register
+	vmov 	d7, r2, r3	// load r2/r3 pair in double register
+	vcmp.f64 d6, d7
+	vmrs	apsr_nzcv, fpscr
 	movge	r0, #1      // set result register to 1 if greater than or equal
 	movlt	r0, #0
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/gesf2vfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/gesf2vfp.S	Sat Dec 31 14:54:30 2011	(r229108)
+++ vendor/compiler-rt/dist/lib/arm/gesf2vfp.S	Sat Dec 31 14:55:23 2011	(r229109)
@@ -16,12 +16,13 @@
 // Uses Darwin calling convention where single precision arguments are passsed 
 // like 32-bit ints
 //
+	.syntax unified
 	.align 2
 DEFINE_COMPILERRT_FUNCTION(__gesf2vfp)
-	fmsr	s14, r0	    // move from GPR 0 to float register
-	fmsr	s15, r1	    // move from GPR 1 to float register
-	fcmps	s14, s15
-	fmstat
+	vmov	s14, r0	    // move from GPR 0 to float register
+	vmov	s15, r1	    // move from GPR 1 to float register
+	vcmp.f32 s14, s15
+	vmrs	apsr_nzcv, fpscr
 	movge	r0, #1      // set result register to 1 if greater than or equal
 	movlt	r0, #0
 	bx	lr

Modified: vendor/compiler-rt/dist/lib/arm/gtdf2vfp.S
==============================================================================
--- vendor/compiler-rt/dist/lib/arm/gtdf2vfp.S	Sat Dec 31 14:54:30 2011	(r229108)

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



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