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