1abe38974SJens Wiklander# These files implements the__aeabi functions we need instead of 2abe38974SJens Wiklander# relying on libgcc or equivalent as we need implementations suitable 3abe38974SJens Wiklander# for bare metal. 4abe38974SJens Wiklandersrcs-$(CFG_ARM32_$(sm)) += arm32_aeabi_divmod_a32.S 5abe38974SJens Wiklandersrcs-$(CFG_ARM32_$(sm)) += arm32_aeabi_divmod.c 6abe38974SJens Wiklandersrcs-$(CFG_ARM32_$(sm)) += arm32_aeabi_ldivmod_a32.S 7abe38974SJens Wiklandersrcs-$(CFG_ARM32_$(sm)) += arm32_aeabi_ldivmod.c 8b5fed1a5SJens Wiklandersrcs-$(CFG_ARM32_$(sm)) += arm32_aeabi_shift.c 9fce4cfa1SJens Wiklander 10*c96d7091SSumit Garg# We would not like to profile __aeabi functions as these provide 11*c96d7091SSumit Garg# internal implementations for "/ %" operations. Also, "/ %" operations 12*c96d7091SSumit Garg# could be used inside profiling code which could create an incorrect 13*c96d7091SSumit Garg# cyclic behaviour. 14*c96d7091SSumit Gargcflags-remove-arm32_aeabi_divmod.c-y += -pg 15*c96d7091SSumit Gargcflags-remove-arm32_aeabi_ldivmod.c-y += -pg 16*c96d7091SSumit Gargcflags-remove-arm32_aeabi_shift.c-y += -pg 17*c96d7091SSumit Garg 180c81fcd6SJens Wiklandersrcs-$(CFG_ARM32_$(sm)) += setjmp_a32.S 190c81fcd6SJens Wiklandersrcs-$(CFG_ARM64_$(sm)) += setjmp_a64.S 200c81fcd6SJens Wiklander 21fce4cfa1SJens Wiklanderifeq ($(CFG_TA_FLOAT_SUPPORT),y) 22fce4cfa1SJens Wiklander# Floating point is only supported for user TAs 23fce4cfa1SJens Wiklanderifneq ($(sm),core) 24fce4cfa1SJens Wiklandersrcs-$(CFG_ARM32_$(sm)) += arm32_aeabi_softfloat.c 25fce4cfa1SJens Wiklandercflags-arm32_aeabi_softfloat.c-y += -Wno-aggregate-return 26fce4cfa1SJens Wiklandercflags-arm32_aeabi_softfloat.c-y += -Wno-missing-prototypes 27fce4cfa1SJens Wiklandercflags-arm32_aeabi_softfloat.c-y += -Wno-missing-declarations 28fce4cfa1SJens Wiklandersubdirs-$(CFG_ARM32_$(sm)) += softfloat 29fce4cfa1SJens Wiklanderendif 30fce4cfa1SJens Wiklanderendif 31