[PATCH] bootstrap/69611

Andreas Tobler andreast-list@fgznet.ch
Wed Feb 3 21:41:00 GMT 2016

Hi all,

this patch fixes bootstrap on FreeBSD PowerPC and hopefully all other 
PowerPC targets which do not have float128 support.

The patch itself is a bandaid to survive stage4. We have to come up with 
a better solution for FreeBSD and all other soft float targets which do 
not support float128.

The patch was tested by Michael Meissner on different POWER machines.

Ok to commit to trunk?


2016-02-03  Andreas Tobler  <andreast@gcc.gnu.org>

	PR bootstrap/69611
	* config/rs6000/sfp-machine.h: Guard __sfp_exceptions with
	__FLOAT128__ to compile only for __float128 capable targets.

Index: config/rs6000/sfp-machine.h
--- config/rs6000/sfp-machine.h	(revision 233109)
+++ config/rs6000/sfp-machine.h	(working copy)
@@ -110,7 +110,7 @@
     floating point on pre-ISA 3.0 machines without the IEEE 128-bit 
     point support.  */

-#ifndef __NO_FPRS__
+#ifdef __FLOAT128__
  #define ISA_BIT(x) (1LL << (63 - x))

  /* Use the same bits of the FPSCR.  */
@@ -151,7 +151,7 @@
    } while (0)

  # define FP_ROUNDMODE	(_fpscr & FP_RND_MASK)
-#endif	/* !__NO_FPRS__ */
+#endif	/* !__FLOAT128__ */

  /* Define ALIASNAME as a strong alias for NAME.  */
  # define strong_alias(name, aliasname) _strong_alias(name, aliasname)

More information about the Gcc-patches mailing list