Re: [PATCH] fix some Arm FP routines not checking if floating point is enabled

Richard Earnshaw <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
Pushed.

R.

On 21/04/2021 13:48, Ties Stuij wrote:
> 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 <math.h>
>   
>   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 <math.h>
>   
>   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 <math.h>
>   
>   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 <math.h>
>   
>   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 <math.h>
>   
>   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 <math.h>
>   
>   float
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.