1245655Sandrew# $FreeBSD$
2245655Sandrew
3245655Sandrew.PATH: ${.CURDIR}/arm/aeabi
4245655Sandrew
5273471SandrewSRCS+=	aeabi_asm_double.S	\
6273471Sandrew	aeabi_asm_float.S	\
7273471Sandrew	aeabi_atexit.c		\
8245655Sandrew	aeabi_double.c		\
9245655Sandrew	aeabi_float.c		\
10269792Sian	aeabi_unwind_cpp.c	\
11269792Sian	aeabi_unwind_exidx.c
12266314Sian.if ${MACHINE_ARCH:Marmv6*}
13266314SianSRCS+=	aeabi_vfp_double.S	\
14266314Sian	aeabi_vfp_float.S
15266314Sian.endif
16245655Sandrew
17246706Sandrew# Add the aeabi_mem* functions. While they live in compiler-rt they call into
18246706Sandrew# libc. This causes issues when other parts of libc call these functions.
19246706Sandrew# We work around this by including these functions in libc but mark them as
20246706Sandrew# hidden so users of libc will not pick up these versions.
21246706Sandrew.PATH: ${.CURDIR}/../../contrib/compiler-rt/lib/arm
22246706Sandrew
23246706SandrewSRCS+=	aeabi_memcmp.S		\
24246706Sandrew	aeabi_memcpy.S		\
25246706Sandrew	aeabi_memmove.S		\
26246706Sandrew	aeabi_memset.S
27246706Sandrew
28246706Sandrew# Mark the functions as hidden so they are not available outside of libc.
29246706SandrewCFLAGS.aeabi_memcmp.S=	-DVISIBILITY_HIDDEN
30246706SandrewCFLAGS.aeabi_memcpy.S=	-DVISIBILITY_HIDDEN
31246706SandrewCFLAGS.aeabi_memmove.S=	-DVISIBILITY_HIDDEN
32246706SandrewCFLAGS.aeabi_memset.S=	-DVISIBILITY_HIDDEN
33246706SandrewCFLAGS+=		${CFLAGS.${.IMPSRC:T}}
34246706Sandrew
35246706Sandrew
36245655SandrewSYM_MAPS+=${.CURDIR}/arm/aeabi/Symbol.map
37245655Sandrew
38