Sender | Message | Time |
---|---|---|
13 Aug 2025 | ||
17:35:14 | ||
18 Aug 2025 | ||
01:16:06 | ||
08:42:55 | ||
09:47:40 | ||
20 Aug 2025 | ||
18:51:31 | ||
22 Aug 2025 | ||
17:27:45 | ||
25 Aug 2025 | ||
12:39:47 | ||
Hi, I'm trying to get a cross compiler for 32-Bit PowerPC, has anyone had luck in getting that to work? I've tried nix-build --expr '(import ./. { crossSystem.config = "powerpc-unknown-linux-gnu"; }).stdenv.cc.cc.libgcc.stdenv.cc.cc' (./. being a nixpkgs checkout) But that build fails with a linker error which I don't really understand. | 13:55:49 | |
Download log.txt | 13:55:49 | |
That looks like possibly a GCC internal problem? I'd see if it can be reproduced outside Nix to confirm. | 14:07:44 | |
So I tried to build gcc with our flags outside of nix, which resulted in When I apply the same hack as we do here (https://github.com/NixOS/nixpkgs/blob/dbfdaa1a1cef034a790d0287bdd885ee78ecb11c/pkgs/development/compilers/gcc/common/libgcc-buildstuff.nix#L6-L37), it results in the same error.I was also to reproduce the same thing in a podman container running arch linux. | 18:38:21 | |
Yeah not going to happen, you need cc-wrapper for this | 18:38:44 | |
you mean to compile gcc? | 18:40:46 | |
So I tried to build gcc with our flags outside of nix, which resulted in When I apply the same hack as we do here (https://github.com/NixOS/nixpkgs/blob/dbfdaa1a1cef034a790d0287bdd885ee78ecb11c/pkgs/development/compilers/gcc/common/libgcc-buildstuff.nix#L6-L37), it results in the same error as in the nix build.I was also to reproduce the same thing in a podman container running arch linux. | 18:42:09 | |
I just used a nix-shell -p to try to build a cross binutils and gcc | 18:43:47 | |
that hack seems to work for ppc64 but not for 32 | 18:44:16 | |
i think i found a way to make it work, no idea if it makes stuff explode, but it makes stuff compile, will have another look tomorrow | 22:03:06 | |
27 Aug 2025 | ||
So this platform has a CPU bug which needs a gcc and glibc patch for SMP to work reliably, is there a way to apply these without ending up in override hell? | 10:30:44 | |
In reply to @marie:marie.cologne Are the bootstrap tools functional despite the bug? If not, good luck. | 12:05:43 | |
prolly bite the bullet and submit staging PRs to add those patches to the gcc & glibc expressions. and for functional bootstrap tools, wait for staging to hit master | 12:13:22 | |
I'm only trying to do cross right now, I don't think we even have bootstrap tools for powerpc | 12:16:34 | |
Ah, that ought to simplify matters a bit, since you don't even need to override stdenv . | 12:17:18 | |
and these patches are very specific for this cpu, not sure how upstreamable they are | 12:17:26 | |
(https://gitlab.com/linux-wiiu/smp-patches) | 12:17:51 | |
I suspect that overriding pkgsCross.whatever.stdenv.cc is sufficient, though I can't remember how.Maybe replaceStdenv ? | 12:18:41 | |
i don't see why they shouldn't be upstreamable. prolly just a matter of "someone needs to find the time to submit them to those upstreams"? | 12:21:47 | |
* i don't see why they shouldn't be upstreamable. prolly just a matter of "someone (ideally the patch author) needs to find the time to submit them to those upstreams"? | 12:22:26 | |
There can be many good reasons, e.g. "it's a big hack and would negatively impact all other CPUs" | 12:22:54 | |
have you looked at the patches? | 12:23:17 | |
Those are all conditional though? | 12:23:19 |