Exotic Nix Targets | 314 Members | |
| 99 Servers |
| Sender | Message | Time |
|---|---|---|
| 18 Aug 2025 | ||
| 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 | |
| Like, all the hacks are ifdef'ed | 12:23:26 | |
seems like those patches would be conditional on -mcpu=espresso | 12:23:48 | |