chore(release): v0.39.0 — DWARF .debug_line + name-section fidelity#336
Merged
Conversation
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>
LS-N verification gate✅ 59/59 approved LS entries verified
Approved Failed LS entries(none) Missing regression tests(none) Updated automatically by |
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.
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):
.debug_linerow addresses rebased through the offset map (SR-46, mitigates LS-D-1).correct_line_programsrelocates every line-program row viaAddressRemap::translate, drops untranslatable rows, and keeps the file/directory table aligned with the DIEdecl_file(incl. the DWARF v5file(0)/directory(0)header seeding). Repro: max.debug_linerow0xF8→0xEC(inside code),--verifyclean.namesection coalesced + index-remapped under--preserve-names(SR-47).Name::Functionentries remapped viafunction_index_map, unmapped dropped, emitted as one deterministic (BTreeMap) coalesced section.Remaining MCU-lowering items (#326 dynamic-address rebasing, #299, #298, #334) are deferred to a following release.
Gate
rivet release status v0.39.0→ Cuttable (2 artifacts, bothverified)rivet validate→ PASS[0.39.0]with falsification statementsFalsification
If the
.debug_linerelocation regressed,dwarf_331_line_rows_within_code_section_multi_source(every row<=fused code-section end, non-empty) would fail. If thenamesection were copied verbatim,accumulate_remapped_function_names_remaps_and_drops_unmappedwould fail.Refs #331, #328, SR-46, SR-47, LS-D-1, SYS-7.
🤖 Generated with Claude Code