1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-12-17 22:41:08 +01:00
nix/packaging
Sergei Zimmerman c5b88c22fa
dev-shell: Disable separateDebugInfo
This breaks gdb pretty-printers inserted into .debug_gdb_scripts section,
because it implies --compress-debug-sections=zlib, -Wa,--compress-debug-sections.
This is very unfortunate, because then gdb can't use pretty printers for
Boost.Unordered (which are very useful, since boost::unoredred_flat_map is
impossible to debug). This seems perfectly fine to disable in the dev-shell for
the time being.

See [1-3] for further references.

With this change I'm able to use boost's pretty-printers out-of-the box:

```
p *importResolutionCache
$2 = boost::concurrent_flat_map with 1 elements = {[{accessor = {p = std::shared_ptr<nix::SourceAccessor> (use count 5, weak count 1) = {
        get() = 0x555555d830a8}}, path = {static root = {static root = <same as static member of an already seen type>, path = "/"},
      path = "/derivation-internal.nix"}}] = {accessor = {p = std::shared_ptr<nix::SourceAccessor> (use count 5, weak count 1) = {
        get() = 0x555555d830a8}}, path = {static root = {static root = <same as static member of an already seen type>, path = "/"},
      path = "/derivation-internal.nix"}}}
```

When combined with a simple `add-auto-load-safe-path ~/code` in .gdbinit

[1]: https://gerrit.lix.systems/c/lix/+/3880
[2]: https://git.lix.systems/lix-project/lix/issues/1003
[3]: https://sourceware.org/pipermail/gdb-patches/2025-October/221398.html
2025-10-08 00:57:34 +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 dev-shell: Disable separateDebugInfo 2025-10-08 00:57:34 +03: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