[PATCH 1/2] libm/common: Set WANT_ERRNO based on _IEEE_LIBM value

Keith Packard keithp@keithp.com
Mon Aug 3 17:55:03 GMT 2020


_IEEE_LIBM is the configuration value which controls whether the
original libm functions modify errno. Use that in the new math code as
well so that the resulting library is internally consistent.

Signed-off-by: Keith Packard <keithp@keithp.com>
---
 newlib/libm/common/math_config.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/newlib/libm/common/math_config.h b/newlib/libm/common/math_config.h
index 1a2d0f639..3be7e6320 100644
--- a/newlib/libm/common/math_config.h
+++ b/newlib/libm/common/math_config.h
@@ -36,7 +36,9 @@
 /* Correct special case results in non-nearest rounding modes.  */
 # define WANT_ROUNDING 1
 #endif
-#ifndef WANT_ERRNO
+#ifdef _IEEE_LIBM
+# define WANT_ERRNO 0
+#else
 /* Set errno according to ISO C with (math_errhandling & MATH_ERRNO) != 0.  */
 # define WANT_ERRNO 1
 #endif
-- 
2.28.0



More information about the Newlib mailing list