forked from OSchip/llvm-project
parent
78d1210f38
commit
64579da1a7
|
@ -133,10 +133,12 @@ $(call Set,Tmp.Config,$(1))
|
|||
$(call Set,Tmp.ObjPath,$(ProjObjRoot)/$(Tmp.Name)/$(Tmp.Config))
|
||||
$(call Set,Tmp.SHARED_LIBRARY,$(strip \
|
||||
$(call GetCNAVar,SHARED_LIBRARY,$(Tmp.Key),$(Tmp.Config),$(Tmp.Arch))))
|
||||
$(call Set,Tmp.SHARED_LIBRARY_SUFFIX,$(strip \
|
||||
$(call GetCNAVar,SHARED_LIBRARY_SUFFIX,$(Tmp.Key),$(Tmp.Config),$(Tmp.Arch))))
|
||||
|
||||
# Compute the library suffix.
|
||||
$(if $(call streq,1,$(Tmp.SHARED_LIBRARY)),
|
||||
$(call Set,Tmp.LibrarySuffix,dylib),
|
||||
$(call Set,Tmp.LibrarySuffix,$(Tmp.SHARED_LIBRARY_SUFFIX)),
|
||||
$(call Set,Tmp.LibrarySuffix,a))
|
||||
|
||||
# Compute the archs to build, depending on whether this is a universal build or
|
||||
|
@ -192,7 +194,7 @@ $(call Set,Tmp.SHARED_LIBRARY,$(strip \
|
|||
|
||||
# Compute the library suffix.
|
||||
$(if $(call streq,1,$(Tmp.SHARED_LIBRARY)),
|
||||
$(call Set,Tmp.LibrarySuffix,dylib),
|
||||
$(call Set,Tmp.LibrarySuffix,$(Tmp.SHARED_LIBRARY_SUFFIX)),
|
||||
$(call Set,Tmp.LibrarySuffix,a))
|
||||
|
||||
# Compute the object inputs for this library.
|
||||
|
@ -210,6 +212,10 @@ $(Tmp.ObjPath)/libcompiler_rt.dylib: $(Tmp.Inputs) $(Tmp.ObjPath)/.dir
|
|||
$(Summary) " DYLIB: $(Tmp.Name)/$(Tmp.Config)/$(Tmp.Arch): $$@"
|
||||
$(Verb) $(Tmp.CC) -arch $(Tmp.Arch) -dynamiclib -o $$@ \
|
||||
$(Tmp.Inputs) $(Tmp.LDFLAGS)
|
||||
$(Tmp.ObjPath)/libcompiler_rt.so: $(Tmp.Inputs) $(Tmp.ObjPath)/.dir
|
||||
$(Summary) " SO: $(Tmp.Name)/$(Tmp.Config)/$(Tmp.Arch): $$@"
|
||||
$(Verb) $(Tmp.CC) -shared -o $$@ \
|
||||
$(Tmp.Inputs) $(Tmp.LDFLAGS)
|
||||
.PRECIOUS: $(Tmp.ObjPath)/.dir
|
||||
|
||||
# Per-Config-Arch Targets
|
||||
|
|
|
@ -56,4 +56,4 @@ AvailableOptions := AR ARFLAGS \
|
|||
CC CFLAGS LDFLAGS FUNCTIONS OPTIMIZED \
|
||||
RANLIB RANLIBFLAGS \
|
||||
VISIBILITY_HIDDEN KERNEL_USE \
|
||||
SHARED_LIBRARY STRIP LIPO
|
||||
SHARED_LIBRARY SHARED_LIBRARY_SUFFIX STRIP LIPO
|
||||
|
|
|
@ -43,3 +43,5 @@ RANLIBFLAGS := 2> /dev/null
|
|||
|
||||
STRIP := strip
|
||||
LIPO := lipo
|
||||
|
||||
SHARED_LIBRARY_SUFFIX := so
|
||||
|
|
|
@ -435,3 +435,5 @@ KERNEL_USE.cc_kext := 1
|
|||
KERNEL_USE.cc_kext_ios5 := 1
|
||||
|
||||
VISIBILITY_HIDDEN := 1
|
||||
|
||||
SHARED_LIBRARY_SUFFIX := dylib
|
||||
|
|
|
@ -66,6 +66,11 @@ Arch.asan-x86_64 := x86_64
|
|||
Arch.tsan-x86_64 := x86_64
|
||||
endif
|
||||
|
||||
ifneq ($(LLVM_ANDROID_TOOLCHAIN_DIR),)
|
||||
Configs += asan-arm-android
|
||||
Arch.asan-arm-android := arm-android
|
||||
endif
|
||||
|
||||
endif
|
||||
endif
|
||||
|
||||
|
@ -81,6 +86,14 @@ CFLAGS.asan-i386 := $(CFLAGS) -m32 -fPIE -fno-builtin
|
|||
CFLAGS.asan-x86_64 := $(CFLAGS) -m64 -fPIE -fno-builtin
|
||||
CFLAGS.tsan-x86_64 := $(CFLAGS) -m64 -fPIE -fno-builtin
|
||||
|
||||
SHARED_LIBRARY.asan-arm-android := 1
|
||||
ANDROID_COMMON_FLAGS := -target arm-linux-androideabi \
|
||||
--sysroot=$(LLVM_ANDROID_TOOLCHAIN_DIR)/sysroot \
|
||||
-B$(LLVM_ANDROID_TOOLCHAIN_DIR)
|
||||
CFLAGS.asan-arm-android := $(CFLAGS) -fPIC -fno-builtin \
|
||||
$(ANDROID_COMMON_FLAGS) -mllvm -arm-enable-ehabi
|
||||
LDFLAGS.asan-arm-android := $(LDFLAGS) $(ANDROID_COMMON_FLAGS) -ldl
|
||||
|
||||
# Use our stub SDK as the sysroot to support more portable building. For now we
|
||||
# just do this for the non-ASAN modules, because the stub SDK doesn't have
|
||||
# enough support to build ASAN.
|
||||
|
@ -97,6 +110,8 @@ FUNCTIONS.asan-i386 := $(AsanFunctions) $(InterceptionFunctions) \
|
|||
$(SanitizerCommonFunctions)
|
||||
FUNCTIONS.asan-x86_64 := $(AsanFunctions) $(InterceptionFunctions) \
|
||||
$(SanitizerCommonFunctions)
|
||||
FUNCTIONS.asan-arm-android := $(AsanFunctions) $(InterceptionFunctions) \
|
||||
$(SanitizerCommonFunctions)
|
||||
FUNCTIONS.tsan-x86_64 := $(TsanFunctions) $(InterceptionFunctions) \
|
||||
$(SanitizerCommonFunctions)
|
||||
|
||||
|
@ -105,3 +120,5 @@ OPTIMIZED := 1
|
|||
|
||||
# We don't need to use visibility hidden on Linux.
|
||||
VISIBILITY_HIDDEN := 0
|
||||
|
||||
SHARED_LIBRARY_SUFFIX := so
|
||||
|
|
Loading…
Reference in New Issue