diff mbox series

Remove unused floating-point configuration from gmp-impl.h

Message ID alpine.DEB.2.21.2004281441420.21260@digraph.polyomino.org.uk
State New
Headers show
Series Remove unused floating-point configuration from gmp-impl.h | expand

Commit Message

Joseph Myers April 28, 2020, 2:42 p.m. UTC
This patch removes the IEEE_DOUBLE_BIG_ENDIAN and
IEEE_DOUBLE_MIXED_ENDIAN macros from gmp-impl.h and gmp-mparam.h, and
the ieee_double_extract union from gmp-impl.h.  The macros were used
only in defining the union, which was used nowhere in glibc.  As GMP's
gmp-impl.h is over 5000 lines, the file in glibc is so far from the
GMP version that it doesn't seem to make sense to keep things there
that are not relevant in glibc.  (I expect there is plenty more in the
header after this patch that is also not relevant in glibc and can be
cleaned up later.)

Tested with build-many-glibcs.py that installed stripped shared
libraries are unchanged by this patch.

Comments

Florian Weimer April 28, 2020, 2:44 p.m. UTC | #1
* Joseph Myers:

> This patch removes the IEEE_DOUBLE_BIG_ENDIAN and
> IEEE_DOUBLE_MIXED_ENDIAN macros from gmp-impl.h and gmp-mparam.h, and
> the ieee_double_extract union from gmp-impl.h.  The macros were used
> only in defining the union, which was used nowhere in glibc.  As GMP's
> gmp-impl.h is over 5000 lines, the file in glibc is so far from the
> GMP version that it doesn't seem to make sense to keep things there
> that are not relevant in glibc.  (I expect there is plenty more in the
> header after this patch that is also not relevant in glibc and can be
> cleaned up later.)
>
> Tested with build-many-glibcs.py that installed stripped shared
> libraries are unchanged by this patch.

Thanks.  This looks okay to me.
diff mbox series

Patch

diff --git a/stdlib/gmp-impl.h b/stdlib/gmp-impl.h
index 25193e6726..0c6aa30a30 100644
--- a/stdlib/gmp-impl.h
+++ b/stdlib/gmp-impl.h
@@ -319,53 +319,3 @@  extern void impn_sqr_n_basecase _PROTO ((mp_ptr prodp, mp_srcptr up,
 extern void impn_sqr_n _PROTO ((mp_ptr prodp, mp_srcptr up, mp_size_t size,
 				mp_ptr tspace))
      attribute_hidden;
-
-
-
-#ifndef IEEE_DOUBLE_BIG_ENDIAN
-#define IEEE_DOUBLE_BIG_ENDIAN 1
-#endif
-
-#ifndef IEEE_DOUBLE_MIXED_ENDIAN
-#define IEEE_DOUBLE_MIXED_ENDIAN 0
-#endif
-
-#if IEEE_DOUBLE_MIXED_ENDIAN
-union ieee_double_extract
-{
-  struct
-    {
-      unsigned int manh:20;
-      unsigned int exp:11;
-      unsigned int sig:1;
-      unsigned int manl:32;
-    } s;
-  double d;
-};
-#else
-#if IEEE_DOUBLE_BIG_ENDIAN
-union ieee_double_extract
-{
-  struct
-    {
-      unsigned int sig:1;
-      unsigned int exp:11;
-      unsigned int manh:20;
-      unsigned int manl:32;
-    } s;
-  double d;
-};
-#else
-union ieee_double_extract
-{
-  struct
-    {
-      unsigned int manl:32;
-      unsigned int manh:20;
-      unsigned int exp:11;
-      unsigned int sig:1;
-    } s;
-  double d;
-};
-#endif
-#endif
diff --git a/sysdeps/x86_64/x32/gmp-mparam.h b/sysdeps/x86_64/x32/gmp-mparam.h
index f2d9782eb1..b0804d4f86 100644
--- a/sysdeps/x86_64/x32/gmp-mparam.h
+++ b/sysdeps/x86_64/x32/gmp-mparam.h
@@ -29,5 +29,3 @@  along with the GNU MP Library; see the file COPYING.LIB.  If not, see
 #define BITS_PER_INT 32
 #define BITS_PER_SHORTINT 16
 #define BITS_PER_CHAR 8
-
-#define IEEE_DOUBLE_BIG_ENDIAN 0