From 8a6bb1d08686ae921601d00bdbcc76c96e5b92de Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Thu, 1 Feb 2018 20:57:22 +0000 Subject: [PATCH] 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. --- ChangeLog | 14 ++++++++++++++ sysdeps/m68k/coldfire/nofpu/math_private.h | 3 --- sysdeps/microblaze/math_private.h | 3 --- sysdeps/nios2/math_private.h | 3 --- sysdeps/tile/math_private.h | 3 --- 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 + * 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 -- 2.43.5