3 CRTARCH= ${MACHINE_CPUARCH:C/amd64/x86_64/}
5 CRTSRC= ${SRCTOP}/contrib/compiler-rt/lib/builtins
7 .PATH: ${CRTSRC}/${CRTARCH}
16 SRCF+= apple_versioning
38 SRCF+= enable_execute_stack
70 SRCF+= gcc_personality_v0
108 SRCF+= trampoline_setup
121 # Avoid using SSE2 instructions on i386, if unsupported.
122 .if ${MACHINE_CPUARCH} == "i386" && empty(MACHINE_CPU:Msse2)
138 # __cpu_model support, only used on x86
139 .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
143 # 128-bit quad precision long double support, only used on arm64
144 .if ${MACHINE_CPUARCH} == "aarch64"
163 # These are already shipped by libc.a on arm and mips
164 .if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips"
181 .if ${MACHINE_CPUARCH} != "arm"
186 .if ${MACHINE_CPUARCH} != "mips"
193 # FreeBSD-specific atomic intrinsics.
194 .if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "armv6"
195 .PATH: ${SRCTOP}/sys/arm/arm
198 CFLAGS+= -DEMIT_SYNC_ATOMICS
199 .elif ${MACHINE_CPUARCH} == "mips"
200 .PATH: ${SRCTOP}/sys/mips/mips
206 .if ${MACHINE_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "") \
207 && exists(${CRTSRC}/${CRTARCH}/${file}vfp.S)
209 . elif exists(${CRTSRC}/${CRTARCH}/${file}.S)
216 .if ${MACHINE_CPUARCH} == "arm"
218 SRCS+= aeabi_idivmod.S
219 SRCS+= aeabi_ldivmod.S
220 SRCS+= aeabi_memcmp.S
221 SRCS+= aeabi_memcpy.S
222 SRCS+= aeabi_memmove.S
223 SRCS+= aeabi_memset.S
224 SRCS+= aeabi_uidivmod.S
225 SRCS+= aeabi_uldivmod.S
232 SRCS+= sync_synchronize.S
235 # GCC-6.3 on mips32 requires bswap32 built-in.
236 .if ${MACHINE_CPUARCH} == "mips"