[gcc(refs/users/meissner/heads/pr97543)] Undo patches.
Michael Meissner
meissner@gcc.gnu.org
Tue Oct 27 15:58:46 GMT 2020
https://gcc.gnu.org/g:28e7fb0794d66e56171e4b7cce7d5042984ecbdb
commit 28e7fb0794d66e56171e4b7cce7d5042984ecbdb
Author: Michael Meissner <meissner@linux.ibm.com>
Date: Tue Oct 27 11:58:02 2020 -0400
Undo patches.
gcc/
2020-10-27 Michael Meissner <meissner@linux.ibm.com>
Undo:
PR libgcc/97543
* config.gcc (powerpc*-*-*, rs6000*-*-*): Add support for
--with-long-double=64.
* config/rs6000/linux.h (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Allow
configure option --with-long-double=64 to work.
* config/rs6000/linux64.h (RS6000_DEFAULT_LONG_DOUBLE_SIZE): Allow
configure option --with-long-double=64 to work.
* doc/invoke.texi (--with-long-double=): Update documentation.
libgcc/
2020-10-27 Michael Meissner <meissner@linux.ibm.com>
Undo:
PR libgcc/97543
* config/rs6000/t-linux (HOST_LIBGCC2_CFLAGS): Don't set
-mlong-double-128 for all modules. Instead set
-mno-gnu-attributes.
(IBM128_OBJS): New make variable for long double support.
(IBM128_S_OBJS): New make variable for long double support.
(IBM128_ALL_OBJS): New make variable for long double support.
(IBM128_CFLAGS): New make variable for long double support.
Diff:
---
gcc/config.gcc | 8 --------
gcc/config/rs6000/linux.h | 3 +--
gcc/config/rs6000/linux64.h | 3 +--
gcc/doc/install.texi | 15 ++++++++-------
libgcc/config/rs6000/t-linux | 18 +-----------------
5 files changed, 11 insertions(+), 36 deletions(-)
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 8bb28a9ace2..411200dff91 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -5024,14 +5024,6 @@ case "${target}" in
fi
fi
- # Set up the default long double size if the user changed it.
- if test x$with_long_double = x64; then
- tm_defines="${tm_defines} RS6000_DEFAULT_LONG_DOUBLE_SIZE=64"
-
- elif test x$with_long_double = x128; then
- tm_defines="${tm_defines} RS6000_DEFAULT_LONG_DOUBLE_SIZE=128"
- fi
-
# Set up the default long double format if the user changed it.
if test x$with_long_double_format = xieee; then
tm_defines="${tm_defines} TARGET_IEEEQUAD_DEFAULT=1"
diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
index 6e87167f504..b7026fcbee7 100644
--- a/gcc/config/rs6000/linux.h
+++ b/gcc/config/rs6000/linux.h
@@ -126,8 +126,7 @@
#define POWERPC_LINUX
/* ppc linux has 128-bit long double support in glibc 2.4 and later. */
-#if defined(TARGET_DEFAULT_LONG_DOUBLE_128) \
- && !defined(RS6000_DEFAULT_LONG_DOUBLE_SIZE)
+#ifdef TARGET_DEFAULT_LONG_DOUBLE_128
#define RS6000_DEFAULT_LONG_DOUBLE_SIZE 128
#endif
diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
index 358d60404a6..73b6c01874c 100644
--- a/gcc/config/rs6000/linux64.h
+++ b/gcc/config/rs6000/linux64.h
@@ -529,8 +529,7 @@ extern int dot_symbols;
#define POWERPC_LINUX
/* ppc{32,64} linux has 128-bit long double support in glibc 2.4 and later. */
-#if defined(TARGET_DEFAULT_LONG_DOUBLE_128) \
- && !defined(RS6000_DEFAULT_LONG_DOUBLE_SIZE)
+#ifdef TARGET_DEFAULT_LONG_DOUBLE_128
#define RS6000_DEFAULT_LONG_DOUBLE_SIZE 128
#endif
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 8991caa917e..5330bf3bb29 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -1978,12 +1978,13 @@ This option is enabled by default for some targets (such as MIPS) which
have hardware-support for fixed-point operations. On other targets, you
may enable this option manually.
-@item --with-long-double=64
-@itemx --with-long-double=128
-Specify whether @code{long double} should be 64-bit by default or
-128-bit by default. When neither of these configure options are used,
-the default will be 128-bit @code{long double} when built against GNU
-C Library 2.4 and later, 64-bit @code{long double} otherwise.
+@item --with-long-double-128
+Specify if @code{long double} type should be 128-bit by default on selected
+GNU/Linux architectures. If using @code{--without-long-double-128},
+@code{long double} will be by default 64-bit, the same as @code{double} type.
+When neither of these configure options are used, the default will be
+128-bit @code{long double} when built against GNU C Library 2.4 and later,
+64-bit @code{long double} otherwise.
@item --with-long-double-format=ibm
@itemx --with-long-double-format=ieee
@@ -1994,7 +1995,7 @@ Linux systems and on big endian 64-bit systems where the default cpu
is at least power7 (i.e.@: @option{--with-cpu=power7},
@option{--with-cpu=power8}, or @option{--with-cpu=power9} is used).
-If you use the @option{--with-long-double=64} configuration option,
+If you use the @option{--with-long-double-64} configuration option,
the @option{--with-long-double-format=ibm} and
@option{--with-long-double-format=ieee} options are ignored.
diff --git a/libgcc/config/rs6000/t-linux b/libgcc/config/rs6000/t-linux
index b2a079c6b54..ed821947b66 100644
--- a/libgcc/config/rs6000/t-linux
+++ b/libgcc/config/rs6000/t-linux
@@ -1,22 +1,6 @@
SHLIB_MAPFILES += $(srcdir)/config/rs6000/libgcc-glibc.ver
-# On the modules that deal with IBM 128-bit values, we need to make sure that
-# TFmode uses the IBM extended double format.
-IBM128_OBJS = ibm-ldouble$(objext) _powitf2$(objext) ppc64-fp$(objext) \
- _divtc3$(object) _multc3$(object) \
- _fixtfdi$(object) _fixunstfdi$(object) \
- _floatditf$(objext) _floatunsditf$(objext)
-
-IBM128_S_OBJS = $(patsubst %$(objext),%_s$(objext),$(IBM128_OBJS))
-IBM128_ALL_OBJS = $(IBM128_OBJS) $(IBM128_S_OBJS)
-
-IBM128_CFLAGS = -mlong-double-128 -Wno-psabi -mabi=ibmlongdouble
-
-$(IBM128_ALL_OBJS) : INTERNAL_CFLAGS += $(IBM128_CFLAGS)
-
-# Turn off gnu attributes for the whole library. This allows us to build
-# libgcc that supports the different long double formats.
-HOST_LIBGCC2_CFLAGS += -mno-gnu-attribute
+HOST_LIBGCC2_CFLAGS += -mlong-double-128
# This is a way of selecting -mcmodel=small for ppc64, which gives
# smaller and faster libgcc code. Directly specifying -mcmodel=small
More information about the Gcc-cvs
mailing list