| 3 Oct 2025 |
K900 | That makes things worse | 12:01:05 |
K900 | But probably fine given our current bootstrap GCC is also like this? | 12:01:16 |
Vladimír Čunát | We don't immediately use the new tools anyway. | 12:04:16 |
Vladimír Čunát | * We don't immediately use the new bootstrap tools anyway. | 12:04:40 |
Grimmauld (any/all) | its also strictly better than a revert: Not as big of a rebuild, and at least some things get pie | 12:05:10 |
Vladimír Čunát | We just test that the new tools would work, at least a little, and that's a channel blocker. | 12:05:13 |
Grimmauld (any/all) | i don't want to claim this is the best fix. But unless anyone more competent proposes a better fix, then this is the best we have | 12:06:25 |
dramforever | suspecting something weird going on with https://github.com/gcc-mirror/gcc/commit/b6cb10af12cf869c1ae348c0e5cb2d364ef0abce | 12:09:01 |
Grimmauld (any/all) | https://github.com/NixOS/nixpkgs/pull/448220
do what you want with it XD | 12:14:54 |
Grimmauld (any/all) | darwin probably needs an all-new bisect | 12:15:06 |
dramforever | found it https://github.com/gcc-mirror/gcc/commit/3f1f99ef82a65d66e3aaa429bf4fb746b93da0db | 12:26:24 |
Grimmauld (any/all) | but we can't reasonably fetch that without a gcc rebuild, right? | 12:27:56 |
dramforever | yeah we can do that next cycle | 12:28:27 |
Grimmauld (any/all) | or you suggesting an overrideAttrs { patches = ....; } ? | 12:28:29 |
dramforever | well it's less of a suggestion of action, and more of a "good" news: we (nixpkgs) didn't do something wrong | 12:29:45 |
dramforever | so just to confirm, we don't actually use stdenvBootstrapTools, right | 12:31:29 |
dramforever | oh, already mentioned | 12:31:53 |
Grimmauld (any/all) | just checking to be sure:
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index 6a1507df734d..9cb28012d849 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -47,10 +47,17 @@ rec {
'';
};
- bootGCC = pkgs.gcc.cc.override {
+ bootGCC = (pkgs.gcc.cc.override {
enableLTO = false;
isl = null;
- };
+ }).overrideAttrs (old: {
+ patches = old.patches or [] ++ [
+ (pkgs.fetchpatch {
+ url = "https://github.com/gcc-mirror/gcc/commit/3f1f99ef82a65d66e3aaa429bf4fb746b93da0db.patch";
+ hash = "sha256-wKVuwrW22gSN1woYFYxsyVk49oYmbogIN6FWbU8cVds=";
+ })
+ ];
+ });
bootBinutils = pkgs.binutils.bintools.override {
withAllTargets = false;
| 12:36:24 |
Grimmauld (any/all) | might be the better fix, but at the very least it'll confirm whether it is indeed fixed by that commit | 12:37:12 |
dramforever | i don't think it's necessarily worthwhile to make this "good" | 12:38:35 |
dramforever | i confirmed this fixes stdenvBootstrapTools.aarch64-unknown-linux-gnu | 12:45:55 |
Grimmauld (any/all) | thats good, my x86_64 build is almost done | 12:46:18 |
Grimmauld (any/all) | if that works too, i'll do that patch instead and push it to my PR | 12:47:00 |
Grimmauld (any/all) | (and put you co-author, you did the digging upstream) | 12:47:17 |
Grimmauld (any/all) | okay, works on x86 too | 12:50:58 |
dramforever | meanwhile is the darwin thing because we configure llvm as aarch64-apple-darwin | 12:53:46 |
dramforever | and the python script is not happy with us calling it aarch64
assert "arm64" in config.host_triple or "x86_64" in config.host_triple
| 12:54:33 |
Grimmauld (any/all) | but isn't x86_64-darwin broken too? | 12:57:44 |
dramforever | that's a different failure | 12:58:21 |
dramforever | build works fine, test fails | 12:58:28 |