Sender | Message | Time |
---|---|---|
25 Aug 2025 | ||
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 | |
So they are. | 12:24:01 | |
I was more worried about if upstream would include such hacks for such specific CPU bugs | 12:25:20 | |
I think I'll ask the author if they have plans for upstreaming | 12:25:36 | |
gcc does this all the time | 12:25:36 | |
Eh, I'm pretty sure glibc still ships fdiv errata workarounds | 12:25:37 | |
So I don't think this is even particularly bad | 12:25:45 | |
glibc i haven't checked | 12:25:47 |