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
76 SRCF+= gcc_personality_v0
114 SRCF+= trampoline_setup
127 # __cpu_model support, only used on x86
128 .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386"
133 # 128-bit quad precision long double support,
134 # only used on some architectures.
136 .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "riscv"
155 # These are already shipped by libc.a on some architectures.
156 .if ${MACHINE_CPUARCH} != "arm" && ${MACHINE_CPUARCH} != "mips" && \
157 ${MACHINE_CPUARCH} != "riscv"
174 .if ${MACHINE_CPUARCH} != "arm"
179 .if ${MACHINE_CPUARCH} != "mips"
186 # FreeBSD-specific atomic intrinsics.
187 .if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "armv6"
188 .PATH: ${SRCTOP}/sys/arm/arm
191 CFLAGS+= -DEMIT_SYNC_ATOMICS
192 .elif ${MACHINE_CPUARCH} == "mips"
193 .PATH: ${SRCTOP}/sys/mips/mips
199 .if ${MACHINE_ARCH:Marmv6*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "") \
200 && exists(${CRTSRC}/${CRTARCH}/${file}vfp.S)
202 . elif exists(${CRTSRC}/${CRTARCH}/${file}.S)
209 .if ${MACHINE_CPUARCH} == "arm"
211 SRCS+= aeabi_idivmod.S
212 SRCS+= aeabi_ldivmod.S
213 SRCS+= aeabi_memcmp.S
214 SRCS+= aeabi_memcpy.S
215 SRCS+= aeabi_memmove.S
216 SRCS+= aeabi_memset.S
217 SRCS+= aeabi_uidivmod.S
218 SRCS+= aeabi_uldivmod.S
225 SRCS+= sync_synchronize.S
228 # On some archs GCC-6.3 requires bswap32 built-in.
229 .if ${MACHINE_CPUARCH} == "mips" || ${MACHINE_CPUARCH} == "sparc64"