1 ########################################################################
3 # Shared libc with userspace (/common/lib/libc)
8 ${f}: ${LIBCOMMONCDIR}/string/${f:C/\.o/.c/}
14 byte_swap_2.o byte_swap_4.o divsi3.o divide.o udivsi3.o
15 ${f}: ${LIBCOMMONCARCHDIR}/gen/${f:C/\.o/.S/}
20 CPPFLAGS.byte_swap_4.S+= -D_STANDALONE
23 __aeabi_idiv0.o __aeabi_ldiv0.o
24 ${f}: ${LIBCOMMONCARCHDIR}/gen/${f:C/\.o/.c/}
29 CPPFLAGS.__aeabi_idiv0.c+= -D_STANDALONE
30 CPPFLAGS.__aeabi_ldiv0.c+= -D_STANDALONE
33 __aeabi_ldivmod.o __aeabi_uldivmod.o
34 ${f}: ${LIBCOMMONCARCHDIR}/quad/${f:C/\.o/.S/}
40 memcmp.o memcpy.o memmove.o memset.o \
41 strcat.o strchr.o strcmp.o strcpy.o strlcpy.o strlen.o strncpy.o \
42 strncmp.o strrchr.o strcpy_arm.o
43 ${f}: ${LIBCOMMONCARCHDIR}/string/${f:C/\.o/.S/}
48 CPPFLAGS.strcpy_arm.S+= -DSTRLCPY -D_LIBC
50 ########################################################################
52 # Functions imported directly from libc.
56 ${f}: ${LIBCARCHDIR}/gen/${f:C/\.o/.S/}
62 __aeabi_dcmpeq.o __aeabi_fcmpeq.o \
63 __aeabi_dcmpge.o __aeabi_fcmpge.o \
64 __aeabi_dcmpgt.o __aeabi_fcmpgt.o \
65 __aeabi_dcmple.o __aeabi_fcmple.o \
66 __aeabi_dcmplt.o __aeabi_fcmplt.o \
67 __aeabi_dcmpun.o __aeabi_fcmpun.o
68 CPPFLAGS.${f:C/\.o/.c/}+= -I${LIBCARCHDIR}/softfloat -I${LIBCDIR}/softfloat
69 CPPFLAGS.${f:C/\.o/.c/}+= -DSOFTFLOAT_FOR_GCC
70 ${f}: ${LIBCARCHDIR}/softfloat/${f:C/\.o/.c/}
76 fpgetround.o fpsetround.o fpgetmask.o fpsetmask.o \
77 fpgetsticky.o fpsetsticky.o
78 CPPFLAGS.${f:C/\.o/.c/}+= -I${LIBCARCHDIR}/softfloat -I${LIBCDIR}/softfloat
79 CPPFLAGS.${f:C/\.o/.c/}+= -DSOFTFLOAT_FOR_GCC
80 ${f}: ${LIBCDIR}/softfloat/${f:C/\.o/.c/}
88 CPPFLAGS.${f:C/\.o/.c/}+= -I${LIBCARCHDIR}/softfloat -I${LIBCDIR}/softfloat
89 CPPFLAGS.${f:C/\.o/.c/}+= -DSOFTFLOAT_FOR_GCC
90 ${f}: ${LIBCDIR}/softfloat/bits${SOFTFLOAT_BITS}/${f:C/\.o/.c/}
95 .if defined(HAVE_GCC) && ${HAVE_GCC} >= 45
96 .if (${MACHINE_CPU} == "arm")
97 COPTS.softfloat.c+= -Wno-enum-compare -fno-tree-vrp