Fix ARM floating point for services
Change-Id: Ic5772a7a78ea13ab6bb8db3ffd7f0906fd1380cf
This commit is contained in:
parent
5308df03ed
commit
ecad34966a
2 changed files with 40 additions and 1 deletions
|
@ -57,3 +57,43 @@ ${f}: ${LIBCARCHDIR}/gen/${f:C/\.o/.S/}
|
||||||
OBJS+= ${f}
|
OBJS+= ${f}
|
||||||
CLEANFILES+= ${f}
|
CLEANFILES+= ${f}
|
||||||
.endfor
|
.endfor
|
||||||
|
|
||||||
|
.for f in \
|
||||||
|
__aeabi_dcmpeq.o __aeabi_fcmpeq.o \
|
||||||
|
__aeabi_dcmpge.o __aeabi_fcmpge.o \
|
||||||
|
__aeabi_dcmpgt.o __aeabi_fcmpgt.o \
|
||||||
|
__aeabi_dcmple.o __aeabi_fcmple.o \
|
||||||
|
__aeabi_dcmplt.o __aeabi_fcmplt.o \
|
||||||
|
__aeabi_dcmpun.o __aeabi_fcmpun.o
|
||||||
|
CPPFLAGS.${f:C/\.o/.c/}+= -I${LIBCARCHDIR}/softfloat -I${LIBCDIR}/softfloat
|
||||||
|
CPPFLAGS.${f:C/\.o/.c/}+= -DSOFTFLOAT_FOR_GCC
|
||||||
|
${f}: ${LIBCARCHDIR}/softfloat/${f:C/\.o/.c/}
|
||||||
|
OBJS+= ${f}
|
||||||
|
CLEANFILES+= ${f}
|
||||||
|
.endfor
|
||||||
|
|
||||||
|
.for f in \
|
||||||
|
fpgetround.o fpsetround.o fpgetmask.o fpsetmask.o \
|
||||||
|
fpgetsticky.o fpsetsticky.o
|
||||||
|
CPPFLAGS.${f:C/\.o/.c/}+= -I${LIBCARCHDIR}/softfloat -I${LIBCDIR}/softfloat
|
||||||
|
CPPFLAGS.${f:C/\.o/.c/}+= -DSOFTFLOAT_FOR_GCC
|
||||||
|
${f}: ${LIBCDIR}/softfloat/${f:C/\.o/.c/}
|
||||||
|
OBJS+= ${f}
|
||||||
|
CLEANFILES+= ${f}
|
||||||
|
.endfor
|
||||||
|
|
||||||
|
SOFTFLOAT_BITS?=64
|
||||||
|
.for f in \
|
||||||
|
softfloat.o
|
||||||
|
CPPFLAGS.${f:C/\.o/.c/}+= -I${LIBCARCHDIR}/softfloat -I${LIBCDIR}/softfloat
|
||||||
|
CPPFLAGS.${f:C/\.o/.c/}+= -DSOFTFLOAT_FOR_GCC
|
||||||
|
${f}: ${LIBCDIR}/softfloat/bits${SOFTFLOAT_BITS}/${f:C/\.o/.c/}
|
||||||
|
OBJS+= ${f}
|
||||||
|
CLEANFILES+= ${f}
|
||||||
|
.endfor
|
||||||
|
|
||||||
|
.if defined(HAVE_GCC) && ${HAVE_GCC} >= 45
|
||||||
|
.if (${MACHINE_CPU} == "arm")
|
||||||
|
COPTS.softfloat.c+= -Wno-enum-compare -fno-tree-vrp
|
||||||
|
.endif
|
||||||
|
.endif
|
||||||
|
|
|
@ -27,7 +27,6 @@ LDADD+= -lminc
|
||||||
DPADD+= ${LIBMINC}
|
DPADD+= ${LIBMINC}
|
||||||
|
|
||||||
.if ${MACHINE_ARCH} == "earm"
|
.if ${MACHINE_ARCH} == "earm"
|
||||||
LDADD+= -lc_vfp
|
|
||||||
|
|
||||||
# LSC: On ARM, when compiling statically, with gcc, lgcc_eh is required
|
# LSC: On ARM, when compiling statically, with gcc, lgcc_eh is required
|
||||||
.if ${PROG:U} != "kernel" && !empty(CC:M*gcc)
|
.if ${PROG:U} != "kernel" && !empty(CC:M*gcc)
|
||||||
|
|
Loading…
Reference in a new issue