xref: /freebsd/lib/libc/arm/aeabi/Makefile.inc (revision e9ac41698b2f322d55ccf9da50a3596edb2c1800)
18876613dSMarcel Moolenaar.PATH: ${LIBC_SRCTOP}/arm/aeabi
201298368SAndrew Turner
301298368SAndrew TurnerSRCS+=	aeabi_atexit.c		\
4677a88ceSIan Lepore	aeabi_unwind_cpp.c	\
5677a88ceSIan Lepore	aeabi_unwind_exidx.c
6*ae902a5bSWarner Losh.if defined(CPUTYPE) && ${CPUTYPE:M*soft*} != ""
7cb8bcafaSAndrew TurnerSRCS+=	aeabi_asm_double.S	\
8cb8bcafaSAndrew Turner	aeabi_asm_float.S	\
9cb8bcafaSAndrew Turner	aeabi_double.c		\
1073279d41SAndrew Turner	aeabi_float.c
1173279d41SAndrew Turner.endif
12*ae902a5bSWarner Losh.if !defined(CPUTYPE) || ${CPUTYPE:M*soft*} == ""
13a06918a3SAndrew TurnerSRCS+=	aeabi_vfp_double.S	\
14a06918a3SAndrew Turner	aeabi_vfp_float.S
15a06918a3SAndrew Turner.endif
1601298368SAndrew Turner
17b27ca631SAndrew Turner# Add the aeabi_mem* functions. While they live in compiler-rt they call into
18b27ca631SAndrew Turner# libc. This causes issues when other parts of libc call these functions.
19b27ca631SAndrew Turner# We work around this by including these functions in libc but mark them as
20b27ca631SAndrew Turner# hidden so users of libc will not pick up these versions.
210b57cec5SDimitry Andric.PATH: ${SRCTOP}/contrib/llvm-project/compiler-rt/lib/builtins/arm
22b27ca631SAndrew Turner
23b27ca631SAndrew TurnerSRCS+=	aeabi_memcmp.S		\
24b27ca631SAndrew Turner	aeabi_memcpy.S		\
25b27ca631SAndrew Turner	aeabi_memmove.S		\
26b27ca631SAndrew Turner	aeabi_memset.S
27b27ca631SAndrew Turner
28cd9bdb73SMichal MelounSRCS+=	aeabi_int_div.S
2901298368SAndrew Turner
30cd9bdb73SMichal MelounSYM_MAPS+=${LIBC_SRCTOP}/arm/aeabi/Symbol.map
31