26 May 2021 |
Gytis Ivaskevicius | well, that is assuming that we wish to fix compiler mismatch | 07:57:17 |
Jonas Chevalier | it's not super clear what the problem is from your perspective | 07:59:27 |
Gytis Ivaskevicius |  Download image.png | 08:00:16 |
Gytis Ivaskevicius | We are missing out on compiler optimizations (not sure how big of a difference that makes). And overall this just feels as if nixpkgs is lieing | 08:01:09 |
Gytis Ivaskevicius | "21.05 - Updated GCC to version 10.3" | 08:01:49 |
Gytis Ivaskevicius |  Download image.png | 08:02:08 |
Gytis Ivaskevicius | :D | 08:02:10 |
Gytis Ivaskevicius | And dam, thats amassive image | 08:02:27 |
Gytis Ivaskevicius | * And dam, thats a massive image | 08:02:41 |
Jonas Chevalier | right, so gmp is still only compiled with GCC8 | 08:02:42 |
Gytis Ivaskevicius | In reply to @zimbatm:numtide.com right, so gmp is still only compiled with GCC8 gmp, mpfr, glibc, mpr | 08:03:02 |
Jonas Chevalier | that's what I'm saying. If it was easier to update the bootstrap tools, we could do have them also built with gcc 10 | 08:03:37 |
Jonas Chevalier | it wouldn't be the exact same GCC 10 but that doesn't really make a difference in terms of perf | 08:04:19 |
Gytis Ivaskevicius | Yes, that would work. But is this really a solution? This would mean updating bootstrap tools with every major gcc update | 08:04:41 |
Jonas Chevalier | I think both things are complementary | 08:06:43 |
Jonas Chevalier | * I think both approaches are complementary | 08:06:51 |
Jonas Chevalier | there is also the Gnu MES project that tries to bootstrap from a few bytes of verified assembly code | 08:07:47 |
Gytis Ivaskevicius | Im going to be real with you - I think GNU MES is a cool idea, but not really realistic. Creates more problems than it solves | 08:08:39 |
Jonas Chevalier | it's a cool idea though | 08:09:14 |
Jonas Chevalier | bootstrapping is an exercise of balance | 08:09:37 |
Gytis Ivaskevicius | And technically with additional stage we would never need to update boostrap tools 🤔 Unless ABIs were to become incompatible | 08:09:41 |
Jonas Chevalier | we had that a while back with Go | 08:10:14 |
Jonas Chevalier | the original Go could be compiled with C | 08:10:26 |
Jonas Chevalier | then the next version with the previous one | 08:10:33 |
Jonas Chevalier | at some point we had a stack of 8 versions, each compiled by the previous version | 08:10:55 |
raboof | I guess we should add a NixOS page to https://reproducible-builds.org/contribute/ - I'll have a stab over my lunch break :) | 08:10:52 |
Gytis Ivaskevicius | Anyways, what you guys think next steps are with this? https://github.com/NixOS/nixpkgs/issues/123467 | 08:13:02 |
Gytis Ivaskevicius | Should I just start working on POC with additional stage? | 08:13:34 |
Jonas Chevalier | we don't really have a team that owns the bootstrap phase | 08:20:10 |
Jonas Chevalier | usually the best thing to do is to present a clean plan with motivation | 08:21:30 |