xref: /freebsd/lib/libc/arm/aeabi/Makefile.inc (revision 9ecd54f24fe9fa373e07c9fd7c052deb2188f545)
1# $FreeBSD$
2
3.PATH: ${LIBC_SRCTOP}/arm/aeabi
4
5SRCS+=	aeabi_atexit.c		\
6	aeabi_unwind_cpp.c
7.if ${MACHINE_ARCH} != "armv6hf"
8SRCS+=	aeabi_double.c		\
9	aeabi_float.c
10.endif
11.if ${MACHINE_ARCH:Marmv6*}
12SRCS+=	aeabi_vfp_double.S	\
13	aeabi_vfp_float.S
14.endif
15
16# Add the aeabi_mem* functions. While they live in compiler-rt they call into
17# libc. This causes issues when other parts of libc call these functions.
18# We work around this by including these functions in libc but mark them as
19# hidden so users of libc will not pick up these versions.
20.PATH: ${LIBC_SRCTOP}/../../contrib/compiler-rt/lib/arm
21
22SRCS+=	aeabi_memcmp.S		\
23	aeabi_memcpy.S		\
24	aeabi_memmove.S		\
25	aeabi_memset.S
26
27# Mark the functions as hidden so they are not available outside of libc.
28CFLAGS.aeabi_memcmp.S=	-DVISIBILITY_HIDDEN
29CFLAGS.aeabi_memcpy.S=	-DVISIBILITY_HIDDEN
30CFLAGS.aeabi_memmove.S=	-DVISIBILITY_HIDDEN
31CFLAGS.aeabi_memset.S=	-DVISIBILITY_HIDDEN
32CFLAGS+=		${CFLAGS.${.IMPSRC:T}}
33
34
35SYM_MAPS+=${LIBC_SRCTOP}/arm/aeabi/Symbol.map
36
37