On Wed, 22 Aug 2018 at 17:18, Ben Cotton <bcot...@redhat.com> wrote: > https://fedoraproject.org/wiki/Changes/PPC64LE_Float128_Transition > > == Summary == > Transition IBM 64-bit POWER LE systems to the new 128-bit IEEE long double > ABI. > > == Owner == > * Name: Carlos O'Donell (codonell) > * Email: car...@redhat.com > > == Detailed Description == > IBM has designed a new long double ABI that adheres to the 128-bit > IEEE format. This format is more standard than the existing AIX > double-double or IBM long double (2 grouped 64-bit doubles) which has > discontinuous mantissas and is difficult for developers to use. In > Fedora 29 the plan is to switch to the new ABI for long double, while >
In Fedora 29 or Fedora 30? > still supporting old applications via compatibility symbols. Newly > compiled applications use either the old or new ABI but not a mix of > both. Changes are required in the core C libraries, and the compiler > and the compiler runtimes including the C++ standard libraries. > Therefore there is coordination required across the core toolchain > componenents e.g. gcc, binutils, glibc, gdb (to debug the new types). > > == Benefit to Fedora == > Fedora developers will be using a standard 128-bit IEEE format for > long double instead of the non-standard double-double AIX format which > has a discontinuous mantissa and multiple representations for the same > value. > > == Scope == > The change is relatively limited in that not many packages use the > long double floating point ABI. The double floating point ABI is much > more used, but not long double. It is estimated that few packages use > long double directly, and those packages will need to be rebuilt in > order to use the new ABI. This rebuilding can be targetted by > analyzing which packages have long double usage in their debug > information and rebuilding just those packages. However, we plan to > just use the existing mass rebuild for glibc 2.29 to handle this > issue. > > * Proposal owners: Transition glibc to float128 format for long double > for IBM ppc64le. Transition gcc to the default for long double. > Implement support for the new <code>long double</code> format in > libstdc++. Ensure gdb can handle the new types. > * Other developers: Developers need to ensure that rawhide is stable > and ready for the Fedora 30 branch. > * Release engineering: A mass rebuild request has been filed for the > parent system-wide change to upgrade glibc to > 2.29<br>[https://pagure.io/releng/issue/7475 #7475] > * Policies and guidelines: The policies and guidelines do not need to > be updated. > * Trademark approval: Not needed for this change > > == Upgrade/compatibility impact == > The library and language runtimes are backwards compatible with the > version shipped in Fedora. > > We fully expect to fix all packaging changes in Fedora Rawhide first > when everything is ready. > > == How To Test == > The GNU C Library has its own testsuite, which is run during the > package build and examined by the glibc developers before being > uploaded. This test suite has 2500+ tests that run to verify the > correct operation of the library. In the future we'll also be running > the microbenchmark to look for performance regressions as well as > behavioural ones. > > Specific testing for 128-bit IEEE long double ABI will be carried out > by the glibc testsuite. Integration smoke testing will be carried out > by the glibc developers to make sure new applications are built with > the correct defaults and work as expected. > > Specific testing for 128-bit IEEE long double ABI will be carried out > by the gcc testsuite. > > Specific smoke testing will be carried out using gdb to read and write > the new types. > > == User Experience == > Users will see a new 128-bit floating point ABI, but this will largely > be transparent to them. On POWER hardware that supports 128-bit long > double in hardware the compiler will use the hardware transparently to > accelerate floating point operations, otherwise software floating > point emulation will be used. > > == Dependencies == > This change requires coordination of glibc and gcc to change the > compiler defaults and build the compiler language runtimes correctly. > Also gdb must be able to support the new type to make the process of > transition seamless. > > == Contingency Plan == > * Contingency mechanism: Ship glibc 2.28 instead of glibc 2.29, or > ship glibc 2.29 without this feature if it is not ready. > > * Contingency deadline: Final mass rebuild before Fedora release. > * Blocks release? Upgrading glibc does block the release. We should > not ship without the float128 ABI change. > > == Documentation == > The glibc/gcc manual contain the documentation for the release and > don't need any more additional work. > > == Release Notes == > * The ppc64le architecture changed the format of the <code>long > double</code> type to binary128. (Previously, a pair of two doubles > was used.) > > -- > Ben Cotton > Fedora Program Manager > TZ=America/Indiana/Indianapolis > -- Elliott
_______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/4S64DTNM6HSKU5G6WQMGE23J7XDATU4X/