[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