[llvm-commits] [compiler-rt] r99632 - /compiler-rt/trunk/make/platform/clang_darwin.mk
Daniel Dunbar
daniel at zuster.org
Fri Mar 26 11:52:46 PDT 2010
Author: ddunbar
Date: Fri Mar 26 13:52:45 2010
New Revision: 99632
URL: http://llvm.org/viewvc/llvm-project?rev=99632&view=rev
Log:
Clang/Darwin: Add definition for files to put in cc_kext.a.
Modified:
compiler-rt/trunk/make/platform/clang_darwin.mk
Modified: compiler-rt/trunk/make/platform/clang_darwin.mk
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/make/platform/clang_darwin.mk?rev=99632&r1=99631&r2=99632&view=diff
==============================================================================
--- compiler-rt/trunk/make/platform/clang_darwin.mk (original)
+++ compiler-rt/trunk/make/platform/clang_darwin.mk Fri Mar 26 13:52:45 2010
@@ -20,6 +20,12 @@
Configs += armv6
UniversalArchs.armv6 := armv6
+# Configuration for use with kernel/kexts.
+Configs += cc_kext
+UniversalArchs.cc_kext := armv6 armv7 i386 x86_64
+
+###
+
CC := gcc
# Forcibly strip off any -arch, as that totally breaks our universal support.
@@ -32,4 +38,204 @@
FUNCTIONS.armv6 := switch16 switch32 switch8 switchu8 \
save_vfp_d8_d15_regs restore_vfp_d8_d15_regs
+CCKEXT_COMMON_FUNCTIONS := \
+ absvdi2 \
+ absvsi2 \
+ addvdi3 \
+ addvsi3 \
+ ashldi3 \
+ ashrdi3 \
+ bswapdi2 \
+ bswapsi2 \
+ clear_cache \
+ clzdi2 \
+ clzsi2 \
+ cmpdi2 \
+ ctzdi2 \
+ ctzsi2 \
+ divdc3 \
+ divdi3 \
+ divsc3 \
+ do_global_dtors \
+ enable_execute_stack \
+ eprintf \
+ ffsdi2 \
+ fixdfdi \
+ fixsfdi \
+ fixunsdfdi \
+ fixunsdfsi \
+ fixunssfdi \
+ fixunssfsi \
+ floatdidf \
+ floatdisf \
+ floatundidf \
+ floatundisf \
+ gcc_bcmp \
+ lshrdi3 \
+ moddi3 \
+ muldc3 \
+ muldi3 \
+ mulsc3 \
+ mulvdi3 \
+ mulvsi3 \
+ negdi2 \
+ negvdi2 \
+ negvsi2 \
+ paritydi2 \
+ paritysi2 \
+ popcountdi2 \
+ popcountsi2 \
+ powidf2 \
+ powisf2 \
+ subvdi3 \
+ subvsi3 \
+ ucmpdi2 \
+ udiv_w_sdiv \
+ udivdi3 \
+ udivmoddi4 \
+ umoddi3
+
+CCKEXT_ARM_FUNCTIONS := $(CCKEXT_COMMON_FUNCTONS) \
+ adddf3 \
+ addsf3 \
+ aeabi_cdcmpeq \
+ aeabi_cdrcmple \
+ aeabi_cfcmpeq \
+ aeabi_cfrcmple \
+ aeabi_dcmpeq \
+ aeabi_dcmpge \
+ aeabi_dcmpgt \
+ aeabi_dcmple \
+ aeabi_dcmplt \
+ aeabi_drsub \
+ aeabi_fcmpeq \
+ aeabi_fcmpge \
+ aeabi_fcmpgt \
+ aeabi_fcmple \
+ aeabi_fcmplt \
+ aeabi_frsub \
+ aeabi_idivmod \
+ aeabi_uidivmod \
+ cmpdf2 \
+ cmpsf2 \
+ div0 \
+ divdf3 \
+ divsf3 \
+ divsi3 \
+ extendsfdf2 \
+ ffssi2 \
+ fixdfsi \
+ fixsfsi \
+ floatsidf \
+ floatsisf \
+ floatunsidf \
+ floatunsisf \
+ gtdf2 \
+ gtsf2 \
+ ltdf2 \
+ ltsf2 \
+ modsi3 \
+ muldf3 \
+ mulsf3 \
+ negdf2 \
+ negsf2 \
+ subdf3 \
+ subsf3 \
+ switch16 \
+ switch32 \
+ switch8 \
+ switchu8 \
+ truncdfsf2 \
+ udivsi3 \
+ umodsi3 \
+ unorddf2 \
+ unordsf2
+
+FUNCTIONS.cc_kext.armv6 := $(CCKEXT_ARM_FUNCTIONS)
+FUNCTIONS.cc_kext.armv7 := $(CCKEXT_ARM_FUNCTIONS)
+
+CCKEXT_X86_FUNCTIONS := $(CCKEXT_COMMON_FUNCTIONS) \
+ divxc3 \
+ fixunsxfdi \
+ fixunsxfsi \
+ fixxfdi \
+ floatdixf \
+ floatundixf \
+ mulxc3 \
+ powixf2
+
+FUNCTIONS.cc_kext.i386 := $(CCKEXT_X86_FUNCTIONS) \
+ ffssi2 \
+ i686.get_pc_thunk.eax \
+ i686.get_pc_thunk.ebp \
+ i686.get_pc_thunk.ebx \
+ i686.get_pc_thunk.ecx \
+ i686.get_pc_thunk.edi \
+ i686.get_pc_thunk.edx \
+ i686.get_pc_thunk.esi
+
+FUNCTIONS.cc_kext.x86_64 := $(CCKEXT_X86_FUNCTIONS) \
+ absvti2 \
+ addvti3 \
+ ashlti3 \
+ ashrti3 \
+ clzti2 \
+ cmpti2 \
+ ctzti2 \
+ divti3 \
+ ffsti2 \
+ fixdfti \
+ fixsfti \
+ fixunsdfti \
+ fixunssfti \
+ fixunsxfti \
+ fixxfti \
+ floattidf \
+ floattisf \
+ floattixf \
+ floatuntidf \
+ floatuntisf \
+ floatuntixf \
+ lshrti3 \
+ modti3 \
+ multi3 \
+ mulvti3 \
+ negti2 \
+ negvti2 \
+ parityti2 \
+ popcountti2 \
+ subvti3 \
+ ucmpti2 \
+ udivmodti4 \
+ udivti3 \
+ umodti3
+
+# FIXME: Currently, compiler-rt is missing implementations for a number of the
+# functions that need to go into libcc_kext.a. Filter them out for now.
+CCKEXT_MISSING_FUNCTIONS := \
+ adddf3 addsf3 cmpdf2 cmpsf2 div0 divdf3 divsf3 \
+ extendsfdf2 ffssi2 fixdfsi fixsfsi floatsidf floatsisf \
+ floatunsidf floatunsisf gtdf2 gtsf2 ltdf2 ltsf2 \
+ muldf3 mulsf3 negdf2 negsf2 subdf3 subsf3 \
+ truncdfsf2 udiv_w_sdiv unorddf2 unordsf2 bswapdi2 \
+ bswapsi2 \
+ gcc_bcmp \
+ do_global_dtors \
+ i686.get_pc_thunk.eax i686.get_pc_thunk.ebp i686.get_pc_thunk.ebx \
+ i686.get_pc_thunk.ecx i686.get_pc_thunk.edi i686.get_pc_thunk.edx \
+ i686.get_pc_thunk.esi \
+ aeabi_cdcmpeq aeabi_cdrcmple aeabi_cfcmpeq aeabi_cfrcmple aeabi_dcmpeq \
+ aeabi_dcmpge aeabi_dcmpgt aeabi_dcmple aeabi_dcmplt aeabi_drsub aeabi_fcmpeq \
+ aeabi_fcmpge aeabi_fcmpgt aeabi_fcmple aeabi_fcmplt aeabi_frsub aeabi_idivmod \
+ aeabi_uidivmod
+
+FUNCTIONS.cc_kext.armv6 := \
+ $(filter-out $(CCKEXT_MISSING_FUNCTIONS),$(FUNCTIONS.cc_kext.armv6))
+FUNCTIONS.cc_kext.armv7 := \
+ $(filter-out $(CCKEXT_MISSING_FUNCTIONS),$(FUNCTIONS.cc_kext.armv7))
+FUNCTIONS.cc_kext.i386 := \
+ $(filter-out $(CCKEXT_MISSING_FUNCTIONS),$(FUNCTIONS.cc_kext.i386))
+FUNCTIONS.cc_kext.x86_64 := \
+ $(filter-out $(CCKEXT_MISSING_FUNCTIONS),$(FUNCTIONS.cc_kext.x86_64))
+
VISIBILITY_HIDDEN := 1
More information about the llvm-commits
mailing list