about summary refs log tree commit diff
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.gz
glibc-8a6bb1d08686ae921601d00bdbcc76c96e5b92de.tar.xz
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>