newlib-cygwin/newlib/libm/ld
Craig Blackmore 73bce6597c newlib: Fix long double for unsupported rounding modes and exceptions
RISC-V newlib fails to build for soft float multilibs since long double
support was enabled in:

  commit 04798b7bb6
  Author: Kito Cheng <kito.cheng@sifive.com>
  Date:   Mon Dec 4 15:41:39 2023 +0800

      RISC-V: Support long double math

      Long double for RISC-V is using 128 bit IEEE 754 format like Aarch64,
      so we reference AArch64 to support that.

The RISC-V soft floating point environment only supports the
FE_TONEAREST rounding mode and does not support exceptions.  Guard long
double rounding and exception support with ifdefs based on the presence
of the relevant rounding modes and exceptions.

Tested on gcc/g++ testsuite using RISC-V GNU Newlib Toolchain built by
riscv-gnu-toolchain with multilibs:

    riscv-sim/-march=rv32i/-mabi=ilp32/-mcmodel=medlow
    riscv-sim/-march=rv32iac/-mabi=ilp32/-mcmodel=medlow
    riscv-sim/-march=rv32im/-mabi=ilp32/-mcmodel=medlow
    riscv-sim/-march=rv32imac/-mabi=ilp32/-mcmodel=medlow
    riscv-sim/-march=rv32imafc/-mabi=ilp32f/-mcmodel=medlow
    riscv-sim/-march=rv64imac/-mabi=lp64/-mcmodel=medlow

Co-authored-by: Simon Cook <simon.cook@embecosm.com>
2023-12-20 16:54:22 -05:00
..
Makefile.inc
e_acoshl.c
e_acosl.c
e_asinl.c
e_atan2l.c
e_atanhl.c
e_coshl.c
e_fmodl.c
e_lgammal.c
e_remainderl.c
e_sinhl.c
fdiml.c
fpmath.h
invtrig.h
k_expl.h
math_private.h
s_asinhl.c
s_atanl.c
s_cbrtl.c
s_ceill.c
s_copysignl.c
s_cosl.c
s_fabsl.c
s_floorl.c
s_fmal.c newlib: Fix long double for unsupported rounding modes and exceptions 2023-12-20 16:54:22 -05:00
s_fmaxl.c
s_fminl.c
s_frexpl.c
s_ilogbl.c
s_llrintl.c
s_llroundl.c
s_logbl.c
s_lrint.c newlib: Fix long double for unsupported rounding modes and exceptions 2023-12-20 16:54:22 -05:00
s_lrintl.c
s_lround.c newlib: Fix long double for unsupported rounding modes and exceptions 2023-12-20 16:54:22 -05:00
s_lroundl.c
s_modfl.c
s_nearbyintl.c
s_nextafterl.c
s_nexttoward.c
s_nexttowardf.c
s_remquol.c
s_rintl.c
s_roundl.c
s_scalbnl.c
s_sinl.c
s_tanhl.c
s_tanl.c
s_truncl.c
scalblnl.c