From 282445a10ebda592a0bb0e947725e1205b8436d3 Mon Sep 17 00:00:00 2001 From: Ties Stuij Date: Wed, 21 Apr 2021 13:48:03 +0100 Subject: [PATCH] fix some Arm FP routines not checking if floating point is enabled A lot of the Arm FP routines check for the availability of floating point by way of `(__ARM_FP & 0x4)`. However some do not. This patch remedies this. --- newlib/libm/machine/arm/sf_ceil.c | 2 +- newlib/libm/machine/arm/sf_floor.c | 2 +- newlib/libm/machine/arm/sf_nearbyint.c | 2 +- newlib/libm/machine/arm/sf_rint.c | 2 +- newlib/libm/machine/arm/sf_round.c | 2 +- newlib/libm/machine/arm/sf_trunc.c | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/newlib/libm/machine/arm/sf_ceil.c b/newlib/libm/machine/arm/sf_ceil.c index b6efbff0b..44fdf834a 100644 --- a/newlib/libm/machine/arm/sf_ceil.c +++ b/newlib/libm/machine/arm/sf_ceil.c @@ -24,7 +24,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#if __ARM_ARCH >= 8 && !defined (__SOFTFP__) +#if __ARM_ARCH >= 8 && (__ARM_FP & 0x4) && !defined (__SOFTFP__) #include float diff --git a/newlib/libm/machine/arm/sf_floor.c b/newlib/libm/machine/arm/sf_floor.c index 7bc95808c..44c38c42c 100644 --- a/newlib/libm/machine/arm/sf_floor.c +++ b/newlib/libm/machine/arm/sf_floor.c @@ -24,7 +24,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#if __ARM_ARCH >= 8 && !defined (__SOFTFP__) +#if __ARM_ARCH >= 8 && (__ARM_FP & 0x4) && !defined (__SOFTFP__) #include float diff --git a/newlib/libm/machine/arm/sf_nearbyint.c b/newlib/libm/machine/arm/sf_nearbyint.c index c70d84442..126673e97 100644 --- a/newlib/libm/machine/arm/sf_nearbyint.c +++ b/newlib/libm/machine/arm/sf_nearbyint.c @@ -24,7 +24,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#if __ARM_ARCH >= 8 && !defined (__SOFTFP__) +#if __ARM_ARCH >= 8 && (__ARM_FP & 0x4) && !defined (__SOFTFP__) #include float diff --git a/newlib/libm/machine/arm/sf_rint.c b/newlib/libm/machine/arm/sf_rint.c index d9c383a7e..5def21009 100644 --- a/newlib/libm/machine/arm/sf_rint.c +++ b/newlib/libm/machine/arm/sf_rint.c @@ -24,7 +24,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#if __ARM_ARCH >= 8 && !defined (__SOFTFP__) +#if __ARM_ARCH >= 8 && (__ARM_FP & 0x4) && !defined (__SOFTFP__) #include float diff --git a/newlib/libm/machine/arm/sf_round.c b/newlib/libm/machine/arm/sf_round.c index 232fc0848..88c53ba13 100644 --- a/newlib/libm/machine/arm/sf_round.c +++ b/newlib/libm/machine/arm/sf_round.c @@ -24,7 +24,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#if __ARM_ARCH >= 8 && !defined (__SOFTFP__) +#if __ARM_ARCH >= 8 && (__ARM_FP & 0x4) && !defined (__SOFTFP__) #include float diff --git a/newlib/libm/machine/arm/sf_trunc.c b/newlib/libm/machine/arm/sf_trunc.c index 64e4aeb9a..c08fa6fed 100644 --- a/newlib/libm/machine/arm/sf_trunc.c +++ b/newlib/libm/machine/arm/sf_trunc.c @@ -24,7 +24,7 @@ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#if __ARM_ARCH >= 8 && !defined (__SOFTFP__) +#if __ARM_ARCH >= 8 && (__ARM_FP & 0x4) && !defined (__SOFTFP__) #include float -- 2.43.5