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/

Reply via email to