#36708 guix: map the whole DISTSRC in -fdebug-prefix-map

ReviewabilityReviewsAgreementSize
#36708 jespada guix: map the whole DISTSRC in -fdebug-prefix-mapReady0Crickets0 + 4 tests
  • Make all source paths in Guix debug symbols uniformly relative to the repository root
  • Fixes source directory mapping issues in debuggers for generated files in the build tree
  • Ready for review
  • No review verdicts recorded
  • No reviews or comments yet from other contributors
  • Author provided initial Guix build verification hashes
  • 0 lines added or modified outside tests
  • 4 lines added or modified in tests
  • 4 lines removed in total
  • 4 files, 1 commits
Build and CI#37 of 56
P3 · bug fix
  • P3 because it fixes inconsistent paths in debug symbols rather than core build functionality
  • Removes friction when debugging Guix release binaries with gdb
  • Ranking pass: Moved up from 42: grouped with the other debug-path/release-binary path fix (#36270)
Reviewability: ReadyStalePaused
Agreement: StrongPositivePositive w/ caveatsNeutralMildDisputedBlockedCrickets
Reviews: current code-review ACKs, then (+stale ACKs) and -NACKs; greener = more ACKs.
Size: lines added or modified outside tests, then in tests; greener = smaller.

Goal

Updates the Guix build scripts for Linux and Windows to map the entire DISTSRC root instead of DISTSRC/src in -fdebug-prefix-map. This makes all source paths in debug symbols relative to the repository root, including generated sources located in the build directory.

Problem: Debug symbols in Guix binaries use relative paths for files under src/, but generated source files (such as capnp IPC proxies) in the build tree retain absolute paths from the Guix build container. This mixed path structure makes it difficult to configure source directory mapping in debuggers like gdb.

Evidence of importance:

  • Addresses issue #34414 ('guix: Re-evaluate fdebug-prefix-map')
  • Author verified with `readelf --debug-dump` on Linux and Windows debug binaries that absolute distsrc paths are eliminated, showing `./src/...` and `./build/src/...` uniformly (PR description)

Scope: Small mechanical change across four Guix build scripts.

Risk of a mistake: low (build). A mistake would only affect source path resolution in debug symbols for Guix-built Linux and Windows binaries.

Changed since the previous assessment: None; the diff is unchanged.

Reviewability

Ready

Nothing known that would invalidate a review now.

Waiting on (from the thread read):

  • reviewer: review and Guix build verification 2026-10-30
  • reviewer: review of Guix build changes 2026-10-30

Agreement

Crickets

no substantive comment either way

Thread notes: Initial record. No reviewer comments yet; author posted x86_64 Guix hashes. / Initial record. No external comments or reviews yet; author posted Guix build hashes.

Objections, suggestions, and questions: none recorded.

Files

8 lines under test/bench/ci.

  • contrib/guix/libexec/build_linux.sh +1/-1
  • contrib/guix/libexec/build_linux_gui.sh +1/-1
  • contrib/guix/libexec/build_win.sh +1/-1
  • contrib/guix/libexec/build_win_gui.sh +1/-1

Card

The short text the ranking pass compares across PRs.

Updates Guix build scripts for Linux and Windows targets to apply -fdebug-prefix-map to DISTSRC rather than DISTSRC/src. Previously, generated files like capnp proxies retained absolute build-container paths in debug symbols while normal sources were relative, making debugger source resolution difficult. All source paths in Guix debug symbols are now uniformly relative to the repository root. This resolves issue #34414.

Data

dossier JSON · extract JSON · model ledger, generated 2026-11-01T01:16, confidence high, input hash 7a7193f54364b69d
thread read through 2026-10-30 (1 statements), head 00867d70c0
labels: Build system, DrahtBot Guix build requested

Categories

Build and CI

P3 · bug fix (ranking pass: Moved up from 42: grouped with the other debug-path/release-binary path fix (#36270))

Fixes mixed relative and absolute paths in Guix debug symbols by mapping the full source tree instead of only src/. As noted in issue #34414, generated sources in the build directory previously retained absolute build container paths, creating friction when setting up source directory mapping in debuggers like gdb.

Membership: Modifies Guix build scripts under contrib/guix/libexec/ and carries the Build system label.

Factors: security/stability 0, bug 1, performance 0, user value 1, leverage 0