<div dir="ltr">Removing ppc support? No complaints here, but David Fang may care since he's been doing a lot of work to keep it going on his machine.<div><br></div><div>-eric</div></div><div class="gmail_extra"><br><br>
<div class="gmail_quote">On Sun, Nov 3, 2013 at 12:06 AM, Bob Wilson <span dir="ltr"><<a href="mailto:bob.wilson@apple.com" target="_blank">bob.wilson@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Author: bwilson<br>
Date: Sun Nov 3 01:06:29 2013<br>
New Revision: 193944<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=193944&view=rev" target="_blank">http://llvm.org/viewvc/llvm-project?rev=193944&view=rev</a><br>
Log:<br>
Push back various changes for building Apple's compiler-rt dylib.<br>
<br>
These changes had accumulated internally at Apple for no good reason.<br>
<br>
Modified:<br>
compiler-rt/trunk/lib/apple_versioning.c<br>
compiler-rt/trunk/make/AppleBI.mk<br>
compiler-rt/trunk/make/platform/<a href="http://darwin_bni.mk" target="_blank">darwin_bni.mk</a><br>
<br>
Modified: compiler-rt/trunk/lib/apple_versioning.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/apple_versioning.c?rev=193944&r1=193943&r2=193944&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/apple_versioning.c?rev=193944&r1=193943&r2=193944&view=diff</a><br>
==============================================================================<br>
--- compiler-rt/trunk/lib/apple_versioning.c (original)<br>
+++ compiler-rt/trunk/lib/apple_versioning.c Sun Nov 3 01:06:29 2013<br>
@@ -9,19 +9,20 @@<br>
*/<br>
<br>
<br>
-<br>
#if __APPLE__<br>
- #if __arm__<br>
+ #include <Availability.h><br>
+<br>
+ #if __IPHONE_OS_VERSION_MIN_REQUIRED<br>
#define NOT_HERE_BEFORE_10_6(sym)<br>
- #define NOT_HERE_IN_10_8_AND_EARLIER(sym)<br>
- #elif __ppc__<br>
- #define NOT_HERE_BEFORE_10_6(sym) \<br>
- extern const char sym##_tmp3 __asm("$ld$hide$os10.3$_" #sym ); \<br>
- __attribute__((visibility("default"))) const char sym##_tmp3 = 0; \<br>
- extern const char sym##_tmp4 __asm("$ld$hide$os10.4$_" #sym ); \<br>
- __attribute__((visibility("default"))) const char sym##_tmp4 = 0; \<br>
- extern const char sym##_tmp5 __asm("$ld$hide$os10.5$_" #sym ); \<br>
- __attribute__((visibility("default"))) const char sym##_tmp5 = 0;<br>
+ #define NOT_HERE_IN_10_8_AND_EARLIER(sym) \<br>
+ extern const char sym##_tmp61 __asm("$ld$hide$os6.1$_" #sym ); \<br>
+ __attribute__((visibility("default"))) const char sym##_tmp61 = 0; \<br>
+ extern const char sym##_tmp60 __asm("$ld$hide$os6.0$_" #sym ); \<br>
+ __attribute__((visibility("default"))) const char sym##_tmp60 = 0; \<br>
+ extern const char sym##_tmp51 __asm("$ld$hide$os5.1$_" #sym ); \<br>
+ __attribute__((visibility("default"))) const char sym##_tmp51 = 0; \<br>
+ extern const char sym##_tmp50 __asm("$ld$hide$os5.0$_" #sym ); \<br>
+ __attribute__((visibility("default"))) const char sym##_tmp50 = 0;<br>
#else<br>
#define NOT_HERE_BEFORE_10_6(sym) \<br>
extern const char sym##_tmp4 __asm("$ld$hide$os10.4$_" #sym ); \<br>
@@ -35,7 +36,7 @@<br>
__attribute__((visibility("default"))) const char sym##_tmp7 = 0; \<br>
extern const char sym##_tmp6 __asm("$ld$hide$os10.6$_" #sym ); \<br>
__attribute__((visibility("default"))) const char sym##_tmp6 = 0;<br>
- #endif /* __ppc__ */<br>
+ #endif<br>
<br>
<br>
/* Symbols in libSystem.dylib in 10.6 and later,<br>
<br>
Modified: compiler-rt/trunk/make/AppleBI.mk<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/AppleBI.mk?rev=193944&r1=193943&r2=193944&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/AppleBI.mk?rev=193944&r1=193943&r2=193944&view=diff</a><br>
==============================================================================<br>
--- compiler-rt/trunk/make/AppleBI.mk (original)<br>
+++ compiler-rt/trunk/make/AppleBI.mk Sun Nov 3 01:06:29 2013<br>
@@ -12,10 +12,14 @@ else<br>
ProjObjRoot := $(ProjSrcRoot)<br>
endif<br>
<br>
-ifeq (,$(SDKROOT))<br>
+ifeq (,$(RC_PURPLE))<br>
INSTALL_TARGET = install-MacOSX<br>
else<br>
- INSTALL_TARGET = install-iOS<br>
+ ifeq (,$(RC_INDIGO))<br>
+ INSTALL_TARGET = install-iOS<br>
+ else<br>
+ INSTALL_TARGET = install-iOS-Simulator<br>
+ endif<br>
endif<br>
<br>
<br>
@@ -61,9 +65,9 @@ $(OBJROOT)/libcompiler_rt-%.dylib : $(OB<br>
-Wl,-upward-lunwind \<br>
-Wl,-upward-lsystem_m \<br>
-Wl,-upward-lsystem_c \<br>
+ -Wl,-upward-lsystem_kernel \<br>
-Wl,-upward-lsystem_platform \<br>
-Wl,-ldyld \<br>
- -Wl,-lsystem_kernel \<br>
-L$(SDKROOT)/usr/lib/system \<br>
$(DYLIB_FLAGS) -Wl,-force_load,$^ -o $@<br>
<br>
@@ -88,7 +92,6 @@ install-iOS: $(SYMROOT)/libcompiler_rt-s<br>
$(call GetCNAVar,STRIP,Platform.darwin_bni,Release,) -S $(SYMROOT)/libcompiler_rt.dylib \<br>
-o $(DSTROOT)/usr/lib/system/libcompiler_rt.dylib<br>
<br>
-<br>
# Rule to make fat archive<br>
$(SYMROOT)/libcompiler_rt-static.a : $(foreach arch,$(RC_ARCHS), \<br>
$(OBJROOT)/darwin_bni/Static/$(arch)/libcompiler_rt.a)<br>
@@ -109,3 +112,38 @@ $(SYMROOT)/libcompiler_rt-dyld.a : $(for<br>
$(OBJROOT)/libcompiler_rt-dyld-$(arch).a)<br>
$(call GetCNAVar,LIPO,Platform.darwin_bni,Release,) -create $^ -o $@<br>
<br>
+<br>
+<br>
+# Copy results to DSTROOT.<br>
+install-iOS-Simulator: $(SYMROOT)/libcompiler_rt_sim.dylib \<br>
+ $(SYMROOT)/libcompiler_rt-dyld.a<br>
+ mkdir -p $(DSTROOT)/$(SDKROOT)/usr/lib/system<br>
+ $(call GetCNAVar,STRIP,Platform.darwin_bni,Release,) -S $(SYMROOT)/libcompiler_rt_sim.dylib \<br>
+ -o $(DSTROOT)/$(SDKROOT)/usr/lib/system/libcompiler_rt_sim.dylib<br>
+ mkdir -p $(DSTROOT)/$(SDKROOT)/usr/local/lib/dyld<br>
+ cp $(SYMROOT)/libcompiler_rt-dyld.a \<br>
+ $(DSTROOT)/$(SDKROOT)/usr/local/lib/dyld/libcompiler_rt.a<br>
+<br>
+# Rule to make fat dylib<br>
+$(SYMROOT)/libcompiler_rt_sim.dylib: $(foreach arch,$(RC_ARCHS), \<br>
+ $(OBJROOT)/libcompiler_rt_sim-$(arch).dylib)<br>
+ $(call GetCNAVar,LIPO,Platform.darwin_bni,Release,) -create $^ -o $@<br>
+ $(call GetCNAVar,DSYMUTIL,Platform.darwin_bni,Release,) $@<br>
+<br>
+# Rule to make each dylib slice<br>
+$(OBJROOT)/libcompiler_rt_sim-%.dylib : $(OBJROOT)/darwin_bni/Release/%/libcompiler_rt.a<br>
+ echo "const char vers[] = \"@(#) $(RC_ProjectName)-$(RC_ProjectSourceVersion)\"; " > $(OBJROOT)/version.c<br>
+ $(call GetCNAVar,CC,Platform.darwin_bni,Release,$*) \<br>
+ $(OBJROOT)/version.c -arch $* -dynamiclib \<br>
+ -install_name /usr/lib/system/libcompiler_rt_sim.dylib \<br>
+ -compatibility_version 1 -current_version $(RC_ProjectSourceVersion) \<br>
+ -Wl,-unexported_symbol,___enable_execute_stack \<br>
+ -nostdlib \<br>
+ -Wl,-upward-lunwind_sim \<br>
+ -Wl,-upward-lsystem_sim_m \<br>
+ -Wl,-upward-lsystem_sim_c \<br>
+ -ldyld_sim \<br>
+ -Wl,-upward-lSystem \<br>
+ -umbrella System -Wl,-no_implicit_dylibs -L$(SDKROOT)/usr/lib/system -dead_strip \<br>
+ $(DYLIB_FLAGS) -Wl,-force_load,$^ -o $@<br>
+<br>
<br>
Modified: compiler-rt/trunk/make/platform/<a href="http://darwin_bni.mk" target="_blank">darwin_bni.mk</a><br>
URL: <a href="http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/platform/darwin_bni.mk?rev=193944&r1=193943&r2=193944&view=diff" target="_blank">http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/platform/darwin_bni.mk?rev=193944&r1=193943&r2=193944&view=diff</a><br>
==============================================================================<br>
--- compiler-rt/trunk/make/platform/<a href="http://darwin_bni.mk" target="_blank">darwin_bni.mk</a> (original)<br>
+++ compiler-rt/trunk/make/platform/<a href="http://darwin_bni.mk" target="_blank">darwin_bni.mk</a> Sun Nov 3 01:06:29 2013<br>
@@ -9,12 +9,12 @@ Configs := Debug Release Profile Static<br>
UniversalArchs := $(RC_ARCHS)<br>
<br>
ifneq (,$(SDKROOT))<br>
- override CC := $(shell xcrun -sdk $(SDKROOT) -find clang)<br>
- AR := $(shell xcrun -sdk $(SDKROOT) -find ar)<br>
- RANLIB := $(shell xcrun -sdk $(SDKROOT) -find ranlib)<br>
- STRIP := $(shell xcrun -sdk $(SDKROOT) -find strip)<br>
- LIPO := $(shell xcrun -sdk $(SDKROOT) -find lipo)<br>
- DSYMUTIL := $(shell xcrun -sdk $(SDKROOT) -find dsymutil)<br>
+ override CC := $(shell xcrun -sdk $(SDKROOT) -find clang || echo "false")<br>
+ AR := $(shell xcrun -sdk $(SDKROOT) -find ar || echo "false")<br>
+ RANLIB := $(shell xcrun -sdk $(SDKROOT) -find ranlib || echo "false")<br>
+ STRIP := $(shell xcrun -sdk $(SDKROOT) -find strip || echo "false")<br>
+ LIPO := $(shell xcrun -sdk $(SDKROOT) -find lipo || echo "false")<br>
+ DSYMUTIL := $(shell xcrun -sdk $(SDKROOT) -find dsymutil || echo "false")<br>
endif<br>
<br>
ifneq ($(IPHONEOS_DEPLOYMENT_TARGET),)<br>
<br>
<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>