Makefile.inc revision 310618
1# $FreeBSD: stable/11/lib/libcompiler_rt/Makefile.inc 310618 2016-12-26 20:36:37Z dim $ 2 3CRTARCH= ${MACHINE_CPUARCH:C/amd64/x86_64/} 4 5CRTSRC= ${SRCTOP}/contrib/compiler-rt/lib/builtins 6 7.PATH: ${CRTSRC}/${CRTARCH} 8.PATH: ${CRTSRC} 9 10SRCF+= absvdi2 11SRCF+= absvsi2 12SRCF+= absvti2 13SRCF+= addvdi3 14SRCF+= addvsi3 15SRCF+= addvti3 16SRCF+= apple_versioning 17SRCF+= ashldi3 18SRCF+= ashlti3 19SRCF+= ashrdi3 20SRCF+= ashrti3 21SRCF+= clear_cache 22SRCF+= clzdi2 23SRCF+= clzsi2 24SRCF+= clzti2 25SRCF+= cmpdi2 26SRCF+= cmpti2 27SRCF+= ctzdi2 28SRCF+= ctzsi2 29SRCF+= ctzti2 30SRCF+= divdc3 31SRCF+= divdi3 32SRCF+= divmoddi4 33SRCF+= divmodsi4 34SRCF+= divsc3 35SRCF+= divtc3 36SRCF+= divti3 37SRCF+= divxc3 38SRCF+= enable_execute_stack 39SRCF+= eprintf 40SRCF+= extendhfsf2 41SRCF+= ffsdi2 42SRCF+= ffsti2 43SRCF+= fixdfdi 44SRCF+= fixdfti 45SRCF+= fixsfdi 46SRCF+= fixsfti 47SRCF+= fixunsdfdi 48SRCF+= fixunsdfsi 49SRCF+= fixunsdfti 50SRCF+= fixunssfdi 51SRCF+= fixunssfsi 52SRCF+= fixunssfti 53SRCF+= fixunsxfdi 54SRCF+= fixunsxfsi 55SRCF+= fixunsxfti 56SRCF+= fixxfdi 57SRCF+= fixxfti 58SRCF+= floatdidf 59SRCF+= floatdisf 60SRCF+= floatditf 61SRCF+= floatdixf 62SRCF+= floatsitf 63SRCF+= floattidf 64SRCF+= floattisf 65SRCF+= floattixf 66SRCF+= floatundidf 67SRCF+= floatundisf 68SRCF+= floatunditf 69SRCF+= floatundixf 70SRCF+= floatunsidf 71SRCF+= floatunsisf 72SRCF+= floatuntidf 73SRCF+= floatuntisf 74SRCF+= floatuntixf 75SRCF+= gcc_personality_v0 76SRCF+= int_util 77SRCF+= lshrdi3 78SRCF+= lshrti3 79SRCF+= moddi3 80SRCF+= modti3 81SRCF+= muldc3 82SRCF+= muldi3 83SRCF+= mulodi4 84SRCF+= mulosi4 85SRCF+= muloti4 86SRCF+= mulsc3 87SRCF+= multi3 88SRCF+= mulvdi3 89SRCF+= mulvsi3 90SRCF+= mulvti3 91SRCF+= multc3 92SRCF+= mulxc3 93SRCF+= negdf2 94SRCF+= negdi2 95SRCF+= negsf2 96SRCF+= negti2 97SRCF+= negvdi2 98SRCF+= negvsi2 99SRCF+= negvti2 100SRCF+= paritydi2 101SRCF+= paritysi2 102SRCF+= parityti2 103SRCF+= popcountdi2 104SRCF+= popcountsi2 105SRCF+= popcountti2 106SRCF+= powidf2 107SRCF+= powisf2 108SRCF+= powitf2 109SRCF+= powixf2 110SRCF+= subvdi3 111SRCF+= subvsi3 112SRCF+= subvti3 113SRCF+= trampoline_setup 114SRCF+= truncdfhf2 115SRCF+= truncsfhf2 116SRCF+= ucmpdi2 117SRCF+= ucmpti2 118SRCF+= udivdi3 119SRCF+= udivmoddi4 120SRCF+= udivmodsi4 121SRCF+= udivmodti4 122SRCF+= udivti3 123SRCF+= umoddi3 124SRCF+= umodti3 125 126# __cpu_model support, only used on x86 127.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" 128SRCF+= cpu_model 129.endif 130 131# 128-bit quad precision long double support, only used on arm64 132.if ${MACHINE_CPUARCH} == "aarch64" 133SRCF+= addtf3 134SRCF+= comparetf2 135SRCF+= divtf3 136SRCF+= extenddftf2 137SRCF+= extendsftf2 138SRCF+= fixtfdi 139SRCF+= fixtfsi 140SRCF+= fixtfti 141SRCF+= fixunstfdi 142SRCF+= fixunstfsi 143SRCF+= fixunstfti 144SRCF+= floatunsitf 145SRCF+= multf3 146SRCF+= subtf3 147SRCF+= trunctfdf2 148SRCF+= trunctfsf2 149.endif 150 151# These are already shipped by libc.a on arm and mips 152.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" 153SRCF+= adddf3 154SRCF+= addsf3 155SRCF+= divdf3 156SRCF+= divsf3 157SRCF+= extendsfdf2 158SRCF+= fixdfsi 159SRCF+= fixsfsi 160SRCF+= floatsidf 161SRCF+= floatsisf 162SRCF+= muldf3 163SRCF+= mulsf3 164SRCF+= subdf3 165SRCF+= subsf3 166SRCF+= truncdfsf2 167.endif 168 169.if ${MACHINE_CPUARCH} != "arm" 170SRCF+= comparedf2 171SRCF+= comparesf2 172.endif 173 174.if ${MACHINE_CPUARCH} != "mips" 175SRCF+= divsi3 176SRCF+= modsi3 177SRCF+= udivsi3 178SRCF+= umodsi3 179.endif 180 181# FreeBSD-specific atomic intrinsics. 182.if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "armv6" 183.PATH: ${SRCTOP}/sys/arm/arm 184 185SRCF+= stdatomic 186CFLAGS+= -DEMIT_SYNC_ATOMICS 187.elif ${MACHINE_CPUARCH} == "mips" 188.PATH: ${SRCTOP}/sys/mips/mips 189 190SRCF+= stdatomic 191.endif 192 193.for file in ${SRCF} 194.if ${MACHINE_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "") \ 195 && exists(${CRTSRC}/${CRTARCH}/${file}vfp.S) 196SRCS+= ${file}vfp.S 197. elif exists(${CRTSRC}/${CRTARCH}/${file}.S) 198SRCS+= ${file}.S 199. else 200SRCS+= ${file}.c 201. endif 202.endfor 203 204.if ${MACHINE_CPUARCH} == "arm" 205SRCS+= aeabi_div0.c 206SRCS+= aeabi_idivmod.S 207SRCS+= aeabi_ldivmod.S 208SRCS+= aeabi_memcmp.S 209SRCS+= aeabi_memcpy.S 210SRCS+= aeabi_memmove.S 211SRCS+= aeabi_memset.S 212SRCS+= aeabi_uidivmod.S 213SRCS+= aeabi_uldivmod.S 214SRCS+= bswapdi2.S 215SRCS+= bswapsi2.S 216SRCS+= switch16.S 217SRCS+= switch32.S 218SRCS+= switch8.S 219SRCS+= switchu8.S 220SRCS+= sync_synchronize.S 221.endif 222