From 00ca818805e035a5ba6d982a20b19bfa3f4f1232 Mon Sep 17 00:00:00 2001 From: Jacob Young Date: Fri, 16 Aug 2024 14:44:41 -0400 Subject: [PATCH] Dwarf: incremental also needs `end_sequence` The spec says that addresses can only increase within a sequence, so every decl must be a separate sequence since they are not sorted. --- src/link/Dwarf.zig | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/link/Dwarf.zig b/src/link/Dwarf.zig index 923ced8e65..15620788eb 100644 --- a/src/link/Dwarf.zig +++ b/src/link/Dwarf.zig @@ -1855,12 +1855,10 @@ pub fn finishWipNav( try dwarf.debug_info.section.replaceEntry(wip_nav.unit, wip_nav.entry, dwarf, wip_nav.debug_info.items); if (wip_nav.debug_line.items.len > 0) { - if (!dwarf.incremental()) { - const dlw = wip_nav.debug_line.writer(dwarf.gpa); - try dlw.writeByte(DW.LNS.extended_op); - try uleb128(dlw, 1); - try dlw.writeByte(DW.LNE.end_sequence); - } + const dlw = wip_nav.debug_line.writer(dwarf.gpa); + try dlw.writeByte(DW.LNS.extended_op); + try uleb128(dlw, 1); + try dlw.writeByte(DW.LNE.end_sequence); try dwarf.debug_line.section.replaceEntry(wip_nav.unit, wip_nav.entry, dwarf, wip_nav.debug_line.items); } try dwarf.debug_loclists.section.replaceEntry(wip_nav.unit, wip_nav.entry, dwarf, wip_nav.debug_loclists.items);