From owner-svn-src-all@FreeBSD.ORG Sat Dec 31 14:55:24 2011 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EFF491065673; Sat, 31 Dec 2011 14:55:24 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D64528FC0A; Sat, 31 Dec 2011 14:55:24 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id pBVEtORL069405; Sat, 31 Dec 2011 14:55:24 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id pBVEtOkJ069353; Sat, 31 Dec 2011 14:55:24 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <201112311455.pBVEtOkJ069353@svn.freebsd.org> From: Ed Schouten Date: Sat, 31 Dec 2011 14:55:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: 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/... X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 31 Dec 2011 14:55:25 -0000 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 /* 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 /* 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 /* 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 /* 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 /* 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 /* 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 ***