xref: /optee_os/lib/libutils/isoc/arch/arm/sub.mk (revision c96d7091b566e1c37410bfddb5b3c5280ddcc13a)
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 Gargifeq ($(CFG_ULIBS_MCOUNT),y)
11*c96d7091SSumit Garg# We would not like to profile __aeabi functions as these provide
12*c96d7091SSumit Garg# internal implementations for "/ %" operations. Also, "/ %" operations
13*c96d7091SSumit Garg# could be used inside profiling code which could create an incorrect
14*c96d7091SSumit Garg# cyclic behaviour.
15*c96d7091SSumit Gargcflags-remove-arm32_aeabi_divmod.c-y += -pg
16*c96d7091SSumit Gargcflags-remove-arm32_aeabi_ldivmod.c-y += -pg
17*c96d7091SSumit Gargcflags-remove-arm32_aeabi_shift.c-y += -pg
18*c96d7091SSumit Gargendif
19*c96d7091SSumit Garg
200c81fcd6SJens Wiklandersrcs-$(CFG_ARM32_$(sm)) += setjmp_a32.S
210c81fcd6SJens Wiklandersrcs-$(CFG_ARM64_$(sm)) += setjmp_a64.S
220c81fcd6SJens Wiklander
23fce4cfa1SJens Wiklanderifeq ($(CFG_TA_FLOAT_SUPPORT),y)
24fce4cfa1SJens Wiklander# Floating point is only supported for user TAs
25fce4cfa1SJens Wiklanderifneq ($(sm),core)
26fce4cfa1SJens Wiklandersrcs-$(CFG_ARM32_$(sm)) += arm32_aeabi_softfloat.c
27fce4cfa1SJens Wiklandercflags-arm32_aeabi_softfloat.c-y += -Wno-aggregate-return
28fce4cfa1SJens Wiklandercflags-arm32_aeabi_softfloat.c-y += -Wno-missing-prototypes
29fce4cfa1SJens Wiklandercflags-arm32_aeabi_softfloat.c-y += -Wno-missing-declarations
30fce4cfa1SJens Wiklandersubdirs-$(CFG_ARM32_$(sm)) += softfloat
31fce4cfa1SJens Wiklanderendif
32fce4cfa1SJens Wiklanderendif
33