Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

comparison to LLVM libc and its use cases and more advanced linking use cases #7

Open
matu3ba opened this issue Dec 22, 2022 · 0 comments

Comments

@matu3ba
Copy link

matu3ba commented Dec 22, 2022

Video of LLVM libc: https://www.youtube.com/watch?t=38&v=OpY4lnpnbq4&feature=youtu.be
tldr;

  • link order variable to overwrite system libs or prefer system libs.
  • configurable (perf, size) only use what you need

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;

    1. 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?
    1. 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.
    1. "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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant