RUN_PATH / LD_LIBRARY_PATH currently still used, even though nix has the complete dependency graph and could use SONAME. Could we do the same for packages "that we control" ? Can we patch SONAME for abi compatibility?
Storing the elf info not in a file, but make it distributable sounds potentially advanterous. No idea for outside nix, but might be lit for folks hacking on nix or linkers in general.
"nix needs its own dynamic linker".
QA: Extending elf too cumbersome.
Point 1 sounds like a startup perf optimization. Point 2 sounds like a subset of your database lookup for multi-target versioning (for elf info). Point 3 added for completeness.
Video of LLVM libc: https://www.youtube.com/watch?t=38&v=OpY4lnpnbq4&feature=youtu.be tldr;
more advanced linking use cases for which SONAME sounds useful once you get into dynamic linking (libstd linker script support?). https://fzakaria.com/2022/09/12/making-runpath-redundant-for-nix.html https://www.youtube.com/watch?v=HZKFe4mCkr4 tldr;
Point 1 sounds like a startup perf optimization. Point 2 sounds like a subset of your database lookup for multi-target versioning (for elf info). Point 3 added for completeness.