riscv: Fix fenv.h support

Message ID 20231012100602.48059-1-sebastian.huber@embedded-brains.de
State New
Headers
Series riscv: Fix fenv.h support |

Commit Message

Sebastian Huber Oct. 12, 2023, 10:06 a.m. UTC
  Use the same C preprocessor expressions to define FE_RMODE_MASK and
__RISCV_HARD_FLOAT.

The problem was noticed on GCC 10 which does not define __riscv_f.
---
 newlib/libc/machine/riscv/sys/fenv.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Kito Cheng Oct. 12, 2023, 2:36 p.m. UTC | #1
LGTM, I didn't notice that backwards compatible issue, thanks for fixing
that :)

Sebastian Huber <sebastian.huber@embedded-brains.de> 於 2023年10月12日 週四 03:06
寫道:

> Use the same C preprocessor expressions to define FE_RMODE_MASK and
> __RISCV_HARD_FLOAT.
>
> The problem was noticed on GCC 10 which does not define __riscv_f.
> ---
>  newlib/libc/machine/riscv/sys/fenv.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/newlib/libc/machine/riscv/sys/fenv.h
> b/newlib/libc/machine/riscv/sys/fenv.h
> index 1d577d527b..98387d2205 100644
> --- a/newlib/libc/machine/riscv/sys/fenv.h
> +++ b/newlib/libc/machine/riscv/sys/fenv.h
> @@ -14,7 +14,7 @@
>
>  #include <stddef.h>
>
> -#if defined(__riscv_f) || defined(__riscv_zfinx)
> +#if defined(__riscv_flen) || defined(__riscv_zfinx)
>
>  /* Per "The RISC-V Instruction Set Manual: Volume I: User-Level ISA:
>   * Version 2.1", Section 8.2, "Floating-Point Control and Status
> --
> 2.35.3
>
>
  
Jeff Johnston Oct. 12, 2023, 3:07 p.m. UTC | #2
Feel free to merge.  The file already mentions __riscv_flen in the #else
clause.

-- Jeff J.

On Thu, Oct 12, 2023 at 6:06 AM Sebastian Huber <
sebastian.huber@embedded-brains.de> wrote:

> Use the same C preprocessor expressions to define FE_RMODE_MASK and
> __RISCV_HARD_FLOAT.
>
> The problem was noticed on GCC 10 which does not define __riscv_f.
> ---
>  newlib/libc/machine/riscv/sys/fenv.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/newlib/libc/machine/riscv/sys/fenv.h
> b/newlib/libc/machine/riscv/sys/fenv.h
> index 1d577d527b..98387d2205 100644
> --- a/newlib/libc/machine/riscv/sys/fenv.h
> +++ b/newlib/libc/machine/riscv/sys/fenv.h
> @@ -14,7 +14,7 @@
>
>  #include <stddef.h>
>
> -#if defined(__riscv_f) || defined(__riscv_zfinx)
> +#if defined(__riscv_flen) || defined(__riscv_zfinx)
>
>  /* Per "The RISC-V Instruction Set Manual: Volume I: User-Level ISA:
>   * Version 2.1", Section 8.2, "Floating-Point Control and Status
> --
> 2.35.3
>
>
  

Patch

diff --git a/newlib/libc/machine/riscv/sys/fenv.h b/newlib/libc/machine/riscv/sys/fenv.h
index 1d577d527b..98387d2205 100644
--- a/newlib/libc/machine/riscv/sys/fenv.h
+++ b/newlib/libc/machine/riscv/sys/fenv.h
@@ -14,7 +14,7 @@ 
 
 #include <stddef.h>
 
-#if defined(__riscv_f) || defined(__riscv_zfinx)
+#if defined(__riscv_flen) || defined(__riscv_zfinx)
 
 /* Per "The RISC-V Instruction Set Manual: Volume I: User-Level ISA:
  * Version 2.1", Section 8.2, "Floating-Point Control and Status