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:Marm*hf*} == "" 9SRCS+= aeabi_double.c \ 10 aeabi_float.c 11.endif 12.if ${MACHINE_ARCH:Marmv6*} 13SRCS+= aeabi_vfp_double.S \ 14 aeabi_vfp_float.S 15.endif 16 17# Add the aeabi_mem* functions. While they live in compiler-rt they call into 18# libc. This causes issues when other parts of libc call these functions. 19# We work around this by including these functions in libc but mark them as 20# hidden so users of libc will not pick up these versions. 21.PATH: ${LIBC_SRCTOP}/../../contrib/compiler-rt/lib/arm 22 23SRCS+= aeabi_memcmp.S \ 24 aeabi_memcpy.S \ 25 aeabi_memmove.S \ 26 aeabi_memset.S 27 28# Mark the functions as hidden so they are not available outside of libc. 29CFLAGS.aeabi_memcmp.S= -DVISIBILITY_HIDDEN 30CFLAGS.aeabi_memcpy.S= -DVISIBILITY_HIDDEN 31CFLAGS.aeabi_memmove.S= -DVISIBILITY_HIDDEN 32CFLAGS.aeabi_memset.S= -DVISIBILITY_HIDDEN 33CFLAGS+= ${CFLAGS.${.IMPSRC:T}} 34 35 36SYM_MAPS+=${LIBC_SRCTOP}/arm/aeabi/Symbol.map 37 38