aboutsummaryrefslogtreecommitdiff
path: root/src/link
diff options
context:
space:
mode:
authorJacob Young <jacobly0@users.noreply.github.com>2024-08-16 14:44:41 -0400
committerJacob Young <jacobly0@users.noreply.github.com>2024-08-16 15:22:56 -0400
commit00ca818805e035a5ba6d982a20b19bfa3f4f1232 (patch)
tree4e1644dc3b2a602b81d0f9ac3e6398ec14f221f6 /src/link
parentad634537ce1cf94e45ea13469dfb2032e1e219f8 (diff)
downloadzig-00ca818805e035a5ba6d982a20b19bfa3f4f1232.tar.gz
zig-00ca818805e035a5ba6d982a20b19bfa3f4f1232.zip
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.
Diffstat (limited to 'src/link')
-rw-r--r--src/link/Dwarf.zig10
1 files 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);