-
-
Notifications
You must be signed in to change notification settings - Fork 14.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
powerpc64*: use --with-long-double-format=ieee #170215
Merged
Merged
Conversation
This file contains 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
ofborg
bot
added
10.rebuild-darwin: 0
This PR does not cause any packages to rebuild on Darwin
10.rebuild-linux: 0
This PR does not cause any packages to rebuild on Linux
labels
Apr 25, 2022
ghost
closed this
Apr 26, 2022
This comment was marked as outdated.
This comment was marked as outdated.
ghost
reopened this
Jul 24, 2022
github-actions
bot
added
6.topic: kernel
The Linux kernel
6.topic: lua
6.topic: nixos
Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS
6.topic: python
6.topic: ruby
6.topic: rust
6.topic: stdenv
Standard environment
6.topic: systemd
8.has: documentation
8.has: module (update)
This PR changes an existing module in `nixos/`
labels
Jul 24, 2022
ofborg
bot
added
the
2.status: merge conflict
This PR has merge conflicts with the target branch
label
Jul 24, 2022
github-actions
bot
removed
8.has: documentation
6.topic: kernel
The Linux kernel
6.topic: rust
6.topic: nixos
Issues or PRs affecting NixOS modules, or package usability issues specific to NixOS
8.has: module (update)
This PR changes an existing module in `nixos/`
6.topic: lua
6.topic: python
6.topic: systemd
6.topic: ruby
labels
Jul 24, 2022
ghost
mentioned this pull request
Jul 24, 2022
9 tasks
ofborg
bot
removed
the
2.status: merge conflict
This PR has merge conflicts with the target branch
label
Jul 24, 2022
This comment was marked as resolved.
This comment was marked as resolved.
ghost
marked this pull request as draft
January 2, 2023 02:54
ghost
marked this pull request as ready for review
January 2, 2023 02:55
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.
ghost
marked this pull request as draft
April 5, 2023 23:04
ghost
marked this pull request as ready for review
April 5, 2023 23:04
Thank you @vcunat!! |
Patch won't apply in this case: |
Testing a fix. |
|
ghost
mentioned this pull request
May 6, 2023
16 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
6.topic: exotic
Exotic hardware or software platform
10.rebuild-darwin: 501+
10.rebuild-darwin: 5001+
10.rebuild-darwin-stdenv
This PR causes stdenv to rebuild
10.rebuild-linux: 501+
10.rebuild-linux: 5001+
10.rebuild-linux-stdenv
This PR causes stdenv to rebuild
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
gnulib
are vendored within several packages. In fact,gettext
vendorsgnulib
not once, but twice. These copies ofgnulib
must be updated in order to avoid errors like the following when using IEEElong double
on powerpc64le:The root cause of this problem is related to glibc's elaborate scheme for "redirecting" jumps based on which size of
long double
is in use; the scheme is part of glibc's claim that changing the semantics and bit-length oflong double
doesn't count as an ABI change.The fix has been in
gnulib
for over a year at this point, but many packages have not had a release since then. Almost all of the projects have upgraded copies ofgnulib
merged into their git repositories.Things done
pkgsCross.powernv.stdenvBootstrapTools
./result/bin/
)