1# These files implements the__aeabi functions we need instead of 2# relying on libgcc or equivalent as we need implementations suitable 3# for bare metal. 4srcs-$(CFG_ARM32_$(sm)) += arm32_aeabi_divmod_a32.S 5srcs-$(CFG_ARM32_$(sm)) += arm32_aeabi_divmod.c 6srcs-$(CFG_ARM32_$(sm)) += arm32_aeabi_ldivmod_a32.S 7srcs-$(CFG_ARM32_$(sm)) += arm32_aeabi_ldivmod.c 8srcs-$(CFG_ARM32_$(sm)) += arm32_aeabi_shift.c 9 10ifeq ($(CFG_ULIBS_MCOUNT),y) 11# We would not like to profile __aeabi functions as these provide 12# internal implementations for "/ %" operations. Also, "/ %" operations 13# could be used inside profiling code which could create an incorrect 14# cyclic behaviour. 15cflags-remove-arm32_aeabi_divmod.c-y += -pg 16cflags-remove-arm32_aeabi_ldivmod.c-y += -pg 17cflags-remove-arm32_aeabi_shift.c-y += -pg 18endif 19 20srcs-$(CFG_ARM32_$(sm)) += setjmp_a32.S 21srcs-$(CFG_ARM64_$(sm)) += setjmp_a64.S 22 23ifeq ($(CFG_TA_FLOAT_SUPPORT),y) 24# Floating point is only supported for user TAs 25ifneq ($(sm),core) 26srcs-$(CFG_ARM32_$(sm)) += arm32_aeabi_softfloat.c 27cflags-arm32_aeabi_softfloat.c-y += -Wno-aggregate-return 28cflags-arm32_aeabi_softfloat.c-y += -Wno-missing-prototypes 29cflags-arm32_aeabi_softfloat.c-y += -Wno-missing-declarations 30subdirs-$(CFG_ARM32_$(sm)) += softfloat 31endif 32endif 33