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