diff options
| author | Ed Maste <emaste@FreeBSD.org> | 2016-09-28 19:29:01 +0000 |
|---|---|---|
| committer | Ed Maste <emaste@FreeBSD.org> | 2016-09-28 19:29:01 +0000 |
| commit | 335bcabec9cb3009131df8b072a1259707aa5c24 (patch) | |
| tree | 52a44304217adb1d0d9b1ab356804a13b0e9e83b /lib/libcompiler_rt | |
| parent | 826e43974c62b5dd1d510267003d771be4d82114 (diff) | |
| parent | d6e65178c62ff02d5fab093fba302bf3a9e93e8e (diff) | |
Notes
Diffstat (limited to 'lib/libcompiler_rt')
| -rw-r--r-- | lib/libcompiler_rt/Makefile | 220 | ||||
| -rw-r--r-- | lib/libcompiler_rt/Makefile.inc | 221 |
2 files changed, 222 insertions, 219 deletions
diff --git a/lib/libcompiler_rt/Makefile b/lib/libcompiler_rt/Makefile index 6a1242ad75d16..414ef675e0054 100644 --- a/lib/libcompiler_rt/Makefile +++ b/lib/libcompiler_rt/Makefile @@ -12,225 +12,7 @@ CFLAGS+= -fvisibility=hidden CFLAGS+= -DVISIBILITY_HIDDEN CFLAGS+= -I${SRCTOP}/contrib/libcxxrt -CRTARCH= ${MACHINE_CPUARCH:C/amd64/x86_64/} - -CRTSRC= ${SRCTOP}/contrib/compiler-rt/lib/builtins - -.PATH: ${CRTSRC}/${CRTARCH} -.PATH: ${CRTSRC} - -SRCF+= absvdi2 -SRCF+= absvsi2 -SRCF+= absvti2 -SRCF+= addvdi3 -SRCF+= addvsi3 -SRCF+= addvti3 -SRCF+= apple_versioning -SRCF+= ashldi3 -SRCF+= ashlti3 -SRCF+= ashrdi3 -SRCF+= ashrti3 -SRCF+= clear_cache -SRCF+= clzdi2 -SRCF+= clzsi2 -SRCF+= clzti2 -SRCF+= cmpdi2 -SRCF+= cmpti2 -SRCF+= ctzdi2 -SRCF+= ctzsi2 -SRCF+= ctzti2 -SRCF+= divdc3 -SRCF+= divdi3 -SRCF+= divmoddi4 -SRCF+= divmodsi4 -SRCF+= divsc3 -SRCF+= divtc3 -SRCF+= divti3 -SRCF+= divxc3 -SRCF+= enable_execute_stack -SRCF+= eprintf -SRCF+= extendhfsf2 -SRCF+= ffsdi2 -SRCF+= ffsti2 -SRCF+= fixdfdi -SRCF+= fixdfti -SRCF+= fixsfdi -SRCF+= fixsfti -SRCF+= fixunsdfdi -SRCF+= fixunsdfsi -SRCF+= fixunsdfti -SRCF+= fixunssfdi -SRCF+= fixunssfsi -SRCF+= fixunssfti -SRCF+= fixunsxfdi -SRCF+= fixunsxfsi -SRCF+= fixunsxfti -SRCF+= fixxfdi -SRCF+= fixxfti -SRCF+= floatdidf -SRCF+= floatdisf -SRCF+= floatditf -SRCF+= floatdixf -SRCF+= floatsitf -SRCF+= floattidf -SRCF+= floattisf -SRCF+= floattixf -SRCF+= floatundidf -SRCF+= floatundisf -SRCF+= floatunditf -SRCF+= floatundixf -SRCF+= floatunsidf -SRCF+= floatunsisf -SRCF+= floatuntidf -SRCF+= floatuntisf -SRCF+= floatuntixf -SRCF+= gcc_personality_v0 -SRCF+= int_util -SRCF+= lshrdi3 -SRCF+= lshrti3 -SRCF+= moddi3 -SRCF+= modti3 -SRCF+= muldc3 -SRCF+= muldi3 -SRCF+= mulodi4 -SRCF+= mulosi4 -SRCF+= muloti4 -SRCF+= mulsc3 -SRCF+= multi3 -SRCF+= mulvdi3 -SRCF+= mulvsi3 -SRCF+= mulvti3 -SRCF+= multc3 -SRCF+= mulxc3 -SRCF+= negdf2 -SRCF+= negdi2 -SRCF+= negsf2 -SRCF+= negti2 -SRCF+= negvdi2 -SRCF+= negvsi2 -SRCF+= negvti2 -SRCF+= paritydi2 -SRCF+= paritysi2 -SRCF+= parityti2 -SRCF+= popcountdi2 -SRCF+= popcountsi2 -SRCF+= popcountti2 -SRCF+= powidf2 -SRCF+= powisf2 -SRCF+= powitf2 -SRCF+= powixf2 -SRCF+= subvdi3 -SRCF+= subvsi3 -SRCF+= subvti3 -SRCF+= trampoline_setup -SRCF+= truncdfhf2 -SRCF+= truncsfhf2 -SRCF+= ucmpdi2 -SRCF+= ucmpti2 -SRCF+= udivdi3 -SRCF+= udivmoddi4 -SRCF+= udivmodsi4 -SRCF+= udivmodti4 -SRCF+= udivti3 -SRCF+= umoddi3 -SRCF+= umodti3 - -# __cpu_model support, only used on x86 -.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" -SRCF+= cpu_model -.endif - -# 128-bit quad precision long double support, only used on arm64 -.if ${MACHINE_CPUARCH} == "aarch64" -SRCF+= addtf3 -SRCF+= comparetf2 -SRCF+= divtf3 -SRCF+= extenddftf2 -SRCF+= extendsftf2 -SRCF+= fixtfdi -SRCF+= fixtfsi -SRCF+= fixtfti -SRCF+= fixunstfdi -SRCF+= fixunstfsi -SRCF+= fixunstfti -SRCF+= floatunsitf -SRCF+= multf3 -SRCF+= subtf3 -SRCF+= trunctfdf2 -SRCF+= trunctfsf2 -.endif - -# These are already shipped by libc.a on arm and mips -.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" -SRCF+= adddf3 -SRCF+= addsf3 -SRCF+= divdf3 -SRCF+= divsf3 -SRCF+= extendsfdf2 -SRCF+= fixdfsi -SRCF+= fixsfsi -SRCF+= floatsidf -SRCF+= floatsisf -SRCF+= muldf3 -SRCF+= mulsf3 -SRCF+= subdf3 -SRCF+= subsf3 -SRCF+= truncdfsf2 -.endif - -.if ${MACHINE_CPUARCH} != "arm" -SRCF+= comparedf2 -SRCF+= comparesf2 -.endif - -.if ${MACHINE_CPUARCH} != "mips" -SRCF+= divsi3 -SRCF+= modsi3 -SRCF+= udivsi3 -SRCF+= umodsi3 -.endif - -# FreeBSD-specific atomic intrinsics. -.if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "armv6" -.PATH: ${SRCTOP}/sys/arm/arm - -SRCF+= stdatomic -CFLAGS+= -DEMIT_SYNC_ATOMICS -.elif ${MACHINE_CPUARCH} == "mips" -.PATH: ${SRCTOP}/sys/mips/mips - -SRCF+= stdatomic -.endif - -.for file in ${SRCF} -.if ${MACHINE_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "") \ - && exists(${CRTSRC}/${CRTARCH}/${file}vfp.S) -SRCS+= ${file}vfp.S -. elif exists(${CRTSRC}/${CRTARCH}/${file}.S) -SRCS+= ${file}.S -. else -SRCS+= ${file}.c -. endif -.endfor - -.if ${MACHINE_CPUARCH} == "arm" -SRCS+= aeabi_div0.c -SRCS+= aeabi_idivmod.S -SRCS+= aeabi_ldivmod.S -SRCS+= aeabi_memcmp.S -SRCS+= aeabi_memcpy.S -SRCS+= aeabi_memmove.S -SRCS+= aeabi_memset.S -SRCS+= aeabi_uidivmod.S -SRCS+= aeabi_uldivmod.S -SRCS+= bswapdi2.S -SRCS+= bswapsi2.S -SRCS+= switch16.S -SRCS+= switch32.S -SRCS+= switch8.S -SRCS+= switchu8.S -SRCS+= sync_synchronize.S -.endif +.include "Makefile.inc" .if ${MK_INSTALLLIB} != "no" SYMLINKS+= libcompiler_rt.a ${LIBDIR}/libgcc.a diff --git a/lib/libcompiler_rt/Makefile.inc b/lib/libcompiler_rt/Makefile.inc new file mode 100644 index 0000000000000..3d05eed3e66b0 --- /dev/null +++ b/lib/libcompiler_rt/Makefile.inc @@ -0,0 +1,221 @@ +# $FreeBSD$ + +CRTARCH= ${MACHINE_CPUARCH:C/amd64/x86_64/} + +CRTSRC= ${SRCTOP}/contrib/compiler-rt/lib/builtins + +.PATH: ${CRTSRC}/${CRTARCH} +.PATH: ${CRTSRC} + +SRCF+= absvdi2 +SRCF+= absvsi2 +SRCF+= absvti2 +SRCF+= addvdi3 +SRCF+= addvsi3 +SRCF+= addvti3 +SRCF+= apple_versioning +SRCF+= ashldi3 +SRCF+= ashlti3 +SRCF+= ashrdi3 +SRCF+= ashrti3 +SRCF+= clear_cache +SRCF+= clzdi2 +SRCF+= clzsi2 +SRCF+= clzti2 +SRCF+= cmpdi2 +SRCF+= cmpti2 +SRCF+= ctzdi2 +SRCF+= ctzsi2 +SRCF+= ctzti2 +SRCF+= divdc3 +SRCF+= divdi3 +SRCF+= divmoddi4 +SRCF+= divmodsi4 +SRCF+= divsc3 +SRCF+= divtc3 +SRCF+= divti3 +SRCF+= divxc3 +SRCF+= enable_execute_stack +SRCF+= eprintf +SRCF+= extendhfsf2 +SRCF+= ffsdi2 +SRCF+= ffsti2 +SRCF+= fixdfdi +SRCF+= fixdfti +SRCF+= fixsfdi +SRCF+= fixsfti +SRCF+= fixunsdfdi +SRCF+= fixunsdfsi +SRCF+= fixunsdfti +SRCF+= fixunssfdi +SRCF+= fixunssfsi +SRCF+= fixunssfti +SRCF+= fixunsxfdi +SRCF+= fixunsxfsi +SRCF+= fixunsxfti +SRCF+= fixxfdi +SRCF+= fixxfti +SRCF+= floatdidf +SRCF+= floatdisf +SRCF+= floatditf +SRCF+= floatdixf +SRCF+= floatsitf +SRCF+= floattidf +SRCF+= floattisf +SRCF+= floattixf +SRCF+= floatundidf +SRCF+= floatundisf +SRCF+= floatunditf +SRCF+= floatundixf +SRCF+= floatunsidf +SRCF+= floatunsisf +SRCF+= floatuntidf +SRCF+= floatuntisf +SRCF+= floatuntixf +SRCF+= gcc_personality_v0 +SRCF+= int_util +SRCF+= lshrdi3 +SRCF+= lshrti3 +SRCF+= moddi3 +SRCF+= modti3 +SRCF+= muldc3 +SRCF+= muldi3 +SRCF+= mulodi4 +SRCF+= mulosi4 +SRCF+= muloti4 +SRCF+= mulsc3 +SRCF+= multi3 +SRCF+= mulvdi3 +SRCF+= mulvsi3 +SRCF+= mulvti3 +SRCF+= multc3 +SRCF+= mulxc3 +SRCF+= negdf2 +SRCF+= negdi2 +SRCF+= negsf2 +SRCF+= negti2 +SRCF+= negvdi2 +SRCF+= negvsi2 +SRCF+= negvti2 +SRCF+= paritydi2 +SRCF+= paritysi2 +SRCF+= parityti2 +SRCF+= popcountdi2 +SRCF+= popcountsi2 +SRCF+= popcountti2 +SRCF+= powidf2 +SRCF+= powisf2 +SRCF+= powitf2 +SRCF+= powixf2 +SRCF+= subvdi3 +SRCF+= subvsi3 +SRCF+= subvti3 +SRCF+= trampoline_setup +SRCF+= truncdfhf2 +SRCF+= truncsfhf2 +SRCF+= ucmpdi2 +SRCF+= ucmpti2 +SRCF+= udivdi3 +SRCF+= udivmoddi4 +SRCF+= udivmodsi4 +SRCF+= udivmodti4 +SRCF+= udivti3 +SRCF+= umoddi3 +SRCF+= umodti3 + +# __cpu_model support, only used on x86 +.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" +SRCF+= cpu_model +.endif + +# 128-bit quad precision long double support, only used on arm64 +.if ${MACHINE_CPUARCH} == "aarch64" +SRCF+= addtf3 +SRCF+= comparetf2 +SRCF+= divtf3 +SRCF+= extenddftf2 +SRCF+= extendsftf2 +SRCF+= fixtfdi +SRCF+= fixtfsi +SRCF+= fixtfti +SRCF+= fixunstfdi +SRCF+= fixunstfsi +SRCF+= fixunstfti +SRCF+= floatunsitf +SRCF+= multf3 +SRCF+= subtf3 +SRCF+= trunctfdf2 +SRCF+= trunctfsf2 +.endif + +# These are already shipped by libc.a on arm and mips +.if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" +SRCF+= adddf3 +SRCF+= addsf3 +SRCF+= divdf3 +SRCF+= divsf3 +SRCF+= extendsfdf2 +SRCF+= fixdfsi +SRCF+= fixsfsi +SRCF+= floatsidf +SRCF+= floatsisf +SRCF+= muldf3 +SRCF+= mulsf3 +SRCF+= subdf3 +SRCF+= subsf3 +SRCF+= truncdfsf2 +.endif + +.if ${MACHINE_CPUARCH} != "arm" +SRCF+= comparedf2 +SRCF+= comparesf2 +.endif + +.if ${MACHINE_CPUARCH} != "mips" +SRCF+= divsi3 +SRCF+= modsi3 +SRCF+= udivsi3 +SRCF+= umodsi3 +.endif + +# FreeBSD-specific atomic intrinsics. +.if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "armv6" +.PATH: ${SRCTOP}/sys/arm/arm + +SRCF+= stdatomic +CFLAGS+= -DEMIT_SYNC_ATOMICS +.elif ${MACHINE_CPUARCH} == "mips" +.PATH: ${SRCTOP}/sys/mips/mips + +SRCF+= stdatomic +.endif + +.for file in ${SRCF} +.if ${MACHINE_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "") \ + && exists(${CRTSRC}/${CRTARCH}/${file}vfp.S) +SRCS+= ${file}vfp.S +. elif exists(${CRTSRC}/${CRTARCH}/${file}.S) +SRCS+= ${file}.S +. else +SRCS+= ${file}.c +. endif +.endfor + +.if ${MACHINE_CPUARCH} == "arm" +SRCS+= aeabi_div0.c +SRCS+= aeabi_idivmod.S +SRCS+= aeabi_ldivmod.S +SRCS+= aeabi_memcmp.S +SRCS+= aeabi_memcpy.S +SRCS+= aeabi_memmove.S +SRCS+= aeabi_memset.S +SRCS+= aeabi_uidivmod.S +SRCS+= aeabi_uldivmod.S +SRCS+= bswapdi2.S +SRCS+= bswapsi2.S +SRCS+= switch16.S +SRCS+= switch32.S +SRCS+= switch8.S +SRCS+= switchu8.S +SRCS+= sync_synchronize.S +.endif |
