Sebastian Huber writes: > The previous fenv support for ARM used the soft-float implementation of > FreeBSD. Newlib uses the one from libgcc by default. They are not > compatible. Having an GCC incompatible soft-float fenv support in > Newlib makes no sense. A long-term solution could be to provide a > libgcc compatible soft-float support. This likely requires changes in > the GCC configuration. For now, provide a stub implementation for > soft-float multilibs similar to RISC-V. Thanks for cleaning this up. One thing I think we're still missing is the setting of math_errhandling. That value is currently set to MATH_ERRNO in math.h, which indicates that the underlying system will set errno, but that it won't raise any exceptions. I think we should figure out when exceptions will be raised and set math_errhandling to match. That can be decided at compile time -- platforms with HW floats and exception support should make math_errhandling include MATH_ERREXCEPT. This does leave me a bit confused about how this should work on a processor with HW float and SW double support though. In that case, operations involving single-precision arithmetic may offer exceptions and rounding mode support while double-precision operations will not. The C99 spec doesn't appear to have any guidance for this case, which means we need to come up with some kind of answer. -- -keith