mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-11-25 23:00:15 +00:00
Push back various changes for building Apple's compiler-rt dylib.
These changes had accumulated internally at Apple for no good reason. llvm-svn: 193944
This commit is contained in:
parent
d8d92d90fa
commit
64b4abd07b
@ -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,
|
||||
|
@ -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 : $(OBJROOT)/darwin_bni/Release/%/libcompiler_
|
||||
-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-static.a \
|
||||
$(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 : $(foreach arch,$(RC_ARCHS), \
|
||||
$(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 $@
|
||||
|
||||
|
@ -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),)
|
||||
|
Loading…
Reference in New Issue
Block a user