Skip to content

fix(dwarf): adapt LineProgram::new to gimli 0.33 6-arg signature (#436 fallout) - #439

Merged
avrabe merged 1 commit into
mainfrom
fix/gimli-0.33-lineprogram-api
Jun 22, 2026
Merged

fix(dwarf): adapt LineProgram::new to gimli 0.33 6-arg signature (#436 fallout)#439
avrabe merged 1 commit into
mainfrom
fix/gimli-0.33-lineprogram-api

Conversation

@avrabe

@avrabe avrabe commented Jun 22, 2026

Copy link
Copy Markdown
Contributor

Urgent — main is red

Dependabot #436 (gimli 0.31→0.33) inserted a source_dir: Option<LineString> parameter into LineProgram::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.rs emitter + the step-4 roundtrip test) get source_dir = None (file in working_dir, matching prior behaviour). The Writer/Address API is unchanged in 0.33, so PR C's RelocWriter + relocation capture are unaffected.

Verified locally

  • cargo build --workspace --exclude synth-verify
  • cargo clippy -p synth-core -p synth-cli -p synth-backend --all-targets clean ✅
  • All 4 dwarf_debug_line_emit_394 oracles (incl. the relocate-at-nonzero-base correctness test) + the step-4 roundtrip green against gimli 0.33 ✅
  • fmt clean ✅

🤖 Generated with Claude Code

…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

codecov Bot commented Jun 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@avrabe
avrabe merged commit 9c4c005 into main Jun 22, 2026
14 checks passed
@avrabe
avrabe deleted the fix/gimli-0.33-lineprogram-api branch June 22, 2026 22:59
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant