!OqhvaDMJdKYUicLDiE:nixos.org

Nixpkgs Stdenv

222 Members
71 Servers

Load older messages


SenderMessageTime
15 Nov 2024
@emilazy:matrix.orgemilysufficiently ambitious projects like this go in my "for the Nix successor" folder :)11:25:15
@emilazy:matrix.orgemily
In reply to @aleksana:mozilla.org
Looks like libgl or vulkan-loader
yeah, except we patch in the final location at build-time
11:25:23
@emilazy:matrix.orgemilyso everything is still as early-bound, we just skip a lot of building when we know it would produce the same result11:25:34
@p14:matrix.orgp14
In reply to @emilazy:matrix.org
sufficiently ambitious projects like this go in my "for the Nix successor" folder :)
Right, so, where do we start boiling the ocean from? ;-)
11:25:41
@emilazy:matrix.orgemily this is really key to exploiting ca-derivations, because it's not very useful to know a library didn't really change if the actual library you build against changes 11:25:52
@emilazy:matrix.orgemilyand it's really silly that Unix merges the interface and implementation into one file11:26:02
@emilazy:matrix.orgemilybuilds don't look at the object code of the dynamic libraries they link against. why is it in the same file?11:26:19
@emilazy:matrix.orgemily
In reply to @p14:matrix.org
Right, so, where do we start boiling the ocean from? ;-)
I've got a five year plan…
11:26:40
@emilazy:matrix.orgemily(probably an underestimate)11:26:55
@p14:matrix.orgp14Best time to plant tree twenty years ago... :D11:27:06
@p14:matrix.orgp14[second best, now, as they say]11:27:20
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)
In reply to @emilazy:matrix.org
so everything is still as early-bound, we just skip a lot of building when we know it would produce the same result
Oh so we don't rebuild in the end, we just re...link
11:27:29
@emilazy:matrix.orgemily
In reply to @aleksana:mozilla.org
Oh so we don't rebuild in the end, we just re...link
yep!
11:27:38
@emilazy:matrix.orgemilyor as fzakaria showed us, we can actually do what the dynamic loader would normally do at runtime11:27:50
@emilazy:matrix.orgemilyactually patch up all the indirect references11:27:54
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)This means that we just need to add an intermediate derivation?11:28:02
@emilazy:matrix.orgemilythe stuff that would normally happen in-memory can happen to the binary11:28:07
@p14:matrix.orgp14
In reply to @emilazy:matrix.org
actually patch up all the indirect references
https://fzakaria.com/2024/07/21/scaling-past-1-million-elf-symbol-relocations.html
11:28:11
@emilazy:matrix.orgemilyit's pretty fast, because it normally happens at runtime anyway11:28:14
@emilazy:matrix.orgemilybut it means that executable loading time goes down!11:28:18
@emilazy:matrix.orgemily
In reply to @p14:matrix.org
https://fzakaria.com/2024/07/21/scaling-past-1-million-elf-symbol-relocations.html
yeah I linked these in the thread :)
11:28:23
@emilazy:matrix.orgemily
In reply to @aleksana:mozilla.org
This means that we just need to add an intermediate derivation?
well, we also need ca-derivations
11:28:30
@emilazy:matrix.orgemily or to have every library include a FOD hash that needs updating after building 11:28:36
@emilazy:matrix.orgemilybut other than that, it's fairly simple in principle, yeah11:28:46
@emilazy:matrix.orgemilyalso, header changes still mess it all up unless you do some kind of normalization there11:28:57
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)I'd want to enable ca-derivation by default first11:29:53
@aleksana:mozilla.orgaleksana 🏳️‍⚧️ (force me to bed after 18:00 UTC)We should be pretty close, except for some hydra bugs?11:30:19
@emilazy:matrix.orgemilywe're pretty far I think.11:30:39
@emilazy:matrix.orgemilythe actual feature has a bunch of bugs I think11:30:46
@emilazy:matrix.orgemilyit's unclear how to get it working on Darwin at all without a bunch of machinery11:30:55

Show newer messages


Back to Room ListRoom Version: 9