#36269 guix: build with `_GLIBCXX_USE_DEPRECATED=0`
| Reviewability | Reviews | Agreement | Size | ||||
|---|---|---|---|---|---|---|---|
| #36269 guix: build with `_GLIBCXX_USE_DEPRECATED=0` | Ready | 0 | Crickets | 0 + 4 tests | |||
|
|
|
|
| |||
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
Adds `-D_GLIBCXX_USE_DEPRECATED=0` to `HOST_CFLAGS` in Guix build scripts for Linux and Windows targets. This macro disables deprecated libstdc++ standard library features during release builds.
Problem: By default, libstdc++ enables support for deprecated C++ interfaces, which slightly bloats Guix build outputs with unnecessary debug symbols.
Evidence of importance:
- PR description: "`_GLIBCXX_USE_DEPRECATED` is defined by default, disable it, which saves a few bytes worth of debug symbols."
Risk of a mistake: medium (build). Compiler flag changes in Guix build scripts affect reproducible release binaries and could cause compilation failures if dependencies or source files rely on deprecated libstdc++ features.
Changed since the previous assessment: The PR has been undrafted and rebased to drop its prior dependency on PR #36082.
Reviewability
Ready
Nothing known that would invalidate a review now.
Agreement
Crickets
no substantive comment either way
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.
Adds -D_GLIBCXX_USE_DEPRECATED=0 to Guix host CFLAGS for Linux and Windows release builds. By omitting deprecated C++ standard library interfaces provided by libstdc++, it reduces debug symbol size in build artifacts by a few bytes. The change is a minor build system micro-optimization with no behavior changes for users.
Data
Discussion read under schema 1 rules: suggestions and questions may be missing, and an objection may combine several harms (schema history).
labels: Build system
Categories
Build and CI
P4 · cleanup
Disabling deprecated libstdc++ features provides a marginal cleanup that only "saves a few bytes worth of debug symbols" in Guix outputs.
Membership: Matches 'Build system' label and touches Guix release build scripts under contrib/guix/libexec/.
Factors: security/stability 0, bug 0, performance 0, user value 0, leverage 0