!UNVBThoJtlIiVwiDjU:nixos.org

Staging

349 Members
Staging merges | Find currently open staging-next PRs: https://github.com/NixOS/nixpkgs/pulls?q=is%3Apr+sort%3Aupdated-desc+head%3Astaging-next+head%3Astaging-next-21.05+is%3Aopen114 Servers

Load older messages


SenderMessageTime
3 Oct 2025
@k900:0upti.meK900This should not affect the non-bootstrap-tools GCC at least?11:57:39
@vcunat:matrix.orgVladimír Čunát It shouldn't affect anything practical until we regenerate the bootrap GCC, yes. 11:58:18
@vcunat:matrix.orgVladimír Čunát * It shouldn't affect anything practical until we regenerate the bootstrap GCC, yes. 11:58:31
@k900:0upti.meK900What I'm saying is I don't think we care about the PIE-ness of bootstrap-tools GCC?11:58:52
@vcunat:matrix.orgVladimír Čunát

It results in a compiler that opportunistically enables pie whenever it does not conflict with other flags.

11:59:49
@vcunat:matrix.orgVladimír Čunát i.e. it affects things compiled with this GCC. 11:59:59
@vcunat:matrix.orgVladimír ČunátSo that's why I was mentioning that I'm not sure how many times we roll things during bootstrapping. Some tools in the final package set are not built by the final GCC, of course.12:00:46
@vcunat:matrix.orgVladimír Čunát* So that's why I was mentioning that I'm not sure how many times we roll things during bootstrapping. Some stuff in the final package set are not built by the final GCC, of course.12:00:53
@k900:0upti.meK900Oof12:01:01
@k900:0upti.meK900OK12:01:02
@k900:0upti.meK900That makes things worse12:01:05
@k900:0upti.meK900But probably fine given our current bootstrap GCC is also like this?12:01:16
@vcunat:matrix.orgVladimír ČunátWe don't immediately use the new tools anyway.12:04:16
@vcunat:matrix.orgVladimír Čunát* We don't immediately use the new bootstrap tools anyway.12:04:40
@grimmauld:grapevine.grimmauld.deGrimmauld (migrated to @grimmauld:m.grimmauld.de) its also strictly better than a revert: Not as big of a rebuild, and at least some things get pie 12:05:10
@vcunat:matrix.orgVladimír ČunátWe just test that the new tools would work, at least a little, and that's a channel blocker.12:05:13
@grimmauld:grapevine.grimmauld.deGrimmauld (migrated to @grimmauld:m.grimmauld.de)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 have12:06:25
@dramforever:matrix.orgdramforeversuspecting something weird going on with https://github.com/gcc-mirror/gcc/commit/b6cb10af12cf869c1ae348c0e5cb2d364ef0abce12:09:01
@grimmauld:grapevine.grimmauld.deGrimmauld (migrated to @grimmauld:m.grimmauld.de)https://github.com/NixOS/nixpkgs/pull/448220 do what you want with it XD12:14:54
@grimmauld:grapevine.grimmauld.deGrimmauld (migrated to @grimmauld:m.grimmauld.de)darwin probably needs an all-new bisect12:15:06
@dramforever:matrix.orgdramforeverfound it https://github.com/gcc-mirror/gcc/commit/3f1f99ef82a65d66e3aaa429bf4fb746b93da0db12:26:24
@grimmauld:grapevine.grimmauld.deGrimmauld (migrated to @grimmauld:m.grimmauld.de)but we can't reasonably fetch that without a gcc rebuild, right?12:27:56
@dramforever:matrix.orgdramforeveryeah we can do that next cycle12:28:27
@grimmauld:grapevine.grimmauld.deGrimmauld (migrated to @grimmauld:m.grimmauld.de) or you suggesting an overrideAttrs { patches = ....; } ? 12:28:29
@dramforever:matrix.orgdramforeverwell it's less of a suggestion of action, and more of a "good" news: we (nixpkgs) didn't do something wrong12:29:45
@dramforever:matrix.orgdramforever so just to confirm, we don't actually use stdenvBootstrapTools, right 12:31:29
@dramforever:matrix.orgdramforeveroh, already mentioned12:31:53
@grimmauld:grapevine.grimmauld.deGrimmauld (migrated to @grimmauld:m.grimmauld.de)

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:grapevine.grimmauld.deGrimmauld (migrated to @grimmauld:m.grimmauld.de)might be the better fix, but at the very least it'll confirm whether it is indeed fixed by that commit12:37:12
@dramforever:matrix.orgdramforeveri don't think it's necessarily worthwhile to make this "good"12:38:35

Show newer messages


Back to Room ListRoom Version: 6