= Proposed System Wide Change: New 128-bit IEEE long double ABI for IBM 64-bit POWER LE = https://fedoraproject.org/wiki/Changes/PPC64LE_Float128_Transition
Owner(s): * Carlos O'Donell <carlos at redhat dot com>
Transition IBM 64-bit POWER LE systems to the new 128-bit IEEE long double ABI.
== 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 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).
== 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.28 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. Ensure gdb can handle the new types.
* Other developers: Developers need to ensure that rawhide is stable and ready for the Fedora 29 branch.
* Release engineering: A mass rebuild request has been filed for the parent system-wide change to upgrade glibc to 2.28 #7475 [https://pagure.io/releng/issue/7475] ** List of deliverables [https://fedoraproject.org/wiki/Fedora_Program_Management/ReleaseBlocking/Fed...]:
* Policies and guidelines: The policies and guidelines do not need to be updated.
* Trademark approval: Not needed for this change
devel-announce@lists.fedoraproject.org