aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2018-02-01 20:57:22 +0000
committerJoseph Myers <joseph@codesourcery.com>2018-02-01 20:57:22 +0000
commit8a6bb1d08686ae921601d00bdbcc76c96e5b92de (patch)
tree8b04fe3b8a82d910ce3b18109567e76fcec75f8d
parentae1fcb7b92c60ef7134bc8ea82d6089a6841a4b5 (diff)
downloadglibc-8a6bb1d08686ae921601d00bdbcc76c96e5b92de.tar
glibc-8a6bb1d08686ae921601d00bdbcc76c96e5b92de.tar.gz
glibc-8a6bb1d08686ae921601d00bdbcc76c96e5b92de.tar.bz2
glibc-8a6bb1d08686ae921601d00bdbcc76c96e5b92de.zip
Remove some math_private.h libc_fe* overrides.
math_private.h headers for configurations lacking support for floating-point exceptions and rounding modes define various libc_fe* macros to override the default versions with ones that discard any exception or rounding mode arguments. Three of the four macros defined in these headers are no longer needed there: those macros are only used in fma implementations that are not used for such configurations, now all those configurations properly use soft-fp fma implementations instead. (Effectively, those macros were a workaround to allow glibc to build in the absence of a proper fma implementation for this case - now there is such an implementation, there is no need to support building the wrong implementation for those configurations.) Thus, this patch removes the unnecessary macros. Tested with build-many-glibcs.py that installed stripped shared libraries are unchanged by the patch. * sysdeps/m68k/coldfire/nofpu/math_private.h (libc_fesetround): Remove macro. (libc_fetestexcept): Likewise. (libc_feupdateenv_test): Likewise. * sysdeps/microblaze/math_private.h (libc_fesetround): Likewise. (libc_fetestexcept): Likewise. (libc_feupdateenv_test): Likewise. * sysdeps/nios2/math_private.h (libc_fesetround): Likewise. (libc_fetestexcept): Likewise. (libc_feupdateenv_test): Likewise. * sysdeps/tile/math_private.h (libc_fesetround): Likewise. (libc_fetestexcept): Likewise. (libc_feupdateenv_test): Likewise.
-rw-r--r--ChangeLog14
-rw-r--r--sysdeps/m68k/coldfire/nofpu/math_private.h3
-rw-r--r--sysdeps/microblaze/math_private.h3
-rw-r--r--sysdeps/nios2/math_private.h3
-rw-r--r--sysdeps/tile/math_private.h3
5 files changed, 14 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index acfe380aae..bd52e877d7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
2018-02-01 Joseph Myers <joseph@codesourcery.com>
+ * sysdeps/m68k/coldfire/nofpu/math_private.h (libc_fesetround):
+ Remove macro.
+ (libc_fetestexcept): Likewise.
+ (libc_feupdateenv_test): Likewise.
+ * sysdeps/microblaze/math_private.h (libc_fesetround): Likewise.
+ (libc_fetestexcept): Likewise.
+ (libc_feupdateenv_test): Likewise.
+ * sysdeps/nios2/math_private.h (libc_fesetround): Likewise.
+ (libc_fetestexcept): Likewise.
+ (libc_feupdateenv_test): Likewise.
+ * sysdeps/tile/math_private.h (libc_fesetround): Likewise.
+ (libc_fetestexcept): Likewise.
+ (libc_feupdateenv_test): Likewise.
+
* sysdeps/generic/math_private.h
[!FE_HAVE_ROUNDING_MODES && FE_ALL_EXCEPT == 0] (feholdexcept):
New inline function.
diff --git a/sysdeps/m68k/coldfire/nofpu/math_private.h b/sysdeps/m68k/coldfire/nofpu/math_private.h
index 951f026eac..0694de971a 100644
--- a/sysdeps/m68k/coldfire/nofpu/math_private.h
+++ b/sysdeps/m68k/coldfire/nofpu/math_private.h
@@ -32,10 +32,7 @@
The overrides for libc_ functions must happen before we include
the generic math_private.h. */
-#define libc_fesetround(rnd) ({ 0; })
-#define libc_fetestexcept(exc) ({ 0; })
#define libc_feholdexcept_setround(env, exc) ({ (void) (env); 0; })
-#define libc_feupdateenv_test(env, exc) ({ (void) (env); 0; })
/* Enable __finitel, __isinfl, and __isnanl for binary compatibility
when built without long double support. */
diff --git a/sysdeps/microblaze/math_private.h b/sysdeps/microblaze/math_private.h
index 1a2c521c07..1d70d05b81 100644
--- a/sysdeps/microblaze/math_private.h
+++ b/sysdeps/microblaze/math_private.h
@@ -19,10 +19,7 @@
The overrides for libc_ functions must happen before we include
the generic math_private.h. */
-#define libc_fesetround(rnd) ({ 0; })
-#define libc_fetestexcept(exc) ({ 0; })
#define libc_feholdexcept_setround(env, exc) ({ (void) (env); 0; })
-#define libc_feupdateenv_test(env, exc) ({ (void) (env); 0; })
/* Enable __finitel, __isinfl, and __isnanl for binary compatibility
when built without long double support. */
diff --git a/sysdeps/nios2/math_private.h b/sysdeps/nios2/math_private.h
index 25140416a8..9c734fab58 100644
--- a/sysdeps/nios2/math_private.h
+++ b/sysdeps/nios2/math_private.h
@@ -18,10 +18,7 @@
The overrides for libc_ functions must happen before we include
the generic math_private.h. */
-#define libc_fesetround(rnd) ({ 0; })
-#define libc_fetestexcept(exc) ({ 0; })
#define libc_feholdexcept_setround(env, exc) ({ (void) (env); 0; })
-#define libc_feupdateenv_test(env, exc) ({ (void) (env); 0; })
/* Enable __finitel, __isinfl, and __isnanl for binary compatibility
when built without long double support. */
diff --git a/sysdeps/tile/math_private.h b/sysdeps/tile/math_private.h
index 32b549ff4e..09c720469e 100644
--- a/sysdeps/tile/math_private.h
+++ b/sysdeps/tile/math_private.h
@@ -17,10 +17,7 @@
The overrides for libc_ functions must happen before we include
the generic math_private.h. */
-#define libc_fesetround(rnd) ({ 0; })
-#define libc_fetestexcept(exc) ({ 0; })
#define libc_feholdexcept_setround(env, exc) ({ (void) (env); 0; })
-#define libc_feupdateenv_test(env, exc) ({ (void) (env); 0; })
#include_next <math_private.h>