1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-11-08 19:46:02 +01:00
nix/packaging
Sergei Zimmerman c1f805b856
packaging: Build without symbolic interposition on GCC
This turns out to be a big problem for performance of Bison
generated code, that for whatever reason cannot be made internal
to the shared library. This causes GCC to make a bunch of function
calls go through PLT. Ideally these hot functions (like move/copy ctor) could become
inline in upstream Bison. That will make sure that GCC can do interprocedular
optimizations without -fno-semantic-interposition [^]. Considering that
LLVM already does inlining and whatnot is a good motivation for this change.
I don't know of any case where Nix relies on LD_PRELOAD tricks for the shared
libraries in production use-cases.

[^]: https://maskray.me/blog/2021-05-09-fno-semantic-interposition
2025-09-29 01:46:40 +03:00
..
installer Format .nix files 2025-01-24 17:04:02 +01:00
patches libgit2: Add libgit2-packbuilder-callback-interruptible.patch 2024-08-28 17:49:22 +02:00
binary-tarball.nix add freebsd multi-user installer 2025-08-08 09:10:35 +02:00
components.nix packaging: Build without symbolic interposition on GCC 2025-09-29 01:46:40 +03:00
dependencies.nix packaging: Drop legacy apple sdk pattern 2025-09-13 01:07:42 +03:00
dev-shell.nix packaging/dev-shell: Add shellcheck 2025-09-22 19:09:35 +02:00
everything.nix flake: Apply nixfmt 1.0.0 2025-08-18 20:29:45 +03:00
hydra.nix hydra: Restore coverage job 2025-08-08 12:05:06 +03:00