summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Kledzik <kledzik@apple.com>2011-03-05 02:15:16 +0000
committerNick Kledzik <kledzik@apple.com>2011-03-05 02:15:16 +0000
commit3d40740383d6b80ab071b0f645b80f533c9bd55d (patch)
tree87a51e731fed2faf810e30a988aa136bec808567
parente512f7ffd8b7e6636b4a5cb66b2968b2c3608ff5 (diff)
downloadcompiler-rt-3d40740383d6b80ab071b0f645b80f533c9bd55d.tar.gz
<rdar://problem/9091300> update Apple packaging of compiler-rt
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@127057 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/arm/softfloat-alias.list21
-rw-r--r--make/AppleBI.mk26
2 files changed, 35 insertions, 12 deletions
diff --git a/lib/arm/softfloat-alias.list b/lib/arm/softfloat-alias.list
new file mode 100644
index 000000000..cc6a4b3cd
--- /dev/null
+++ b/lib/arm/softfloat-alias.list
@@ -0,0 +1,21 @@
+#
+# These are soft float functions which can be
+# aliased to the *vfp functions on arm processors
+# that support floating point instructions.
+#
+___adddf3vfp ___adddf3
+___addsf3vfp ___addsf3
+___divdf3vfp ___divdf3
+___divsf3vfp ___divsf3
+___extendsfdf2vfp ___extendsfdf2
+___fixdfsivfp ___fixdfsi
+___fixsfsivfp ___fixsfsi
+___floatsidfvfp ___floatsidf
+___floatsisfvfp ___floatsisf
+___muldf3vfp ___muldf3
+___mulsf3vfp ___mulsf3
+___subdf3vfp ___subdf3
+___subsf3vfp ___subsf3
+___truncdfsf2vfp ___truncdfsf2
+___floatunssidfvfp ___floatunsidf
+___floatunssisfvfp ___floatunsisf
diff --git a/make/AppleBI.mk b/make/AppleBI.mk
index 8cbce5fba..8100a510a 100644
--- a/make/AppleBI.mk
+++ b/make/AppleBI.mk
@@ -14,8 +14,14 @@ endif
ifeq (,$(SDKROOT))
INSTALL_TARGET = install-MacOSX
+ LD_OTHER_FLAGS =
else
INSTALL_TARGET = install-iOS
+ CFLAGS.Release.armv6 := $(CFLAGS) -isysroot $(SDKROOT)
+ CFLAGS.Release.armv7 := $(CFLAGS) -isysroot $(SDKROOT)
+ CFLAGS.Static.armv6 := $(CFLAGS) -isysroot $(SDKROOT)
+ CFLAGS.Static.armv7 := $(CFLAGS) -isysroot $(SDKROOT)
+ LD_OTHER_FLAGS = -Wl,-alias_list,$(SRCROOT)/lib/arm/softfloat-alias.list
endif
@@ -48,11 +54,11 @@ install-MacOSX : $(SYMROOT)/libcompiler_rt.dylib
# Rule to make each dylib slice
$(OBJROOT)/libcompiler_rt-%.dylib : $(OBJROOT)/darwin_bni/Release/%/libcompiler_rt.a
echo "const char vers[] = \"@(#) $(RC_ProjectName)-$(RC_ProjectSourceVersion)\"; " > $(OBJROOT)/version.c
- cc $(OBJROOT)/version.c -arch $* -dynamiclib \
+ $(CC.Release) $(OBJROOT)/version.c -arch $* -dynamiclib \
-install_name /usr/lib/system/libcompiler_rt.dylib \
-compatibility_version 1 -current_version $(RC_ProjectSourceVersion) \
-nodefaultlibs -lSystem -umbrella System -dead_strip \
- -Wl,-force_load,$^ -o $@
+ $(LD_OTHER_FLAGS) -Wl,-force_load,$^ -o $@
# Rule to make fat dylib
$(SYMROOT)/libcompiler_rt.dylib: $(foreach arch,$(RC_ARCHS), \
@@ -63,19 +69,15 @@ $(SYMROOT)/libcompiler_rt.dylib: $(foreach arch,$(RC_ARCHS), \
# Copy results to DSTROOT.
-install-iOS: $(SYMROOT)/libcompiler_rt.a $(SYMROOT)/libcompiler_rt-static.a
- mkdir -p $(DSTROOT)/usr/local/lib/libgcc
- cp $(SYMROOT)/libcompiler_rt.a \
- $(DSTROOT)/usr/local/lib/libgcc/libcompiler_rt.a
- mkdir -p $(DSTROOT)/usr/local/
+install-iOS: $(SYMROOT)/libcompiler_rt-static.a \
+ $(SYMROOT)/libcompiler_rt.dylib
+ mkdir -p $(DSTROOT)/usr/local/lib
cp $(SYMROOT)/libcompiler_rt-static.a \
$(DSTROOT)/usr/local/lib/libcompiler_rt-static.a
+ mkdir -p $(DSTROOT)/usr/lib/system
+ strip -S $(SYMROOT)/libcompiler_rt.dylib \
+ -o $(DSTROOT)/usr/lib/system/libcompiler_rt.dylib
-
-# Rule to make fat archive
-$(SYMROOT)/libcompiler_rt.a : $(foreach arch,$(RC_ARCHS), \
- $(OBJROOT)/darwin_bni/Release/$(arch)/libcompiler_rt.a)
- lipo -create $^ -o $@
# Rule to make fat archive
$(SYMROOT)/libcompiler_rt-static.a : $(foreach arch,$(RC_ARCHS), \