[PATCH 0/2] libm: Changes to errno and math_errhandling
Keith Packard via Newlib <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
Here are a couple of related patches that adjust errno and exception configuration stuff. The first patch makes libm/common use the same configuration value as libm/math to decide whether to set errno when exceptions occur. With that, users of libm/math get consistent errno reporting across the whole math library when using the normal API. When errno is enabled, calls to some __ieee754 symbols may end up setting errno still. The second patch sets the math_errhandling value based on library and hardware configuration so that applications can tell whether exceptions and errno are supported. This requires configuration on a per-target basis in machine/ieeefp.h; I've added configuration for arm, aarch64, x86, x86_64 and RISC-V. I think this could be automated. Reporting on whether exceptions are supported suffers from inconsistent exception support for hardware that uses a mixture of hardware and software for floating point operations. I haven't found any standards-conformant mechanism to use though.