Skip to content

chore(release): v0.39.0 — DWARF .debug_line + name-section fidelity#336

Merged
avrabe merged 1 commit into
mainfrom
chore/release-v0.39.0
Jul 11, 2026
Merged

chore(release): v0.39.0 — DWARF .debug_line + name-section fidelity#336
avrabe merged 1 commit into
mainfrom
chore/release-v0.39.0

Conversation

@avrabe

@avrabe avrabe commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Cut v0.39.0 (0.38.0 → 0.39.0) — the first slice of the v0.39.x line.

Scope

Two independent debug-info fidelity fixes (both already merged to main):

Remaining MCU-lowering items (#326 dynamic-address rebasing, #299, #298, #334) are deferred to a following release.

Gate

  • rivet release status v0.39.0Cuttable (2 artifacts, both verified)
  • rivet validatePASS
  • CHANGELOG [0.39.0] with falsification statements

Falsification

If the .debug_line relocation regressed, dwarf_331_line_rows_within_code_section_multi_source (every row <= fused code-section end, non-empty) would fail. If the name section were copied verbatim, accumulate_remapped_function_names_remaps_and_drops_unmapped would fail.

Refs #331, #328, SR-46, SR-47, LS-D-1, SYS-7.

🤖 Generated with Claude Code

Cut v0.39.0 (0.38.0 → 0.39.0). First slice of the v0.39.x line. Scope: two
independent debug-info correctness fixes; remaining MCU-lowering items (#326
dynamic-address rebasing, #299, #298, #334) deferred to a following release.

- #331: .debug_line row addresses rebased through the offset map (SR-46,
  mitigates LS-D-1). correct_line_programs relocates every line-program row
  via AddressRemap::translate, dropping untranslatable rows and preserving
  file-table alignment (incl. DWARF v5 file(0)/directory(0) seeding).
- #328: name section coalesced + index-remapped under --preserve-names
  (SR-47). Name::Function entries remapped via function_index_map, unmapped
  dropped, emitted as one deterministic (BTreeMap) coalesced section.

`rivet release status v0.39.0` → Cuttable (2 artifacts, both verified).
`rivet validate` → PASS. CHANGELOG [0.39.0] with falsification statements.

Refs #331, #328, SR-46, SR-47, LS-D-1, SYS-7.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

LS-N verification gate

59/59 approved LS entries verified

count
Passed (≥1 test, all green) 59
Failed (≥1 test failure) 0
Missing (no ls_*_NN_* test found) 0

Approved loss-scenarios.yaml entries are expected to have a
regression test named ls_<letter>_<num>_* (e.g. LS-A-11
ls_a_11_*). The gate runs each prefix via cargo test --lib --no-fail-fast and aggregates pass/fail/missing.

Failed LS entries

(none)

Missing regression tests

(none)

Updated automatically by tools/post_verification_comment.py.
Source of truth: safety/stpa/loss-scenarios.yaml.

@avrabe avrabe merged commit 9a40cff into main Jul 11, 2026
17 checks passed
@avrabe avrabe deleted the chore/release-v0.39.0 branch July 11, 2026 08:59
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