| 15 Nov 2024 |
p14 | The idea of hashing stuff in the compiler wrapper is really unappealing from a performance standpoint too | 10:44:06 |
emily | it's because of C++ saying you can define things in multiple files and they shouldn't collide or whatever | 10:44:14 |
emily | I want compiler wrappers to die anyway, so 😅 | 10:44:25 |
emily | btw, as a ca-derivations enjoyer you may enjoy this long but fruitful conversation I had with amjoseph on the Discourse about how we can achieve proper short-circuiting for shared libraries with stubs (like the macOS .tbds I was talking about) and splitting out linking into multiple steps https://discourse.nixos.org/t/why-does-the-nixos-infrastructure-have-to-be-hosted-in-a-centralized-way/46789/32 | 10:44:33 |
emily | even header cleaning is relevant! | 10:44:39 |
emily | (also this could dovetail with runtime performance improvements by doing the "dynamic loading" part of things at the time of the "relink" build) | 10:47:45 |
p14 | That's a great thread, thanks for sharing. | 11:08:30 |
p14 | I have a feeling I've read it before too. | 11:09:34 |
p14 | So, how to actually make some of these things happen? | 11:09:43 |
p14 | I guess there are two parts: 1) get fundamental infra inplace 2) an immense amount of grind to actually make it work sensibly in practice. | 11:10:34 |
p14 | I've come up with a possible use case for this abandoned PR https://github.com/NixOS/nixpkgs/pull/355000
Being able to put link-only flags in it for clang: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument] would be useful.
| 11:13:11 |
p14 | * I've come up with a possible use case for this abandoned PR https://github.com/NixOS/nixpkgs/pull/355000
Being able to put link-only flags in it for clang: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument] would be useful. Sensible?
| 11:13:24 |
p14 | * I've come up with a possible use case for this abandoned PR https://github.com/NixOS/nixpkgs/pull/355000
Being able to put link-only flags in it for clang: warning: argument unused during compilation: '-pie' [-Wunused-command-line-argument] would be useful. Sensible?
An alternative route would be to bracket these flags in --start-no-unused-arguments and --end-no-unused-arguments.
| 11:14:38 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @emilazy:matrix.org btw, as a ca-derivations enjoyer you may enjoy this long but fruitful conversation I had with amjoseph on the Discourse about how we can achieve proper short-circuiting for shared libraries with stubs (like the macOS .tbds I was talking about) and splitting out linking into multiple steps https://discourse.nixos.org/t/why-does-the-nixos-infrastructure-have-to-be-hosted-in-a-centralized-way/46789/32 Btw the comment mentioned is not accurate | 11:14:41 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | Open Build System at least (optionally) rebuilds everything | 11:15:14 |
emily | which comment? | 11:15:30 |
emily | I don't see any mention of OBS there | 11:15:43 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @emilazy:matrix.org which comment? The comment you are linking to | 11:17:38 |
emily | oh, "No other distro"? | 11:17:48 |
emily | does openSUSE rebuild every downstream package for a one-byte security fix patch in OpenSSL that doesn't affect the headers or ABI? | 11:18:13 |
p14 | Just because other distros may pay the cost doesn't mean nixpkgs must also. | 11:18:36 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @p14:matrix.org Just because other distros may pay the cost doesn't mean nixpkgs must also. Don't get me wrong; I mean it's not something specific to Nixpkgs or Guix | 11:19:12 |
emily | the world rebuilds are generally more gradual with other distros, AIUI | 11:20:18 |
emily | involving manual pkgrel bumps etc. | 11:20:25 |
aleksana 🏳️⚧️ (force me to bed after 18:00 UTC) | In reply to @emilazy:matrix.org does openSUSE rebuild every downstream package for a one-byte security fix patch in OpenSSL that doesn't affect the headers or ABI? I'm not sure if they added an automated function reference table or something similar when using the open build service. This process may be done manually, but based on my past experience with OBS, it should not be automatic | 11:20:49 |
p14 | Can we come back to what it would take to actually try and start implementing this? Is there a prototype repo or effort to try some of these ideas somewhere? | 11:21:08 |
emily | OpenSUSE is just like us (crazy rebuilds, fancy automated QA service) | 11:21:09 |
emily | In reply to @p14:matrix.org Can we come back to what it would take to actually try and start implementing this? Is there a prototype repo or effort to try some of these ideas somewhere? it's in my head :) | 11:21:20 |
p14 | Want to collaborate and try and prove it can be done? :) | 11:21:33 |
p14 | I would try and use it and break it. | 11:21:49 |