Skip to content

haskell.compiler.ghc94: Backport PPC64 ELFv2 support#475036

Draft
OPNA2608 wants to merge 1 commit intoNixOS:masterfrom
OPNA2608:add/ghc94-ppc64-elfv2
Draft

haskell.compiler.ghc94: Backport PPC64 ELFv2 support#475036
OPNA2608 wants to merge 1 commit intoNixOS:masterfrom
OPNA2608:add/ghc94-ppc64-elfv2

Conversation

@OPNA2608
Copy link
Contributor

@OPNA2608 OPNA2608 commented Dec 29, 2025

Extracted from #462247

ghc94s build, but don't run.

puna@Yubel ~> /nix/store/dhv857lm0ahyfbg7np9jprg5j0b9nkz1-ghc-powerpc64-unknown-linux-gnuabielfv1-9.4.8/bin/ghci
fish: Job 1, '/nix/store/dhv857lm0ahyfbg7np9j…' terminated by signal SIGSEGV (Address boundary error)
puna@Yubel ~ [SIGSEGV]> /nix/store/p5s6ai4z34m72qr30174vwbdcq6qhc26-ghc-powerpc64-unknown-linux-gnuabielfv2-9.4.8/bin/ghci
fish: Job 1, '/nix/store/p5s6ai4z34m72qr30174…' terminated by signal SIGSEGV (Address boundary error)
puna@Yubel ~ [SIGSEGV]> /nix/store/lfqpkyr81rld6sb25z8h8lzhisssh88m-ghc-musl-powerpc64-unknown-linux-musl-9.4.8/bin/ghci
fish: Job 1, '/nix/store/lfqpkyr81rld6sb25z8h…' terminated by signal SIGSEGV (Address boundary error)

Identical to current behaviour of ppc64-elfv1 on master. I'm not gonna try it, but flipping enableUnregisterised to true might fix them. Noted in #439258 (comment), I think the suitability of cross-compiled ghc94 is still getting looked into though?

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).

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 6.topic: haskell General-purpose, statically typed, purely functional programming language labels Dec 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: haskell General-purpose, statically typed, purely functional programming language 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant