[compiler-rt] r193944 - Push back various changes for building Apple's compiler-rt dylib.
Eric Christopher
echristo at gmail.com
Mon Nov 4 11:50:02 PST 2013
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.
-eric
On Sun, Nov 3, 2013 at 12:06 AM, Bob Wilson <bob.wilson at apple.com> wrote:
> Author: bwilson
> Date: Sun Nov 3 01:06:29 2013
> New Revision: 193944
>
> URL: http://llvm.org/viewvc/llvm-project?rev=193944&view=rev
> Log:
> Push back various changes for building Apple's compiler-rt dylib.
>
> These changes had accumulated internally at Apple for no good reason.
>
> Modified:
> compiler-rt/trunk/lib/apple_versioning.c
> compiler-rt/trunk/make/AppleBI.mk
> compiler-rt/trunk/make/platform/darwin_bni.mk
>
> Modified: compiler-rt/trunk/lib/apple_versioning.c
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/apple_versioning.c?rev=193944&r1=193943&r2=193944&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/lib/apple_versioning.c (original)
> +++ compiler-rt/trunk/lib/apple_versioning.c Sun Nov 3 01:06:29 2013
> @@ -9,19 +9,20 @@
> */
>
>
> -
> #if __APPLE__
> - #if __arm__
> + #include <Availability.h>
> +
> + #if __IPHONE_OS_VERSION_MIN_REQUIRED
> #define NOT_HERE_BEFORE_10_6(sym)
> - #define NOT_HERE_IN_10_8_AND_EARLIER(sym)
> - #elif __ppc__
> - #define NOT_HERE_BEFORE_10_6(sym) \
> - extern const char sym##_tmp3 __asm("$ld$hide$os10.3$_" #sym ); \
> - __attribute__((visibility("default"))) const char sym##_tmp3
> = 0; \
> - extern const char sym##_tmp4 __asm("$ld$hide$os10.4$_" #sym ); \
> - __attribute__((visibility("default"))) const char sym##_tmp4
> = 0; \
> - extern const char sym##_tmp5 __asm("$ld$hide$os10.5$_" #sym ); \
> - __attribute__((visibility("default"))) const char sym##_tmp5
> = 0;
> + #define NOT_HERE_IN_10_8_AND_EARLIER(sym) \
> + extern const char sym##_tmp61 __asm("$ld$hide$os6.1$_" #sym ); \
> + __attribute__((visibility("default"))) const char sym##_tmp61
> = 0; \
> + extern const char sym##_tmp60 __asm("$ld$hide$os6.0$_" #sym ); \
> + __attribute__((visibility("default"))) const char sym##_tmp60
> = 0; \
> + extern const char sym##_tmp51 __asm("$ld$hide$os5.1$_" #sym ); \
> + __attribute__((visibility("default"))) const char sym##_tmp51
> = 0; \
> + extern const char sym##_tmp50 __asm("$ld$hide$os5.0$_" #sym ); \
> + __attribute__((visibility("default"))) const char sym##_tmp50
> = 0;
> #else
> #define NOT_HERE_BEFORE_10_6(sym) \
> extern const char sym##_tmp4 __asm("$ld$hide$os10.4$_" #sym ); \
> @@ -35,7 +36,7 @@
> __attribute__((visibility("default"))) const char sym##_tmp7
> = 0; \
> extern const char sym##_tmp6 __asm("$ld$hide$os10.6$_" #sym ); \
> __attribute__((visibility("default"))) const char sym##_tmp6
> = 0;
> - #endif /* __ppc__ */
> + #endif
>
>
> /* Symbols in libSystem.dylib in 10.6 and later,
>
> Modified: compiler-rt/trunk/make/AppleBI.mk
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/AppleBI.mk?rev=193944&r1=193943&r2=193944&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/make/AppleBI.mk (original)
> +++ compiler-rt/trunk/make/AppleBI.mk Sun Nov 3 01:06:29 2013
> @@ -12,10 +12,14 @@ else
> ProjObjRoot := $(ProjSrcRoot)
> endif
>
> -ifeq (,$(SDKROOT))
> +ifeq (,$(RC_PURPLE))
> INSTALL_TARGET = install-MacOSX
> else
> - INSTALL_TARGET = install-iOS
> + ifeq (,$(RC_INDIGO))
> + INSTALL_TARGET = install-iOS
> + else
> + INSTALL_TARGET = install-iOS-Simulator
> + endif
> endif
>
>
> @@ -61,9 +65,9 @@ $(OBJROOT)/libcompiler_rt-%.dylib : $(OB
> -Wl,-upward-lunwind \
> -Wl,-upward-lsystem_m \
> -Wl,-upward-lsystem_c \
> + -Wl,-upward-lsystem_kernel \
> -Wl,-upward-lsystem_platform \
> -Wl,-ldyld \
> - -Wl,-lsystem_kernel \
> -L$(SDKROOT)/usr/lib/system \
> $(DYLIB_FLAGS) -Wl,-force_load,$^ -o $@
>
> @@ -88,7 +92,6 @@ install-iOS: $(SYMROOT)/libcompiler_rt-s
> $(call GetCNAVar,STRIP,Platform.darwin_bni,Release,) -S
> $(SYMROOT)/libcompiler_rt.dylib \
> -o $(DSTROOT)/usr/lib/system/libcompiler_rt.dylib
>
> -
> # Rule to make fat archive
> $(SYMROOT)/libcompiler_rt-static.a : $(foreach arch,$(RC_ARCHS), \
>
> $(OBJROOT)/darwin_bni/Static/$(arch)/libcompiler_rt.a)
> @@ -109,3 +112,38 @@ $(SYMROOT)/libcompiler_rt-dyld.a : $(for
> $(OBJROOT)/libcompiler_rt-dyld-$(arch).a)
> $(call GetCNAVar,LIPO,Platform.darwin_bni,Release,) -create $^ -o
> $@
>
> +
> +
> +# Copy results to DSTROOT.
> +install-iOS-Simulator: $(SYMROOT)/libcompiler_rt_sim.dylib \
> + $(SYMROOT)/libcompiler_rt-dyld.a
> + mkdir -p $(DSTROOT)/$(SDKROOT)/usr/lib/system
> + $(call GetCNAVar,STRIP,Platform.darwin_bni,Release,) -S
> $(SYMROOT)/libcompiler_rt_sim.dylib \
> + -o
> $(DSTROOT)/$(SDKROOT)/usr/lib/system/libcompiler_rt_sim.dylib
> + mkdir -p $(DSTROOT)/$(SDKROOT)/usr/local/lib/dyld
> + cp $(SYMROOT)/libcompiler_rt-dyld.a \
> +
> $(DSTROOT)/$(SDKROOT)/usr/local/lib/dyld/libcompiler_rt.a
> +
> +# Rule to make fat dylib
> +$(SYMROOT)/libcompiler_rt_sim.dylib: $(foreach arch,$(RC_ARCHS), \
> +
> $(OBJROOT)/libcompiler_rt_sim-$(arch).dylib)
> + $(call GetCNAVar,LIPO,Platform.darwin_bni,Release,) -create $^ -o
> $@
> + $(call GetCNAVar,DSYMUTIL,Platform.darwin_bni,Release,) $@
> +
> +# Rule to make each dylib slice
> +$(OBJROOT)/libcompiler_rt_sim-%.dylib :
> $(OBJROOT)/darwin_bni/Release/%/libcompiler_rt.a
> + echo "const char vers[] = \"@(#)
> $(RC_ProjectName)-$(RC_ProjectSourceVersion)\"; " > $(OBJROOT)/version.c
> + $(call GetCNAVar,CC,Platform.darwin_bni,Release,$*) \
> + $(OBJROOT)/version.c -arch $* -dynamiclib \
> + -install_name /usr/lib/system/libcompiler_rt_sim.dylib \
> + -compatibility_version 1 -current_version
> $(RC_ProjectSourceVersion) \
> + -Wl,-unexported_symbol,___enable_execute_stack \
> + -nostdlib \
> + -Wl,-upward-lunwind_sim \
> + -Wl,-upward-lsystem_sim_m \
> + -Wl,-upward-lsystem_sim_c \
> + -ldyld_sim \
> + -Wl,-upward-lSystem \
> + -umbrella System -Wl,-no_implicit_dylibs
> -L$(SDKROOT)/usr/lib/system -dead_strip \
> + $(DYLIB_FLAGS) -Wl,-force_load,$^ -o $@
> +
>
> Modified: compiler-rt/trunk/make/platform/darwin_bni.mk
> URL:
> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/platform/darwin_bni.mk?rev=193944&r1=193943&r2=193944&view=diff
>
> ==============================================================================
> --- compiler-rt/trunk/make/platform/darwin_bni.mk (original)
> +++ compiler-rt/trunk/make/platform/darwin_bni.mk Sun Nov 3 01:06:29 2013
> @@ -9,12 +9,12 @@ Configs := Debug Release Profile Static
> UniversalArchs := $(RC_ARCHS)
>
> ifneq (,$(SDKROOT))
> - override CC := $(shell xcrun -sdk $(SDKROOT) -find clang)
> - AR := $(shell xcrun -sdk $(SDKROOT) -find ar)
> - RANLIB := $(shell xcrun -sdk $(SDKROOT) -find ranlib)
> - STRIP := $(shell xcrun -sdk $(SDKROOT) -find strip)
> - LIPO := $(shell xcrun -sdk $(SDKROOT) -find lipo)
> - DSYMUTIL := $(shell xcrun -sdk $(SDKROOT) -find dsymutil)
> + override CC := $(shell xcrun -sdk $(SDKROOT) -find clang || echo
> "false")
> + AR := $(shell xcrun -sdk $(SDKROOT) -find ar || echo "false")
> + RANLIB := $(shell xcrun -sdk $(SDKROOT) -find ranlib || echo
> "false")
> + STRIP := $(shell xcrun -sdk $(SDKROOT) -find strip || echo "false")
> + LIPO := $(shell xcrun -sdk $(SDKROOT) -find lipo || echo "false")
> + DSYMUTIL := $(shell xcrun -sdk $(SDKROOT) -find dsymutil || echo
> "false")
> endif
>
> ifneq ($(IPHONEOS_DEPLOYMENT_TARGET),)
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131104/67f06874/attachment.html>
More information about the llvm-commits
mailing list