xref: /freebsd/lib/libc/arm/aeabi/Makefile.inc (revision 8881d206f4e68b564c2c5f50fc717086fc3e827a)
1# $FreeBSD$
2
3.PATH: ${LIBC_SRCTOP}/arm/aeabi
4
5SRCS+=	aeabi_atexit.c		\
6	aeabi_unwind_cpp.c	\
7	aeabi_unwind_exidx.c
8.if (${MACHINE_ARCH:Marmv[67]*} && defined(CPUTYPE) && ${CPUTYPE:M*soft*} != "") || \
9	${MACHINE_ARCH:Marmv[67]*} == ""
10SRCS+=	aeabi_asm_double.S	\
11	aeabi_asm_float.S	\
12	aeabi_double.c		\
13	aeabi_float.c
14.endif
15.if ${MACHINE_ARCH:Marmv[67]*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "")
16SRCS+=	aeabi_vfp_double.S	\
17	aeabi_vfp_float.S
18.endif
19
20# Add the aeabi_mem* functions. While they live in compiler-rt they call into
21# libc. This causes issues when other parts of libc call these functions.
22# We work around this by including these functions in libc but mark them as
23# hidden so users of libc will not pick up these versions.
24.PATH: ${SRCTOP}/contrib/llvm-project/compiler-rt/lib/builtins/arm
25
26SRCS+=	aeabi_memcmp.S		\
27	aeabi_memcpy.S		\
28	aeabi_memmove.S		\
29	aeabi_memset.S
30
31SRCS+=	aeabi_int_div.S
32
33SYM_MAPS+=${LIBC_SRCTOP}/arm/aeabi/Symbol.map
34