public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
* Remove unused floating-point configuration from gmp-impl.h
@ 2020-04-28 14:42 Joseph Myers
  2020-04-28 14:44 ` Florian Weimer
  0 siblings, 1 reply; 2+ messages in thread
From: Joseph Myers @ 2020-04-28 14:42 UTC (permalink / raw)
  To: libc-alpha

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.

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

-- 
Joseph S. Myers
joseph@codesourcery.com

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Remove unused floating-point configuration from gmp-impl.h
  2020-04-28 14:42 Remove unused floating-point configuration from gmp-impl.h Joseph Myers
@ 2020-04-28 14:44 ` Florian Weimer
  0 siblings, 0 replies; 2+ messages in thread
From: Florian Weimer @ 2020-04-28 14:44 UTC (permalink / raw)
  To: Joseph Myers; +Cc: libc-alpha

* 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.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-04-28 14:44 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-28 14:42 Remove unused floating-point configuration from gmp-impl.h Joseph Myers
2020-04-28 14:44 ` Florian Weimer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).