diff options
Diffstat (limited to 'make')
| -rw-r--r-- | make/AppleBI.mk | 26 | ||||
| -rw-r--r-- | make/platform/clang_darwin.mk | 12 | ||||
| -rw-r--r-- | make/platform/darwin_bni.mk | 9 |
3 files changed, 24 insertions, 23 deletions
diff --git a/make/AppleBI.mk b/make/AppleBI.mk index 8cbce5fbaf56d..184c16ad84e90 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) -Wall -Os -fomit-frame-pointer -g -isysroot $(SDKROOT) + CFLAGS.Release.armv7 := $(CFLAGS) -Wall -Os -fomit-frame-pointer -g -isysroot $(SDKROOT) + CFLAGS.Static.armv6 := $(CFLAGS) -Wall -Os -fomit-frame-pointer -g -isysroot $(SDKROOT) + CFLAGS.Static.armv7 := $(CFLAGS) -Wall -Os -fomit-frame-pointer -g -isysroot $(SDKROOT) + LD_OTHER_FLAGS = -Wl,-alias_list,$(SRCROOT)/lib/arm/softfloat-alias.list -isysroot $(SDKROOT) 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), \ diff --git a/make/platform/clang_darwin.mk b/make/platform/clang_darwin.mk index 23cd3a42f86aa..a29793991ebb2 100644 --- a/make/platform/clang_darwin.mk +++ b/make/platform/clang_darwin.mk @@ -28,11 +28,7 @@ UniversalArchs.armv6 := armv6 # Configuration for use with kernel/kexts. Configs += cc_kext -UniversalArchs.cc_kext := armv6 i386 x86_64 - -# FIXME: Don't build an armv7 slice currently, they have the same functions. -# -#UniversalArchs.cc_kext := armv6 armv7 i386 x86_64 +UniversalArchs.cc_kext := armv6 armv7 i386 x86_64 ### @@ -58,7 +54,6 @@ CCKEXT_COMMON_FUNCTIONS := \ ashrdi3 \ bswapdi2 \ bswapsi2 \ - clear_cache \ clzdi2 \ clzsi2 \ cmpdi2 \ @@ -105,7 +100,7 @@ CCKEXT_COMMON_FUNCTIONS := \ udivmoddi4 \ umoddi3 -CCKEXT_ARM_FUNCTIONS := $(CCKEXT_COMMON_FUNCTONS) \ +CCKEXT_ARM_FUNCTIONS := $(CCKEXT_COMMON_FUNCTIONS) \ adddf3 \ addsf3 \ aeabi_cdcmpeq \ @@ -164,6 +159,9 @@ CCKEXT_ARM_FUNCTIONS := $(CCKEXT_COMMON_FUNCTONS) \ FUNCTIONS.cc_kext.armv6 := $(CCKEXT_ARM_FUNCTIONS) FUNCTIONS.cc_kext.armv7 := $(CCKEXT_ARM_FUNCTIONS) +CFLAGS.cc_kext.armv6 := $(CFLAGS) -mthumb +CFLAGS.cc_kext.armv7 := $(CFLAGS) -mthumb + CCKEXT_X86_FUNCTIONS := $(CCKEXT_COMMON_FUNCTIONS) \ divxc3 \ fixunsxfdi \ diff --git a/make/platform/darwin_bni.mk b/make/platform/darwin_bni.mk index ec859f3b5d6e0..f15334f31943d 100644 --- a/make/platform/darwin_bni.mk +++ b/make/platform/darwin_bni.mk @@ -61,10 +61,10 @@ FUNCTIONS.armv5 := $(FUNCTIONS) \ muldf3 mulsf3 \ negdf2 negsf2 \ truncdfsf2 \ - modsi3 umodsi3 udivsi3 divsi3 \ + modsi3 umodsi3 udivsi3 divsi3 udivmodsi4 divmodsi4 \ switch8 switchu8 switch16 switch32 \ sync_synchronize - + FUNCTIONS.armv6 := $(FUNCTIONS) \ comparedf2 comparesf2 \ adddf3vfp addsf3vfp bswapdi2 bswapsi2 divdf3vfp \ @@ -76,10 +76,11 @@ FUNCTIONS.armv6 := $(FUNCTIONS) \ muldf3vfp mulsf3vfp \ nedf2vfp nesf2vfp \ subdf3vfp subsf3vfp truncdfsf2vfp unorddf2vfp unordsf2vfp \ - modsi3 umodsi3 udivsi3 divsi3 \ + modsi3 umodsi3 udivsi3 divsi3 udivmodsi4 divmodsi4 \ switch8 switchu8 switch16 switch32 \ restore_vfp_d8_d15_regs save_vfp_d8_d15_regs \ sync_synchronize + FUNCTIONS.armv7 := $(FUNCTIONS) \ comparedf2 comparesf2 \ adddf3vfp addsf3vfp bswapdi2 bswapsi2 divdf3vfp \ @@ -91,5 +92,5 @@ FUNCTIONS.armv7 := $(FUNCTIONS) \ muldf3vfp mulsf3vfp \ nedf2vfp nesf2vfp \ subdf3vfp subsf3vfp truncdfsf2vfp unorddf2vfp unordsf2vfp \ - modsi3 umodsi3 udivsi3 divsi3 + modsi3 umodsi3 udivsi3 divsi3 udivmodsi4 divmodsi4 |
