This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/69611] New: Bootstrap broken on PowerPC FreeBSD, IEEE 128-bit floating point support.


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69611

            Bug ID: 69611
           Summary: Bootstrap broken on PowerPC FreeBSD, IEEE 128-bit
                    floating point support.
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: bootstrap
          Assignee: unassigned at gcc dot gnu.org
          Reporter: andreast at gcc dot gnu.org
  Target Milestone: ---

PowerPC FreeBSD does not support 128-bit floating point yet.

Bootstrap on this target is broken because of undefined references to
__sfp_handle_exceptions.

We build gcc with softfp for our 32-bit embedded targets.
Now the the sfp-machine.h is included even in the non 128-bit t-float128 case.
The definition of the __sfp_handle_exceptions is done in the mentioned header
file while the implementation is done in the sfp-exceptions.c which is only
built when 128-bit float is supported.

To fix this issue we propose to guard the affected region in sfp-machine.h with
this:

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

-#ifndef __NO_FPRS__
+#if defined(__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__ */

I discussed this with Michael Meissner on #irc. He agrees on this approach.
I'm running a bootstrap and will provide test results from FreeBSD PowerPC
asap.

I'd appreciate a testrun on a GNU/Linux target. I do not have such a setup yet.

TIA,
Andreas

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]