fix(dwarf): adapt LineProgram::new to gimli 0.33 6-arg signature (#436 fallout) - #439
Merged
Conversation
…fallout) Dependabot #436 bumped gimli 0.31→0.33, which inserted a `source_dir: Option<LineString>` parameter into `LineProgram::new` (now 6 args: working_dir, source_dir, source_file, source_file_info). Both emit call sites still passed the 0.31 5-arg form, so main failed to compile (E0061) — a semantic break that VCR-DBG-001 PR C's CI could not catch because PR C branched before #436 and ran against the 0.31 lockfile, and GitHub's merge is textual, not semantic. Fix both call sites (the production emitter + the step-4 roundtrip test) with source_dir = None (file sits in working_dir, matching prior single-dir behaviour). The Writer trait / Address API is unchanged in 0.33, so the RelocWriter and relocation capture are unaffected. Verified: workspace builds, clippy --all-targets clean, all 4 dwarf_debug_line_emit_394 oracles + the step-4 roundtrip green against gimli 0.33. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
avrabe
added a commit
that referenced
this pull request
Jun 22, 2026
, #394) (#440) First release of the north-star verified-codegen campaign. Pin sweep 0.11.51 -> 0.12.0 (workspace + all path-dep versions + MODULE.bazel + Cargo.lock), CHANGELOG, and VCR-DBG-001 roadmap status -> implemented. Ships: - VCR-DBG-001 `--debug-line` DWARF emission (PR A #427 / B #429 / C #430): debugger-readable .debug_* mapping ARM .text -> wasm source lines, with .rel.debug_* relocations verified end-to-end against arm-none-eabi-ld. Purely additive; default build bit-identical. - VCR-MEM-001 layer-2 frozen-safe budget decision logic + oracles (#421-#425). - gimli 0.33 adaptation (#439) + wast 252 (#438). Minor bump: new user-facing `--debug-line` feature (semver-correct). Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Urgent — main is red
Dependabot #436 (gimli 0.31→0.33) inserted a
source_dir: Option<LineString>parameter intoLineProgram::new(now 6 args). Both DWARF emit call sites still used the 0.31 5-arg form, so main fails to compile (E0061).VCR-DBG-001 PR C (#430) could not catch this: it branched before #436 and its CI ran against the gimli 0.31 lockfile. GitHub's merge is textual, not semantic, so the clean merge produced a broken main. (Both PR B's emitter and PR C's were affected — #436 itself merged red against PR B's code.)
Fix
Both call sites (
dwarf_line.rsemitter + the step-4 roundtrip test) getsource_dir = None(file in working_dir, matching prior behaviour). The Writer/AddressAPI is unchanged in 0.33, so PR C'sRelocWriter+ relocation capture are unaffected.Verified locally
cargo build --workspace --exclude synth-verify✅cargo clippy -p synth-core -p synth-cli -p synth-backend --all-targetsclean ✅dwarf_debug_line_emit_394oracles (incl. the relocate-at-nonzero-base correctness test) + the step-4 roundtrip green against gimli 0.33 ✅🤖 Generated with Claude Code