haskell.compiler: Apply patches to fix PPC64 ELFv2 support#462247
haskell.compiler: Apply patches to fix PPC64 ELFv2 support#462247wolfgangwalther merged 1 commit intoNixOS:stagingfrom
Conversation
Should target staging going by the "5001+" rebuilds label
As in, patch fails? Then let's add a |
Yepyep, I'll fix that before undrafting. I just don't have the spoons for this rn, so it'll take abit. Hence, draft.
Fails to apply, yeah. Edit:
Actually, 9.4 is kind of being used for testing cross-compilation of GHC, and maybe future bootstrapping of our GHCs via tarballs of cross-compiled static GHC builds. On powerpc64 that GHC would have to be ELFv2. |
c7f73c3 to
efdb95c
Compare
|
Made the |
pkgs/development/compilers/ghc/ghc-9.4-PPC-Support-ELF-v2-on-powerpc64-big-endian.patch
Outdated
Show resolved
Hide resolved
cac83c1 to
537d452
Compare
This comment was marked as resolved.
This comment was marked as resolved.
537d452 to
b75e92b
Compare
This comment was marked as resolved.
This comment was marked as resolved.
wolfgangwalther
left a comment
There was a problem hiding this comment.
Diff LGTM; was not able to test.
|
I can test a couple builds sometime this week if we want more confidence? |
|
Sure, that would be appreciated. |
|
pkgs/development/compilers/ghc/ghc-9.4-PPC-Support-ELF-v2-on-powerpc64-big-endian.patch
Outdated
Show resolved
Hide resolved
b75e92b to
4abca77
Compare
Can confirm the crash on hardware. Unfortunately, we seem to have more fundamental issues with glibc-elfv2 when it comes to native building, so my focus is mainly on glibc-elfv1 (default glibc ABI on this platform, our default for ppc64-elfv1 & ppc64-musl
Identical to current behaviour of |
I'm unsure about the patch for GHC 9.4, if we can't verify that it works. Should we postpone that until these run in the first place? |
|
Seems like ppc64le has similar issues with cross-compiled registerised GHC segfaulting. Maybe a general issue on (64-bit) POWER? #439258 (comment) I'm fine with pulling the GHC 9.4 changes out for now until they're actually needed (bootstrapping off of cross-compiled GHC). Edit: Extracted GHC 9.4 changes into #475036. |
4abca77 to
fddddd0
Compare
|
Apparently you don't want to apply it to 9.12.3? It seems that it's the only version with this problem, at least among those built on Hydra: |
|
Looks like this was backported upstream, yeah. https://gitlab.haskell.org/ghc/ghc/-/merge_requests/13894#note_642957 ++ lib.optionals ((lib.versions.majorMinor haskell.compiler.ghc9123.version == "9.12" && lib.versionOlder haskell.compiler.ghc9123.version "9.12.3") || (lib.versions.majorMinor haskell.compiler.ghc9123.version != "9.12" && lib.versionOlder haskell.compiler.ghc9123.version "9.14.1")) [I guess? |
Fixes
pkgsCross.ppc64-elfv2.haskellPackages.helloThings done
passthru.tests.nixpkgs-reviewon this PR. See nixpkgs-review usage../result/bin/.Add a 👍 reaction to pull requests you find important.