powerpc64*: use --with-long-double-format=ieee#170215
Merged
Conversation
This comment was marked as outdated.
This comment was marked as outdated.
9 tasks
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
1 similar comment
This comment was marked as resolved.
This comment was marked as resolved.
This patch adds gnulib-longdouble-redirect.patch, which is a subset of gnulib commit 776af40e09b476a41073131a90022572f448c189. This patch must be applied to the copy of gnulib which is vendored within a few packages, when compiling for platforms that use longdouble-redirection (a glibc-specific feature). Without it, compile failures mentioning "__LDBL_REDIR1_DECL" will occur. Currently there are two packages which need this patch to their vendored gnulib: gettext and gnused. Both projects have merged a fixed version of gnulib but have not yet made a release with the fix. We can drop this patch as soon as both of those projects are version-bumped.
Co-authored-by: Sandro <[email protected]>
Co-authored-by: Sandro <[email protected]>
This commit bumps libpipeline and drops the gnulib patch since the vendored copy of gnulib has been updated. I avoided squashing this commit into the previous one since knowing how to patch libpipeline 1.5.4 without upgrading might be useful (for example, in a git bisect or cherry-pick).
Use IEEE-standard floating point on `powerpc64le` instead of IBM-proprietary formats. The GCC wiki has more details on the history here: https://gcc.gnu.org/wiki/Ieee128PowerPC Nixpkgs' stdenv has no legacy `powerpc64le` installs to deal with (stdenv did not bootstrap on powerpc64le until very recenty), so it's much easier decision for us. Red Hat (i.e. IBM) has tried to do this in each of the last *six* releases: https://fedoraproject.org/wiki/Changes/PPC64LE_Float128_Transition they and finally shipped it in May with Fedora 36: https://bugzilla.redhat.com/show_bug.cgi?id=1649936 Apparently glibc 2.35 fixes the last blocker. Co-authored-by: Sandro <[email protected]>
This reverts commit dd2bc2a. Co-authored-by: Sandro <[email protected]>
This reverts commit d455973ece7f51907e86fa4e69947ae0eca6bfa1.
Author
Author
|
Thank you @vcunat!! |
Member
|
Patch won't apply in this case: |
Author
Testing a fix. |
Author
|
16 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This has been made possible by #182538.
Description of changes
Use IEEE-standard floating point on
powerpc64*instead of IBM-proprietary formats.Motivation
Standardized floating-point is a good thing.
This PR will fix a lot of package test failures that happen on
powerpc64*due to nonstandard floating point.Background
The GCC wiki has more details on the history here.
Red Hat (i.e. IBM) has tried to do this in each of the last six releases, and finally shipped it in May with Fedora 36. Apparently glibc 2.35 fixes the last blocker.
Twice-vendored copies of gnulib are the root of all evil
Copies of
gnulibare vendored within several packages. In fact,gettextvendorsgnulibnot once, but twice. These copies ofgnulibmust be updated in order to avoid errors like the following when using IEEElong doubleon powerpc64le:The root cause of this problem is related to glibc's elaborate scheme for "redirecting" jumps based on which size of
long doubleis in use; the scheme is part of glibc's claim that changing the semantics and bit-length oflong doubledoesn't count as an ABI change.The fix has been in
gnulibfor over a year at this point, but many packages have not had a release since then. Almost all of the projects have upgraded copies ofgnulibmerged into their git repositories.Things done
pkgsCross.powernv.stdenvBootstrapTools./result/bin/)