[Bug d/106832] New: Missing powerpc64le-linux support for D

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Sep 5 07:33:11 GMT 2022


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

            Bug ID: 106832
           Summary: Missing powerpc64le-linux support for D
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: d
          Assignee: ibuclaw at gdcproject dot org
          Reporter: jakub at gcc dot gnu.org
  Target Milestone: ---

When GCC is configured on powerpc64le-linux against glibc 2.26 or later (but in
theory also on older glibcs through libquadmath), there is full support for
IEEE 754 quad (on power8 in software, on power9 through hw support), so I don't
see why D shouldn't be supported in that case.
The current state is that for C/C++ and glibc 2.32 or later (at compile time,
not at GCC configure time) gcc supports both __ibm128 and __ieee128 types and
either of them can be made long double through -mabi=ibmlongdouble or
-mabi=ieeelongdouble switches, default selected at gcc configure time, same
libstdc++.so.6 supports both.
For Fortran (this one is GCC 12 and later only), real(kind=16) can be either
of the IBM extended format (non-IEEE) and IEEE 754 quad, again through
-mabi=ibmlongdouble or -mabi=ieeelongdouble and default selected at gcc
configure time.
On the glibc side, glibc 2.26 adds support for _Float128 (*f128 APIs),
strfromf128 isn't 100% printf replacement but good enough to implement e.g.
what libgfortran needs for IO with a wrapper.
glibc 2.32 adds alternate long double powerpc64le support through __*ieee128
APIs, this one is with full printf replacement.
And libquadmath can be used for older glibcs (*q APIs) as fallback.


More information about the Gcc-bugs mailing list