From a92579cfb90894ba1e3fda67fc9856d3c68b5d42 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Tue, 28 Jan 2020 19:07:37 +0000 Subject: [PATCH] Add internal floating point environment builtins to libcompiler_rt and libgcc, as these are used in a few other builtin implementations. --- lib/libcompiler_rt/Makefile.inc | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/libcompiler_rt/Makefile.inc b/lib/libcompiler_rt/Makefile.inc index 248f182cee57..dcacce3e2619 100644 --- a/lib/libcompiler_rt/Makefile.inc +++ b/lib/libcompiler_rt/Makefile.inc @@ -143,6 +143,14 @@ SRCF+= floatundixf SRCF+= cpu_model .endif +# The fp_mode implementation for amd64 and i386 is shared, while other +# architectures use the regular approach. +.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" +SRCS+= i386/fp_mode.c +.else +SRCF+= fp_mode +.endif + # # 128-bit quad precision long double support, # only used on some architectures. @@ -205,14 +213,12 @@ CFLAGS+= -DEMIT_SYNC_ATOMICS SRCF+= stdatomic .endif - .if "${COMPILER_TYPE}" == "clang" && \ (${MACHINE_ARCH} == "powerpc" || ${MACHINE_ARCH} == "powerpcspe") SRCS+= atomic.c CFLAGS.atomic.c+= -Wno-atomic-alignment .endif - .for file in ${SRCF} .if ${MACHINE_ARCH:Marmv[67]*} && (!defined(CPUTYPE) || ${CPUTYPE:M*soft*} == "") \ && exists(${CRTSRC}/${CRTARCH}/${file}vfp.S)